[Python-checkins] gh-95913: Edit, link and sort 3.11 WhatsNew Build section (GH-98588)

miss-islington webhook-mailer at python.org
Mon Oct 24 08:41:53 EDT 2022


https://github.com/python/cpython/commit/3e41c16846601d51fa9c63e3dfef18b8f4e23142
commit: 3e41c16846601d51fa9c63e3dfef18b8f4e23142
branch: 3.11
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: miss-islington <31488909+miss-islington at users.noreply.github.com>
date: 2022-10-24T05:41:47-07:00
summary:

gh-95913: Edit, link and sort 3.11 WhatsNew Build section (GH-98588)

(cherry picked from commit e81fad6b8a2334903fac5799b43997623a2ed904)

Co-authored-by: C.A.M. Gerlach <CAM.Gerlach at Gerlach.CAM>

files:
M Doc/whatsnew/3.11.rst

diff --git a/Doc/whatsnew/3.11.rst b/Doc/whatsnew/3.11.rst
index d8e8764aa338..8f3ef3ffc135 100644
--- a/Doc/whatsnew/3.11.rst
+++ b/Doc/whatsnew/3.11.rst
@@ -1896,31 +1896,66 @@ Porting notes for the C API are
 Build Changes
 =============
 
-* Building Python now requires a C11 compiler. Optional C11 features are not
-  required.
-  (Contributed by Victor Stinner in :issue:`46656`.)
-
-* Building Python now requires support of IEEE 754 floating point numbers.
-  (Contributed by Victor Stinner in :issue:`46917`.)
+* CPython now has :pep:`11` :pep:`Tier 3 support <11#tier-3>` for
+  cross compiling to the `WebAssembly <https://webassembly.org/>`_ platforms
+  `Emscripten <https://emscripten.org/>`_
+  (``wasm32-unknown-emscripten``, i.e. Python in the browser)
+  and `WebAssembly System Interface (WASI) <https://wasi.dev/>`_
+  (``wasm32-unknown-wasi``).
+  The effort is inspired by previous work like `Pyodide <https://pyodide.org/>`_.
+  These platforms provide a limited subset of POSIX APIs; Python standard
+  libraries features and modules related to networking, processes, threading,
+  signals, mmap, and users/groups are not available or don't work.
+  (Emscripten contributed by Christian Heimes and Ethan Smith in :gh:`84461`
+  and WASI contributed by Christian Heimes in :gh:`90473`;
+  platforms promoted in :gh:`95085`)
+
+* Building Python now requires:
+
+  * A `C11 <https://en.cppreference.com/w/c/11>`_ compiler.
+    `Optional C11 features
+    <https://en.wikipedia.org/wiki/C11_(C_standard_revision)#Optional_features>`_
+    are not required.
+    (Contributed by Victor Stinner in :issue:`46656`.)
+
+  * Support for `IEEE 754 <https://en.wikipedia.org/wiki/IEEE_754>`_
+    floating point numbers.
+    (Contributed by Victor Stinner in :issue:`46917`.)
+
+  * Support for `floating point Not-a-Number (NaN)
+    <https://en.wikipedia.org/wiki/NaN#Floating_point>`_,
+    as the :c:macro:`!Py_NO_NAN` macro has been removed.
+    (Contributed by Victor Stinner in :issue:`46656`.)
+
+  * A `C99 <https://en.cppreference.com/w/c/99>`_
+    ``<math.h>`` header file providing the
+    :c:func:`!copysign`, :c:func:`!hypot`, :c:func:`!isfinite`,
+    :c:func:`!isinf`, :c:func:`!isnan`, and :c:func:`!round` functions
+    (contributed by Victor Stinner in :issue:`45440`);
+    and a :c:data:`!NAN` constant or the :c:func:`!__builtin_nan` function
+    (Contributed by Victor Stinner in :issue:`46640`).
+
+* The :mod:`tkinter` package now requires `Tcl/Tk <https://www.tcl.tk>`_
+  version 8.5.12 or newer.
+  (Contributed by Serhiy Storchaka in :issue:`46996`.)
 
-* CPython can now be built with the ThinLTO option via ``--with-lto=thin``.
-  (Contributed by Dong-hee Na and Brett Holman in :issue:`44340`.)
+* Build dependencies, compiler flags, and linker flags for most stdlib
+  extension modules are now detected by :program:`configure`. libffi, libnsl,
+  libsqlite3, zlib, bzip2, liblzma, libcrypt, Tcl/Tk, and uuid flags
+  are detected by `pkg-config
+  <https://www.freedesktop.org/wiki/Software/pkg-config/>`_ (when available).
+  :mod:`tkinter` now requires a pkg-config command
+  to detect development settings for `Tcl/Tk`_ headers and libraries.
+  (Contributed by Christian Heimes and Erlend Egeberg Aasland in
+  :issue:`45847`, :issue:`45747`, and :issue:`45763`.)
 
 * libpython is no longer linked against libcrypt.
   (Contributed by Mike Gilbert in :issue:`45433`.)
 
