Skip to content

gh-156895: Add CXX to configure help - #1

Open
vinitsonawane45 wants to merge 728 commits into
vinitsonawane45:mainfrom
python:main
Open

vinitsonawane45 wants to merge 728 commits into
vinitsonawane45:mainfrom
python:main

Conversation

@vinitsonawane45

Copy link
Copy Markdown
Owner

Summary

CXX is currently missing from ./configure --help because the custom C++ compiler detection path does not invoke AC_PROG_CXX, so CXX is not registered through AC_ARG_VAR.

This change replaces the existing AC_SUBST([CXX]) with AC_ARG_VAR([CXX], [C++ compiler command]).

This makes CXX a documented configure environment variable and causes it to appear in ./configure --help without changing the existing C++ compiler detection behavior.

Changes

  • Replace AC_SUBST([CXX]) with AC_ARG_VAR([CXX], [C++ compiler command]) in configure.ac.
  • Document CXX in Doc/using/configure.rst.
  • Regenerate configure using CPython's Autoconf regeneration process.
  • Add a NEWS entry for the change.

Testing

Verified that:

./configure --help | grep CXX

outputs:

CXX         C++ compiler command

Also verified the generated configure diff and ran git diff --check.

vstinner and others added 30 commits September 29, 2026 12:17
…#158344)

Do no read output_start pointer after PyBytesWriter_Finish() since
the pointer became a dangling pointer.

Co-authored-by: Vyron Vasileiadis <hi@fedonman.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
…58400)

Remove a spurious Py_DECREF(writer_type) in _PyTestCapi_Init_Bytes()
that over-decremented the reference after it was already released.
Also fix writer_discard method flags (METH_VARARGS -> METH_NOARGS),
a typo, and PEP 7 spacing in for-loop initializers.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Add constants dbm.gnu.GDBM_VERSION_INFO, dbm.gnu.gdbm_version_info and
dbm.gnu.gdbm_version, which provide information about the version of
the GDBM library in use.

The private constant _gdbm._GDBM_VERSION has been removed.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Add constants readline.READLINE_VERSION_INFO,
readline.readline_version_info and readline.readline_version, which
provide information about the version of the Readline library in use.

The private names _READLINE_VERSION, _READLINE_RUNTIME_VERSION and
_READLINE_LIBRARY_VERSION are kept for backward compatibility.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Add constants sqlite3.SQLITE_VERSION and sqlite3.SQLITE_VERSION_INFO
which provide information about the version of the SQLite library that
was used for building the module.

Make sqlite3.sqlite_version_info a named tuple.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Fix PyBytesWriter_Format() error handling: restore the writer to its
previous state on error. Add an unit test injecting MemoryError.

Fix PyBytesWriter_FinishWithSize() to return an empty bytearray when
use_bytearray is set and size is 0, instead of always returning an
empty bytes object.

Fix test_capi.test_bytes: always check writer finish result type, to
make sure that _PyBytesWriter_CreateByteArray() always create
bytearray objects.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
ssl.OPENSSL_VERSION_INFO is now a named tuple.

Add ssl.OPENSSL_API_VERSION_INFO which provides information about the
version of the OpenSSL library that was used for building the module.
The private name _OPENSSL_API_VERSION is kept as an alias.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Add constant pyexpat.VERSION_INFO which provides information about the
version of the Expat library that was used for building the module.

Make pyexpat.version_info a named tuple.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Add constants tkinter.TCL_VERSION_INFO and tkinter.TK_VERSION_INFO,
named tuples with the versions of the Tcl and Tk libraries that were
used for building the module, and _tkinter.TCL_PATCH_LEVEL and
_tkinter.TK_PATCH_LEVEL strings.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
… holds the grab (GH-157677)

_temp_grab_focus() used grab_current() and focus_get(), which raise
KeyError for windows which were not created by tkinter, such as a
native message box.  Use Tcl window names instead of widgets.

