@@ -85,6 +85,10 @@ CONFIGURE_CFLAGS= @CFLAGS@
85
85
# Use it when a compiler flag should _not_ be part of the distutils CFLAGS
86
86
# once Python is installed (Issue #21121).
87
87
CONFIGURE_CFLAGS_NODIST=@CFLAGS_NODIST@
88
+ # LDFLAGS_NODIST is used in the same manner as CFLAGS_NODIST.
89
+ # Use it when a linker flag should _not_ be part of the distutils LDFLAGS
90
+ # once Python is installed (bpo-35257)
91
+ CONFIGURE_LDFLAGS_NODIST=@LDFLAGS_NODIST@
88
92
CONFIGURE_CPPFLAGS= @CPPFLAGS@
89
93
CONFIGURE_LDFLAGS= @LDFLAGS@
90
94
# Avoid assigning CFLAGS, LDFLAGS, etc. so users can use them on the
@@ -97,6 +101,7 @@ PY_CFLAGS_NODIST=$(CONFIGURE_CFLAGS_NODIST) $(CFLAGS_NODIST)
97
101
# environment variables
98
102
PY_CPPFLAGS= $(BASECPPFLAGS) -I. -I$(srcdir)/Include $(CONFIGURE_CPPFLAGS) $(CPPFLAGS)
99
103
PY_LDFLAGS= $(CONFIGURE_LDFLAGS) $(LDFLAGS)
104
+ PY_LDFLAGS_NODIST=$(CONFIGURE_LDFLAGS_NODIST) $(LDFLAGS_NODIST)
100
105
NO_AS_NEEDED= @NO_AS_NEEDED@
101
106
LDLAST= @LDLAST@
102
107
SGI_ABI= @SGI_ABI@
@@ -109,6 +114,8 @@ CFLAGSFORSHARED=@CFLAGSFORSHARED@
109
114
PY_STDMODULE_CFLAGS= $(PY_CFLAGS) $(PY_CFLAGS_NODIST) $(PY_CPPFLAGS) $(CFLAGSFORSHARED)
110
115
PY_BUILTIN_MODULE_CFLAGS= $(PY_STDMODULE_CFLAGS) -DPy_BUILD_CORE_BUILTIN
111
116
PY_CORE_CFLAGS= $(PY_STDMODULE_CFLAGS) -DPy_BUILD_CORE
117
+ # Linker flags used for building the interpreter object files
118
+ PY_CORE_LDFLAGS=$(PY_LDFLAGS) $(PY_LDFLAGS_NODIST)
112
119
# Strict or non-strict aliasing flags used to compile dtoa.c, see above
113
120
CFLAGS_ALIASING=@CFLAGS_ALIASING@
114
121
@@ -148,7 +155,7 @@ CONFINCLUDEPY= $(CONFINCLUDEDIR)/python$(LDVERSION)
148
155
SHLIB_SUFFIX= @SHLIB_SUFFIX@
149
156
EXT_SUFFIX= @EXT_SUFFIX@
150
157
LDSHARED= @LDSHARED@ $(PY_LDFLAGS)
151
- BLDSHARED= @BLDSHARED@ $(PY_LDFLAGS )
158
+ BLDSHARED= @BLDSHARED@ $(PY_LDFLAGS_NODIST )
152
159
LDCXXSHARED= @LDCXXSHARED@
153
160
DESTSHARED= $(BINLIBDEST)/lib-dynload
154
161
@@ -497,7 +504,7 @@ profile-run-stamp:
497
504
touch $@
498
505
499
506
build_all_generate_profile:
500
- $(MAKE) @DEF_MAKE_RULE@ CFLAGS_NODIST="$(CFLAGS_NODIST) $(PGO_PROF_GEN_FLAG)" LDFLAGS ="$(LDFLAGS ) $(PGO_PROF_GEN_FLAG)" LIBS="$(LIBS)"
507
+ $(MAKE) @DEF_MAKE_RULE@ CFLAGS_NODIST="$(CFLAGS_NODIST) $(PGO_PROF_GEN_FLAG)" LDFLAGS_NODIST ="$(LDFLAGS_NODIST ) $(PGO_PROF_GEN_FLAG)" LIBS="$(LIBS)"
501
508
502
509
run_profile_task:
503
510
@ # FIXME: can't run for a cross build
@@ -511,7 +518,7 @@ build_all_merge_profile:
511
518
profile-opt: profile-run-stamp
512
519
@echo "Rebuilding with profile guided optimizations:"
513
520
-rm -f profile-clean-stamp
514
- $(MAKE) @DEF_MAKE_RULE@ CFLAGS_NODIST="$(CFLAGS_NODIST) $(PGO_PROF_USE_FLAG)" LDFLAGS ="$(LDFLAGS )"
521
+ $(MAKE) @DEF_MAKE_RULE@ CFLAGS_NODIST="$(CFLAGS_NODIST) $(PGO_PROF_USE_FLAG)" LDFLAGS_NODIST ="$(LDFLAGS_NODIST )"
515
522
516
523
# Compile and run with gcov
517
524
.PHONY=coverage coverage-lcov coverage-report
@@ -568,7 +575,7 @@ clinic: check-clean-src $(srcdir)/Modules/_blake2/blake2s_impl.c
568
575
569
576
# Build the interpreter
570
577
$(BUILDPYTHON): Programs/python.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY)
571
- $(LINKCC) $(PY_LDFLAGS ) $(LINKFORSHARED) -o $@ Programs/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
578
+ $(LINKCC) $(PY_CORE_LDFLAGS ) $(LINKFORSHARED) -o $@ Programs/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
572
579
573
580
platform: $(BUILDPYTHON) pybuilddir.txt
574
581
$(RUNSHARED) $(PYTHON_FOR_BUILD) -c 'import sys ; from sysconfig import get_platform ; print("%s-%d.%d" % (get_platform(), *sys.version_info[:2]))' >platform
@@ -633,7 +640,7 @@ libpython3.so: libpython$(LDVERSION).so
633
640
$(BLDSHARED) $(NO_AS_NEEDED) -o $@ -Wl,-h$@ $^
634
641
635
642
libpython$(LDVERSION).dylib: $(LIBRARY_OBJS)
636
- $(CC) -dynamiclib -Wl,-single_module $(PY_LDFLAGS ) -undefined dynamic_lookup -Wl,-install_name,$(prefix)/lib/libpython$(LDVERSION).dylib -Wl,-compatibility_version,$(VERSION) -Wl,-current_version,$(VERSION) -o $@ $(LIBRARY_OBJS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
643
+ $(CC) -dynamiclib -Wl,-single_module $(PY_CORE_LDFLAGS ) -undefined dynamic_lookup -Wl,-install_name,$(prefix)/lib/libpython$(LDVERSION).dylib -Wl,-compatibility_version,$(VERSION) -Wl,-current_version,$(VERSION) -o $@ $(LIBRARY_OBJS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
637
644
638
645
639
646
libpython$(VERSION).sl: $(LIBRARY_OBJS)
@@ -658,7 +665,7 @@ $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK): \
658
665
$(LIBRARY) \
659
666
$(RESSRCDIR)/Info.plist
660
667
$(INSTALL) -d -m $(DIRMODE) $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)
661
- $(CC) -o $(LDLIBRARY) $(PY_LDFLAGS ) -dynamiclib \
668
+ $(CC) -o $(LDLIBRARY) $(PY_CORE_LDFLAGS ) -dynamiclib \
662
669
-all_load $(LIBRARY) -Wl,-single_module \
663
670
-install_name $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK) \
664
671
-compatibility_version $(VERSION) \
@@ -709,15 +716,15 @@ Modules/Setup: $(srcdir)/Modules/Setup.dist
709
716
fi
710
717
711
718
Programs/_testembed: Programs/_testembed.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY)
712
- $(LINKCC) $(PY_LDFLAGS ) $(LINKFORSHARED) -o $@ Programs/_testembed.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
719
+ $(LINKCC) $(PY_CORE_LDFLAGS ) $(LINKFORSHARED) -o $@ Programs/_testembed.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
713
720
714
721
############################################################################
715
722
# Importlib
716
723
717
724
Programs/_freeze_importlib.o: Programs/_freeze_importlib.c Makefile
718
725
719
726
Programs/_freeze_importlib: Programs/_freeze_importlib.o $(LIBRARY_OBJS_OMIT_FROZEN)
720
- $(LINKCC) $(PY_LDFLAGS ) -o $@ Programs/_freeze_importlib.o $(LIBRARY_OBJS_OMIT_FROZEN) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
727
+ $(LINKCC) $(PY_CORE_LDFLAGS ) -o $@ Programs/_freeze_importlib.o $(LIBRARY_OBJS_OMIT_FROZEN) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
721
728
722
729
.PHONY: regen-importlib
723
730
regen-importlib: Programs/_freeze_importlib
@@ -799,7 +806,7 @@ Python/sysmodule.o: $(srcdir)/Python/sysmodule.c Makefile
799
806
$(IO_OBJS): $(IO_H)
800
807
801
808
$(PGEN): $(PGENOBJS)
802
- $(CC) $(OPT) $(PY_LDFLAGS ) $(PGENOBJS) $(LIBS) -o $(PGEN)
809
+ $(CC) $(OPT) $(PY_CORE_LDFLAGS ) $(PGENOBJS) $(LIBS) -o $(PGEN)
803
810
804
811
.PHONY: regen-grammar
805
812
regen-grammar: $(PGEN)
0 commit comments