blob: fc2e12dfe5c80be46684926a286053065e0b9940 [file] [log] [blame]
Patrick Williamsc124f4f2015-09-15 14:41:29 -05001From 8dad810f3a3d073f09ad72e1a3ee0a895eab2ca1 Mon Sep 17 00:00:00 2001
2From: Robert Yang <liezhi.yang@windriver.com>
3Date: Sun, 18 Jan 2015 19:05:36 -0800
4Subject: [PATCH] setup.py:check cross_compiling when get FLAGS
5
6Fixed when compile target pythnon3:
7gcc -isystem/path/to/sysroots/x86_64-linux/usr/include \
8 -L=/path/to/sysroots/x86_64-linux/usr/lib
9
10This is incorrect, the native sysroot should not be used by target
11python3.
12
13Upstream-Status: Pending
14
15Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
16---
17 setup.py | 10 ++++++++--
18 1 file changed, 8 insertions(+), 2 deletions(-)
19
20diff --git a/setup.py b/setup.py
21index e8339cd..83fd31f 100644
22--- a/setup.py
23+++ b/setup.py
24@@ -238,7 +238,10 @@ class PyBuildExt(build_ext):
25 # unfortunately, distutils doesn't let us provide separate C and C++
26 # compilers
27 if compiler is not None:
28- (ccshared,cflags) = sysconfig.get_config_vars('CCSHARED','CFLAGS')
29+ if cross_compiling:
30+ (ccshared,cflags) = (os.environ.get('CCSHARED') or '', os.environ.get('CFLAGS') or '')
31+ else:
32+ (ccshared,cflags) = sysconfig.get_config_vars('CCSHARED','CFLAGS')
33 args['compiler_so'] = compiler + ' ' + ccshared + ' ' + cflags
34 self.compiler.set_executables(**args)
35
36@@ -457,7 +460,10 @@ class PyBuildExt(build_ext):
37 ('LDFLAGS', '-R', self.compiler.runtime_library_dirs),
38 ('LDFLAGS', '-L', self.compiler.library_dirs),
39 ('CPPFLAGS', '-I', self.compiler.include_dirs)):
40- env_val = sysconfig.get_config_var(env_var)
41+ if cross_compiling:
42+ env_val = os.environ.get(env_var)
43+ else:
44+ env_val = sysconfig.get_config_var(env_var)
45 if env_val:
46 # To prevent optparse from raising an exception about any
47 # options in env_val that it doesn't know about we strip out
48--
491.7.9.5
50