[Python-Dev] Usage of --with- configure options
Guido van Rossum
guido@python.org
Mon, 02 Oct 2000 06:30:45 -0500
> I noticed that Python's configure.in does not follow the autoconf
> style for using --enable- options. The autoconf documentation says
>
> # Some packages require, or can optionally use, other software packages
> # which are already installed. The user can give `configure' command
> # line options to specify which such external software to use. The
> # options have one of these forms:
> #
> # --with-PACKAGE[=ARG]
> # --without-PACKAGE
> ...
> # If a software package has optional compile-time features, the user
> # can give `configure' command line options to specify whether to compile
> # them. The options have one of these forms:
> #
> # --enable-FEATURE[=ARG]
> # --disable-FEATURE
>
> So --with- options should be used for integrating 3rd party libraries,
> --enable- options for features that that can be independently turned
> on or off.
>
> I'd conclude that the following options are provided incorrectly in
> Python 2.0: --with-pydebug (should be --enable-pydebug),
> --with(out)-cycle-gc (should be --disable-cycle-gc). Is this something
> that should change?
I noticed that too. (Arguably also for --with-thread?) I think it's
a forgiveable sin against the autoconf style guide, and not worth the
work of fixing it.
Either way the autoconf --with- or --enable- syntax is stupid because
it doesn't check for spelling errors in the options. The rationale
for that is that some folks like to pass in unsupported options to a
whole tree of configure scripts. I think that stinks, but what can I
do. This would make the fix even more work, because we would have to
trap --with*-pydebug and --with*-cycle-gc to give an error message,
else developers used to the old syntax would never notice the change.
--Guido van Rossum (home page: http://www.python.org/~guido/)