]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-128042: Emit a ``configure`` warning when ``-O0`` and ``--enable-optimizations...
authorTaegyun Kim <k.taegyun@gmail.com>
Tue, 26 Aug 2025 23:00:43 +0000 (08:00 +0900)
committerGitHub <noreply@github.com>
Tue, 26 Aug 2025 23:00:43 +0000 (01:00 +0200)
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Misc/NEWS.d/next/Build/2025-08-26-21-18-32.gh-issue-128042.5voC8H.rst [new file with mode: 0644]
configure
configure.ac

diff --git a/Misc/NEWS.d/next/Build/2025-08-26-21-18-32.gh-issue-128042.5voC8H.rst b/Misc/NEWS.d/next/Build/2025-08-26-21-18-32.gh-issue-128042.5voC8H.rst
new file mode 100644 (file)
index 0000000..fd85e0f
--- /dev/null
@@ -0,0 +1 @@
+``./configure`` now warns when ``--enable-optimizations`` and ``CFLAGS=-O0`` are both set, suggesting removing ``-O0`` from ``CFLAGS`` for optimal performance.  Patch by Taegyun Kim.
index 568db406dbc67b9807dc10b862f8d1de457eedf2..bdeab8a6d126a31209e383aef6c6273464878e3f 100755 (executable)
--- a/configure
+++ b/configure
@@ -8407,6 +8407,13 @@ fi
 
 
 if test "$Py_OPT" = 'true' ; then
+  # Check for conflicting CFLAGS=-O0 and --enable-optimizations
+  case "$CFLAGS" in
+    *-O0*)
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: CFLAGS contains -O0 which may conflict with --enable-optimizations. Consider removing -O0 from CFLAGS for optimal performance." >&5
+printf "%s\n" "$as_me: WARNING: CFLAGS contains -O0 which may conflict with --enable-optimizations. Consider removing -O0 from CFLAGS for optimal performance." >&2;}
+      ;;
+  esac
   # Intentionally not forcing Py_LTO='true' here.  Too many toolchains do not
   # compile working code using it and both test_distutils and test_gdb are
   # broken when you do manage to get a toolchain that works with it.  People
index bbaff7f80352b82ae0a0bcd7a7aafb6d68ab5d3c..991fa40746be780a6cde5a962b7a9434b7a5d775 100644 (file)
@@ -1823,6 +1823,14 @@ fi],
 [AC_MSG_RESULT([no])])
 
 if test "$Py_OPT" = 'true' ; then
+  # Check for conflicting CFLAGS=-O0 and --enable-optimizations
+  case "$CFLAGS" in
+    *-O0*)
+      AC_MSG_WARN([m4_normalize([
+        CFLAGS contains -O0 which may conflict with --enable-optimizations.
+        Consider removing -O0 from CFLAGS for optimal performance.])])
+      ;;
+  esac
   # Intentionally not forcing Py_LTO='true' here.  Too many toolchains do not
   # compile working code using it and both test_distutils and test_gdb are
   # broken when you do manage to get a toolchain that works with it.  People