From 564a5cc634028970dc2f9d8ecc0e464a4fb1dcb6 Mon Sep 17 00:00:00 2001 From: Changqing Li 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 patch originally from Li Zhou, I just rework it to new version Signed-off-by: Changqing Li --- 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