@@ -39,23 +39,23 @@ BUILD_NUMBER=custom
39
39
# PYTHON_VERSION is the full version number (e.g., 3.10.0b3)
40
40
# PYTHON_MICRO_VERSION is the full version number, without any alpha/beta/rc suffix. (e.g., 3.10.0)
41
41
# PYTHON_VER is the major/minor version (e.g., 3.10)
42
- PYTHON_VERSION =3.9.14
42
+ PYTHON_VERSION =3.9.18
43
43
PYTHON_MICRO_VERSION =$(shell echo $(PYTHON_VERSION ) | grep -Eo "\d+\.\d+\.\d+")
44
44
PYTHON_VER =$(basename $(PYTHON_VERSION ) )
45
45
46
46
BZIP2_VERSION =1.0.8
47
47
48
- XZ_VERSION =5.2.6
48
+ XZ_VERSION =5.4.4
49
49
50
50
# Preference is to use OpenSSL 3; however, Cryptography 3.4.8 (and
51
51
# probably some other packages as well) only works with 1.1.1, so
52
52
# we need to preserve the ability to build the older OpenSSL (for now...)
53
- OPENSSL_VERSION =3.0.5
53
+ OPENSSL_VERSION =3.1.2
54
54
# OPENSSL_VERSION_NUMBER=1.1.1
55
- # OPENSSL_REVISION=q
55
+ # OPENSSL_REVISION=v
56
56
# OPENSSL_VERSION=$(OPENSSL_VERSION_NUMBER)$(OPENSSL_REVISION)
57
57
58
- LIBFFI_VERSION =3.4.2
58
+ LIBFFI_VERSION =3.4.4
59
59
60
60
# Supported OS and dependencies
61
61
DEPENDENCIES =BZip2 XZ OpenSSL libFFI
@@ -107,7 +107,7 @@ all: $(OS_LIST)
107
107
108
108
# Clean all builds
109
109
clean :
110
- rm -rf build install merge dist support
110
+ rm -rf build install merge dist support wheels
111
111
112
112
# Full clean - includes all downloaded products
113
113
distclean : clean
@@ -314,6 +314,7 @@ $$(XZ_SRCDIR-$(target))/Makefile: downloads/xz-$(XZ_VERSION).tar.gz
314
314
--disable-shared \
315
315
--enable-static \
316
316
--host=$$(TARGET_TRIPLE-$(target ) ) \
317
+ --build=$(HOST_ARCH ) -apple-darwin \
317
318
--prefix="$$(XZ_INSTALL-$(target ) ) " \
318
319
2>&1 | tee -a ../xz-$(XZ_VERSION ) .config.log
319
320
@@ -910,8 +911,8 @@ os=$1
910
911
SDKS-$(os ) =$$(sort $$(basename $$(TARGETS-$(os ) ) ) )
911
912
912
913
# Predeclare the Python XCFramework files so they can be referenced in SDK targets
913
- PYTHON_XCFRAMEWORK-$(os ) =support/$(os ) /Python.xcframework
914
- PYTHON_STDLIB-$(os ) =support/$(os ) /python-stdlib
914
+ PYTHON_XCFRAMEWORK-$(os ) =support/$(PYTHON_VER ) / $( os ) /Python.xcframework
915
+ PYTHON_STDLIB-$(os ) =support/$(PYTHON_VER ) / $( os ) /python-stdlib
915
916
916
917
# Expand the build-sdk macro for all the sdks on this OS (e.g., iphoneos, iphonesimulator)
917
918
$$(foreach sdk,$$(SDKS-$(os ) ) ,$$(eval $$(call build-sdk,$$(sdk ) ,$(os ) ) ) )
@@ -1033,7 +1034,7 @@ $$(PYTHON_XCFRAMEWORK-$(os)): \
1033
1034
mkdir -p $$(dir $$(PYTHON_XCFRAMEWORK-$(os ) ) )
1034
1035
xcodebuild -create-xcframework \
1035
1036
-output $$@ $$(foreach sdk,$$(SDKS-$(os ) ) ,-library $$(PYTHON_FATLIB-$$(sdk ) ) -headers $$(PYTHON_FATINCLUDE-$$(sdk ) ) ) \
1036
- 2>&1 | tee -a support/python-$(os ) .xcframework.log
1037
+ 2>&1 | tee -a support/$( PYTHON_VER ) / python-$(os ) .xcframework.log
1037
1038
1038
1039
$$(PYTHON_STDLIB-$(os ) ) : \
1039
1040
$$(PYTHON_XCFRAMEWORK-$(os ) ) \
@@ -1059,34 +1060,34 @@ $$(PYTHON_STDLIB-$(os)): \
1059
1060
1060
1061
dist/Python-$(PYTHON_VER ) -$(os ) -support.$(BUILD_NUMBER ) .tar.gz: $$(PYTHON_XCFRAMEWORK-$(os ) ) $$(PYTHON_STDLIB-$(os ) )
1061
1062
@echo ">>> Create VERSIONS file for $(os ) "
1062
- echo "Python version: $(PYTHON_VERSION ) " > support/$(os ) /VERSIONS
1063
- echo "Build: $(BUILD_NUMBER ) " >> support/$(os ) /VERSIONS
1064
- echo "Min $(os ) version: $$(VERSION_MIN-$(os ) ) " >> support/$(os ) /VERSIONS
1065
- echo "---------------------" >> support/$(os ) /VERSIONS
1063
+ echo "Python version: $(PYTHON_VERSION ) " > support/$(PYTHON_VER ) / $( os ) /VERSIONS
1064
+ echo "Build: $(BUILD_NUMBER ) " >> support/$(PYTHON_VER ) / $( os ) /VERSIONS
1065
+ echo "Min $(os ) version: $$(VERSION_MIN-$(os ) ) " >> support/$(PYTHON_VER ) / $( os ) /VERSIONS
1066
+ echo "---------------------" >> support/$(PYTHON_VER ) / $( os ) /VERSIONS
1066
1067
ifeq ($(os ) ,macOS)
1067
- echo "libFFI: macOS native" >> support/$(os)/VERSIONS
1068
+ echo "libFFI: macOS native" >> support/$(PYTHON_VER)/$( os)/VERSIONS
1068
1069
else
1069
- echo "libFFI: $(LIBFFI_VERSION)" >> support/$(os)/VERSIONS
1070
+ echo "libFFI: $(LIBFFI_VERSION)" >> support/$(PYTHON_VER)/$( os)/VERSIONS
1070
1071
endif
1071
- echo "BZip2: $(BZIP2_VERSION ) " >> support/$(os ) /VERSIONS
1072
- echo "OpenSSL: $(OPENSSL_VERSION ) " >> support/$(os ) /VERSIONS
1073
- echo "XZ: $(XZ_VERSION ) " >> support/$(os ) /VERSIONS
1072
+ echo "BZip2: $(BZIP2_VERSION ) " >> support/$(PYTHON_VER ) / $( os ) /VERSIONS
1073
+ echo "OpenSSL: $(OPENSSL_VERSION ) " >> support/$(PYTHON_VER ) / $( os ) /VERSIONS
1074
+ echo "XZ: $(XZ_VERSION ) " >> support/$(PYTHON_VER ) / $( os ) /VERSIONS
1074
1075
1075
1076
ifneq ($(os ) ,macOS)
1076
1077
@echo ">>> Create cross-platform site sitecustomize.py for $(os)"
1077
- mkdir -p support/$(os)/platform-site
1078
+ mkdir -p support/$(PYTHON_VER)/$( os)/platform-site
1078
1079
cat $(PROJECT_DIR)/patch/Python/sitecustomize.py \
1079
1080
| sed -e "s/{{os}}/$(os)/g" \
1080
1081
| sed -e "s/{{tag}}/$$(shell echo $(os) | tr '[:upper:]' '[:lower:]')_$$(shell echo $$(VERSION_MIN-$(os)) | sed "s/\./_/g")/g" \
1081
- > support/$(os)/platform-site/sitecustomize.py
1082
+ > support/$(PYTHON_VER)/$( os)/platform-site/sitecustomize.py
1082
1083
endif
1083
1084
1084
1085
@echo ">>> Create final distribution artefact for $(os ) "
1085
1086
mkdir -p dist
1086
1087
# Build a "full" tarball with all content for test purposes
1087
- tar zcvf dist/Python-$(PYTHON_VER ) -$(os ) -support.test-$(BUILD_NUMBER ) .tar.gz -X patch/Python/test.exclude -C support/$(os ) `ls -A support/$(os ) `
1088
+ tar zcvf dist/Python-$(PYTHON_VER ) -$(os ) -support.test-$(BUILD_NUMBER ) .tar.gz -X patch/Python/test.exclude -C support/$(PYTHON_VER ) / $( os ) `ls -A support/$(PYTHON_VER ) / $( os )/ `
1088
1089
# Build a distributable tarball
1089
- tar zcvf $$@ -X patch/Python/release.common.exclude -X patch/Python/release.$(os ) .exclude -C support/$(os ) `ls -A support/$(os ) `
1090
+ tar zcvf $$@ -X patch/Python/release.common.exclude -X patch/Python/release.$(os ) .exclude -C support/$(PYTHON_VER ) / $( os ) `ls -A support/$(PYTHON_VER ) / $( os )/ `
1090
1091
1091
1092
Python-$(os ) : dist/Python-$(PYTHON_VER ) -$(os ) -support.$(BUILD_NUMBER ) .tar.gz
1092
1093
@@ -1099,8 +1100,7 @@ clean-Python-$(os):
1099
1100
install/$(os ) /*/python-$(PYTHON_VER ) *.*.log \
1100
1101
merge/$(os ) /*/python-$(PYTHON_VER ) * \
1101
1102
merge/$(os ) /*/python-$(PYTHON_VER ) *.*.log \
1102
- support/$(os ) \
1103
- support/*-$(os ) .*.log \
1103
+ support/$(PYTHON_VER ) /$(os ) \
1104
1104
dist/Python-$(PYTHON_VER ) -$(os ) -*
1105
1105
1106
1106
dev-clean-Python-$(os ) :
@@ -1112,17 +1112,15 @@ dev-clean-Python-$(os):
1112
1112
install/$(os ) /*/python-$(PYTHON_VERSION ) .*.log \
1113
1113
merge/$(os ) /*/python-$(PYTHON_VERSION ) \
1114
1114
merge/$(os ) /*/python-$(PYTHON_VERSION ) .*.log \
1115
- support/$(os ) \
1116
- support/*-$(os ) .*.log \
1115
+ support/$(PYTHON_VER ) /$(os ) \
1117
1116
dist/Python-$(PYTHON_VER ) -$(os ) -*
1118
1117
1119
1118
merge-clean-Python-$(os ) :
1120
1119
@echo ">>> Partially clean Python build products on $(os ) so that merge modifications can be made"
1121
1120
rm -rf \
1122
1121
merge/$(os ) /*/python-$(PYTHON_VERSION ) \
1123
1122
merge/$(os ) /*/python-$(PYTHON_VERSION ) .*.log \
1124
- support/$(os ) \
1125
- support/*-$(os ) .*.log \
1123
+ support/$(PYTHON_VER ) /$(os ) \
1126
1124
dist/Python-$(PYTHON_VER ) -$(os ) -*
1127
1125
1128
1126
# ##########################################################################
0 commit comments