[Top][All Lists]
[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