https://github.com/python/cpython/commit/ff0a9ae269fa38c21f01bdea1a7ff5d439c4f681
commit: ff0a9ae269fa38c21f01bdea1a7ff5d439c4f681
branch: main
author: Serhiy Storchaka <[email protected]>
committer: serhiy-storchaka <[email protected]>
date: 2026-07-11T09:49:12Z
summary:

gh-126877: Fix the configure check for Tcl/Tk with optimizing compilers 
(GH-153543)

The check assigned the addresses of Tcl_Init() and Tk_Init() to unused
variables, which optimizing compilers can eliminate, so it linked even
when the libraries were missing.  Call the functions instead.

Co-authored-by: Claude Opus 4.8 <[email protected]>

files:
A Misc/NEWS.d/next/Build/2026-07-11-07-26-16.gh-issue-126877.Zt7Kq2.rst
M configure
M configure.ac

diff --git 
a/Misc/NEWS.d/next/Build/2026-07-11-07-26-16.gh-issue-126877.Zt7Kq2.rst 
b/Misc/NEWS.d/next/Build/2026-07-11-07-26-16.gh-issue-126877.Zt7Kq2.rst
new file mode 100644
index 00000000000000..1d7d4fad886c56
--- /dev/null
+++ b/Misc/NEWS.d/next/Build/2026-07-11-07-26-16.gh-issue-126877.Zt7Kq2.rst
@@ -0,0 +1,2 @@
+Fix the :program:`configure` check for Tcl/Tk which could wrongly succeed
+with optimizing compilers when the libraries are missing.
diff --git a/configure b/configure
index 17b7ef765cc7fd..c15bc2867b94d7 100755
--- a/configure
+++ b/configure
@@ -17975,8 +17975,8 @@ int
 main (void)
 {
 
-      void *x1 = Tcl_Init;
-      void *x2 = Tk_Init;
+      Tcl_Init(NULL);
+      Tk_Init(NULL);
 
   ;
   return 0;
diff --git a/configure.ac b/configure.ac
index ab64ac8769b551..2726a835efc544 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4618,8 +4618,8 @@ WITH_SAVE_ENV([
       #  error "Tk older than 8.5.12 not supported"
       #endif
     ], [
-      void *x1 = Tcl_Init;
-      void *x2 = Tk_Init;
+      Tcl_Init(NULL);
+      Tk_Init(NULL);
     ])
   ], [
     have_tcltk=yes

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]

Reply via email to