Ville Skyttä writes:
On Monday 16 March 2009, Stephen J. Turnbull wrote:
> Ville Skyttä writes:
> > And in the places we want to kludge around its usual behavior, the
> > wanted behavior and the reason for it needs to be documented. I
> > could spend some time trying to clean things up but without
> > documentation why the kludges exist, doing so would lead to
> > "bikeshed discussions".
>
> Examples of undocumented differences?
--infodir's default handling;
You'll have to get Mike to discuss that. He insists that things be
done as they are, but I've never personally had any reason to care one
way or the other (no personal config problems, no need for the
features he added, and I don't recall ever getting user questions
either). [The package hierarchy configuration is a different matter,
that has been controversial since the release of 21.4.0 IIRC.]
standard CC, CPP, CFLAGS, LDFLAGS, LIBS, CPPFLAGS from environment
vs a myriad of --with-* options for them
(practically the whole "Compilation options" section);
The rationale is that "standard settings for standard variables" don't
work. The GNU utilities in lib-src can't be compiled as C++, for
example, and some commonly used options for C and C++ are not shared
with the other. These --with-build-option flags are basically
developer options, for people who want to build with C++ to get the
benefits of better static type-checking and the like, or who want to
turn optimization off in XEmacs but not in the utilities. These flags
allow fairly flexible merging and sanity checking of configurations
used by developers.
If you're build a production XEmacs, I would assume that you use C,
and the same build environment for both XEmacs and the lib-src
utilities probably makes the best sense. AFAIK the default settings
of the --with-build-option options are transparent to the usual
environment variables. If that's not true it's a bug and should be
fixed. Probably those options should just be documented as "for
developers only; production builds should use the traditional
environment variables".
--localstatedir vs --with-statedir; --docdir vs --with-docdir;
--sysconfdir vs --with-etcdir
AFAIK that's lossage from the autoconf 2.13 -> autoconf 2.5x
transition. The autoconf people decided that only built-in options
can do without the --with (or --enable) prefix, but they also decided
that FHS standard hierarchy would be enforced this way, and that they
would change some of the traditional names. That turned out to be
very unfriendly to non-Linux systems and users, who were supported by
migrating the old familiar names that autoconf no longer supports to
--with variants. Ie, if --statedir doesn't work, then --with-statedir
will.
Probably after several years of this policy by autoconf, everybody's
more or less used to the new terminology and we could do without the
bandaids, but anybody who submits a patch to rationalize the user-
visible options is going to need to be around on c.e.x and xemacs-beta
to hold hands of users whose build scripts fail when the options they
use disappear or start doing something different.
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta