@@ -290,12 +290,14 @@ PYTHON_FRAMEWORK-$(target)=$$(PYTHON_INSTALL-$(target))/Python.framework
290290ifneq ($$(BASE-$(target ) ) ,macabi)
291291PYTHON_LIB-$(target) =$$(PYTHON_FRAMEWORK-$(target ) ) /Python
292292PYTHON_BIN-$(target) =$$(PYTHON_INSTALL-$(target ) ) /bin
293+ PYTHON_INCLUDE-$(target) =$$(PYTHON_FRAMEWORK-$(target ) ) /Headers
294+ PYTHON_STDLIB-$(target) =$$(PYTHON_INSTALL-$(target ) ) /lib/python$(PYTHON_VER )
293295else
294296PYTHON_LIB-$(target) =$$(PYTHON_FRAMEWORK-$(target ) ) /Versions/$(PYTHON_VER ) /Python
295- PYTHON_BIN-$(target) =$$(PYTHON_INSTALL-$(target ) ) /Python.framework/Versions/$(PYTHON_VER ) /bin
297+ PYTHON_BIN-$(target) =$$(PYTHON_FRAMEWORK-$(target ) ) /Versions/$(PYTHON_VER ) /bin
298+ PYTHON_INCLUDE-$(target) =$$(PYTHON_FRAMEWORK-$(target ) ) /Versions/$(PYTHON_VER ) /Headers
299+ PYTHON_STDLIB-$(target) =$$(PYTHON_FRAMEWORK-$(target ) ) /Versions/$(PYTHON_VER ) /lib/python$(PYTHON_VER )
296300endif
297- PYTHON_INCLUDE-$(target) =$$(PYTHON_FRAMEWORK-$(target ) ) /Headers
298- PYTHON_STDLIB-$(target) =$$(PYTHON_INSTALL-$(target ) ) /lib/python$(PYTHON_VER )
299301PYTHON_PLATFORM_CONFIG-$(target) =$$(PYTHON_INSTALL-$(target ) ) /platform-config/$$(ARCH-$(target ) ) -$$(SDK-$(target ) )
300302PYTHON_PLATFORM_SITECUSTOMIZE-$(target) =$$(PYTHON_PLATFORM_CONFIG-$(target ) ) /sitecustomize.py
301303
@@ -484,22 +486,43 @@ else
484486PYTHON_INSTALL-$(sdk) =$(PROJECT_DIR ) /install/$(os ) /$(sdk ) /python-$(PYTHON_VERSION )
485487PYTHON_MODULEMAP-$(sdk) =$$(PYTHON_INCLUDE-$(sdk ) ) /module.modulemap
486488PYTHON_FRAMEWORK-$(sdk) =$$(PYTHON_INSTALL-$(sdk ) ) /Python.framework
489+ ifneq ($(sdk ) ,macabi)
487490PYTHON_LIB-$(sdk) =$$(PYTHON_FRAMEWORK-$(sdk ) ) /Python
488491PYTHON_BIN-$(sdk) =$$(PYTHON_INSTALL-$(sdk ) ) /bin
489492PYTHON_INCLUDE-$(sdk) =$$(PYTHON_FRAMEWORK-$(sdk ) ) /Headers
490493PYTHON_STDLIB-$(sdk) =$$(PYTHON_INSTALL-$(sdk ) ) /lib/python$(PYTHON_VER )
494+ else
495+ PYTHON_LIB-$(sdk) =$$(PYTHON_FRAMEWORK-$(sdk ) ) /Versions/$(PYTHON_VER ) /Python
496+ PYTHON_BIN-$(sdk) =$$(PYTHON_FRAMEWORK-$(sdk ) ) /Versions/$(PYTHON_VER ) /bin
497+ PYTHON_INCLUDE-$(sdk) =$$(PYTHON_FRAMEWORK-$(sdk ) ) /Versions/$(PYTHON_VER ) /Headers
498+ PYTHON_STDLIB-$(sdk) =$$(PYTHON_FRAMEWORK-$(sdk ) ) /Versions/$(PYTHON_VER ) /lib/python$(PYTHON_VER )
499+ endif
491500PYTHON_PLATFORM_CONFIG-$(sdk) =$$(PYTHON_INSTALL-$(sdk ) ) /platform-config
492501
493502$$(PYTHON_LIB-$(sdk ) ) : $$(foreach target,$$(SDK_TARGETS-$(sdk ) ) ,$$(PYTHON_LIB-$$(target ) ) )
494503 @echo " >>> Build Python fat library for the $( sdk) SDK"
495504 mkdir -p $$(dir $$(PYTHON_LIB-$(sdk ) ) )
505+ ifeq ($(sdk ) ,macabi)
506+ ln -si $(PYTHON_VER) $$(PYTHON_FRAMEWORK-$(sdk))/Versions/Current
507+ ln -si Versions/Current/Headers $$(PYTHON_FRAMEWORK-$(sdk))/Headers
508+ ln -si Versions/Current/Resources $$(PYTHON_FRAMEWORK-$(sdk))/Resources
509+ ln -si Versions/Current/Python $$(PYTHON_FRAMEWORK-$(sdk))/Python
510+ endif
496511 lipo -create -output $$@ $$^ \
497512 2>&1 | tee -a install/$(os)/$(sdk)/python-$(PYTHON_VERSION).lipo.log
498513
514+ ifneq ($(sdk ) ,macabi)
499515$$(PYTHON_FRAMEWORK-$(sdk ) ) /Info.plist : $$(PYTHON_LIB-$(sdk ) )
516+ else
517+ $$(PYTHON_FRAMEWORK-$(sdk ) ) /Versions/$(PYTHON_VER ) /Resources/Info.plist : $$(PYTHON_LIB-$(sdk ) )
518+ endif
500519 @echo ">>> Install Info.plist for the $(sdk) SDK"
501520 # Copy Info.plist as-is from the first target in the $(sdk) SDK
521+ ifneq ($(sdk ) ,macabi)
502522 cp -r $$(PYTHON_FRAMEWORK-$$(firstword $$(SDK_TARGETS-$(sdk))))/Info.plist $$(PYTHON_FRAMEWORK-$(sdk))
523+ else
524+ cp -r $$(PYTHON_FRAMEWORK-$$(firstword $$(SDK_TARGETS-$(sdk))))/Versions/$(PYTHON_VER)/Resources/Info.plist $$(PYTHON_FRAMEWORK-$(sdk))
525+ endif
503526
504527$$(PYTHON_INCLUDE-$(sdk ) ) /pyconfig.h : $$(PYTHON_LIB-$(sdk ) )
505528 @echo " >>> Build Python fat headers for the $( sdk) SDK"
@@ -523,11 +546,19 @@ $$(PYTHON_INCLUDE-$(sdk))/pyconfig.h: $$(PYTHON_LIB-$(sdk))
523546 echo "\n}" >> $$(PYTHON_MODULEMAP-$(sdk))
524547
525548 # Link the PYTHONHOME version of the headers
549+ ifneq ($(sdk ) ,macabi)
526550 mkdir -p $$(PYTHON_INSTALL-$(sdk))/include
527551 ln -si ../Python.framework/Headers $$(PYTHON_INSTALL-$(sdk))/include/python$(PYTHON_VER)
552+ else
553+ mkdir -p $$(PYTHON_FRAMEWORK-$(sdk))/Versions/$(PYTHON_VER)/include
554+ ln -si ../Headers $$(PYTHON_FRAMEWORK-$(sdk))/Versions/$(PYTHON_VER)/include/python$(PYTHON_VER)
555+ endif
528556
529557ifeq ($(os ) , visionOS)
530558 echo "Skipping arch-specific header copying for visionOS"
559+
560+ # Add the headers from each target -- there's should only be one target, so we copy it to the same name.
561+ $$(foreach target,$$(SDK_TARGETS-$(sdk)),cp $$(PYTHON_INCLUDE-$$(target))/pyconfig.h $$(PYTHON_INCLUDE-$(sdk))/pyconfig.h; )
531562else
532563 # Add the individual headers from each target in an arch-specific name
533564 $$(foreach target,$$(SDK_TARGETS-$(sdk)),cp $$(PYTHON_INCLUDE-$$(target))/pyconfig.h $$(PYTHON_INCLUDE-$(sdk))/pyconfig-$$(ARCH-$$(target)).h; )
@@ -536,8 +567,11 @@ else
536567 cp $$(RESCDIR-$$(firstword $$(SDK_TARGETS-$(sdk))))/pyconfig.h $$(PYTHON_INCLUDE-$(sdk))/pyconfig.h
537568endif
538569
539-
570+ ifneq ( $( sdk ) ,macabi)
540571$$(PYTHON_STDLIB-$(sdk ) ) /LICENSE.TXT : $$(PYTHON_LIB-$(sdk ) ) $$(PYTHON_FRAMEWORK-$(sdk ) ) /Info.plist $$(PYTHON_INCLUDE-$(sdk ) ) /pyconfig.h $$(foreach target,$$(SDK_TARGETS-$(sdk ) ) ,$$(PYTHON_PLATFORM_SITECUSTOMIZE-$$(target ) ) )
572+ else
573+ $$(PYTHON_STDLIB-$(sdk ) ) /LICENSE.TXT : $$(PYTHON_LIB-$(sdk ) ) $$(PYTHON_FRAMEWORK-$(sdk ) ) /Versions/$(PYTHON_VER ) /Resources/Info.plist $$(PYTHON_INCLUDE-$(sdk ) ) /pyconfig.h $$(foreach target,$$(SDK_TARGETS-$(sdk ) ) ,$$(PYTHON_PLATFORM_SITECUSTOMIZE-$$(target ) ) )
574+ endif
541575 @echo ">>> Build Python stdlib for the $(sdk) SDK"
542576 mkdir -p $$(PYTHON_STDLIB-$(sdk))/lib-dynload
543577 # Copy stdlib from the first target associated with the $(sdk) SDK
@@ -694,9 +728,10 @@ $$(PYTHON_XCFRAMEWORK-$(os))/Info.plist: \
694728 2>&1 | tee -a support/$(PYTHON_VER ) /python-$(os ) .xcframework.log
695729
696730 @echo ">>> Install PYTHONHOME for $(os)"
697- $$(foreach sdk,$$(SDKS-$(os)),cp -r $$(PYTHON_INSTALL-$$(sdk))/include $$(PYTHON_XCFRAMEWORK-$(os))/$$(SDK_SLICE-$$(sdk)); )
698- $$(foreach sdk,$$(SDKS-$(os)),cp -r $$(PYTHON_INSTALL-$$(sdk))/bin $$(PYTHON_XCFRAMEWORK-$(os))/$$(SDK_SLICE-$$(sdk)); )
699- $$(foreach sdk,$$(SDKS-$(os)),cp -r $$(PYTHON_INSTALL-$$(sdk))/lib $$(PYTHON_XCFRAMEWORK-$(os))/$$(SDK_SLICE-$$(sdk)); )
731+ # Do not install stuff for macabi becuase it's already built into the framework.
732+ $$(foreach sdk,$$(filter-out macabi,$$(SDKS-$(os))),cp -r $$(PYTHON_INSTALL-$$(sdk))/include $$(PYTHON_XCFRAMEWORK-$(os))/$$(SDK_SLICE-$$(sdk)); )
733+ $$(foreach sdk,$$(filter-out macabi,$$(SDKS-$(os))),cp -r $$(PYTHON_INSTALL-$$(sdk))/bin $$(PYTHON_XCFRAMEWORK-$(os))/$$(SDK_SLICE-$$(sdk)); )
734+ $$(foreach sdk,$$(filter-out macabi,$$(SDKS-$(os))),cp -r $$(PYTHON_INSTALL-$$(sdk))/lib $$(PYTHON_XCFRAMEWORK-$(os))/$$(SDK_SLICE-$$(sdk)); )
700735 $$(foreach sdk,$$(SDKS-$(os)),cp -r $$(PYTHON_INSTALL-$$(sdk))/platform-config $$(PYTHON_XCFRAMEWORK-$(os))/$$(SDK_SLICE-$$(sdk)); )
701736
702737ifeq ($(filter $(os ) ,iOS visionOS) ,$(os ) )
0 commit comments