coverage: an empty foo_PRIMARY should create directory $(foodir)
authorStefano Lattarini <stefano.lattarini@gmail.com>
Mon, 12 Mar 2012 13:41:04 +0000 (14:41 +0100)
committerStefano Lattarini <stefano.lattarini@gmail.com>
Mon, 12 Mar 2012 13:41:28 +0000 (14:41 +0100)
For example, a Makefile.am containing the definition:

  pkgdata_DATA =

should cause the 'install' rule of the generated Makefile.in to
create the '$(pkgdatadir)' directory (respecting any DESTDIR
setting as well).

Suggestion by Peter Breitenlohner in automake bug#10997.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
tests/instdir-empty.test [new file with mode: 0644]
tests/list-of-tests.mk

diff --git a/tests/instdir-empty.test b/tests/instdir-empty.test
new file mode 100644 (file)
index 0000000..f699583
--- /dev/null
@@ -0,0 +1,58 @@
+#! /bin/sh
+# Copyright (C) 2012 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# An empty "foo_PRIMARY" declaration should cause "make install" to create
+# directory $(foodir).  Suggested in discussion on automake bug#10997.
+
+. ./defs || Exit 1
+
+set -e
+
+echo AC_OUTPUT >> configure.in
+
+cat > Makefile.am << 'END'
+pkgdata_DATA =
+libexec_SCRIPTS =
+END
+
+$ACLOCAL
+$AUTOMAKE
+$AUTOCONF
+
+cwd=`pwd`
+./configure --prefix="$cwd/inst"
+
+$MAKE install
+test -d inst/share/$me
+test -d inst/libexec
+rm -rf inst
+
+$MAKE install-exec
+test ! -d inst/share
+test -d inst/libexec
+rm -rf inst
+
+$MAKE install-data
+test -d inst/share/$me
+test ! -d inst/libexec
+rm -rf inst
+
+./configure --prefix=/foo
+$MAKE install DESTDIR=$cwd/dest
+test -d dest/foo/share/$me
+test -d dest/foo/libexec
+
+:
index 7fd0376..0ee0711 100644 (file)
@@ -460,6 +460,7 @@ instdat2.test \
 instdir.test \
 instdir2.test \
 instdir-cond.test \
+instdir-empty.test \
 instdir-java.test \
 instdir-lisp.test \
 instdir-ltlib.test \