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

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



> 
> The configure script is creating config.modules twice. Second time
> round when evaluating $link using the code in terminfo.mdd,
> $ac_cv_func_tigetstr was unset. It seems the configure script runs
> config.status. By running configure with --no-create, it was happy to
> build terminfo.so. Switching from autoconf 2.57 to 2.13 also solved the
> issue.
> 

looking in current zshconfig.ac it should not do it unless something else is
buggy.

> configure cats config.modules.sh into config.status using
> AC_OUTPUT_COMMANDS which is obsolete in autoconf 2.5. Using the new
> AC_CONFIG_COMMANDS doesn't help because variables like
> $ac_cv_func_tigetstr are still not set.
> 
> Does anyone understand the real point of config.status? Why does
> configure need to run it? I get the impression that it should contain
> just a duplicate of what is in config.modules as created and recreate
> it as opposed to rerunning scripts to derive its contents.
> 

I do not remember if it was me who put it in. Anyway

- autoconf 2.13 creates output files as the final step in running configure.
It is using environment variables CONFIG_FILES et al to pass information
which files are to be created further down

- autoconf 2.5 does not create anything in configure. Instead the sole point
of configure script is to create config.status - and it is config.status
that finally does (should do) the job of creating files, making
substitutions etc

apparently zshconfig.ac  tries to detect 2.5 by checking if
$CONFIG_FILES$CONFIG_HEADERS is empty; if it is it dumps config.modules.sh
into config.status. Hmm ... and runs it once more after that ... that looks
strange.

> We really ought to ditch support for autoconf 2.13 in the 4.1 branch.
> Not having a mixture will just make things simpler.
>

yes. 2.5 makes many things simpler and more consistent. OTOH I remember I
have tried to switch over to 2.5 way - doing job in config.status - and
failed for some reasons (do not remember exactly) - I guess I attempted to
move creation of all makefiles into config.status instead of creating
makefiles during make run. Also it definitely was not portable across
2.13/2.5

we could try it once more if 2.13 compatibility is not an issue.

-andrey



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