@@ -290,12 +290,14 @@ PYTHON_FRAMEWORK-$(target)=$$(PYTHON_INSTALL-$(target))/Python.framework
290
290
ifneq ($$(BASE-$(target ) ) ,macabi)
291
291
PYTHON_LIB-$(target) =$$(PYTHON_FRAMEWORK-$(target ) ) /Python
292
292
PYTHON_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 )
293
295
else
294
296
PYTHON_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 )
296
300
endif
297
- PYTHON_INCLUDE-$(target) =$$(PYTHON_FRAMEWORK-$(target ) ) /Headers
298
- PYTHON_STDLIB-$(target) =$$(PYTHON_INSTALL-$(target ) ) /lib/python$(PYTHON_VER )
299
301
PYTHON_PLATFORM_CONFIG-$(target) =$$(PYTHON_INSTALL-$(target ) ) /platform-config/$$(ARCH-$(target ) ) -$$(SDK-$(target ) )
300
302
PYTHON_PLATFORM_SITECUSTOMIZE-$(target) =$$(PYTHON_PLATFORM_CONFIG-$(target ) ) /sitecustomize.py
301
303
@@ -484,22 +486,43 @@ else
484
486
PYTHON_INSTALL-$(sdk) =$(PROJECT_DIR ) /install/$(os ) /$(sdk ) /python-$(PYTHON_VERSION )
485
487
PYTHON_MODULEMAP-$(sdk) =$$(PYTHON_INCLUDE-$(sdk ) ) /module.modulemap
486
488
PYTHON_FRAMEWORK-$(sdk) =$$(PYTHON_INSTALL-$(sdk ) ) /Python.framework
489
+ ifneq ($(sdk ) ,macabi)
487
490
PYTHON_LIB-$(sdk) =$$(PYTHON_FRAMEWORK-$(sdk ) ) /Python
488
491
PYTHON_BIN-$(sdk) =$$(PYTHON_INSTALL-$(sdk ) ) /bin
489
492
PYTHON_INCLUDE-$(sdk) =$$(PYTHON_FRAMEWORK-$(sdk ) ) /Headers
490
493
PYTHON_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
491
500
PYTHON_PLATFORM_CONFIG-$(sdk) =$$(PYTHON_INSTALL-$(sdk ) ) /platform-config
492
501
493
502
$$(PYTHON_LIB-$(sdk ) ) : $$(foreach target,$$(SDK_TARGETS-$(sdk ) ) ,$$(PYTHON_LIB-$$(target ) ) )
494
503
@echo " >>> Build Python fat library for the $( sdk) SDK"
495
504
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
496
511
lipo -create -output $$@ $$^ \
497
512
2>&1 | tee -a install/$(os)/$(sdk)/python-$(PYTHON_VERSION).lipo.log
498
513
514
+ ifneq ($(sdk ) ,macabi)
499
515
$$(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
500
519
@echo ">>> Install Info.plist for the $(sdk) SDK"
501
520
# Copy Info.plist as-is from the first target in the $(sdk) SDK
521
+ ifneq ($(sdk ) ,macabi)
502
522
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
503
526
504
527
$$(PYTHON_INCLUDE-$(sdk ) ) /pyconfig.h : $$(PYTHON_LIB-$(sdk ) )
505
528
@echo " >>> Build Python fat headers for the $( sdk) SDK"
@@ -523,11 +546,19 @@ $$(PYTHON_INCLUDE-$(sdk))/pyconfig.h: $$(PYTHON_LIB-$(sdk))
523
546
echo "\n}" >> $$(PYTHON_MODULEMAP-$(sdk))
524
547
525
548
# Link the PYTHONHOME version of the headers
549
+ ifneq ($(sdk ) ,macabi)
526
550
mkdir -p $$(PYTHON_INSTALL-$(sdk))/include
527
551
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
528
556
529
557
ifeq ($(os ) , visionOS)
530
558
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; )
531
562
else
532
563
# Add the individual headers from each target in an arch-specific name
533
564
$$(foreach target,$$(SDK_TARGETS-$(sdk)),cp $$(PYTHON_INCLUDE-$$(target))/pyconfig.h $$(PYTHON_INCLUDE-$(sdk))/pyconfig-$$(ARCH-$$(target)).h; )
@@ -536,8 +567,11 @@ else
536
567
cp $$(RESCDIR-$$(firstword $$(SDK_TARGETS-$(sdk))))/pyconfig.h $$(PYTHON_INCLUDE-$(sdk))/pyconfig.h
537
568
endif
538
569
539
-
570
+ ifneq ( $( sdk ) ,macabi)
540
571
$$(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
541
575
@echo ">>> Build Python stdlib for the $(sdk) SDK"
542
576
mkdir -p $$(PYTHON_STDLIB-$(sdk))/lib-dynload
543
577
# Copy stdlib from the first target associated with the $(sdk) SDK
@@ -694,9 +728,10 @@ $$(PYTHON_XCFRAMEWORK-$(os))/Info.plist: \
694
728
2>&1 | tee -a support/$(PYTHON_VER ) /python-$(os ) .xcframework.log
695
729
696
730
@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)); )
700
735
$$(foreach sdk,$$(SDKS-$(os)),cp -r $$(PYTHON_INSTALL-$$(sdk))/platform-config $$(PYTHON_XCFRAMEWORK-$(os))/$$(SDK_SLICE-$$(sdk)); )
701
736
702
737
ifeq ($(filter $(os ) ,iOS visionOS) ,$(os ) )
0 commit comments