mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 21:09:03 +02:00

When working path contains "clang"/"gcc"/"icc", it might be part of $CC because of the "--sysroot" parameter. That could cause judgement error about clang/gcc/icc compilers. eg: if build under /yocto/builds/xicc/, bitbake python, $CC will contains xicc, will make $CC match *icc, but actuall xicc just folder name. When "*icc" is matched, below errors are reported when compiling python/python3: x86_64-wrs-linux-gcc: error: strict: No such file or directory x86_64-wrs-linux-gcc: error: unrecognized command line option '-fp-model' Here use cc_basename to replace CC for checking compiler to avoid such kind of issue. (From OE-Core rev: 96383efa2726ed1bf7893332d726112a8552fc24) Signed-off-by: Li Zhou <li.zhou@windriver.com> Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
141 lines
3.9 KiB
Diff
141 lines
3.9 KiB
Diff
From 564a5cc634028970dc2f9d8ecc0e464a4fb1dcb6 Mon Sep 17 00:00:00 2001
|
|
From: Changqing Li <changqing.li@windriver.com>
|
|
Date: Mon, 22 Oct 2018 15:19:51 +0800
|
|
Subject: [PATCH] python3: use cc_basename to replace CC for checking compiler
|
|
|
|
When working path contains "clang"/"gcc"/"icc", it might be part of $CC
|
|
because of the "--sysroot" parameter. That could cause judgement error
|
|
about clang/gcc/icc compilers. e.g.
|
|
When "icc" is containded in working path, below errors are reported when
|
|
compiling python3:
|
|
x86_64-wrs-linux-gcc: error: strict: No such file or directory
|
|
x86_64-wrs-linux-gcc: error: unrecognized command line option '-fp-model'
|
|
|
|
Here use cc_basename to replace CC for checking compiler to avoid such
|
|
kind of issue.
|
|
|
|
Upstream-Status: Pending
|
|
|
|
Signed-off-by: Li Zhou <li.zhou@windriver.com>
|
|
|
|
patch originally from Li Zhou, I just rework it to new version
|
|
|
|
Signed-off-by: Changqing Li <changqing.li@windriver.com>
|
|
---
|
|
configure.ac | 23 ++++++++++++-----------
|
|
1 file changed, 12 insertions(+), 11 deletions(-)
|
|
|
|
diff --git a/configure.ac b/configure.ac
|
|
index 95c98d1..1b9589e 100644
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -54,6 +54,7 @@ AC_CONFIG_HEADER(pyconfig.h)
|
|
AC_CANONICAL_HOST
|
|
AC_SUBST(build)
|
|
AC_SUBST(host)
|
|
+LT_INIT
|
|
|
|
# pybuilddir.txt will be created by --generate-posix-vars in the Makefile
|
|
rm -f pybuilddir.txt
|
|
@@ -716,7 +717,7 @@ AC_MSG_RESULT($with_cxx_main)
|
|
preset_cxx="$CXX"
|
|
if test -z "$CXX"
|
|
then
|
|
- case "$CC" in
|
|
+ case "$cc_basename" in
|
|
gcc) AC_PATH_TOOL(CXX, [g++], [g++], [notfound]) ;;
|
|
cc) AC_PATH_TOOL(CXX, [c++], [c++], [notfound]) ;;
|
|
clang|*/clang) AC_PATH_TOOL(CXX, [clang++], [clang++], [notfound]) ;;
|
|
@@ -978,14 +979,14 @@ rmdir CaseSensitiveTestDir
|
|
|
|
case $MACHDEP in
|
|
bsdos*)
|
|
- case $CC in
|
|
+ case $cc_basename in
|
|
gcc) CC="$CC -D_HAVE_BSDI";;
|
|
esac;;
|
|
esac
|
|
|
|
case $ac_sys_system in
|
|
hp*|HP*)
|
|
- case $CC in
|
|
+ case $cc_basename in
|
|
cc|*/cc) CC="$CC -Ae";;
|
|
esac;;
|
|
esac
|
|
@@ -1310,7 +1311,7 @@ else
|
|
fi],
|
|
[AC_MSG_RESULT(no)])
|
|
if test "$Py_LTO" = 'true' ; then
|
|
- case $CC in
|
|
+ case $cc_basename in
|
|
*clang*)
|
|
# Any changes made here should be reflected in the GCC+Darwin case below
|
|
LTOFLAGS="-flto"
|
|
@@ -1374,7 +1375,7 @@ then
|
|
fi
|
|
fi
|
|
LLVM_PROF_ERR=no
|
|
-case $CC in
|
|
+case $cc_basename in
|
|
*clang*)
|
|
# Any changes made here should be reflected in the GCC+Darwin case below
|
|
PGO_PROF_GEN_FLAG="-fprofile-instr-generate"
|
|
@@ -1451,7 +1452,7 @@ then
|
|
WRAP="-fwrapv"
|
|
fi
|
|
|
|
- case $CC in
|
|
+ case $cc_basename in
|
|
*clang*)
|
|
cc_is_clang=1
|
|
;;
|
|
@@ -1553,7 +1554,7 @@ yes)
|
|
|
|
# ICC doesn't recognize the option, but only emits a warning
|
|
## XXX does it emit an unused result warning and can it be disabled?
|
|
- case "$CC" in
|
|
+ case "$cc_basename" in
|
|
*icc*)
|
|
ac_cv_disable_unused_result_warning=no
|
|
;;
|
|
@@ -1808,7 +1809,7 @@ yes)
|
|
esac
|
|
|
|
# ICC needs -fp-model strict or floats behave badly
|
|
-case "$CC" in
|
|
+case "$cc_basename" in
|
|
*icc*)
|
|
CFLAGS_NODIST="$CFLAGS_NODIST -fp-model strict"
|
|
;;
|
|
@@ -2574,7 +2575,7 @@ then
|
|
then CCSHARED="-fPIC"
|
|
else CCSHARED="-Kpic -belf"
|
|
fi;;
|
|
- IRIX*/6*) case $CC in
|
|
+ IRIX*/6*) case $cc_basename in
|
|
*gcc*) CCSHARED="-shared";;
|
|
*) CCSHARED="";;
|
|
esac;;
|
|
@@ -2615,7 +2616,7 @@ then
|
|
then
|
|
LINKFORSHARED="-Wl,--export-dynamic"
|
|
fi;;
|
|
- SunOS/5*) case $CC in
|
|
+ SunOS/5*) case $cc_basename in
|
|
*gcc*)
|
|
if $CC -Xlinker --help 2>&1 | grep export-dynamic >/dev/null
|
|
then
|
|
@@ -5187,7 +5188,7 @@ if test "$have_gcc_asm_for_x87" = yes; then
|
|
# Some versions of gcc miscompile inline asm:
|
|
# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46491
|
|
# http://gcc.gnu.org/ml/gcc/2010-11/msg00366.html
|
|
- case $CC in
|
|
+ case $cc_basename in
|
|
*gcc*)
|
|
AC_MSG_CHECKING(for gcc ipa-pure-const bug)
|
|
saved_cflags="$CFLAGS"
|
|
--
|
|
2.7.4
|
|
|