mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
bpo-33125: Add support for building and releasing Windows ARM64 packages (GH-16828)
Note that the support is not actually enabled yet, and so we won't be publishing these packages. However, for those who want to build it themselves (even by reusing the Azure Pipelines definition), it's now relatively easy to enable.
This commit is contained in:
parent
abce2d9bc6
commit
de148f263f
29 changed files with 286 additions and 74 deletions
|
@ -5,15 +5,31 @@ Constants for generating the layout.
|
|||
__author__ = "Steve Dower <steve.dower@python.org>"
|
||||
__version__ = "3.8"
|
||||
|
||||
import os
|
||||
import re
|
||||
import struct
|
||||
import sys
|
||||
|
||||
VER_MAJOR, VER_MINOR, VER_MICRO, VER_FIELD4 = struct.pack(">i", sys.hexversion)
|
||||
|
||||
def _unpack_hexversion():
|
||||
try:
|
||||
hexversion = int(os.getenv("PYTHON_HEXVERSION"), 16)
|
||||
except (TypeError, ValueError):
|
||||
hexversion = sys.hexversion
|
||||
return struct.pack(">i", sys.hexversion)
|
||||
|
||||
|
||||
def _get_suffix(field4):
|
||||
name = {0xA0: "a", 0xB0: "b", 0xC0: "c"}.get(field4 & 0xF0, "")
|
||||
if name:
|
||||
serial = field4 & 0x0F
|
||||
return f"{name}{serial}"
|
||||
return ""
|
||||
|
||||
|
||||
VER_MAJOR, VER_MINOR, VER_MICRO, VER_FIELD4 = _unpack_hexversion()
|
||||
VER_SUFFIX = _get_suffix(VER_FIELD4)
|
||||
VER_FIELD3 = VER_MICRO << 8 | VER_FIELD4
|
||||
VER_NAME = {"alpha": "a", "beta": "b", "candidate": "rc"}.get(
|
||||
sys.version_info.releaselevel, ""
|
||||
)
|
||||
VER_SERIAL = sys.version_info.serial if VER_NAME else ""
|
||||
VER_DOT = "{}.{}".format(VER_MAJOR, VER_MINOR)
|
||||
|
||||
PYTHON_DLL_NAME = "python{}{}.dll".format(VER_MAJOR, VER_MINOR)
|
||||
|
@ -21,8 +37,6 @@ PYTHON_STABLE_DLL_NAME = "python{}.dll".format(VER_MAJOR)
|
|||
PYTHON_ZIP_NAME = "python{}{}.zip".format(VER_MAJOR, VER_MINOR)
|
||||
PYTHON_PTH_NAME = "python{}{}._pth".format(VER_MAJOR, VER_MINOR)
|
||||
|
||||
PYTHON_CHM_NAME = "python{}{}{}{}{}.chm".format(
|
||||
VER_MAJOR, VER_MINOR, VER_MICRO, VER_NAME, VER_SERIAL
|
||||
PYTHON_CHM_NAME = "python{}{}{}{}.chm".format(
|
||||
VER_MAJOR, VER_MINOR, VER_MICRO, VER_SUFFIX
|
||||
)
|
||||
|
||||
IS_X64 = sys.maxsize > 2 ** 32
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue