Han-Wen Nienhuys <hanw...@gmail.com> writes: >> > I think it's easier if we give up on intelligence here, and just >> > recommend ccache. >> >> That does not seem like much of a help for the problem case at hand. > > > Autoconf tries to leave the config.h alone, using content based checks. > > I assume it does this because touching config.h triggers an expensive > global recompile in timestamp-based build systems, like make. > > Our GNUmakefile tries to detect changes to config.h.in using timestamps, > but autconf (see above) won't overwrite the file unless it really changed, > so the default doesn't do the right thing. > > Our comment says: > > # this is to prevent people from getting > # undefined symbols when we add them to config.h.in, > # and they blindly run "cvs update; make". > > the mention of CVS shows you how old this comment is. > > My proposal is to have configure always regenerate config.h, because > ccache makes the full rebuild almost free, so we don't need configure's > cleverness.
The fix I proposed would be the complicated way to achieve that. Probably simpler is calling autoconf with the option --force in autogen.sh. Maybe that is what we should recommend instead in the Makefile instructions. -- David Kastrup