8000
We read every piece of feedback, and take your input very seriously.
1 parent 5c48fde commit b1d0a78Copy full SHA for b1d0a78
Misc/NEWS.d/next/Core and Builtins/2024-05-19-22-54-55.gh-issue-115119.DwMwev.rst
@@ -0,0 +1 @@
1
+Fall back to the bundled libmpdec if a system version cannot be found.
configure
configure.ac
@@ -3980,16 +3980,21 @@ AC_ARG_WITH(
3980
[with_system_libmpdec="yes"])
3981
AC_MSG_RESULT([$with_system_libmpdec])
3982
3983
+AC_DEFUN([USE_BUNDLED_LIBMPDEC],
3984
+ [LIBMPDEC_CFLAGS="-I\$(srcdir)/Modules/_decimal/libmpdec"
3985
+ LIBMPDEC_LIBS="-lm \$(LIBMPDEC_A)"
3986
+ LIBMPDEC_INTERNAL="\$(LIBMPDEC_HEADERS) \$(LIBMPDEC_A)"
3987
+ have_mpdec=yes
3988
+ with_system_libmpdec=no])
3989
+
3990
AS_VAR_IF(
3991
[with_system_libmpdec], [yes],
3992
[PKG_CHECK_MODULES(
3993
[LIBMPDEC], [libmpdec >= 2.5.0], [],
3994
[LIBMPDEC_CFLAGS=${LIBMPDEC_CFLAGS-""}
3995
LIBMPDEC_LIBS=${LIBMPDEC_LIBS-"-lmpdec -lm"}
3996
LIBMPDEC_INTERNAL=])],
- [LIBMPDEC_CFLAGS="-I\$(srcdir)/Modules/_decimal/libmpdec"
- LIBMPDEC_LIBS="-lm \$(LIBMPDEC_A)"
- LIBMPDEC_INTERNAL="\$(LIBMPDEC_HEADERS) \$(LIBMPDEC_A)"])
3997
+ [USE_BUNDLED_LIBMPDEC()])
3998
3999
AS_VAR_IF([with_system_libmpdec], [yes],
4000
[WITH_SAVE_ENV([
@@ -4006,13 +4011,15 @@ AS_VAR_IF([with_system_libmpdec], [yes],
4006
4011
[have_mpdec=yes],
4007
4012
[have_mpdec=no])
4008
4013
])],
4009
- [AS_VAR_SET([have_mpdec], [yes])
4010
- AC_MSG_WARN([m4_normalize([
4014
+ [AC_MSG_WARN([m4_normalize([
4015
the bundled copy of libmpdecimal is scheduled for removal in Python 3.15;
4016
consider using a system installed mpdecimal library.])])])
4017
4018
AS_IF([test "$with_system_libmpdec" = "yes" && test "$have_mpdec" = "no"],
- [AC_MSG_WARN([no system libmpdecimal found; unable to build _decimal])])
4019
4020
+ no system libmpdecimal found; falling back to bundled libmpdecimal
4021
+ (deprecated and scheduled for removal in Python 3.15)])])
4022
+ USE_BUNDLED_LIBMPDEC()])
4023
4024
# Disable forced inlining in debug builds, see GH-94847
4025