Improving `./configure --help` output
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 77.2k
- Forks
- 36k
- PR merge metrics
- PR metrics pending
Description
./configure --help should only show how to alter the default behaviour. Thus not articulating explicitly the default on --help, implies that not passing an option to ./configure will not imply that option. See also my article https://ab.bapha.be/posts/help-output/.
With Python 3.15.3 ./configure --help:
--enable-universalsdk[=SDKDIR]
create a universal binary build. SDKDIR specifies
which macOS SDK should be used to perform the build,
see Mac/README.rst. (default is no)
--enable-framework[=INSTALLDIR]
create a Python.framework rather than a traditional
Unix install. optional INSTALLDIR specifies the
installation path. see Mac/README.rst (default is
no)
--enable-wasm-dynamic-linking
Enable dynamic linking support for WebAssembly
(default is no)
--enable-wasm-pthreads Enable pthread emulation for WebAssembly (default is
no)
--enable-shared enable building a shared Python library (default is
no)
--enable-profiling enable C-level code profiling with gprof (default is
no)
--disable-gil enable experimental support for running without the
GIL (default is no)
--enable-pystats enable internal statistics gathering (default is no)
--enable-optimizations enable expensive, stable optimizations (PGO, etc.)
(default is no)
--enable-bolt enable usage of the llvm-bolt post-link optimizer
(default is no)
--enable-loadable-sqlite-extensions
support loadable extensions in the sqlite3 module,
see Doc/library/sqlite3.rst (default is no)
--disable-test-modules don't build nor install test modules
--without-static-libpython
do not build libpythonMAJOR.MINOR.a and do not
install python.o (default is yes)
and more…
--disable-test-modules is used as I suggested. --disable-gil should be renamed to --enable-gil. All (default is no) and (default is yes) should be removed, when the option is binary (on/off/yes/no/with/without/enabled/disabled).
When a parameter has many possible values, sometimes --help emits =[ and sometimes [=. This is inconsistent:
--enable-big-digits[=15|30]
use big digits (30 or 15 bits) for Python longs
(default is 30)]
--with-pkg-config=[yes|no|check]
use pkg-config to detect build options (default is
check)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by running ./configure --help and compare the documented binary defaults and parameter syntax with the examples in this issue and the linked article. Locate the configuration-help definitions that produce these entries, then verify that default annotations are omitted for binary options and value syntax is consistent. Done means the generated help output follows the requested wording and remains accurate.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100