@@ -54,6 +54,8 @@ DTRACE= @DTRACE@
54
54
DFLAGS= @DFLAGS@
55
55
DTRACE_HEADERS= @DTRACE_HEADERS@
56
56
DTRACE_OBJS= @DTRACE_OBJS@
57
+ DSYMUTIL= @DSYMUTIL@
58
+ DSYMUTIL_PATH= @DSYMUTIL_PATH@
57
59
58
60
GNULD= @GNULD@
59
61
@@ -576,7 +578,7 @@ LIBEXPAT_HEADERS= \
576
578
# Default target
577
579
all: @DEF_MAKE_ALL_RULE@
578
580
build_all: check-clean-src $(BUILDPYTHON) platform sharedmods \
579
- gdbhooks Programs/_testembed scripts checksharedmods
581
+ gdbhooks Programs/_testembed scripts checksharedmods rundsymutil
580
582
build_wasm: check-clean-src $(BUILDPYTHON) platform sharedmods \
581
583
python-config checksharedmods
582
584
@@ -905,6 +907,22 @@ sharedmods: $(SHAREDMODS) pybuilddir.txt
905
907
checksharedmods: sharedmods $(PYTHON_FOR_BUILD_DEPS) $(BUILDPYTHON)
906
908
@$(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/Tools/scripts/check_extension_modules.py
907
909
910
+ rundsymutil: sharedmods $(PYTHON_FOR_BUILD_DEPS) $(BUILDPYTHON)
911
+ @if [ ! -z $(DSYMUTIL) ] ; then \
912
+ echo $(DSYMUTIL_PATH) $(BUILDPYTHON); \
913
+ $(DSYMUTIL_PATH) $(BUILDPYTHON); \
914
+ if test -f $(LDLIBRARY); then \
915
+ echo $(DSYMUTIL_PATH) $(LDLIBRARY); \
916
+ $(DSYMUTIL_PATH) $(LDLIBRARY); \
917
+ fi; \
918
+ for mod in X $(SHAREDMODS); do \
919
+ if test $$mod != X; then \
920
+ echo $(DSYMUTIL_PATH) $$mod; \
921
+ $(DSYMUTIL_PATH) $$mod; \
922
+ fi; \
923
+ done \
924
+ fi
925
+
908
926
Modules/Setup.local:
909
927
@# Create empty Setup.local when file was deleted by user
910
928
echo "# Edit this file for local setup changes" > $@
@@ -1755,9 +1773,14 @@ sharedinstall: $(DESTSHARED) all
1755
1773
if test $$i != X; then \
1756
1774
echo $(INSTALL_SHARED) $$i $(DESTSHARED)/`basename $$i`; \
1757
1775
$(INSTALL_SHARED) $$i $(DESTDIR)$(DESTSHARED)/`basename $$i`; \
1776
+ if test -d "$$i.dSYM"; then \
1777
+ echo $(DSYMUTIL_PATH) $(DESTDIR)$(DESTSHARED)/`basename $$i`; \
1778
+ $(DSYMUTIL_PATH) $(DESTDIR)$(DESTSHARED)/`basename $$i`; \
1779
+ fi; \
1758
1780
fi; \
1759
1781
done
1760
1782
1783
+
1761
1784
$(DESTSHARED):
1762
1785
@for i in $(DESTDIRS); \
1763
1786
do \
@@ -1818,6 +1841,23 @@ altbininstall: $(BUILDPYTHON) @FRAMEWORKPYTHONW@
1818
1841
-output $(DESTDIR)$(BINDIR)/python$(VERSION)-intel64$(EXE) \
1819
1842
$(DESTDIR)$(BINDIR)/python$(VERSION)$(EXE); \
1820
1843
fi
1844
+ # Install macOS debug information (if available)
1845
+ if test -d "$(BUILDPYTHON).dSYM"; then \
1846
+ echo $(DSYMUTIL_PATH) $(DESTDIR)$(BINDIR)/python$(LDVERSION)$(EXE); \
1847
+ $(DSYMUTIL_PATH) $(DESTDIR)$(BINDIR)/python$(LDVERSION)$(EXE); \
1848
+ fi
1849
+ if test "$(PYTHONFRAMEWORKDIR)" = "no-framework" ; then \
1850
+ if test -d "$(LDLIBRARY).dSYM"; then \
1851
+ echo $(DSYMUTIL_PATH) $(DESTDIR)$(LIBDIR)/$(INSTSONAME); \
1852
+ $(DSYMUTIL_PATH) $(DESTDIR)$(LIBDIR)/$(INSTSONAME); \
1853
+ fi \
1854
+ else \
1855
+ if test -d "$(LDLIBRARY).dSYM"; then \
1856
+ echo $(DSYMUTIL_PATH) $(DESTDIR)$(PYTHONFRAMEWORKPREFIX)/$(INSTSONAME); \
1857
+ $(DSYMUTIL_PATH) $(DESTDIR)$(PYTHONFRAMEWORKPREFIX)/$(INSTSONAME); \
1858
+ fi \
1859
+ fi
1860
+
1821
1861
1822
1862
bininstall: altbininstall
1823
1863
if test ! -d $(DESTDIR)$(LIBPC); then \
@@ -2392,6 +2432,7 @@ clean-retain-profile: pycremoval
2392
2432
find . -name '*.[oa]' -exec rm -f {} ';'
2393
2433
find . -name '*.s[ol]' -exec rm -f {} ';'
2394
2434
find . -name '*.so.[0-9]*.[0-9]*' -exec rm -f {} ';'
2435
+ find . -name '*.lto' -exec rm -f {} ';'
2395
2436
find . -name '*.wasm' -exec rm -f {} ';'
2396
2437
find . -name '*.lst' -exec rm -f {} ';'
2397
2438
find build -name 'fficonfig.h' -exec rm -f {} ';' || true
@@ -2508,7 +2549,7 @@ Python/thread.o: @THREADHEADERS@ $(srcdir)/Python/condvar.h
2508
2549
2509
2550
# Declare targets that aren't real files
2510
2551
.PHONY: all build_all build_wasm check-clean-src
2511
- .PHONY: sharedmods checksharedmods test quicktest
2552
+ .PHONY: sharedmods checksharedmods test quicktest rundsymutil
2512
2553
.PHONY: install altinstall sharedinstall bininstall altbininstall
2513
2554
.PHONY: maninstall libinstall inclinstall libainstall
2514
2555
.PHONY: frameworkinstall frameworkinstallframework frameworkinstallstructure
0 commit comments