summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/python/python-native
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2011-11-27 17:22:37 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-11-29 11:22:05 +0000
commit31e998266f8671b330745f29cf1be9931685abb0 (patch)
tree43a9490555f4fce811b7dbe7529c24d476c033dc /meta/recipes-devtools/python/python-native
parentfbdbe8d1ec6ca269c5121a45d4684449664b6d5d (diff)
downloadpoky-31e998266f8671b330745f29cf1be9931685abb0.tar.gz
python-native: Fix gcc compiler detecting logic
We have a patch unixccompiler.patch where we try to throw away everything except first element of CC string but this does not work if gcc is prepended with something e.g. CC="ccache gcc" then the logic fails and it ends up in some modules failing on you silently (_sqlite3) in my case. The fix here is to drop basename so we keep the whole string as it is and then the detection function searches for gcc string in the whole CC. This works in both cases one the original intent of the patch and the second described above. One place where it will fail is if someone has non-gcc compiler installed in some subdir which has gcc in it e.g. /usr/gcc/fakecc but for OE this should never happen. Ideally the the detection logic should have tried to execute gcc and then parsed --version output or something. (From OE-Core rev: 9b13b9024d24953dedb35f62d3d8b06a29036992) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/python/python-native')
-rw-r--r--meta/recipes-devtools/python/python-native/unixccompiler.patch22
1 files changed, 11 insertions, 11 deletions
diff --git a/meta/recipes-devtools/python/python-native/unixccompiler.patch b/meta/recipes-devtools/python/python-native/unixccompiler.patch
index 10a9baf46b..4502829129 100644
--- a/meta/recipes-devtools/python/python-native/unixccompiler.patch
+++ b/meta/recipes-devtools/python/python-native/unixccompiler.patch
@@ -1,20 +1,20 @@
1Upstream-Status: Inappropriate [embedded specific] 1Upstream-Status: Pending
2 2
3# The CC variable,sometimes like:"x86_64-poky-linux-gcc -m64 --sysroot=/${TMPDIR}/sysroots/qemux86-64", contains option information. 3The CC variable,sometimes like:"x86_64-poky-linux-gcc -m64 --sysroot=/${TMPDIR}/sysroots/qemux86-64", contains option information.
4# This will lead to wrong compiler name "qemux86-64" rather than "x86_64-poky-linux-gcc" when python finding the compiler name. 4This will lead to wrong compiler name "qemux86-64" rather than "x86_64-poky-linux-gcc" when python finding the compiler name.
5 5
6#Signed-off-by: Mei Lei <lei.mei@intel.com> 6Signed-off-by: Mei Lei <lei.mei@intel.com>
7 7Signed-off-by: Khem Raj <raj.khem@gmail.com>
8diff --git Python-2.6.6/Lib/distutils/unixccompiler.py Python-2.6.6/Lib/distutils/unixccompiler.py 8Index: Python-2.7.2/Lib/distutils/unixccompiler.py
9index 6d0b84d..aaf49cb 100644 9===================================================================
10--- Python-2.6.6/Lib/distutils/unixccompiler.py 10--- Python-2.7.2.orig/Lib/distutils/unixccompiler.py 2011-11-24 13:51:10.539998722 -0800
11+++ Python-2.6.6/Lib/distutils/unixccompiler.py 11+++ Python-2.7.2/Lib/distutils/unixccompiler.py 2011-11-24 15:54:36.872137766 -0800
12@@ -282,7 +282,7 @@ class UnixCCompiler(CCompiler): 12@@ -282,7 +282,7 @@
13 # this time, there's no way to determine this information from 13 # this time, there's no way to determine this information from
14 # the configuration data stored in the Python installation, so 14 # the configuration data stored in the Python installation, so
15 # we use this hack. 15 # we use this hack.
16- compiler = os.path.basename(sysconfig.get_config_var("CC")) 16- compiler = os.path.basename(sysconfig.get_config_var("CC"))
17+ compiler = os.path.basename(sysconfig.get_config_var("CC").split()[0]) 17+ compiler = sysconfig.get_config_var("CC")
18 if sys.platform[:6] == "darwin": 18 if sys.platform[:6] == "darwin":
19 # MacOSX's linker doesn't understand the -R flag at all 19 # MacOSX's linker doesn't understand the -R flag at all
20 return "-L" + dir 20 return "-L" + dir