summaryrefslogtreecommitdiff
path: root/t/instdir.sh
blob: bd5915bc77c76ee1fab9a817b18f013cc166ca38 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#! /bin/sh
# Copyright (C) 2009-2013 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/>.

# 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.sh' and siblings 'instdir-*.sh' for nonempty contents.

. test-init.sh

cat >>configure.ac <<'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

cwd=$(pwd) || fatal_ "getting current working directory"
instdir=$cwd/inst
destdir=$cwd/dest
mkdir build
cd build
../configure --prefix="$instdir"
$MAKE

nukedirs='bindir= datadir= includedir= foodir= bardir= man1dir=  man2dir='

run_make $nukedirs install
test ! -e "$instdir"
run_make $nukedirs install DESTDIR="$destdir"
test ! -e "$instdir"
test ! -e "$destdir"
run_make $nukedirs uninstall > stdout || { cat stdout; exit 1; }
cat stdout
grep 'rm -f' stdout && exit 1
run_make $nukedirs uninstall DESTDIR="$destdir"

: