gh-115119: Fall back to bundled libmpdec if system libmpdec is not found (#119196)

This commit is contained in:
Erlend E. Aasland 2024-05-20 10:58:08 -04:00 committed by GitHub
parent 72d07dd30b
commit 642b25b9a8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 28 additions and 12 deletions

View File

@ -0,0 +1 @@
Fall back to the bundled libmpdec if a system version cannot be found.

20
configure generated vendored
View File

@ -14618,6 +14618,8 @@ fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_system_libmpdec" >&5 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_system_libmpdec" >&5
printf "%s\n" "$with_system_libmpdec" >&6; } printf "%s\n" "$with_system_libmpdec" >&6; }
if test "x$with_system_libmpdec" = xyes if test "x$with_system_libmpdec" = xyes
then : then :
@ -14697,8 +14699,10 @@ printf "%s\n" "yes" >&6; }
fi fi
else $as_nop else $as_nop
LIBMPDEC_CFLAGS="-I\$(srcdir)/Modules/_decimal/libmpdec" LIBMPDEC_CFLAGS="-I\$(srcdir)/Modules/_decimal/libmpdec"
LIBMPDEC_LIBS="-lm \$(LIBMPDEC_A)" LIBMPDEC_LIBS="-lm \$(LIBMPDEC_A)"
LIBMPDEC_INTERNAL="\$(LIBMPDEC_HEADERS) \$(LIBMPDEC_A)" LIBMPDEC_INTERNAL="\$(LIBMPDEC_HEADERS) \$(LIBMPDEC_A)"
have_mpdec=yes
with_system_libmpdec=no
fi fi
if test "x$with_system_libmpdec" = xyes if test "x$with_system_libmpdec" = xyes
@ -14745,15 +14749,19 @@ LIBS=$save_LIBS
else $as_nop 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;} 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 fi
if test "$with_system_libmpdec" = "yes" && test "$have_mpdec" = "no" if test "$with_system_libmpdec" = "yes" && test "$have_mpdec" = "no"
then : then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: no system libmpdecimal found; unable to build _decimal" >&5 { 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; unable to build _decimal" >&2;} 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 fi
# Disable forced inlining in debug builds, see GH-94847 # Disable forced inlining in debug builds, see GH-94847

View File

@ -3980,6 +3980,13 @@ AC_ARG_WITH(
[with_system_libmpdec="yes"]) [with_system_libmpdec="yes"])
AC_MSG_RESULT([$with_system_libmpdec]) 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( AS_VAR_IF(
[with_system_libmpdec], [yes], [with_system_libmpdec], [yes],
[PKG_CHECK_MODULES( [PKG_CHECK_MODULES(
@ -3987,9 +3994,7 @@ AS_VAR_IF(
[LIBMPDEC_CFLAGS=${LIBMPDEC_CFLAGS-""} [LIBMPDEC_CFLAGS=${LIBMPDEC_CFLAGS-""}
LIBMPDEC_LIBS=${LIBMPDEC_LIBS-"-lmpdec -lm"} LIBMPDEC_LIBS=${LIBMPDEC_LIBS-"-lmpdec -lm"}
LIBMPDEC_INTERNAL=])], LIBMPDEC_INTERNAL=])],
[LIBMPDEC_CFLAGS="-I\$(srcdir)/Modules/_decimal/libmpdec" [USE_BUNDLED_LIBMPDEC()])
LIBMPDEC_LIBS="-lm \$(LIBMPDEC_A)"
LIBMPDEC_INTERNAL="\$(LIBMPDEC_HEADERS) \$(LIBMPDEC_A)"])
AS_VAR_IF([with_system_libmpdec], [yes], AS_VAR_IF([with_system_libmpdec], [yes],
[WITH_SAVE_ENV([ [WITH_SAVE_ENV([
@ -4006,13 +4011,15 @@ AS_VAR_IF([with_system_libmpdec], [yes],
[have_mpdec=yes], [have_mpdec=yes],
[have_mpdec=no]) [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; the bundled copy of libmpdecimal is scheduled for removal in Python 3.15;
consider using a system installed mpdecimal library.])])]) consider using a system installed mpdecimal library.])])])
AS_IF([test "$with_system_libmpdec" = "yes" && test "$have_mpdec" = "no"], 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 # Disable forced inlining in debug builds, see GH-94847
AS_VAR_IF( AS_VAR_IF(