From: Ralf Wildenhues Date: Sat, 28 Mar 2009 17:03:15 +0000 (+0100) Subject: Ensure that empty directory variables work with empty content variables. X-Git-Tag: v1.10b~5^2~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0930139923e8db0b0334e17dc379682a63f73831;p=thirdparty%2Fautomake.git Ensure that empty directory variables work with empty content variables. This test ensures that, if both $(wheredir) and $(where_HOW) are the empty string, then the `install' and `uninstall' rules behave sanely, for several directory variables `wheredir' and several primaries `HOW'. * tests/instdir.test: New test. * tests/Makefile.am: Update. Signed-off-by: Ralf Wildenhues --- diff --git a/ChangeLog b/ChangeLog index 2ae89ef95..113e16f36 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2009-03-28 Ralf Wildenhues + + Ensure that empty directory variables work with empty content variables. + This test ensures that, if both $(wheredir) and $(where_HOW) are + the empty string, then the `install' and `uninstall' rules behave + sanely, for several directory variables `wheredir' and several + primaries `HOW'. + * tests/instdir.test: New test. + * tests/Makefile.am: Update. + 2009-03-23 Ralf Wildenhues Use --tag=FC with libtool also for .f90 files. diff --git a/tests/Makefile.am b/tests/Makefile.am index 8a6568484..4b32ad039 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -309,6 +309,7 @@ instsh2.test \ instsh3.test \ instdat.test \ instdat2.test \ +instdir.test \ instexec.test \ instfail.test \ instfail-info.test \ diff --git a/tests/Makefile.in b/tests/Makefile.in index 32744bad9..e1df612d7 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -464,6 +464,7 @@ instsh2.test \ instsh3.test \ instdat.test \ instdat2.test \ +instdir.test \ instexec.test \ instfail.test \ instfail-info.test \ diff --git a/tests/instdir.test b/tests/instdir.test new file mode 100755 index 000000000..ceed66c9e --- /dev/null +++ b/tests/instdir.test @@ -0,0 +1,71 @@ +#! /bin/sh +# Copyright (C) 2009 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 3, 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 . + +# If $(foodir) is the empty string, then nothing should be installed there. +# This test only ensures this if $(foo_PRIMARY) is also empty, see +# instdir2.test and siblings instdir-*.test for nonempty contents. + +. ./defs || Exit 1 + +set -e + +cat >>configure.in <<'END' +AC_SUBST([foodir], ['${datadir}'/foo]) +AC_OUTPUT +END + +cat >Makefile.am <<'END' +bin_SCRIPTS = +nobase_bin_SCRIPTS = +data_DATA = +nobase_data_DATA = +include_HEADERS = +nobase_include_HEADERS = +foo_DATA = +nobase_foo_DATA = +bardir = $(datadir)/bar +bar_DATA = +nobase_bar_DATA = +man1_MANS = +man_MANS = +notrans_man1_MANS = +notrans_man_MANS = +END + +$ACLOCAL +$AUTOCONF +$AUTOMAKE --add-missing + +instdir=`pwd`/inst +destdir=`pwd`/dest +mkdir build +cd build +../configure --prefix="$instdir" +$MAKE + +bindir= datadir= includedir= foodir= bardir= man1dir= man2dir= +export bindir datadir includedir foodir bardir man1dir man2dir + +$MAKE -e install +test ! -d "$instdir" +$MAKE -e install DESTDIR="$destdir" +test ! -d "$instdir" +test ! -d "$destdir" +$MAKE -e uninstall > stdout || { cat stdout; Exit 1; } +cat stdout +grep 'rm -f' stdout && Exit 1 +$MAKE -e uninstall DESTDIR="$destdir" +: