[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#9506: makeinfo in VPATH builds fails
From: |
Sebastian Freundt |
Subject: |
bug#9506: makeinfo in VPATH builds fails |
Date: |
Thu, 15 Sep 2011 11:09:37 +0000 |
User-agent: |
Gnus/5.110014 (No Gnus v0.14) SXEmacs/22.1.12 (linux) |
Stefano Lattarini <address@hidden> writes:
> tags 9506 wontfix
> close 9506
> thanks
>
> Hi Sebastian, thanks for the bug report.
>
> On Wednesday 14 September 2011, Sebastian Freundt wrote:
>> Package: automake
>> Version: 1.11a
>>
>> VPATH build of a project using makeinfo fails if $(srcdir) isn't writable.
>>
> Yes, this is a consequence of the fact that `.info' files are "preferably"
> generated in the srcdir; the comments in automake explain in great detail
> why and how this is done:
>
> # Until Automake 1.6.3, .info files were built in the source tree.
> # This was an obstacle to the support of non-distributed `.info'
> # files, and non-distributed `.texi' files
> #
> # [SNIP]
> #
> # Back to the point, it should be clear that in order to support
> # non-distributed .info files, we need to build them in the build
> # tree, not in the source tree. In Automake 1.7 .info build rules
> # have been largely cleaned up so that .info files get always build
> # in the build tree, even when distributed. The idea was that
> # (1) if during a VPATH build the .info file was found to be
> # absent or out-of-date (in the source tree or in the
> # build tree), Make would rebuild it in the build tree.
> # If an up-to-date source-tree of the .info file existed,
> # make would not rebuild it in the build tree.
> # (2) having two copies of .info files, one in the source tree
> # and one (newer) in the build tree is not a problem because
> # `make dist' always pick files in the build tree first.
> #
> # However it turned out the be a bad idea for several reasons:
> # * Tru64, OpenBSD, and FreeBSD (not NetBSD) Make do not behave
> # like GNU Make on point (1) above. These implementations
> # of Make would always rebuild .info files in the build
> # tree, even if such files were up to date in the source
> # tree. Consequently, it was impossible to perform a VPATH
> # build of a package containing Texinfo files using these
> # Make implementations.
> # (Refer to the Autoconf Manual, section "Limitation of
> # Make", paragraph "VPATH", item "target lookup", for an
> # account of the differences between these implementations.)
> # * The GNU Coding Standards require these files to be built
> # in the source-tree (when they are distributed, that is).
> # * Keeping a fresher copy of distributed files in the
> # build tree can be annoying during development because
> # - if the files is kept under CVS, you really want it to be
> # updated in the source tree
> # - it is confusing that `make distclean' does not erase all
> # files in the build tree.
> #
> # Consequently, starting with Automake 1.8, .info files are
> # built in the source tree again. Because we still plan to
> # support non-distributed .info files at some point, we
> # have a single variable ($INSRC) that controls whether
> # the current .info file must be built in the source tree
> # or in the build tree. Actually this variable is switched
> # off for .info files that appear to be cleaned; this is
> # for backward compatibility with package such as Texinfo ...
> #
> # [SNIP]
>
> The main point is that if you're distributing you `.info' files, you should
> ensure that they are *not* rebuilt when building from a distribution tarball
> (as that would wreak havoce with at least FreeBSD make). OTOH, if you *want*
> them to be rebuilt, you should *not* distribute them, and *also* add them to
> CLEANFILES; in this case automake will build them in the buiilddir (if it
> doesn't, than that's a bug we should fix ASAP).
>
> I've marked this bug closed as "wontfix", but feel free to continue the
> discussion here if you have further doubts to clarify or ideas to contribute.
Hi Stefano,
I've followed your suggestions, and prefixed the TEXINFOS with `nodist_'
and added them to CLEANFILES, however the .info file is now neither built
nor installed (even upon make install-info).
In my case the .info files should be rebuilt and not distributed as they
contain partially auto-generated content.
Another bug report?
Cheers
Sebastian