-* Building Python now requires a C99 ``<math.h>`` header file providing
-  the following functions: ``copysign()``, ``hypot()``, ``isfinite()``,
-  ``isinf()``, ``isnan()``, ``round()``.
-  (Contributed by Victor Stinner in :issue:`45440`.)
-
-* Building Python now requires a C99 ``<math.h>`` header file providing
-  a ``NAN`` constant, or the ``__builtin_nan()`` built-in function.
-  (Contributed by Victor Stinner in :issue:`46640`.)
-
-* Building Python now requires support for floating point Not-a-Number (NaN):
-  remove the ``Py_NO_NAN`` macro.
-  (Contributed by Victor Stinner in :issue:`46656`.)
+* CPython can now be built with the
+  `ThinLTO <https://clang.llvm.org/docs/ThinLTO.html>`_ option
+  via passing ``thin`` to :option:`--with-lto`, i.e. ``--with-lto=thin``.
+  (Contributed by Dong-hee Na and Brett Holman in :issue:`44340`.)
 
 * Freelists for object structs can now be disabled. A new :program:`configure`
   option :option:`!--without-freelists` can be used to disable all freelists
@@ -1929,55 +1964,30 @@ Build Changes
 
 * ``Modules/Setup`` and ``Modules/makesetup`` have been improved and tied up.
   Extension modules can now be built through ``makesetup``. All except some
-  test modules can be linked statically into main binary or library.
+  test modules can be linked statically into a main binary or library.
   (Contributed by Brett Cannon and Christian Heimes in :issue:`45548`,
   :issue:`45570`, :issue:`45571`, and :issue:`43974`.)
 
-* Build dependencies, compiler flags, and linker flags for most stdlib
-  extension modules are now detected by :program:`configure`. libffi, libnsl,
-  libsqlite3, zlib, bzip2, liblzma, libcrypt, Tcl/Tk, and uuid flags
-  are detected by ``pkg-config`` (when available). :mod:`tkinter` now
-  requires ``pkg-config`` command to detect development settings for Tcl/Tk
-  headers and libraries.
-  (Contributed by Christian Heimes and Erlend Egeberg Aasland in
-  :issue:`45847`, :issue:`45747`, and :issue:`45763`.)
-
   .. note::
-     Use the environment variables :envvar:`TCLTK_CFLAGS` and
-     :envvar:`TCLTK_LIBS` to manually specify the location of Tcl/Tk headers
-     and libraries. The :program:`configure` options ``--with-tcltk-includes``
-     and ``--with-tcltk-libs`` have been removed.
+     Use the environment variables :envvar:`!TCLTK_CFLAGS` and
+     :envvar:`!TCLTK_LIBS` to manually specify the location of Tcl/Tk headers
+     and libraries. The :program:`configure` options
+     :option:`!--with-tcltk-includes` and :option:`!--with-tcltk-libs`
+     have been removed.
 
      On RHEL 7 and CentOS 7 the development packages do not provide ``tcl.pc``
-     and ``tk.pc``, use :envvar:`TCLTK_LIBS="-ltk8.5 -ltkstub8.5 -ltcl8.5"`.
+     and ``tk.pc``; use ``TCLTK_LIBS="-ltk8.5 -ltkstub8.5 -ltcl8.5"``.
      The directory ``Misc/rhel7`` contains ``.pc`` files and instructions
-     how to build Python with RHEL 7's and CentOS 7's Tcl/Tk and OpenSSL.
-
-* CPython now has :pep:`11` tier 3 support for cross compiling to WebAssembly
-  platform ``wasm32-unknown-emscripten`` (Python in the browser). The effort
-  is inspired by previous work like `Pyodide <https://pyodide.org/>`_.
-  Emscripten provides a limited subset of POSIX APIs. Python standard
-  libraries features and modules related to networking, processes, threading,
-  signals, mmap, and users/groups are not available or don't work.
-  (Contributed by Christian Heimes and Ethan Smith in :gh:`84461`,
-  promoted in :gh:`95085`)
-
-* CPython now has :pep:`11` tier 3 support for cross compiling to WebAssembly
-  platform ``wasm32-unknown-wasi`` (WebAssembly System Interface). Like on
-  Emscripten, only a subset of Python's standard library is available on WASI.
-  (Contributed by Christian Heimes in :gh:`90473`, promoted in :gh:`95085`)
+     on how to build Python with RHEL 7's and CentOS 7's Tcl/Tk and OpenSSL.
 
 * CPython will now use 30-bit digits by default for the Python :class:`int`
   implementation. Previously, the default was to use 30-bit digits on platforms
   with ``SIZEOF_VOID_P >= 8``, and 15-bit digits otherwise. It's still possible
   to explicitly request use of 15-bit digits via either the
-  ``--enable-big-digits`` option to the configure script or (for Windows) the
-  ``PYLONG_BITS_IN_DIGIT`` variable in ``PC/pyconfig.h``, but this option may
-  be removed at some point in the future. (Contributed by Mark Dickinson in
-  :issue:`45569`.)
-
-* The :mod:`tkinter` package now requires Tcl/Tk version 8.5.12 or newer.
-  (Contributed by Serhiy Storchaka in :issue:`46996`.)
+  :option:`--enable-big-digits` option to the configure script
+  or (for Windows) the ``PYLONG_BITS_IN_DIGIT`` variable in ``PC/pyconfig.h``,
+  but this option may be removed at some point in the future.
+  (Contributed by Mark Dickinson in :issue:`45569`.)
 
 
 .. _whatsnew311-c-api:



More information about the Python-checkins mailing list