unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Missing dependencies in lib-src/Makefile.in
@ 2013-04-06 12:34 Eli Zaretskii
  2013-04-06 20:27 ` Paul Eggert
  0 siblings, 1 reply; 2+ messages in thread
From: Eli Zaretskii @ 2013-04-06 12:34 UTC (permalink / raw)
  To: emacs-devel

Since lib-src/Makefile.in doesn't use the automatic dependencies, all
the prerequisite header files should be spelled out explicitly, I
think, or else we will have subtle bugs.  But I don't see the required
dependencies in some cases.

Specifically, many sources include standard headers that are replaced
by gnulib in ../lib.  However, there are no prerequisite ../lib/*.h
files in lib-src/Makefile.in, with a single exception of min-max.h for
pop.o (ebrowse.c also includes min-max.h, but does not have it as a
prerequisite).

In most cases, we should probably be safe, because all the executables
are produced by compiling their *.c files, and have ../lib/libgnu.a as
their prerequisite.  So any change in lib is likely to trigger
recompilation because libgnu.a will be rebuilt.

But there are exceptions: pop.o and regex.o.  AFAICS, they will not be
recompiled if some of the headers in lib/ are modified, because none
of their prerequisites depend directly or indirectly on gnulib
headers.

Am I missing something?  If not, should this be fixed?



^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Missing dependencies in lib-src/Makefile.in
  2013-04-06 12:34 Missing dependencies in lib-src/Makefile.in Eli Zaretskii
@ 2013-04-06 20:27 ` Paul Eggert
  0 siblings, 0 replies; 2+ messages in thread
From: Paul Eggert @ 2013-04-06 20:27 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

On 04/06/2013 05:34 AM, Eli Zaretskii wrote:
> Am I missing something?  If not, should this be fixed?

The usual way that we handle this in other projects is to use
Automake.  Automake computes the dependencies automatically, for
the current build, and this simplifies the maintainers' job.
The Emacs build procedure was developed before Automake existed,
so it's not surprising that it doesn't use Automake,
but maybe now would be as good a time as any to start using it.



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-04-06 20:27 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-04-06 12:34 Missing dependencies in lib-src/Makefile.in Eli Zaretskii
2013-04-06 20:27 ` Paul Eggert

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).