bug-automake
[Top][All Lists]
Advanced

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

Re: Possible dist_man_MANS problem with AM 1.10.1


From: Jeff Squyres
Subject: Re: Possible dist_man_MANS problem with AM 1.10.1
Date: Fri, 20 Jun 2008 13:35:51 -0400

On Jun 20, 2008, at 1:07 PM, Ralf Wildenhues wrote:

Greetings.  I notice that "dist_man_MANS" files inside of an Automake
conditional are not unconditionally put into a distribution tarball, but
other kinds of files are.

Sounds like an inconsistency, yes. Not yet sure how to best solve this (fix semantics, or fix documentation). It'd be cool to have two bits of
information: whether the manpages are only to be installed
conditionally, or also only exist/are generated conditionally.

FWIW, we thought that we had explicitly asked for them to be unconditionally distributed via the "dist_" prefix.

The semantic difference between MANS and DATA could maybe be explained
with the fact that MANS are often generated (and sometimes with
maintainer-only tools).  Hmm.  Of course the probable cause of this is
an omission in the MANS handling; I haven't checked yet.

Agreed. But we thought that we overrode that confusion with the "dist_" prefix.

if CONDITION
dist_man_MANS = file1.1
dist_pkgdata_DATA = file2.txt
endif

After running "make dist", file2.txt is included in the tarball but
file1.1 is not.

This appears to not be a regression, 1.9.6 seems to have this, too.

If you want them to be distributed unconditionally,
 EXTRA_DIST += $(dist_man_MANS)

is a simple workaround.


FWIW, that doesn't work in my example for 2 reasons:

- Can't use += before = (trivial to fix -- I assume you were just speaking in shorthand) - Because of the false CONDITIONAL, dist_man_MANS ends up in the Makefile as:

-----
#dist_man_MANS = file1.1
-----

So $(dist_man_MANS) is empty. The solution I used in Open MPI was analogous to this:

-----
EXTRA_DIST = file1.1

if CONDITION
dist_man_MANS = file1.1
endif
-----

So I have to list the man pages twice. Slightly ick, but it does work. Alternatively, one could do something like this:

-----
my_man_pages = file1.1

EXTRA_DIST = $(my_man_pages)

if CONDITION
dist_man_MANS = $(my_man_pages)
endif
-----

Which has the benfit of only listing the pages once. Of course, if the man pages are the only thing in EXTRA_DIST, you could list those in dist_man_MANS as well, without the extra my_man_pages... I think I've beaten this horse enough. :-)

--
Jeff Squyres
Cisco Systems





reply via email to

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