[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#49317: dist: depends on $(BUILT_SOURCES), but has no reason to
From: |
Allison Karlitskaya |
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@fb.com>
AuthorDate: Thu Mar 20 12:31:32 2014 -0700
Commit: Jim Meyering <meyering@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
- bug#49317: dist: depends on $(BUILT_SOURCES), but has no reason to,
Allison Karlitskaya <=