This is the mail archive of the
mailing list for the binutils project.
Re: bug#11034: Binutils, GDB, GCC and Automake's 'cygnus' option
Hi Ian, Joseph, and sorry for the delay.
On 03/29/2012 01:43 AM, Ian Lance Taylor wrote:
> Stefano Lattarini <email@example.com> writes:
>>> (I think avoiding info documentation being built in the source directory,
>>> so that builds could use a non-writable source directory, may have been
>>> one part).
>> There is probably some hack to obtain this effect (it's tested in the testsuite
>> somewhere), but my opinion is that if you distribute the generated info files
>> you should also have them generated in the source directory, to avoid nasty
>> surprises (for a similar issue, involving yacc and lex, see automake bug#10852,
>> in particular messages <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10852#14>
>> and <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10852#15>).
> It's useful to be able to include .info files in releases so that people
> can build the releases without having to have makeinfo installed.
I agree on this (as did past Automake maintainers -- in fact Automake distributes
generated info files be default). But I also think that, whenever you distribute
generated files, the most sensible and safer thing to do is to have them generated
in the srcdir and not in the builddir, so that the tree from a VCS checkout and
the one extracted from a distribution tarball are similar and consistent (I held
a different opinion once, but Akim Demaille later changed my mind on this).
> It's important that it be possible to build with the sources on a
> read-only disk.
Yes, and in fact "make distcheck" verifies that this is possible. However,
assuming it is also possible to *hack* a package with the sources on a read
only disk is not warranted.
In conclusion, I see two possible sane approaches w.r.t. the handling of
generated info files:
- Have them distributed (automake's default). This means that they will
be build in the srcdir, not in the builddir: of course, this only affects
the maintainer, since for a user that builds the package from a tarball
those files should *not* be rebuilt, hence there is no problem even if
the user's srcdir is read-only.
- Don't distribute the generated info files. To obtain this effect, it is
enough to list the generated into files in the CLEANFILES variable (see
for example the tests 'txinfo23', 'txinfo24' and 'txinfo25' in the automake
testsuite). In this case, the user will have to to have the 'makeinfo'
program available to build them.