GNU bug report logs - #49317
dist: depends on $(BUILT_SOURCES), but has no reason to

Previous Next

Package: automake;

Reported by: Allison Karlitskaya <allison.karlitskaya <at> redhat.com>

Date: Thu, 1 Jul 2021 14:42:01 UTC

Severity: normal

Done: Karl Berry <karl <at> freefriends.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Allison Karlitskaya <allison.karlitskaya <at> redhat.com>
To: 49317 <at> debbugs.gnu.org
Subject: bug#49317: dist: depends on $(BUILT_SOURCES), but has no reason to
Date: Thu, 1 Jul 2021 13:52:44 +0200
BUILT_SOURCES solves a useful problem and we use it in our package for
a few things.  Its stated purpose (from the docs) is all about
compilation and dependency tracking.  It makes sense that
$(BUILT_SOURCES) should then be built as a prerequisite before any
targets that result in compilation: all, check, install-exec, ...

`make dist` doesn't compile the program, though: it distributes the
sources.  And usually generated files are not distributed.  If they
were to be disted, they could be listed explicitly for being disted
(for example in a _SOURCES variable or so).  We go out of the way to
put our compiled sources in nodist_ variables, and indeed, they're not
disted.

But because of the above dependency `make dist` still builds them (and
then ignores them).

Of course, there might be a edgecase where the disted tarball should
contain content that is output by a C program which needs to be
compiled and contains, itself, some generated sources.  Indeed, this
change was introduced in 2017, in this commit:

commit ac47c22e3c0c8b055cdd47ccd18621c56f807b37
Author:     Jim Meyering <meyering <at> fb.com>
AuthorDate: Thu Mar 20 12:31:32 2014 -0700
Commit:     Jim Meyering <meyering <at> fb.com>
CommitDate: Tue Nov 28 19:05:59 2017 -0800

    "make dist" did not depend on $(BUILT_SOURCES)

in response to this report:

    https://lists.gnu.org/r/bug-hello/2014-03/msg00016.html

GNU Hello builds its manpage (which it dists) by building and running
the binary and capturing its --help output.

A blanket depend on $(BUILT_SOURCES) for all automake-using projects
seems to be much too large of a hammer to solve that specific problem.

Thanks very much,

Allison Karlitskaya





This bug report was last modified 3 years and 313 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.