waf: parse LDFLAGS from python
authorSteven Siloti <ssiloti@gmail.com>
Thu, 24 Oct 2013 03:46:05 +0000 (20:46 -0700)
committerAndrew Bartlett <abartlet@samba.org>
Fri, 25 Oct 2013 00:48:35 +0000 (02:48 +0200)
The LDFLAGS returned by get_python_variables may contain additional library
search paths. These need to be parsed out and placed in LIBPATH to maintain
correct ordering of search paths in the final link flags.

Specifically, appending LDFLAGS directly to LINKFLAGS on my system was causing
/usr/lib to be the first search path specified. This lead to linking against
installed libraries rather than the versions from the current build.

Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Fri Oct 25 02:48:35 CEST 2013 on sn-devel-104

buildtools/wafadmin/Tools/python.py

index a15e1f620f1de952ff3eb0486129ad9cf7666df8..ab1e817fc47dead3c1e4918b83be0543745bb222 100644 (file)
@@ -10,6 +10,7 @@ import TaskGen, Utils, Options
 from Logs import debug, warn, info
 from TaskGen import extension, before, after, feature
 from Configure import conf
+from config_c import parse_flags
 
 EXT_PY = ['.py']
 FRAG_2 = '''
@@ -213,7 +214,7 @@ MACOSX_DEPLOYMENT_TARGET = %r
                                env.append_value('LINKFLAGS_PYEMBED', lib)
 
        if Options.platform != 'darwin' and python_LDFLAGS:
-               env.append_value('LINKFLAGS_PYEMBED', python_LDFLAGS.split())
+               parse_flags(python_LDFLAGS, 'PYEMBED', env)
 
        result = False
        name = 'python' + env['PYTHON_VERSION']