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]