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 a15e1f6..ab1e817 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']