bug#22331: nodist_nobase_ variable does not treat nobase_ as a special prefix

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

bug#22331: nodist_nobase_ variable does not treat nobase_ as a special prefix

Simon McVittie
I'm using Automake 1.15 (Debian's automake package version 1:1.15-3) and
Autoconf 2.69 (autoconf 2.69-9).

If I generate a header file at runtime, and I want it installed in a
subdirectory, it makes sense to use both the nobase_ and nodist_
prefixes. However, these only work as I'd expect if nobase_ is first.

Complete project attached, of which the important part is:

nobase_pkginclude_HEADERS = foo/bar.h
nobase_nodist_pkginclude_HEADERS = foo/nb-nd.h
nodist_nobase_pkginclude_HEADERS = foo/nd-nb.h

Steps to reproduce:

autoreconf -fi && ./configure && make
make install DESTDIR=$(pwd)/DESTDIR
find DESTDIR -type f

Expected result:

DESTDIR/usr/local/include/example/foo/bar.h
DESTDIR/usr/local/include/example/foo/nb-nd.h
DESTDIR/usr/local/include/example/foo/nd-nb.h

Alternative result which would also be OK:

* Documentation mentions that nobase_ must come before nodist_ if both
  are used
* A warning from automake tells me I've probably made a mistake

Actual result:

* nd-nb.h is missing
* No warning

Looking at the generated Makefile, nobase_pkginclude_HEADERS and
nobase_nodist_pkginclude_HEADERS are to be installed to $(pkgincludedir)
as I would expect, but nodist_nobase_pkginclude_HEADERS are to be
installed to $(nobase_pkgincludedir), which is not defined, so they are
skipped.

--
Simon McVittie
Collabora Ltd. <http://www.collabora.com/>

example.tar.gz (1K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

bug#22331: nodist_nobase_ variable does not treat nobase_ as a special prefix

Nick Bowler
On 1/8/16, Simon McVittie <[hidden email]> wrote:
> I'm using Automake 1.15 (Debian's automake package version 1:1.15-3) and
> Autoconf 2.69 (autoconf 2.69-9).
>
> If I generate a header file at runtime, and I want it installed in a
> subdirectory, it makes sense to use both the nobase_ and nodist_
> prefixes. However, these only work as I'd expect if nobase_ is first.
[...]
> Alternative result which would also be OK:
>
> * Documentation mentions that nobase_ must come before nodist_ if both
>   are used

The manual /does/ mention this:

  7.3 "An Alternative Approach to Subdirectories"[1]

  'nobase_' should be specified first when used in conjunction with
  either 'dist_' or 'nodist_' ...  For instance:

      nobase_dist_pkgdata_DATA = images/vortex.pgm sounds/whirl.ogg

[1] https://gnu.org/software/automake/manual/automake.html#Alternative

Cheers,
  Nick