summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2024-05-20 16:10:21 (GMT)
committerGitHub <noreply@github.com>2024-05-20 16:10:21 (GMT)
commite370b642ea98a0444137654a3c66d3b697e91f68 (patch)
tree4947c4744add56a331dd8af375ed6cce4ef5287d
parent8f3fc01c4cd64e6753be3a65df08699c8ce08259 (diff)
downloadcpython-e370b642ea98a0444137654a3c66d3b697e91f68.zip
cpython-e370b642ea98a0444137654a3c66d3b697e91f68.tar.gz
cpython-e370b642ea98a0444137654a3c66d3b697e91f68.tar.bz2
[3.13] gh-115119: Fall back to bundled libmpdec if system libmpdec is not found (GH-119196) (#119217)
(cherry picked from commit 642b25b9a82c368b045709f0b94e7d5a02400ed2) Co-authored-by: Erlend E. Aasland <erlend@python.org>
-rw-r--r--Misc/NEWS.d/next/Build/2024-05-19-22-54-55.gh-issue-115119.DwMwev.rst1
-rwxr-xr-xconfigure20
-rw-r--r--configure.ac19
3 files changed, 28 insertions, 12 deletions
diff --git a/Misc/NEWS.d/next/Build/2024-05-19-22-54-55.gh-issue-115119.DwMwev.rst b/Misc/NEWS.d/next/Build/2024-05-19-22-54-55.gh-issue-115119.DwMwev.rst
new file mode 100644
index 0000000..acaca9e
--- /dev/null
+++ b/Misc/NEWS.d/next/Build/2024-05-19-22-54-55.gh-issue-115119.DwMwev.rst
@@ -0,0 +1 @@
+Fall back to the bundled libmpdec if a system version cannot be found.
diff --git a/configure b/configure
index de426e6..4626675 100755
--- a/configure
+++ b/configure
@@ -14618,6 +14618,8 @@ fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_system_libmpdec" >&5
printf "%s\n" "$with_system_libmpdec" >&6; }
+
+
if test "x$with_system_libmpdec" = xyes
then :
@@ -14697,8 +14699,10 @@ printf "%s\n" "yes" >&6; }
fi
else $as_nop
LIBMPDEC_CFLAGS="-I\$(srcdir)/Modules/_decimal/libmpdec"
- LIBMPDEC_LIBS="-lm \$(LIBMPDEC_A)"
- LIBMPDEC_INTERNAL="\$(LIBMPDEC_HEADERS) \$(LIBMPDEC_A)"
+ LIBMPDEC_LIBS="-lm \$(LIBMPDEC_A)"
+ LIBMPDEC_INTERNAL="\$(LIBMPDEC_HEADERS) \$(LIBMPDEC_A)"
+ have_mpdec=yes
+ with_system_libmpdec=no
fi
if test "x$with_system_libmpdec" = xyes
@@ -14745,15 +14749,19 @@ LIBS=$save_LIBS
else $as_nop
- have_mpdec=yes
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: the bundled copy of libmpdecimal is scheduled for removal in Python 3.15; consider using a system installed mpdecimal library." >&5
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: the bundled copy of libmpdecimal is scheduled for removal in Python 3.15; consider using a system installed mpdecimal library." >&5
printf "%s\n" "$as_me: WARNING: the bundled copy of libmpdecimal is scheduled for removal in Python 3.15; consider using a system installed mpdecimal library." >&2;}
fi
if test "$with_system_libmpdec" = "yes" && test "$have_mpdec" = "no"
then :
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: no system libmpdecimal found; unable to build _decimal" >&5
-printf "%s\n" "$as_me: WARNING: no system libmpdecimal found; unable to build _decimal" >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: no system libmpdecimal found; falling back to bundled libmpdecimal (deprecated and scheduled for removal in Python 3.15)" >&5
+printf "%s\n" "$as_me: WARNING: no system libmpdecimal found; falling back to bundled libmpdecimal (deprecated and scheduled for removal in Python 3.15)" >&2;}
+ LIBMPDEC_CFLAGS="-I\$(srcdir)/Modules/_decimal/libmpdec"
+ LIBMPDEC_LIBS="-lm \$(LIBMPDEC_A)"
+ LIBMPDEC_INTERNAL="\$(LIBMPDEC_HEADERS) \$(LIBMPDEC_A)"
+ have_mpdec=yes
+ with_system_libmpdec=no
fi
# Disable forced inlining in debug builds, see GH-94847
diff --git a/configure.ac b/configure.ac
index 8eb9676..c5631a2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3980,6 +3980,13 @@ AC_ARG_WITH(
[with_system_libmpdec="yes"])
AC_MSG_RESULT([$with_system_libmpdec])
+AC_DEFUN([USE_BUNDLED_LIBMPDEC],
+ [LIBMPDEC_CFLAGS="-I\$(srcdir)/Modules/_decimal/libmpdec"
+ LIBMPDEC_LIBS="-lm \$(LIBMPDEC_A)"
+ LIBMPDEC_INTERNAL="\$(LIBMPDEC_HEADERS) \$(LIBMPDEC_A)"
+ have_mpdec=yes
+ with_system_libmpdec=no])
+
AS_VAR_IF(
[with_system_libmpdec], [yes],
[PKG_CHECK_MODULES(
@@ -3987,9 +3994,7 @@ AS_VAR_IF(
[LIBMPDEC_CFLAGS=${LIBMPDEC_CFLAGS-""}
LIBMPDEC_LIBS=${LIBMPDEC_LIBS-"-lmpdec -lm"}
LIBMPDEC_INTERNAL=])],
- [LIBMPDEC_CFLAGS="-I\$(srcdir)/Modules/_decimal/libmpdec"
- LIBMPDEC_LIBS="-lm \$(LIBMPDEC_A)"
- LIBMPDEC_INTERNAL="\$(LIBMPDEC_HEADERS) \$(LIBMPDEC_A)"])
+ [USE_BUNDLED_LIBMPDEC()])
AS_VAR_IF([with_system_libmpdec], [yes],
[WITH_SAVE_ENV([
@@ -4006,13 +4011,15 @@ AS_VAR_IF([with_system_libmpdec], [yes],
[have_mpdec=yes],
[have_mpdec=no])
])],
- [AS_VAR_SET([have_mpdec], [yes])
- AC_MSG_WARN([m4_normalize([
+ [AC_MSG_WARN([m4_normalize([
the bundled copy of libmpdecimal is scheduled for removal in Python 3.15;
consider using a system installed mpdecimal library.])])])
AS_IF([test "$with_system_libmpdec" = "yes" && test "$have_mpdec" = "no"],
- [AC_MSG_WARN([no system libmpdecimal found; unable to build _decimal])])
+ [AC_MSG_WARN([m4_normalize([
+ no system libmpdecimal found; falling back to bundled libmpdecimal
+ (deprecated and scheduled for removal in Python 3.15)])])
+ USE_BUNDLED_LIBMPDEC()])
# Disable forced inlining in debug builds, see GH-94847
AS_VAR_IF(