On Nov 6, 2007, at 8:43 AM, Ralf Wildenhues wrote:
* Benoit Sigoure wrote on Tue, Nov 06, 2007 at 06:17:19AM CET:On Nov 6, 2007, at 5:20 AM, Ralf Wildenhues wrote:AC_CONFIG_FILES should not live in the source tree and should not be packaged. Our manual even states:| Be sure to distribute @file{package.m4} and to put it into the source| hierarchy: the test suite ought to be shipped!What's wrong with having package.m4.in in your source tree and in AC_CONFIG_FILES and letting configure (well, actually config.status) generate package.m4?Then config.status generates package.m4 (unconditionally!), so make mustrecreate the testsuite (which depends on package.m4) using autom4te.But autom4te is a developer tool, which we assume the end-user does nothave. For the Autoconf package itself, that is not so much of a problem: itships autom4te. But for every other package, you just now need Autoconf installed on the end-user's system. That is one of the non-design- goalsof Autoconf. testsuite should be shipped (so autom4te is not needed), which in turnmeans all its prerequisites should be shipped. And none of those shoulddepend on files that are not distributed, because it will otherwisebreak builds from read-only source trees. distcheck should tell you sofor your own package.
Yes I know all this, I just did not realize that since package.m4 is generated, it'd trigger a rebuild of testsuite. That's indeed a problem. Is there really no way of, say, distributing the package.m4 produced by config.status? Overall this is not very important, it's just that I like this solution better because the Makefile.am does not need to contain this rule and its hacks, and this looks like a perfect job for config.status.
-- Benoit Sigoure aka Tsuna EPITA Research and Development Laboratory
PGP.sig
Description: This is a digitally signed message part
