Re: [patch] make info regression on --with-system-readline

Eli Zaretskii
2011-01-01T10:00:43Z

> Date: Sat, 1 Jan 2011 10:38:15 +0100
> From: Jan Kratochvil <jan.kratochvil@redhat.com>
> Cc: gdb-patches@sourceware.org, tromey@redhat.com
>
> On Sat, 01 Jan 2011 10:25:21 +0100, Eli Zaretskii wrote:
> > Aren't you supposed to "make distclean" whenever you reconfigure?
>
> In normal projects I am not used to. In GDB I do "make clean" but it may not
> be fully reliable, I believe there is more broken in GDB build system.

"make distclean" _should_ be reliable, since its main raison d'etre is
to allow a clean build after re-configuration. So maybe we should fix
that instead (e.g., it doesn't currently remove GDBvn.texi).

> But even if you do just first configure it is now broken in GDB as the files
> get inappropriately distributed.

Sorry, I don't follow. Can you describe the scenario in more detail?

> > E.g., what about all the *.o files you didn't remove?
>
> They depend on config.h which gets regenerated.

Ah, yes, that nuisance. I remember complaining about that a few years
ago, but my opinions were voted down.

> Maybe if you only change CFLAGS and config.h stays the same (and it preserves
> its timestamp). you would need `make clean'.

But that's just it: without a very thorough examination of the
Makefile's, you cannot tell whether a given project will DTRT after
reconfiguration, unless you "make distclean".

> > However, I don't like rules that depend of Makefiles, because they
> > tend to be re-run too much for no good reason. Note that this will
> > re-make the docs each time you reconfigure, even if you didn't change
> > the configuration.
>
> We can stamp etc. GDBvn.texi if it is a concern (I do not find it so).

I prefer to do with GDBvn.texi what many projects do with config.h:
regenerate it on a temporary file, then use move-if-change to move it
into the real file. Would that resolve your problem? It certainly
resolves mine.

> > > Another issue is that GDBvn.texi and gdb-cfg.texi should not be distributed.
> >
> > How can we not distribute them when gdb.texinfo @include's them, and
> > needs that for setting some of the variables the manual uses? If we
> > don't distribute them, end users will be unable to rebuild the manual.
> > What am I missing here?
>
> Both files are generated from gdb/doc/Makefile.

Yes, sorry, I was before my breakfast coffee. See my other message
with more sensible responses (I hope).