]> granicus.if.org Git - python/commitdiff
Issue #9437: Fix building C extensions with non-default LDFLAGS.
authorAntoine Pitrou <solipsis@pitrou.net>
Sun, 10 Oct 2010 09:37:12 +0000 (09:37 +0000)
committerAntoine Pitrou <solipsis@pitrou.net>
Sun, 10 Oct 2010 09:37:12 +0000 (09:37 +0000)
Lib/distutils/sysconfig.py
Lib/sysconfig.py
Makefile.pre.in
Misc/NEWS

index 48f3fe4d599a806f253cadcd44c4f6092c868e93..8847e317436c901ddf3804a84bd061554d1d3628 100644 (file)
@@ -359,6 +359,11 @@ def parse_makefile(fn, g=None):
 
     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
     g.update(done)
     return g
index 730718a743b8590773dc96873fd4204192573a9a..19847c9dfc1bb26328c1a92b97d3e538cce1673a 100644 (file)
@@ -296,6 +296,11 @@ def _parse_makefile(filename, vars=None):
                 # bogus variable reference; just drop it since we can't deal
                 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
     vars.update(done)
     return vars
index 8e8727daa638815895183ee6c71c48b2f6269911..ba66c1a5cc08a89d0170c0ea482bc8383bbfbd57 100644 (file)
@@ -112,8 +112,8 @@ LIBP=               $(LIBDIR)/python$(VERSION)
 
 # Symbols used for using shared libraries
 SO=            @SO@
-LDSHARED=      @LDSHARED@
-BLDSHARED=     @BLDSHARED@
+LDSHARED=      @LDSHARED@ $(PY_LDFLAGS)
+BLDSHARED=     @BLDSHARED@ $(PY_LDFLAGS)
 LDCXXSHARED=   @LDCXXSHARED@
 DESTSHARED=    $(BINLIBDEST)/lib-dynload
 
@@ -429,8 +429,8 @@ platform: $(BUILDPYTHON)
 # Build the shared modules
 sharedmods: $(BUILDPYTHON)
        @case $$MAKEFLAGS in \
-       *s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' LDFLAGS='$(PY_LDFLAGS)' 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;; \
+       *s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py -q build;; \
+       *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \
        esac
 
 # Build static library
@@ -447,10 +447,10 @@ $(LIBRARY): $(LIBRARY_OBJS)
 
 libpython$(VERSION).so: $(LIBRARY_OBJS)
        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) $@; \
        else \
-               $(BLDSHARED) $(PY_LDFLAGS) -o $@ $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
+               $(BLDSHARED) -o $@ $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
        fi
 
 libpython$(VERSION).dylib: $(LIBRARY_OBJS)
@@ -458,7 +458,7 @@ libpython$(VERSION).dylib: $(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
 # loaded by gdb during Lib/test/test_gdb.py
@@ -504,7 +504,7 @@ $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK): \
 # for a shared core library; otherwise, this rule is a noop.
 $(DLLLIBRARY) libpython$(VERSION).dll.a: $(LIBRARY_OBJS)
        if test -n "$(DLLLIBRARY)"; then \
-               $(LDSHARED) $(PY_LDFLAGS) -Wl,--out-implib=$@ -o $(DLLLIBRARY) $^ \
+               $(LDSHARED) -Wl,--out-implib=$@ -o $(DLLLIBRARY) $^ \
                        $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST); \
        else true; \
        fi
index e90cb370d97e0e3476f5b5a03ca96ce96a27f012..070710cbd52fd41d2bbc808a3b9e16562c61342f 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -95,6 +95,8 @@ Core and Builtins
 Library
 -------
 
+- Issue #9437: Fix building C extensions with non-default LDFLAGS.
+
 - Issue #4661: email can now parse bytes input and generate either converted
   7bit output or bytes output.  Email version bumped to 5.1.0.