From fdbdf04a9ab3f3a204e95106c4f8f6729d0bab1a Mon Sep 17 00:00:00 2001 From: Gustavo Zacarias Date: Tue, 4 Feb 2014 14:11:52 -0300 Subject: [PATCH] build: allow some python variable overrides 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. Status: Upstream. Signed-off-by: Gustavo Zacarias --- buildtools/wafadmin/Tools/python.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/buildtools/wafadmin/Tools/python.py b/buildtools/wafadmin/Tools/python.py index ab1e817..35c61c2 100644 --- a/buildtools/wafadmin/Tools/python.py +++ b/buildtools/wafadmin/Tools/python.py @@ -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 -- 1.8.3.2