[3.13] gh-115119: Defer removal of bundled libmpdec to 3.16 (GH-133997) (#136201)
Some checks are pending
Tests / Ubuntu SSL tests with OpenSSL (push) Blocked by required conditions
Tests / WASI (push) Blocked by required conditions
Tests / Hypothesis tests on Ubuntu (push) Blocked by required conditions
Tests / Address sanitizer (push) Blocked by required conditions
Tests / (push) Blocked by required conditions
Tests / Check if Autoconf files are up to date (push) Blocked by required conditions
Tests / Check if generated files are up to date (push) Blocked by required conditions
Tests / Windows MSI (push) Blocked by required conditions
Tests / Change detection (push) Waiting to run
Tests / Docs (push) Blocked by required conditions
Tests / Check if the ABI has changed (push) Blocked by required conditions
Tests / CIFuzz (push) Blocked by required conditions
Tests / All required checks pass (push) Blocked by required conditions
Lint / lint (push) Waiting to run

Rename libmpdecimal -> libmpdec

see https://www.bytereef.org/mpdecimal/doc/libmpdec/index.html
(cherry picked from commit b19c9da401)

Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com>
This commit is contained in:
Sergey B Kirpichev 2025-07-02 15:37:06 +03:00 committed by GitHub
parent da2c4ef7eb
commit 1e6db47078
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 16 additions and 9 deletions

View file

@ -1,7 +1,6 @@
Pending Removal in Python 3.15
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* The bundled copy of ``libmpdecimal``.
* The :c:func:`PyImport_ImportModuleNoBlock`:
Use :c:func:`PyImport_ImportModule` instead.
* :c:func:`PyWeakref_GetObject` and :c:func:`PyWeakref_GET_OBJECT`:

View file

@ -0,0 +1,4 @@
Pending removal in Python 3.16
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* The bundled copy of ``libmpdec``.

View file

@ -2231,6 +2231,8 @@ Deprecated
.. include:: ../deprecations/c-api-pending-removal-in-3.15.rst
.. include:: ../deprecations/c-api-pending-removal-in-3.16.rst
.. include:: ../deprecations/c-api-pending-removal-in-future.rst
Removed

View file

@ -2554,6 +2554,8 @@ Deprecated C APIs
.. include:: ../deprecations/c-api-pending-removal-in-3.15.rst
.. include:: ../deprecations/c-api-pending-removal-in-3.16.rst
.. include:: ../deprecations/c-api-pending-removal-in-future.rst
.. _pythoncapi-compat project: https://github.com/python/pythoncapi-compat/
@ -2598,7 +2600,7 @@ Build Changes
* The :file:`configure` option :option:`--with-system-libmpdec`
now defaults to ``yes``.
The bundled copy of ``libmpdecimal`` will be removed in Python 3.15.
The bundled copy of ``libmpdec`` will be removed in Python 3.16.
* Python built with :file:`configure` :option:`--with-trace-refs`
(tracing references) is now ABI compatible with the Python release build

8
configure generated vendored
View file

@ -14837,14 +14837,14 @@ LIBS=$save_LIBS
else $as_nop
{ 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:${as_lineno-$LINENO}: WARNING: the bundled copy of libmpdec is scheduled for removal in Python 3.16; consider using a system installed mpdecimal library." >&5
printf "%s\n" "$as_me: WARNING: the bundled copy of libmpdec is scheduled for removal in Python 3.16; 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; 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;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: no system libmpdec found; falling back to bundled libmpdec (deprecated and scheduled for removal in Python 3.16)" >&5
printf "%s\n" "$as_me: WARNING: no system libmpdec found; falling back to bundled libmpdec (deprecated and scheduled for removal in Python 3.16)" >&2;}
LIBMPDEC_CFLAGS="-I\$(srcdir)/Modules/_decimal/libmpdec"
LIBMPDEC_LIBS="-lm \$(LIBMPDEC_A)"
LIBMPDEC_INTERNAL="\$(LIBMPDEC_HEADERS) \$(LIBMPDEC_A)"

View file

@ -4086,13 +4086,13 @@ AS_VAR_IF([with_system_libmpdec], [yes],
[have_mpdec=no])
])],
[AC_MSG_WARN([m4_normalize([
the bundled copy of libmpdecimal is scheduled for removal in Python 3.15;
the bundled copy of libmpdec is scheduled for removal in Python 3.16;
consider using a system installed mpdecimal library.])])])
AS_IF([test "$with_system_libmpdec" = "yes" && test "$have_mpdec" = "no"],
[AC_MSG_WARN([m4_normalize([
no system libmpdecimal found; falling back to bundled libmpdecimal
(deprecated and scheduled for removal in Python 3.15)])])
no system libmpdec found; falling back to bundled libmpdec
(deprecated and scheduled for removal in Python 3.16)])])
USE_BUNDLED_LIBMPDEC()])
# Disable forced inlining in debug builds, see GH-94847