diff --git a/Misc/NEWS b/Misc/NEWS index 182032afa9a..ffb852f2747 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -38,6 +38,8 @@ Build - Issue #16537: Check whether self.extensions is empty in setup.py. Patch by Jonathan Hosmer. +- Issue #18096: Fix library order returned by python-config. + What's New in Python 3.4.2? =========================== diff --git a/Misc/python-config.in b/Misc/python-config.in index 0b9b5dc4413..e13da7543c9 100644 --- a/Misc/python-config.in +++ b/Misc/python-config.in @@ -47,8 +47,9 @@ for opt in opt_flags: print(' '.join(flags)) elif opt in ('--libs', '--ldflags'): - libs = getvar('LIBS').split() + getvar('SYSLIBS').split() - libs.append('-lpython' + pyver + sys.abiflags) + libs = ['-lpython' + pyver + sys.abiflags] + libs += getvar('LIBS').split() + libs += getvar('SYSLIBS').split() # add the prefix/lib/pythonX.Y/config dir, but only if there is no # shared library in prefix/lib/. if opt == '--ldflags': diff --git a/Misc/python-config.sh.in b/Misc/python-config.sh.in index f5a3dbebeaa..64c81e5f74b 100644 --- a/Misc/python-config.sh.in +++ b/Misc/python-config.sh.in @@ -40,7 +40,7 @@ LIBM="@LIBM@" LIBC="@LIBC@" SYSLIBS="$LIBM $LIBC" ABIFLAGS="@ABIFLAGS@" -LIBS="@LIBS@ $SYSLIBS -lpython${VERSION}${ABIFLAGS}" +LIBS="-lpython${VERSION}${ABIFLAGS} @LIBS@ $SYSLIBS" BASECFLAGS="@BASECFLAGS@" LDLIBRARY="@LDLIBRARY@" LINKFORSHARED="@LINKFORSHARED@"