From fecb9faf0b2df6a219696502a34b918c5d2bfe9d Mon Sep 17 00:00:00 2001 From: John Micco Date: Sun, 27 Aug 2023 14:07:09 -0700 Subject: gh-108465: Use compiler basename when determining compiler flags (#108392) Note: GNU Autoconf discourages the use of 'basename', and recommends 'expr' instead. Co-authored-by: Erlend E. Aasland --- configure | 9 ++++++--- configure.ac | 9 ++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/configure b/configure index 34e874c..15ca703 100755 --- 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" ;; diff --git a/configure.ac b/configure.ac index 4b343b5..fab394e 100644 --- a/configure.ac +++ b/configure.ac @@ -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" ;; -- cgit v0.12