]> code.ossystems Code Review - openembedded-core.git/commitdiff
python-native: Fix gcc compiler detecting logic
authorKhem Raj <raj.khem@gmail.com>
Mon, 28 Nov 2011 01:22:37 +0000 (17:22 -0800)
committerSaul Wold <sgw@linux.intel.com>
Tue, 29 Nov 2011 08:20:06 +0000 (00:20 -0800)
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.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
meta/recipes-devtools/python/python-native/unixccompiler.patch
meta/recipes-devtools/python/python-native_2.7.2.bb

index 10a9baf46b5d6012272b2ad4ceb027483eee1bca..45028291298241bb9f0e44047851ab689ed11f92 100644 (file)
@@ -1,20 +1,20 @@
-Upstream-Status: Inappropriate [embedded specific]
+Upstream-Status: Pending
 
-The CC variable,sometimes like:"x86_64-poky-linux-gcc   -m64 --sysroot=/${TMPDIR}/sysroots/qemux86-64", contains option information. 
-This will lead to wrong compiler name "qemux86-64" rather than "x86_64-poky-linux-gcc" when python finding the compiler name.
+The CC variable,sometimes like:"x86_64-poky-linux-gcc   -m64 --sysroot=/${TMPDIR}/sysroots/qemux86-64", contains option information. 
+This will lead to wrong compiler name "qemux86-64" rather than "x86_64-poky-linux-gcc" when python finding the compiler name.
 
-#Signed-off-by: Mei Lei <lei.mei@intel.com>
-
-diff --git Python-2.6.6/Lib/distutils/unixccompiler.py Python-2.6.6/Lib/distutils/unixccompiler.py
-index 6d0b84d..aaf49cb 100644
---- Python-2.6.6/Lib/distutils/unixccompiler.py
-+++ Python-2.6.6/Lib/distutils/unixccompiler.py
-@@ -282,7 +282,7 @@ class UnixCCompiler(CCompiler):
+Signed-off-by: Mei Lei <lei.mei@intel.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Index: Python-2.7.2/Lib/distutils/unixccompiler.py
+===================================================================
+--- Python-2.7.2.orig/Lib/distutils/unixccompiler.py   2011-11-24 13:51:10.539998722 -0800
++++ Python-2.7.2/Lib/distutils/unixccompiler.py        2011-11-24 15:54:36.872137766 -0800
+@@ -282,7 +282,7 @@
          # this time, there's no way to determine this information from
          # the configuration data stored in the Python installation, so
          # we use this hack.
 -        compiler = os.path.basename(sysconfig.get_config_var("CC"))
-+        compiler = os.path.basename(sysconfig.get_config_var("CC").split()[0])
++        compiler = sysconfig.get_config_var("CC")
          if sys.platform[:6] == "darwin":
              # MacOSX's linker doesn't understand the -R flag at all
              return "-L" + dir
index 6b90d5b8910bc28d99ab0fb03f87b1038cbe929b..d036eca976eaf7cfb7dff313e33409b06be4dc6a 100644 (file)
@@ -1,6 +1,6 @@
 require python.inc
 DEPENDS = "openssl-native bzip2-full-native zlib-native readline-native sqlite3-native"
-PR = "${INC_PR}.0"
+PR = "${INC_PR}.1"
 
 SRC_URI += "file://04-default-is-optimized.patch \
            file://05-enable-ctypes-cross-build.patch \