Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

RE: autoconf 2.5 (Re: PATCH: terminfo horor)



> Andrey wrote:
> >
> > right; but to do it we need make configure puts into config.status (or
> as
> > init part of running config.modules.sh) information that modules may
> need to
> > make decision. Using cache variables was big mistake to start with :(
> 
> Why do the decisions modules make need to be re-made when config.status
> runs? Can't we just evaluate decisions once, in configure, and store the
> answers in config.status?
> 

well, that's what it always did actually :)

before starting to hack around configure we probably need to define the
final goal. For module build some options are

- module source location (in-tree vs. off-tree)
- module detection (pre-configure, configure, post-configure)
- module configuration (single configure possibly built from different
sources vs. per-module configure)
- build time (in-tree vs. off-tree)

having modules always in tree makes it possible to automate module detection
completely; i.e. Makfefile can just always rescan for changed modules and
rebuild necessary files if list has changed.

Supporting them off-tree facilitates independent modules development but I
have a feeling it is unlikely to be an issue in the near future :)

Having separate per-module configure has one problem of passing results of
main configure testing down because 2.5 disables caching by default. I could
not find suitable solution to this problem unless recent autoconf has
changed it. Besides to really utilize autoconf features list of
sub-configure has to be statically included in top-level script. Advantage
it has is that user can just drop in module source and does not need to
worry about having suitable autoconf version

Having module detection in configure (as is done currently) prevents adding
per-module configure checks (at least, using autoconf language).

So overall I am inclined to the build process that

- assumes all modules in-tree
- builds initial modules list as part of preconfig and adds rule to Makefile
to recheck and rebuild it later
- (re-)builds configure from snippets optionally supplied by modules
- provides --with-modules and --with-static-modules (with wildcard support)
to control which modules are included and which are built statically into
zsh, eliminating any auto-generated file editing.

Comments?

-andrey



Messages sorted by: Reverse Date, Date, Thread, Author