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