Commit dbec780a authored by Antoine Pitrou's avatar Antoine Pitrou

Issue #9437: Fix building C extensions with non-default LDFLAGS.

parent 19f8edc3
...@@ -359,6 +359,11 @@ def parse_makefile(fn, g=None): ...@@ -359,6 +359,11 @@ def parse_makefile(fn, g=None):
fp.close() fp.close()
# strip spurious spaces
for k, v in done.items():
if isinstance(v, str):
done[k] = v.strip()
# save the results in the global dictionary # save the results in the global dictionary
g.update(done) g.update(done)
return g return g
......
...@@ -296,6 +296,11 @@ def _parse_makefile(filename, vars=None): ...@@ -296,6 +296,11 @@ def _parse_makefile(filename, vars=None):
# bogus variable reference; just drop it since we can't deal # bogus variable reference; just drop it since we can't deal
variables.remove(name) variables.remove(name)
# strip spurious spaces
for k, v in done.items():
if isinstance(v, str):
done[k] = v.strip()
# save the results in the global dictionary # save the results in the global dictionary
vars.update(done) vars.update(done)
return vars return vars
......
...@@ -112,8 +112,8 @@ LIBP= $(LIBDIR)/python$(VERSION) ...@@ -112,8 +112,8 @@ LIBP= $(LIBDIR)/python$(VERSION)
# Symbols used for using shared libraries # Symbols used for using shared libraries
SO= @SO@ SO= @SO@
LDSHARED= @LDSHARED@ LDSHARED= @LDSHARED@ $(PY_LDFLAGS)
BLDSHARED= @BLDSHARED@ BLDSHARED= @BLDSHARED@ $(PY_LDFLAGS)
LDCXXSHARED= @LDCXXSHARED@ LDCXXSHARED= @LDCXXSHARED@
DESTSHARED= $(BINLIBDEST)/lib-dynload DESTSHARED= $(BINLIBDEST)/lib-dynload
...@@ -429,8 +429,8 @@ platform: $(BUILDPYTHON) ...@@ -429,8 +429,8 @@ platform: $(BUILDPYTHON)
# Build the shared modules # Build the shared modules
sharedmods: $(BUILDPYTHON) sharedmods: $(BUILDPYTHON)
@case $$MAKEFLAGS in \ @case $$MAKEFLAGS in \
*s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' LDFLAGS='$(PY_LDFLAGS)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py -q build;; \ *s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py -q build;; \
*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' LDFLAGS='$(PY_LDFLAGS)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \ *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \
esac esac
# Build static library # Build static library
...@@ -447,10 +447,10 @@ $(LIBRARY): $(LIBRARY_OBJS) ...@@ -447,10 +447,10 @@ $(LIBRARY): $(LIBRARY_OBJS)
libpython$(VERSION).so: $(LIBRARY_OBJS) libpython$(VERSION).so: $(LIBRARY_OBJS)
if test $(INSTSONAME) != $(LDLIBRARY); then \ if test $(INSTSONAME) != $(LDLIBRARY); then \
$(BLDSHARED) $(PY_LDFLAGS) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \ $(BLDSHARED) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
$(LN) -f $(INSTSONAME) $@; \ $(LN) -f $(INSTSONAME) $@; \
else \ else \
$(BLDSHARED) $(PY_LDFLAGS) -o $@ $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \ $(BLDSHARED) -o $@ $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
fi fi
libpython$(VERSION).dylib: $(LIBRARY_OBJS) libpython$(VERSION).dylib: $(LIBRARY_OBJS)
...@@ -458,7 +458,7 @@ libpython$(VERSION).dylib: $(LIBRARY_OBJS) ...@@ -458,7 +458,7 @@ libpython$(VERSION).dylib: $(LIBRARY_OBJS)
libpython$(VERSION).sl: $(LIBRARY_OBJS) libpython$(VERSION).sl: $(LIBRARY_OBJS)
$(LDSHARED) $(PY_LDFLAGS) -o $@ $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST) $(LDSHARED) -o $@ $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST)
# Copy up the gdb python hooks into a position where they can be automatically # Copy up the gdb python hooks into a position where they can be automatically
# loaded by gdb during Lib/test/test_gdb.py # loaded by gdb during Lib/test/test_gdb.py
...@@ -504,7 +504,7 @@ $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK): \ ...@@ -504,7 +504,7 @@ $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK): \
# for a shared core library; otherwise, this rule is a noop. # for a shared core library; otherwise, this rule is a noop.
$(DLLLIBRARY) libpython$(VERSION).dll.a: $(LIBRARY_OBJS) $(DLLLIBRARY) libpython$(VERSION).dll.a: $(LIBRARY_OBJS)
if test -n "$(DLLLIBRARY)"; then \ if test -n "$(DLLLIBRARY)"; then \
$(LDSHARED) $(PY_LDFLAGS) -Wl,--out-implib=$@ -o $(DLLLIBRARY) $^ \ $(LDSHARED) -Wl,--out-implib=$@ -o $(DLLLIBRARY) $^ \
$(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST); \ $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST); \
else true; \ else true; \
fi fi
......
...@@ -95,6 +95,8 @@ Core and Builtins ...@@ -95,6 +95,8 @@ Core and Builtins
Library Library
------- -------
- Issue #9437: Fix building C extensions with non-default LDFLAGS.
- Issue #4661: email can now parse bytes input and generate either converted - Issue #4661: email can now parse bytes input and generate either converted
7bit output or bytes output. Email version bumped to 5.1.0. 7bit output or bytes output. Email version bumped to 5.1.0.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment