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
