@@ -426,6 +426,7 @@ PYTHON_FRAMEWORK-$(sdk)=$$(PYTHON_INSTALL-$(sdk))/Python.framework
426
426
PYTHON_INSTALL_VERSION-$(sdk) =$$(PYTHON_FRAMEWORK-$(sdk ) ) /Versions/$(PYTHON_VER )
427
427
PYTHON_LIB-$(sdk) =$$(PYTHON_INSTALL_VERSION-$(sdk ) ) /Python
428
428
PYTHON_INCLUDE-$(sdk) =$$(PYTHON_INSTALL_VERSION-$(sdk ) ) /include/python$(PYTHON_VER )
429
+ PYTHON_MODULEMAP-$(sdk) =$$(PYTHON_INCLUDE-$(sdk ) ) /module.modulemap
429
430
PYTHON_STDLIB-$(sdk) =$$(PYTHON_INSTALL_VERSION-$(sdk ) ) /lib/python$(PYTHON_VER )
430
431
431
432
else
436
437
# The non-macOS frameworks don't use the versioning structure.
437
438
438
439
PYTHON_INSTALL-$(sdk) =$(PROJECT_DIR ) /install/$(os ) /$(sdk ) /python-$(PYTHON_VERSION )
440
+ PYTHON_MODULEMAP-$(sdk) =$$(PYTHON_INCLUDE-$(sdk ) ) /module.modulemap
439
441
PYTHON_FRAMEWORK-$(sdk) =$$(PYTHON_INSTALL-$(sdk ) ) /Python.framework
440
442
PYTHON_LIB-$(sdk) =$$(PYTHON_FRAMEWORK-$(sdk ) ) /Python
441
443
PYTHON_BIN-$(sdk) =$$(PYTHON_INSTALL-$(sdk ) ) /bin
@@ -466,8 +468,14 @@ $$(PYTHON_INCLUDE-$(sdk))/pyconfig.h: $$(PYTHON_LIB-$(sdk))
466
468
# Copy headers as-is from the first target in the $(sdk) SDK
467
469
cp -r $$(PYTHON_INCLUDE-$$(firstword $$(SDK_TARGETS-$(sdk)))) $$(PYTHON_INCLUDE-$(sdk))
468
470
469
- # Copy in the modulemap file
470
- cp -r patch/Python/module.modulemap $$(PYTHON_INCLUDE-$(sdk))
471
+ # Create the modulemap file
472
+ cp -r patch/Python/module.modulemap.prefix $$(PYTHON_MODULEMAP-$(sdk))
473
+ echo "" >> $$(PYTHON_MODULEMAP-$(sdk))
474
+ cd $$(PYTHON_SRCDIR-$$(firstword $$(SDK_TARGETS-$(sdk))))/Include && \
475
+ find cpython -name "*.h" | sort | sed -e 's/^/ exclude header "/' | sed 's/$$$$/"/' >> $$(PYTHON_MODULEMAP-$(sdk)) && \
476
+ echo "" >> $$(PYTHON_MODULEMAP-$(sdk)) && \
477
+ find internal -name "*.h" | sort | sed -e 's/^/ exclude header "/' | sed 's/$$$$/"/' >> $$(PYTHON_MODULEMAP-$(sdk))
478
+ echo "\n}" >> $$(PYTHON_MODULEMAP-$(sdk))
471
479
472
480
# Link the PYTHONHOME version of the headers
473
481
mkdir -p $$(PYTHON_INSTALL-$(sdk))/include
@@ -583,8 +591,14 @@ $$(PYTHON_XCFRAMEWORK-$(os))/Info.plist: \
583
591
# Rewrite the framework to make it standalone
584
592
patch/make-relocatable.sh $$(PYTHON_INSTALL_VERSION-macosx) 2>&1 > /dev/null
585
593
586
- # Copy in the modulemap file
587
- cp -r patch/Python/module.modulemap $$(PYTHON_FRAMEWORK-macosx)/Headers
594
+ # Create the modulemap file
595
+ cp -r patch/Python/module.modulemap.prefix $$(PYTHON_MODULEMAP-macosx)
596
+ echo "" >> $$(PYTHON_MODULEMAP-macosx)
597
+ cd $$(PYTHON_INCLUDE-macosx) && \
598
+ find cpython -name "*.h" | sort | sed -e 's/^/ exclude header "/' | sed 's/$$$$/"/' >> $$(PYTHON_MODULEMAP-macosx) && \
599
+ echo "" >> $$(PYTHON_MODULEMAP-macosx) && \
600
+ find internal -name "*.h" | sort | sed -e 's/^/ exclude header "/' | sed 's/$$$$/"/' >> $$(PYTHON_MODULEMAP-macosx)
601
+ echo "\n}" >> $$(PYTHON_MODULEMAP-macosx)
588
602
589
603
# Re-apply the signature on the binaries.
590
604
codesign -s - --preserve-metadata=identifier,entitlements,flags,runtime -f $$(PYTHON_LIB-macosx) \
0 commit comments