Hrvoje Niksic wrote:
Ben Wing <ben(a)666.com> writes:
>There is absolutely no logic to whether an option is with-FOO or
>enable-FOO. This should be fixed.
>
>
The logic is supposed to be the following:
--with-foo:
Require (or disable with --require) the use of external software
that XEmacs can link with and/or interface to. Hypothetical
examples: --with-berkeley-db, --with-gnome, --with-ssl, --with-tiff
These are typically turned off to reduce the number of dependencies of
the resulting XEmacs, or sometimes to suppress autodetection of those
libraries when such autodetection is buggy.
we have --enable-database={berkdb,...}, --enable-sound={nas,esd,...}
--enable-foo:
Gives user the choice whether to include "optional compile-time
features" into his XEmacs. Hypothetical examples: --enable-md5,
--enable-optimization, --enable-bignum, --enable-error-checking,
--enable-mule
bignum and tiff both require external libraries; so why is one --enable
and one --with in your examples?
These feaures are typically turned off to reduce code size or to
remove unnecessary (error-checking), experimental (bignum) or
untrusted (mule) features from the executable.
If a feature includes both interfacing to external software and
considerable amounts of internal code, `--with' is a safe choice.
When the software is internal or must be present in the source tree,
`--enable' should be used; it should have been `--enable-infodock'.
Some options don't follow in any of those two categories, and I'm not
sure how those are "supposed" to be handled.
This is the majority of our configure features, and they're randomly
distributed between --enable and --with.
How about --with-toolbars but --enable-menubars?
>Why don't we just dump this distinction entirely and have everything
>be with-FOO?
>
>
The idea is that people familiar with the Autoconf conventions find
XEmacs's configure easy to use. While those conventions do not bind
us, it's a good thing to respect them when possible.
The problem is, for the vast majority of features, my guess is wrong 50%
of the time.