Regression from GH-151848, not present in released versions.
Add constants which provide information about the version of the
underlying library in use: GDBM_VERSION_INFO, gdbm_version_info and
gdbm_version if it is GDBM, or BDB_VERSION, bdb_version,
BDB_VERSION_INFO and bdb_version_info if it is Berkeley DB.

dbm.ndbm.library is now 'ndbm' instead of 'GNU gdbm' for a classic
NDBM library.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Add constants decimal.LIBMPDEC_VERSION, decimal.libmpdec_version,
decimal.LIBMPDEC_VERSION_INFO, and decimal.libmpdec_version_info in
the C implementation, which provide information about the version of
the libmpdec library in use.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
…rectory` (GH-157580)

Co-authored-by: Petr Viktorin <encukou@gmail.com>
If PyUnicodeWriter_WriteUTF8() or PyUnicodeWriter_Format() fails,
PyUnicodeWriter_Finish() now checks if the string uses the most
efficient storage. Previously, PyUnicodeWriter_Finish() could return
a string with an inefficient storage.

* Add _PyUnicodeWriter.recheck_maxchar. PyUnicodeWriter_WriteUTF8()
  and PyUnicodeWriter_Format() now set recheck_maxchar to 1 on error.
* Move error handling from caller to _PyUnicode_DecodeUTF8Writer().
* PyUnicodeWriter_DecodeUTF8Stateful(): rename length parameter to
  size and rename string parameter to str.
…58448)

Enable the PyUnicodeWriter read-only optimization for large integer
(more than 1000 digits) in PyUnicodeWriter_WriteStr() and
PyUnicodeWriter_WriteRepr().
Replace _PyUnicodeWriter_Update() with _PyUnicodeWriter_SetBuffer().

Add _PyUnicodeWriter_SetReadOnly() helper function.

Add _PyUnicodeWriter_FinishWithSize() for PyUnicode_DecodeUTF7Stateful().
Fix _PyUnicodeWriter_WriteLatin1String() when the writer buffer kind
is UCS-2 or UCS-4.
…58467)

Remove special case for int in PyUnicode_Format(). Instead, reuse
PyUnicodeWriter_WriteStr() and PyUnicodeWriter_WriteRepr() in
PyUnicode_Format().

Add PyUnicode_Format() tests on integer formats.
…on (#158466)

Add assertion to _PyUnicodeWriter_Prepare() to check that length is
not negative.

Add some assertions to check that _PyUnicodeWriter_Prepare() is
called with len >= 1.
Formatting a float or complex with a precision within about 1000 of
INT_MAX could crash or produce incorrect output.
PyOS_double_to_string() now raises ValueError("precision too big") for
such precisions, as the format string parsers already do for
precisions above INT_MAX.

The limit applies regardless of presentation type or value, so a few
calls that previously succeeded (inf, nan, or 'g' with such a
precision) now raise as well.
abhishekacharya200 and others added 30 commits October 14, 2026 14:18
…king lazy import chains (#159289)

Add missing recursion checks when walking lazy import chains

`lazy import a.b.c as d` nests one placeholder per name component.
lazy_import_path() and lazy_import_replay_from() recursed over that
chain without a recursion check, so a very long dotted name could
overflow the C stack. Raise RecursionError instead, as the rest of
lazy import resolution does.
…159433)

Skip immortal objects both when queueing and when processing the
queue, and remove the now redundant caller-side checks.
…tag (#159442)

`--git-dir` alone does not imply a work tree, so in an out-of-tree build
git checked the build directory, and every tracked file looked deleted:
`sys.version` always carried a spurious "-dirty" suffix.
…H-159432)

_PyObject_LookupSpecial needs a PyErr_Occurred() check to handle
failures while during the lookup, or else it can fail with a "returned
a result with an exception set" error.

Add some missing ones in bytes and weakref/
Co-authored-by: Vinay Sajip <vinay_sajip@yahoo.co.uk>
…159445)

Make knownfiles empty on Windows so that only the registry is used by default. Files passed to init() or assigned to knownfiles explicitly are still read.
…d multipart (#159306)

MIMEPart._find_body() incorrectly checked self.is_multipart() instead of
part.is_multipart() when recursing.
Thes are based on Steve Dower's answer (to my questions) at
https://discuss.python.org/t/python-3-16-0-alpha-1-is-now-available/109466/11.

Update sentence about updates to note that site-packages and Scripts
directories are left alone.

Add a link to the administer configuration section.
---------

Co-authored-by: Steve Dower <steve.dower@microsoft.com>
)

Add a regression test to make sure isinstance() reads the items of a
tuple subclass directly, without calling its __iter__(), __getitem__()
or __len__().
…58608)" (#159519)

This reverts commit f5e913c.

Truncating the static buffer to 20 bytes caused a regression in debuggers
and crash reporters checking `version` static buffer, see:
#158608 (comment)
…OS & iOS (#159403)

- Generalize `@requires_mac_ver` logic to add `@requires_ios_ver`
- Skip test_readlink_is_marked_as_supports_fd() on lower Apple OS versions
…kinter (GH-159309)

Fix inaccurate descriptions of the color, wrap, boolean, bitmap,
callback, font, region and anchor types, and remove the obsolete
"geometry" type: there is no such widget option.

Add the compound, orient, padding and state types.

Fix also several minor errors in the reference.
test_deeply_dotted_name() builds a 10,000-deep chain of lazy import
placeholders in a thread with a 256 KiB C stack.  Freeing the chain
there defers most deallocations to the trashcan, which only drains them
once the stack margin recovers.  With a stack that small the margin
never does, so the deferred objects were leaked when the thread exited,
which -R reports as a reference leak on platforms with larger frames
such as PPC64LE.

Clear the namespace in a cleanup, which runs on the main thread.
Fix 'CheckDtraceProbes' tests by reading available probes from the test process itself.

Co-authored-by: Victor Stinner <vstinner@python.org>
)

_PyUnicodeWriter_CanWrite() doesn't call _PyUnicode_IsModifiable(),
but reimplement the function.
…gh-159269)

Setting __name__, __qualname__, __doc__ or __module__ on a function
stopped the world in the free-threaded build since gh-154826 and
gh-154851, making functools.wraps() orders of magnitude slower with
multiple threads.

Use the per-object critical section and _PyObject_XSetRefDelayed()
instead, as gen_set_name() already does.  Use acquire loads in the
readers and hold strong references across error reporting, tracing, and
eval-frame recording that may execute Python or detach the thread.  The
__code__, __defaults__, __kwdefaults__ and __closure__ setters still
stop the world to clear func_version.

Document synchronization requirements for direct field access and the
lifetime of borrowed function attributes.
… 9.1 (GH-159527)

Tk 9.1 no longer provides this command.  Use "wm attributes -stylemask
docmodal" instead, as Tk itself does for its balloon window.  The calls
were silently ignored, so the completion list and the call tip could
grab the focus on macOS.
…le (#137972)

* Add comprehensive key-value type documentation to dbm module

* Clarify dbm type support and extend type coverage tests

* Re-clarify traditional dbm backend types and drop dumb bytearray test

* Clarify dbm docs for sqlite3 array storage bytes example

* Clarify dbm.dumb bytearray handling and cover with test

* docs: apply devguide style guide to dbm key and value types

* Correct the claim that dbm keys and values are handled identically

Co-authored-by: Pieter Eendebak <pieter.eendebak@gmail.com>

---------

Co-authored-by: Pieter Eendebak <pieter.eendebak@gmail.com>
…-159623)

Follow asynchronous-generator send/throw wrappers when unwinding suspended
and running asyncio tasks.

Co-authored-by: Pablo Galindo Salgado <pablogsal@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.