https://github.com/python/cpython/commit/f445d2e8666c5585d613add075cabe2abc7f972b
commit: f445d2e8666c5585d613add075cabe2abc7f972b
branch: main
author: Ihar Hrachyshka <[email protected]>
committer: gpshead <[email protected]>
date: 2026-04-11T14:31:10-07:00
summary:

gh-146264: Use static HACL deps for static module builds (GH-146265)

files:
A Misc/NEWS.d/next/Build/2026-03-21-18-51-31.gh-issue-146264.Q9Ej4m.rst
M configure
M configure.ac

diff --git 
a/Misc/NEWS.d/next/Build/2026-03-21-18-51-31.gh-issue-146264.Q9Ej4m.rst 
b/Misc/NEWS.d/next/Build/2026-03-21-18-51-31.gh-issue-146264.Q9Ej4m.rst
new file mode 100644
index 000000000000000..1fdafe560432a66
--- /dev/null
+++ b/Misc/NEWS.d/next/Build/2026-03-21-18-51-31.gh-issue-146264.Q9Ej4m.rst
@@ -0,0 +1,3 @@
+Fix static module builds on non-WASI targets by linking HACL dependencies as
+static libraries when ``MODULE_BUILDTYPE=static``, preventing duplicate
+``_Py_LibHacl_*`` symbol errors at link time.
diff --git a/configure b/configure
index a599cd639eac6fd..07c16a4e37874e4 100755
--- a/configure
+++ b/configure
@@ -33089,7 +33089,7 @@ fi
 
 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for HACL* library 
linking type" >&5
 printf %s "checking for HACL* library linking type... " >&6; }
-if test "$ac_sys_system" = "WASI"; then
+if test "$ac_sys_system" = "WASI" || test "$MODULE_BUILDTYPE" = "static"; then
   LIBHACL_LDEPS_LIBTYPE=STATIC
   { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: static" >&5
 printf "%s\n" "static" >&6; }
diff --git a/configure.ac b/configure.ac
index d7785c6f3e6e73a..d6e152d42b765e2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -8217,7 +8217,7 @@ AC_SUBST([LIBHACL_BLAKE2_SIMD256_OBJS])
 # HACL*-based cryptographic primitives
 
 AC_MSG_CHECKING([for HACL* library linking type])
-if test "$ac_sys_system" = "WASI"; then
+if test "$ac_sys_system" = "WASI" || test "$MODULE_BUILDTYPE" = "static"; then
   LIBHACL_LDEPS_LIBTYPE=STATIC
   AC_MSG_RESULT([static])
 else

_______________________________________________
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