automake
[Top][All Lists]
Advanced

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

Re: limited install locations for scripts


From: Stefano Lattarini
Subject: Re: limited install locations for scripts
Date: Wed, 09 May 2012 12:27:08 +0200

On 05/06/2012 09:07 PM, Bruno Haible wrote:
> Hi,
>
Hi Bruno, sorry for the delay (I had somehow missed this mail of yours).

> The Automake manual, node "Scripts", says:
> 
>        Scripts can be installed in `bindir', `sbindir', `libexecdir',
>     `pkglibexecdir', or `pkgdatadir'.
> 
> Also http://lists.gnu.org/archive/html/automake/2012-01/msg00004.html
> confirms this.
> 
> But why is this set of install locations limited?
>
To prevent the use from using incorrect locations by mistake -- it usually
makes bi sense to install a program in $(docdir) or a library in $(bindir).

But if the user still want to use those location (because he has his
own good reasons hopefully), he can easily circumvent our checks:

  mydocdir = $(docdir)
  mydoc_LIBRARIES = libfoo.a  # Will be installed in docdir.

This is also documented in the manual ("The Uniform Naming Scheme").

> Why can't I use a subdirectory of pkgdatadir, for example?
>
You can, but ...

> How to reproduce:
> ======================== configure.ac ==================
> AC_INIT([configure.ac])
> AM_INIT_AUTOMAKE([test], [0])
> 
> pkgdatadir='${datadir}/test'
> AC_SUBST([pkgdatadir])
> 
> AC_OUTPUT([Makefile])
> ======================== Makefile.am ===================
> AUTOMAKE_OPTIONS = 1.11 foreign no-dependencies color-tests
> 
> pkglibdir = ${pkgdatadir}/lib
>
... don't name it as an already Automake-provided directory variable
(pkglibdir).  Using a different name, like 'pkgdatalibdir', should
be enough to solve your problem.

Regards,
  Stefano



reply via email to

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