coreutils
[Top][All Lists]
Advanced

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

Re: [PATCH 00/22] Patches to avoid use of make recursion in the 'src/' s


From: Stefano Lattarini
Subject: Re: [PATCH 00/22] Patches to avoid use of make recursion in the 'src/' subdir
Date: Sat, 01 Sep 2012 10:34:48 +0200

On 09/01/2012 10:20 AM, Stefano Lattarini wrote:
> On 09/01/2012 10:08 AM, Jim Meyering wrote:
>> Stefano Lattarini wrote:
>>> This is a re-spin, extension and follow-up to this previous series:
>>>
>>>     <http://lists.gnu.org/archive/html/coreutils/2012-08/msg00257.html>
>>>
>>> plus other follow-up fixlets and refactoring.  Thanks to Jim Meyering
>>> for his testing of earlier iterations of this series, and his relentless
>>> reporting of problems and errors.
>>
>> Thanks for all of the work.
>> However, even with all of that, "make distcheck" still fails, when
>> trying to build prog.1 when the required src/prog does not yet exist.
>> (it must be run with --help)
>>
>> Here's a first required patch.
>>
>> From cecef0d2f7ff7e4092cc991a7b8d2b0bceadf0ee Mon Sep 17 00:00:00 2001
>> From: Jim Meyering <address@hidden>
>> Date: Sat, 1 Sep 2012 10:00:26 +0200
>> Subject: [PATCH] build: make each man/prog.1 depend on src/prog, not
>>  src/prog.c
>>
>> * man/local.mk: Creating a prog.1 man page requires running
>> src/prog --help.
>> List the exceptions, e.g., install.1 depends on src/ginstall
>> and arch.1 depends on src/uname.
>>
> But this will force the users to have perl installed, since help2man
> will now have to be run unconditionally after the compilation step.
>
Oops, sorry, I take that back.  I see that the '.x.1' suffix rule will
be a no-op when perl is missing, so the users lacking perl will just
see a bunch of extra warning messages, but will have no real issue with
"make install" since the manpages will still distributed.

This is not so obvious at a first glance, and deserves an explanatory
comment in the code IMHO.

The catch is that, after you patch, all the users with perl will have
two copies of each manapge: one in $(srcdir), distributed, and one in
$(builddir), rebuilt by "make all".  Which is a sort of confusion for
humans, and might maybe confuse some make implementation too ...

Regards,
  Stefano



reply via email to

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