@@ -84,6 +84,10 @@ CONFIGURE_CFLAGS= @CFLAGS@
84
84
# Use it when a compiler flag should _not_ be part of the distutils CFLAGS
85
85
# once Python is installed (Issue #21121).
86
86
CONFIGURE_CFLAGS_NODIST=@CFLAGS_NODIST@
87
+ # LDFLAGS_NODIST is used in the same manner as CFLAGS_NODIST.
88
+ # Use it when a linker flag should _not_ be part of the distutils LDFLAGS
89
+ # once Python is installed (bpo-35257)
90
+ CONFIGURE_LDFLAGS_NODIST=@LDFLAGS_NODIST@
87
91
CONFIGURE_CPPFLAGS= @CPPFLAGS@
88
92
CONFIGURE_LDFLAGS= @LDFLAGS@
89
93
# Avoid assigning CFLAGS, LDFLAGS, etc. so users can use them on the
@@ -96,6 +100,7 @@ PY_CFLAGS_NODIST=$(CONFIGURE_CFLAGS_NODIST) $(CFLAGS_NODIST)
96
100
# environment variables
97
101
PY_CPPFLAGS= $(BASECPPFLAGS) -I. -I$(srcdir)/Include $(CONFIGURE_CPPFLAGS) $(CPPFLAGS)
98
102
PY_LDFLAGS= $(CONFIGURE_LDFLAGS) $(LDFLAGS)
103
+ PY_LDFLAGS_NODIST=$(CONFIGURE_LDFLAGS_NODIST) $(LDFLAGS_NODIST)
99
104
NO_AS_NEEDED= @NO_AS_NEEDED@
100
105
LDLAST= @LDLAST@
101
106
SGI_ABI= @SGI_ABI@
@@ -106,6 +111,8 @@ ARFLAGS= @ARFLAGS@
106
111
CFLAGSFORSHARED=@CFLAGSFORSHARED@
107
112
# C flags used for building the interpreter object files
108
113
PY_CORE_CFLAGS= $(PY_CFLAGS) $(PY_CFLAGS_NODIST) $(PY_CPPFLAGS) $(CFLAGSFORSHARED) -DPy_BUILD_CORE
114
+ # Linker flags used for building the interpreter object files
115
+ PY_CORE_LDFLAGS=$(PY_LDFLAGS) $(PY_LDFLAGS_NODIST)
109
116
# Strict or non-strict aliasing flags used to compile dtoa.c, see above
110
117
CFLAGS_ALIASING=@CFLAGS_ALIASING@
111
118
@@ -145,7 +152,7 @@ CONFINCLUDEPY= $(CONFINCLUDEDIR)/python$(LDVERSION)
145
152
SHLIB_SUFFIX= @SHLIB_SUFFIX@
146
153
EXT_SUFFIX= @EXT_SUFFIX@
147
154
LDSHARED= @LDSHARED@ $(PY_LDFLAGS)
148
- BLDSHARED= @BLDSHARED@ $(PY_LDFLAGS )
155
+ BLDSHARED= @BLDSHARED@ $(PY_LDFLAGS_NODIST )
149
156
LDCXXSHARED= @LDCXXSHARED@
150
157
DESTSHARED= $(BINLIBDEST)/lib-dynload
151
158
@@ -472,7 +479,7 @@ profile-opt:
472
479
$(MAKE) profile-removal
473
480
474
481
build_all_generate_profile:
475
- $(MAKE) @DEF_MAKE_RULE@ CFLAGS_NODIST="$(CFLAGS_NODIST) $(PGO_PROF_GEN_FLAG)" LDFLAGS ="$(LDFLAGS ) $(PGO_PROF_GEN_FLAG)" LIBS="$(LIBS)"
482
+ $(MAKE) @DEF_MAKE_RULE@ CFLAGS_NODIST="$(CFLAGS_NODIST) $(PGO_PROF_GEN_FLAG)" LDFLAGS_NODIST ="$(LDFLAGS_NODIST ) $(PGO_PROF_GEN_FLAG)" LIBS="$(LIBS)"
476
483
477
484
run_profile_task:
478
485
: # FIXME: can't run for a cross build
@@ -482,7 +489,7 @@ build_all_merge_profile:
482
489
$(LLVM_PROF_MERGER)
483
490
484
491
build_all_use_profile:
485
- $(MAKE) @DEF_MAKE_RULE@ CFLAGS_NODIST="$(CFLAGS_NODIST) $(PGO_PROF_USE_FLAG)" LDFLAGS ="$(LDFLAGS )"
492
+ $(MAKE) @DEF_MAKE_RULE@ CFLAGS_NODIST="$(CFLAGS_NODIST) $(PGO_PROF_USE_FLAG)" LDFLAGS_NODIST ="$(LDFLAGS_NODIST )"
486
493
487
494
# Compile and run with gcov
488
495
.PHONY=coverage coverage-lcov coverage-report
@@ -543,7 +550,7 @@ clinic: check-clean-src $(srcdir)/Modules/_blake2/blake2s_impl.c
543
550
544
551
# Build the interpreter
545
552
$(BUILDPYTHON): Programs/python.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY)
546
- $(LINKCC) $(PY_LDFLAGS ) $(LINKFORSHARED) -o $@ Programs/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
553
+ $(LINKCC) $(PY_CORE_LDFLAGS ) $(LINKFORSHARED) -o $@ Programs/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
547
554
548
555
platform: $(BUILDPYTHON) pybuilddir.txt
549
556
$(RUNSHARED) $(PYTHON_FOR_BUILD) -c 'import sys ; from sysconfig import get_platform ; print("%s-%d.%d" % (get_platform(), *sys.version_info[:2]))' >platform
@@ -608,7 +615,7 @@ libpython3.so: libpython$(LDVERSION).so
608
615
$(BLDSHARED) $(NO_AS_NEEDED) -o $@ -Wl,-h$@ $^
609
616
610
617
libpython$(LDVERSION).dylib: $(LIBRARY_OBJS)
611
- $(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); \
618
+ $(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); \
612
619
613
620
614
621
libpython$(VERSION).sl: $(LIBRARY_OBJS)
@@ -633,7 +640,7 @@ $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK): \
633
640
$(LIBRARY) \
634
641
$(RESSRCDIR)/Info.plist
635
642
$(INSTALL) -d -m $(DIRMODE) $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)
636
- $(CC) -o $(LDLIBRARY) $(PY_LDFLAGS ) -dynamiclib \
643
+ $(CC) -o $(LDLIBRARY) $(PY_CORE_LDFLAGS ) -dynamiclib \
637
644
-all_load $(LIBRARY) -Wl,-single_module \
638
645
-install_name $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK) \
639
646
-compatibility_version $(VERSION) \
@@ -686,15 +693,15 @@ Modules/Setup: $(srcdir)/Modules/Setup.dist
686
693
fi
687
694
688
695
Programs/_testembed: Programs/_testembed.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY)
689
- $(LINKCC) $(PY_LDFLAGS ) $(LINKFORSHARED) -o $@ Programs/_testembed.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
696
+ $(LINKCC) $(PY_CORE_LDFLAGS ) $(LINKFORSHARED) -o $@ Programs/_testembed.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
690
697
691
698
############################################################################
692
699
# Importlib
693
700
694
701
Programs/_freeze_importlib.o: Programs/_freeze_importlib.c Makefile
695
702
696
703
Programs/_freeze_importlib: Programs/_freeze_importlib.o $(LIBRARY_OBJS_OMIT_FROZEN)
697
- $(LINKCC) $(PY_LDFLAGS ) -o $@ Programs/_freeze_importlib.o $(LIBRARY_OBJS_OMIT_FROZEN) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
704
+ $(LINKCC) $(PY_CORE_LDFLAGS ) -o $@ Programs/_freeze_importlib.o $(LIBRARY_OBJS_OMIT_FROZEN) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
698
705
699
706
.PHONY: regen-importlib
700
707
regen-importlib: Programs/_freeze_importlib
@@ -776,7 +783,7 @@ Python/sysmodule.o: $(srcdir)/Python/sysmodule.c Makefile
776
783
$(IO_OBJS): $(IO_H)
777
784
778
785
$(PGEN): $(PGENOBJS)
779
- $(CC) $(OPT) $(PY_LDFLAGS ) $(PGENOBJS) $(LIBS) -o $(PGEN)
786
+ $(CC) $(OPT) $(PY_CORE_LDFLAGS ) $(PGENOBJS) $(LIBS) -o $(PGEN)
780
787
781
788
.PHONY: regen-grammar
782
789
regen-grammar: $(PGEN)
0 commit comments