build: allow some python variable overrides
authorGustavo Zacarias <gustavo@zacarias.com.ar>
Wed, 12 Feb 2014 22:59:19 +0000 (14:59 -0800)
committerJeremy Allison <jra@samba.org>
Thu, 13 Feb 2014 05:03:26 +0000 (06:03 +0100)
The python variables (settings) are fetched from a running python
interpreter which usually isn't the target one when cross compiling,
hence libraries and flags aren't the same and can pollute the target build.
Allow some of these variables to be redefined via environment variables
in order to aid cross-compiling.
According to testing python_LDFLAGS and python_LIBDIR should be enough.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Reviewed-by: Jeremy Allison <jra@samba.org>
Reviewed-by: David Disseldorp <ddiss@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Thu Feb 13 06:03:26 CET 2014 on sn-devel-104

buildtools/wafadmin/Tools/python.py

index ab1e817fc47dead3c1e4918b83be0543745bb222..35c61c24664ecac5522b937c33c75e3d14038660 100644 (file)
@@ -193,6 +193,19 @@ MACOSX_DEPLOYMENT_TARGET = %r
 """ % (python, python_prefix, python_SO, python_SYSLIBS, python_LDFLAGS, python_SHLIBS,
        python_LIBDIR, python_LIBPL, INCLUDEPY, Py_ENABLE_SHARED, python_MACOSX_DEPLOYMENT_TARGET))
 
+       # Allow some python overrides from env vars for cross-compiling
+       os_env = dict(os.environ)
+
+       override_python_LDFLAGS = os_env.get('python_LDFLAGS', None)
+       if override_python_LDFLAGS is not None:
+               conf.log.write("python_LDFLAGS override from environment = %r\n" % (override_python_LDFLAGS))
+               python_LDFLAGS = override_python_LDFLAGS
+
+       override_python_LIBDIR = os_env.get('python_LIBDIR', None)
+       if override_python_LIBDIR is not None:
+               conf.log.write("python_LIBDIR override from environment = %r\n" % (override_python_LIBDIR))
+               python_LIBDIR = override_python_LIBDIR
+
        if python_MACOSX_DEPLOYMENT_TARGET:
                conf.env['MACOSX_DEPLOYMENT_TARGET'] = python_MACOSX_DEPLOYMENT_TARGET
                conf.environ['MACOSX_DEPLOYMENT_TARGET'] = python_MACOSX_DEPLOYMENT_TARGET