bug-automake
[Top][All Lists]
Advanced

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

bug#31157: Advice for help2man does not work for parallel builds


From: Peter Johansson
Subject: bug#31157: Advice for help2man does not work for parallel builds
Date: Sun, 22 Apr 2018 09:56:28 +1000
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0

Hi Ruben and Mathieu,


On 4/22/2018 1:13 AM, Mathieu Lirzin wrote:
Hello Reuben,

Reuben Thomas <address@hidden> writes:

In the manual, we are given the following pattern for using help2man
without breaking make distcheck:

foo.1: foo.c $(top_srcdir)/configure.ac
$(MAKE) $(AM_MAKEFLAGS) foo$(EXEEXT)
help2man --output=foo.1 ./foo$(EXEEXT)

The problem is that with make -j this can result in two attempts to
make a library in parallel (suppose that we have:

foo_LDADD = libfoo.la
lib_LTLIBRARIES = libfoo.la

). This can fail, and in any case is wasteful.
Have you identified the reason why this can fail?  because

One problem is that the rule for foo.1 can be triggered before foo.$(EXEEXT) exists and the rule needs foo.$(EXEEXT) or help2man will fail. In a -j1 build this is never a problem as binaries are built before man pages.

When the 'missing' script changed behaviour in Automake 1.13 (and became useless imvho), we changed the rule in one project so foo.1 depended on foo.$(EXEEXT) but not if we are 1) building from a tarball and 2) foo.$(EXEEXT) exists.

http://dev.thep.lu.se/svndigest/browser/trunk/man/Makefile.am


Cheers,
Peter





reply via email to

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