mirror of
https://github.com/python/cpython.git
synced 2025-08-02 16:13:13 +00:00
bpo-46600: ./configure --with-pydebug uses -Og with clang (GH-31052)
Fix the test checking if the C compiler supports -Og option in the ./configure script to also use -Og on clang which supports it.
This commit is contained in:
parent
b9ebde8db7
commit
0515eafe55
3 changed files with 71 additions and 14 deletions
|
@ -0,0 +1,3 @@
|
||||||
|
Fix the test checking if the C compiler supports ``-Og`` option in the
|
||||||
|
``./configure`` script to also use ``-Og`` on clang which supports it. Patch
|
||||||
|
by Victor Stinner.
|
52
configure
generated
vendored
52
configure
generated
vendored
|
@ -7623,6 +7623,50 @@ case $CC in
|
||||||
fi
|
fi
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
# Check if CC supports -Og optimization level
|
||||||
|
save_CFLAGS=$CFLAGS
|
||||||
|
CFLAGS="-Og"
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -Og optimization level" >&5
|
||||||
|
$as_echo_n "checking if $CC supports -Og optimization level... " >&6; }
|
||||||
|
if ${ac_cv_cc_supports_og+:} false; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
|
||||||
|
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
|
||||||
|
;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
_ACEOF
|
||||||
|
if ac_fn_c_try_compile "$LINENO"; then :
|
||||||
|
|
||||||
|
ac_cv_cc_supports_og=yes
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
ac_cv_cc_supports_og=no
|
||||||
|
|
||||||
|
fi
|
||||||
|
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||||
|
|
||||||
|
fi
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cc_supports_og" >&5
|
||||||
|
$as_echo "$ac_cv_cc_supports_og" >&6; }
|
||||||
|
CFLAGS=$save_CFLAGS
|
||||||
|
|
||||||
|
# Optimization messes up debuggers, so turn it off for
|
||||||
|
# debug builds.
|
||||||
|
PYDEBUG_CFLAGS="-O0"
|
||||||
|
if test "x$ac_cv_cc_supports_og" = xyes; then :
|
||||||
|
PYDEBUG_CFLAGS="-Og"
|
||||||
|
fi
|
||||||
|
|
||||||
# tweak OPT based on compiler and platform, only if the user didn't set
|
# tweak OPT based on compiler and platform, only if the user didn't set
|
||||||
# it on the command line
|
# it on the command line
|
||||||
|
|
||||||
|
@ -7648,13 +7692,7 @@ then
|
||||||
case $ac_cv_prog_cc_g in
|
case $ac_cv_prog_cc_g in
|
||||||
yes)
|
yes)
|
||||||
if test "$Py_DEBUG" = 'true' ; then
|
if test "$Py_DEBUG" = 'true' ; then
|
||||||
# Optimization messes up debuggers, so turn it off for
|
OPT="-g $PYDEBUG_CFLAGS -Wall"
|
||||||
# debug builds.
|
|
||||||
if "$CC" -v --help 2>/dev/null |grep -- -Og > /dev/null; then
|
|
||||||
OPT="-g -Og -Wall"
|
|
||||||
else
|
|
||||||
OPT="-g -O0 -Wall"
|
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
OPT="-g $WRAP -O3 -Wall"
|
OPT="-g $WRAP -O3 -Wall"
|
||||||
fi
|
fi
|
||||||
|
|
30
configure.ac
30
configure.ac
|
@ -1791,6 +1791,28 @@ case $CC in
|
||||||
fi
|
fi
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
# Check if CC supports -Og optimization level
|
||||||
|
_SAVE_VAR([CFLAGS])
|
||||||
|
CFLAGS="-Og"
|
||||||
|
AC_CACHE_CHECK([if $CC supports -Og optimization level],
|
||||||
|
[ac_cv_cc_supports_og],
|
||||||
|
AC_COMPILE_IFELSE(
|
||||||
|
[
|
||||||
|
AC_LANG_PROGRAM([[]], [[]])
|
||||||
|
],[
|
||||||
|
ac_cv_cc_supports_og=yes
|
||||||
|
],[
|
||||||
|
ac_cv_cc_supports_og=no
|
||||||
|
])
|
||||||
|
)
|
||||||
|
_RESTORE_VAR([CFLAGS])
|
||||||
|
|
||||||
|
# Optimization messes up debuggers, so turn it off for
|
||||||
|
# debug builds.
|
||||||
|
PYDEBUG_CFLAGS="-O0"
|
||||||
|
AS_VAR_IF([ac_cv_cc_supports_og], [yes],
|
||||||
|
[PYDEBUG_CFLAGS="-Og"])
|
||||||
|
|
||||||
# tweak OPT based on compiler and platform, only if the user didn't set
|
# tweak OPT based on compiler and platform, only if the user didn't set
|
||||||
# it on the command line
|
# it on the command line
|
||||||
AC_SUBST(OPT)
|
AC_SUBST(OPT)
|
||||||
|
@ -1816,13 +1838,7 @@ then
|
||||||
case $ac_cv_prog_cc_g in
|
case $ac_cv_prog_cc_g in
|
||||||
yes)
|
yes)
|
||||||
if test "$Py_DEBUG" = 'true' ; then
|
if test "$Py_DEBUG" = 'true' ; then
|
||||||
# Optimization messes up debuggers, so turn it off for
|
OPT="-g $PYDEBUG_CFLAGS -Wall"
|
||||||
# debug builds.
|
|
||||||
if "$CC" -v --help 2>/dev/null |grep -- -Og > /dev/null; then
|
|
||||||
OPT="-g -Og -Wall"
|
|
||||||
else
|
|
||||||
OPT="-g -O0 -Wall"
|
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
OPT="-g $WRAP -O3 -Wall"
|
OPT="-g $WRAP -O3 -Wall"
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue