@@ -55,7 +55,6 @@ VERSION_MIN-watchOS=4.0
55
55
56
56
# The architecture of the machine doing the build
57
57
HOST_ARCH =$(shell uname -m)
58
- HOST_PYTHON =$(shell which python$(PYTHON_VER ) )
59
58
60
59
# Force the path to be minimal. This ensures that anything in the user environment
61
60
# (in particular, homebrew and user-provided Python installs) aren't inadvertently
@@ -267,6 +266,7 @@ PYTHON_PLATFORM_SITECUSTOMIZE-$(target)=$$(PYTHON_PLATFORM_CONFIG-$(target))/sit
267
266
268
267
$$(PYTHON_SRCDIR-$(target ) ) /configure : \
269
268
downloads/Python-$(PYTHON_VERSION ) .tar.gz \
269
+ $$(PYTHON_HOST-macosx ) \
270
270
$$(BZIP2_LIB-$(target ) ) \
271
271
$$(LIBFFI_LIB-$(target ) ) \
272
272
$$(MPDECIMAL_LIB-$(target ) ) \
@@ -286,7 +286,7 @@ $$(PYTHON_SRCDIR-$(target))/Makefile: \
286
286
$$(PYTHON_SRCDIR-$(target ) ) /configure
287
287
# Configure target Python
288
288
cd $$(PYTHON_SRCDIR-$(target ) ) && \
289
- PATH=" $( PROJECT_DIR) /$$ (PYTHON_SRCDIR-$( target) )/$( os) /Resources/bin:$( PATH) " \
289
+ PATH=" $$ (PYTHON_HOST_BIN-macosx): $ ( PROJECT_DIR) /$$ (PYTHON_SRCDIR-$( target) )/$( os) /Resources/bin:$( PATH) " \
290
290
./configure \
291
291
LIBLZMA_CFLAGS=" -I$$ (XZ_INSTALL-$( target) )/include" \
292
292
LIBLZMA_LIBS=" -L$$ (XZ_INSTALL-$( target) )/lib -llzma" \
@@ -298,7 +298,7 @@ $$(PYTHON_SRCDIR-$(target))/Makefile: \
298
298
LIBFFI_LIBS=" -L$$ (LIBFFI_INSTALL-$( target) )/lib -lffi" \
299
299
--host=$$(TARGET_TRIPLE-$(target ) ) \
300
300
--build=$(HOST_ARCH ) -apple-darwin \
301
- --with-build-python=$(HOST_PYTHON ) \
301
+ --with-build-python=$(PYTHON_HOST-macosx ) \
302
302
--enable-ipv6 \
303
303
--with-openssl=" $$ (OPENSSL_INSTALL-$( target) )" \
304
304
--enable-framework=" $$ (PYTHON_INSTALL-$( target) )" \
@@ -422,6 +422,8 @@ ifeq ($(os),macOS)
422
422
# reprocessed into an XCFramework.
423
423
424
424
PYTHON_INSTALL-$(sdk) =$(PROJECT_DIR ) /install/$(os ) /$(sdk ) /python-$(PYTHON_VERSION )
425
+ PYTHON_HOST_BIN-$(sdk) =$$(PYTHON_INSTALL-$(sdk ) ) /installed/Versions/$(PYTHON_VER ) /bin
426
+ PYTHON_HOST-$(sdk) =$$(PYTHON_HOST_BIN-$(sdk ) ) /python3
425
427
PYTHON_FRAMEWORK-$(sdk) =$$(PYTHON_INSTALL-$(sdk ) ) /Python.framework
426
428
PYTHON_INSTALL_VERSION-$(sdk) =$$(PYTHON_FRAMEWORK-$(sdk ) ) /Versions/$(PYTHON_VER )
427
429
PYTHON_LIB-$(sdk) =$$(PYTHON_INSTALL_VERSION-$(sdk ) ) /Python
@@ -519,6 +521,8 @@ vars-$(sdk):
519
521
@echo "SDK_SLICE-$(sdk ) : $$(SDK_SLICE-$(sdk ) ) "
520
522
@echo "LDFLAGS-$(sdk ) : $$(LDFLAGS-$(sdk ) ) "
521
523
@echo "PYTHON_INSTALL-$(sdk ) : $$(PYTHON_INSTALL-$(sdk ) ) "
524
+ @echo "PYTHON_HOST_BIN-$(sdk ) : $$(PYTHON_HOST_BIN-$(sdk ) ) "
525
+ @echo "PYTHON_HOST-$(sdk ) : $$(PYTHON_HOST-$(sdk ) ) "
522
526
@echo "PYTHON_FRAMEWORK-$(sdk ) : $$(PYTHON_FRAMEWORK-$(sdk ) ) "
523
527
@echo "PYTHON_LIB-$(sdk ) : $$(PYTHON_LIB-$(sdk ) ) "
524
528
@echo "PYTHON_BIN-$(sdk ) : $$(PYTHON_BIN-$(sdk ) ) "
@@ -559,19 +563,23 @@ PYTHON_XCFRAMEWORK-$(os)=support/$(PYTHON_VER)/$(os)/Python.xcframework
559
563
560
564
ifeq ($(os ) ,macOS)
561
565
562
- PYTHON_FRAMEWORK-$(os) =$$(PYTHON_INSTALL-$(sdk ) ) /Python.framework
563
-
564
- $$(PYTHON_XCFRAMEWORK-$(os ) ) /Info.plist : \
565
- downloads/python-$(PYTHON_PKG_VERSION ) -macos11.pkg
566
- @echo " >>> Repackage macOS package as XCFramework"
567
-
566
+ build/macOS/macosx/python-$(PYTHON_VERSION ) /DistributionDistribution : downloads/python-$(PYTHON_PKG_VERSION ) -macos11.pkg
568
567
# Unpack .pkg file. It turns out .pkg files are readable by tar... although
569
568
# their internal format is a bit of a mess. From tar's perspective, the .pkg
570
569
# is a tarball that contains additional tarballs; the inner tarball has the
571
570
# "payload" that is the framework.
572
571
mkdir -p build/macOS/macosx/python-$(PYTHON_VERSION )
573
572
tar zxf downloads/python-$(PYTHON_PKG_VERSION ) -macos11.pkg -C build/macOS/macosx/python-$(PYTHON_VERSION )
574
573
574
+ $$(PYTHON_HOST-macosx ) : build/macOS/macosx/python-$(PYTHON_VERSION ) /DistributionDistribution
575
+ # Unpack payload inside .pkg file
576
+ mkdir -p $$(PYTHON_INSTALL-macosx ) /installed
577
+ tar zxf build/macOS/macosx/python-$(PYTHON_VERSION ) /Python_Framework.pkgPython_Framework.pkg/PayloadPython_Framework.pkgPython_Framework.pkg/PayloadPython_Framework.pkgPython_Framework.pkg/Payload -C $$(PYTHON_INSTALL-macosx ) /installed
578
+
579
+ $$(PYTHON_XCFRAMEWORK-$(os ) ) /Info.plist : \
580
+ build/macOS/macosx/python-$(PYTHON_VERSION ) /DistributionDistribution
581
+ @echo " >>> Repackage macOS package as XCFramework"
582
+
575
583
# Unpack payload inside .pkg file
576
584
mkdir -p $$(PYTHON_FRAMEWORK-macosx)
577
585
tar zxf build/macOS/macosx/python-$(PYTHON_VERSION)/Python_Framework.pkgPython_Framework.pkg/PayloadPython_Framework.pkgPython_Framework.pkg/PayloadPython_Framework.pkgPython_Framework.pkg/Payload -C $$(PYTHON_FRAMEWORK-macosx) -X patch/Python/release.macOS.exclude
@@ -638,7 +646,7 @@ $$(PYTHON_XCFRAMEWORK-$(os))/Info.plist: \
638
646
639
647
ifeq ($(os ) ,iOS)
640
648
@echo ">>> Clone testbed project for $(os)"
641
- $(HOST_PYTHON ) $$(PYTHON_SRCDIR-$$(firstword $$(SDK_TARGETS-$$(firstword $$(SDKS-$(os))))))/iOS/testbed clone --framework $$(PYTHON_XCFRAMEWORK-$(os)) support/$(PYTHON_VER)/$(os)/testbed
649
+ $$(PYTHON_HOST-macosx ) $$(PYTHON_SRCDIR-$$(firstword $$(SDK_TARGETS-$$(firstword $$(SDKS-$(os))))))/iOS/testbed clone --framework $$(PYTHON_XCFRAMEWORK-$(os)) support/$(PYTHON_VER)/$(os)/testbed
642
650
endif
643
651
644
652
@echo ">>> Create VERSIONS file for $(os)"
@@ -707,7 +715,6 @@ endef # build
707
715
vars : $(foreach os,$(OS_LIST ) ,vars-$(os ) )
708
716
@echo " >>> Environment variables for $( os) "
709
717
@echo " HOST_ARCH: $( HOST_ARCH) "
710
- @echo " HOST_PYTHON: $( HOST_PYTHON) "
711
718
@echo
712
719
713
720
config :
0 commit comments