bug-texinfo
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Breakage in out-of-tree builds


From: Gavin Smith
Subject: Re: Breakage in out-of-tree builds
Date: Sun, 16 Apr 2017 11:24:59 +0100
User-agent: Mutt/1.5.23 (2014-03-12)

On Sat, Apr 15, 2017 at 11:12:05PM +0200, Hans-Bernhard Bröker wrote:
> the recent round of updates to the gnulib stuff triggered what must be 
> a rather old bug in the tp/maintain/regenerate_docstr.pl script.

I suspect it is the update to the translation files, rather than the 
gnulib update.

> completely fails to work in out-of-tree, a.k.a. VPATH builds.  The problem
> is that this perl script writes makefile rules into tp/Makefile.docstr which
> look like this:
> 
> $(srcdir)/../po_document/'"$lingua.gmo"':
> $(srcdir)/../po_document/'"$lingua.po"'
>       cd $(srcdir)/../po_document/ && $(MAKE) $(AM_MAKEFLAGS) '"$lingua.gmo"'
> 
> But in a VPATH build, there is no makefile in $(srcdir)/../po_document. The
> Makefile to be used is in $(builddir)/../po_document instead, or the shorter
> version: ../po_document.  So the above rule really should become
> 
> $(srcdir)/../po_document/'"$lingua.gmo"':
> $(srcdir)/../po_document/'"$lingua.po"'
>       cd ../po_document/ && $(MAKE) $(AM_MAKEFLAGS) '"$lingua.gmo"'

I think that the *.gmo files should be built in the srcdir, because that 
is where they are in a distribution archive.  They are copied from 
po_document/ to under tp/LocaleData/ when 'make' is run.

This is the old problem with generated files being or not being tracked 
in version control. The *.gmo files are not tracked at the moment. If 
they had been tracked, they would not have been out-of-date in your SVN 
checkout.

I can think of two possible fixes:
* Track the generated *.gmo files under po_document in SVN.
* Remove the makefile rules in tp/Makefile.docstr (via the script you 
mentioned) in order not to regenerate the *.gmo files.  They would have 
to be regenerated at some other time.

> Or maybe it should just run a single sub-make in po_document from tp's
> $(builddir) and be done with that, instead of one sub-make per out-of-date
> .po file target.

"make update-gmo" seems to be the commmand to do this.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]