M7350/oe-core/meta/recipes-devtools/python/python3/unixccompiler.patch

36 lines
1.7 KiB
Diff
Raw Normal View History

2024-09-09 08:57:42 +00:00
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.
Secondly add -L=<path> this way linker will be able to resolve /usr/lib w.r.t sysroot and not
use hardcoded /usr/lib to look for libs which is wrong in cross compile environment and this will work
ok on native systems too since sysroot for native compilers is /
Signed-off-by: Mei Lei <lei.mei@intel.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Index: Python-3.3.2/Lib/distutils/unixccompiler.py
===================================================================
--- Python-3.3.2.orig/Lib/distutils/unixccompiler.py 2013-05-15 09:32:54.000000000 -0700
+++ Python-3.3.2/Lib/distutils/unixccompiler.py 2013-08-01 00:58:18.629056286 -0700
@@ -202,7 +202,9 @@
# ccompiler.py.
def library_dir_option(self, dir):
- return "-L" + dir
+ if dir.startswith("."):
+ return "-L" + dir
+ return "-L=" + dir
def _is_gcc(self, compiler_name):
return "gcc" in compiler_name or "g++" in compiler_name
@@ -221,7 +221,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 = sysconfig.get_config_var("CC")
if sys.platform[:6] == "darwin":
# MacOSX's linker doesn't understand the -R flag at all
return "-L" + dir