]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-108465: Use compiler basename when determining compiler flags (#108392)
authorJohn Micco <jmicco@users.noreply.github.com>
Sun, 27 Aug 2023 21:07:09 +0000 (14:07 -0700)
committerGitHub <noreply@github.com>
Sun, 27 Aug 2023 21:07:09 +0000 (21:07 +0000)
Note:
GNU Autoconf discourages the use of 'basename', and recommends 'expr' instead.

Co-authored-by: Erlend E. Aasland <erlend@python.org>
configure
configure.ac

index 34e874c49cce0aed623df1194ea2623a60dffc46..15ca703bb9163fac69d7691dad046348d89ddcab 100755 (executable)
--- a/configure
+++ b/configure
@@ -8562,7 +8562,10 @@ printf "%s\n" "$as_me: llvm-profdata found via xcrun: ${LLVM_PROFDATA}" >&6;}
   fi
 fi
 LLVM_PROF_ERR=no
-case $CC in
+
+# GNU Autoconf recommends the use of expr instead of basename.
+CC_BASENAME=$(expr "//$CC" : '.*/\(.*\)')
+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"
@@ -9391,7 +9394,7 @@ fi
 
     # 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
 
@@ -9972,7 +9975,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam \
     ;;
 esac
 
-case "$CC" in
+case "$CC_BASENAME" in
 *mpicc*)
     CFLAGS_NODIST="$CFLAGS_NODIST"
     ;;
index 4b343b5d531c4a4cc2f0142bcee9d5c1a08e3a62..fab394ec471ce7a2e3beb05290951a735bfcab14 100644 (file)
@@ -1794,7 +1794,10 @@ then
   fi
 fi
 LLVM_PROF_ERR=no
-case $CC in
+
+# GNU Autoconf recommends the use of expr instead of basename.
+AS_VAR_SET([CC_BASENAME], [$(expr "//$CC" : '.*/\(.*\)')])
+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"
@@ -2225,7 +2228,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?
-    AS_CASE([$CC],
+    AS_CASE(["$CC_BASENAME"],
             [*icc*], [ac_cv_disable_unused_result_warning=no]
             [PY_CHECK_CC_WARNING([disable], [unused-result])])
     AS_VAR_IF([ac_cv_disable_unused_result_warning], [yes],
@@ -2471,7 +2474,7 @@ yes)
     ;;
 esac
 
-case "$CC" in
+case "$CC_BASENAME" in
 *mpicc*)
     CFLAGS_NODIST="$CFLAGS_NODIST"
     ;;