Subject: bug#13210: [PATCH] maint: cygwin build broken

From: Stefano Lattarini <[email-masked]>
Date: Tue, 18 Dec 2012 09:58:48 +0100

On 12/18/2012 12:20 AM, Pádraig Brady wrote:
> On 12/17/2012 11:50 AM, Z. Majeed wrote:
>> Building latest git source in a non-src directory on cygwin win7 with gcc 4.5.3 is broken - a patch follows -
>> doc/local.mk: doc subdir is not created in build dir - I made it a prereq of doc/constants.texi
> 
> That seems a little hacky, for what seems like an automake bug.
> Maybe this one is the culprit?
> http://git.sv.gnu.org/gitweb/?p=automake.git;a=commit;h=v1.11-328-ge87c030
>
Nope, that change had been later reverted, before any stable release:
<http://git.sv.gnu.org/gitweb/?p=automake.git;a=commit;h=v1.11-512-g40c3432>

> I use automake-1.11.6 and the coreutils configured min version is 1.11.2.
> Specifically I'm not impacted as I have this in Makefile:
> 
> $(srcdir)/doc/version.texi:  $(srcdir)/doc/stamp-vti
> $(srcdir)/doc/stamp-vti: doc/coreutils.texi $(top_srcdir)/configure
>         test -f doc/$(am__dirstamp) || $(MAKE) $(AM_MAKEFLAGS) doc/$(am__dirstamp)
>         ...
>
This rules is there also for makefiles generated by Automake 1.12.x.

And the issue here is really not Automake's fault; the problem really likes in
the coreutil's build system, since the declaration:

   doc/constants.texi: $(top_srcdir)/src/tail.c $(top_srcdir)/src/shred.c

is hand-written in 'doc/local.mk', and is not provided by Automake.

So what suggested by the OP is not a workaround, but a fix -- and it
seems a correct fix to me (albeit a little abusing of Automake's
internal).

> BTW, Steffano, how can I see what release the above commit
> is included in?
>
No one :-)

> Only minor versions seem to be tagged?
>
How so?  I see:
<http://git.savannah.gnu.org/gitweb/?p=automake.git;a=commit;h=v1.12>

> I dislike dependency creep so am open to a workaround
> as long as we know what's going on.
>
See above.

HTH,
  Stefano