178 lines
4.5 KiB
Bash
Executable File
178 lines
4.5 KiB
Bash
Executable File
#! /bin/sh
|
|
# Copyright (C) 2001, 2002, 2004, 2005, 2006, 2007, 2008 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/>.
|
|
|
|
# Test installation with substitutions. This test is based on nobase.test.
|
|
|
|
required='gcc'
|
|
. ./defs || Exit 1
|
|
|
|
set -e
|
|
|
|
cat >> configure.in <<'EOF'
|
|
AC_PROG_CC
|
|
AC_PROG_RANLIB
|
|
if test -n "$doit"; then
|
|
AC_SUBST([basehdr], [sub/base.h])
|
|
AC_SUBST([nobasehdr], [sub/nobase.h])
|
|
AC_SUBST([basedata], [sub/base.dat])
|
|
AC_SUBST([nobasedata], [sub/nobase.dat])
|
|
AC_SUBST([basescript], [sub/base.sh])
|
|
AC_SUBST([nobasescript], [sub/nobase.sh])
|
|
AC_SUBST([baseprog], ['sub/base$(EXEEXT)'])
|
|
AC_SUBST([nobaseprog], ['sub/nobase$(EXEEXT)'])
|
|
AC_SUBST([baselib], [sub/libbase.a])
|
|
AC_SUBST([nobaselib], [sub/libnobase.a])
|
|
fi
|
|
AC_OUTPUT
|
|
EOF
|
|
|
|
cat > Makefile.am << 'EOF'
|
|
foodir = $(prefix)/foo
|
|
fooexecdir = $(prefix)/foo
|
|
|
|
foo_HEADERS = @basehdr@
|
|
nobase_foo_HEADERS = @nobasehdr@
|
|
EXTRA_HEADERS = sub/base.h sub/nobase.h
|
|
|
|
dist_foo_DATA = @basedata@
|
|
nobase_dist_foo_DATA = @nobasedata@
|
|
|
|
dist_fooexec_SCRIPTS = @basescript@
|
|
nobase_dist_fooexec_SCRIPTS = @nobasescript@
|
|
EXTRA_SCRIPTS = sub/base.sh sub/nobase.sh
|
|
|
|
fooexec_PROGRAMS = @baseprog@
|
|
nobase_fooexec_PROGRAMS = @nobaseprog@
|
|
EXTRA_PROGRAMS = sub/base sub/nobase
|
|
sub_base_SOURCES = source.c
|
|
sub_nobase_SOURCES = source.c
|
|
|
|
fooexec_LIBRARIES = @baselib@
|
|
nobase_fooexec_LIBRARIES = @nobaselib@
|
|
EXTRA_LIBRARIES = sub/libbase.a sub/libnobase.a
|
|
sub_libbase_a_SOURCES = source.c
|
|
sub_libnobase_a_SOURCES = source.c
|
|
|
|
test-install-data: install-data
|
|
test -f inst/foo/sub/nobase.h
|
|
test ! -f inst/foo/nobase.h
|
|
test -f inst/foo/base.h
|
|
test -f inst/foo/sub/nobase.dat
|
|
test ! -f inst/foo/nobase.dat
|
|
test -f inst/foo/base.dat
|
|
test ! -f inst/foo/sub/pnobase.sh
|
|
test ! -f inst/foo/pbase.sh
|
|
test ! -f inst/foo/sub/pnobase$(EXEEXT)
|
|
test ! -f inst/foo/pbase$(EXEEXT)
|
|
test ! -f inst/foo/sub/libnobase.a
|
|
test ! -f inst/foo/libbase.a
|
|
|
|
test-install-exec: install-exec
|
|
test -f inst/foo/sub/pnobase.sh
|
|
test ! -f inst/foo/pnobase.sh
|
|
test -f inst/foo/pbase.sh
|
|
test -f inst/foo/sub/pnobase$(EXEEXT)
|
|
test ! -f inst/foo/pnobase$(EXEEXT)
|
|
test -f inst/foo/pbase$(EXEEXT)
|
|
test -f inst/foo/sub/libnobase.a
|
|
test ! -f inst/foo/libnobase.a
|
|
test -f inst/foo/libbase.a
|
|
|
|
test-install-nothing-data: install-data
|
|
test ! -f inst/foo/sub/nobase.h
|
|
test ! -f inst/foo/nobase.h
|
|
test ! -f inst/foo/base.h
|
|
test ! -f inst/foo/sub/nobase.dat
|
|
test ! -f inst/foo/nobase.dat
|
|
test ! -f inst/foo/base.dat
|
|
test ! -f inst/foo/sub/pnobase.sh
|
|
test ! -f inst/foo/pbase.sh
|
|
test ! -f inst/foo/sub/pnobase$(EXEEXT)
|
|
test ! -f inst/foo/pbase$(EXEEXT)
|
|
test ! -f inst/foo/sub/libnobase.a
|
|
test ! -f inst/foo/libbase.a
|
|
|
|
test-install-nothing-exec: install-exec
|
|
test ! -f inst/foo/sub/pnobase.sh
|
|
test ! -f inst/foo/pnobase.sh
|
|
test ! -f inst/foo/pbase.sh
|
|
test ! -f inst/foo/sub/pnobase$(EXEEXT)
|
|
test ! -f inst/foo/pnobase$(EXEEXT)
|
|
test ! -f inst/foo/pbase$(EXEEXT)
|
|
test ! -f inst/foo/sub/libnobase.a
|
|
test ! -f inst/foo/libnobase.a
|
|
test ! -f inst/foo/libbase.a
|
|
EOF
|
|
|
|
mkdir sub
|
|
|
|
: > sub/base.h
|
|
: > sub/nobase.h
|
|
: > sub/base.dat
|
|
: > sub/nobase.dat
|
|
: > sub/base.sh
|
|
: > sub/nobase.sh
|
|
|
|
cat >source.c <<'EOF'
|
|
int
|
|
main (int argc, char *argv[])
|
|
{
|
|
return 0;
|
|
}
|
|
EOF
|
|
cp source.c source2.c
|
|
|
|
rm -f install-sh
|
|
|
|
$ACLOCAL
|
|
$AUTOCONF
|
|
$AUTOMAKE -a --copy
|
|
./configure --prefix "`pwd`/inst" --program-prefix=p doit=yes
|
|
|
|
$MAKE
|
|
$MAKE test-install-data
|
|
$MAKE test-install-exec
|
|
$MAKE uninstall
|
|
$MAKE clean
|
|
|
|
test `find inst/foo -type f -print | wc -l` = 0
|
|
|
|
./configure --prefix "`pwd`/inst" --program-prefix=p doit=
|
|
|
|
$MAKE
|
|
$MAKE test-install-nothing-data
|
|
$MAKE test-install-nothing-exec
|
|
$MAKE uninstall
|
|
|
|
|
|
# Likewise, in a VPATH build.
|
|
|
|
$MAKE distclean
|
|
mkdir build
|
|
cd build
|
|
../configure --prefix "`pwd`/inst" --program-prefix=p doit=yes
|
|
$MAKE
|
|
$MAKE test-install-data
|
|
$MAKE test-install-exec
|
|
$MAKE uninstall
|
|
test `find inst/foo -type f -print | wc -l` = 0
|
|
|
|
../configure --prefix "`pwd`/inst" --program-prefix=p doit=
|
|
$MAKE
|
|
$MAKE test-install-nothing-data
|
|
$MAKE test-install-nothing-exec
|