Revert Automake license to GPLv2+.
[platform/upstream/automake.git] / tests / nobase.test
1 #! /bin/sh
2 # Copyright (C) 2001, 2002, 2004, 2005, 2006, 2007, 2008, 2009  Free
3 # Software Foundation, Inc.
4 #
5 # This program is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 2, or (at your option)
8 # any later version.
9 #
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 # GNU General Public License for more details.
14 #
15 # You should have received a copy of the GNU General Public License
16 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
18 # Make sure nobase_* works.
19
20 required='gcc'
21 . ./defs || Exit 1
22
23 set -e
24
25 cat >> configure.in <<'EOF'
26 AC_PROG_CC
27 AC_PROG_RANLIB
28 AC_OUTPUT
29 EOF
30
31 cat > Makefile.am << 'EOF'
32 foodir = $(prefix)/foo
33 fooexecdir = $(prefix)/foo
34
35 foo_HEADERS = sub/base.h sub/base-gen.h
36 nobase_foo_HEADERS = sub/nobase.h sub/nobase-gen.h
37
38 dist_foo_DATA = sub/base.dat sub/base-gen.dat
39 nobase_dist_foo_DATA = sub/nobase.dat sub/nobase-gen.dat
40
41 dist_fooexec_SCRIPTS = sub/base.sh sub/base-gen.sh
42 nobase_dist_fooexec_SCRIPTS = sub/nobase.sh sub/nobase-gen.sh
43
44 fooexec_PROGRAMS = sub/base
45 nobase_fooexec_PROGRAMS = sub/nobase
46 sub_base_SOURCES = source.c
47 sub_nobase_SOURCES = source.c
48
49 fooexec_LIBRARIES = sub/libbase.a
50 nobase_fooexec_LIBRARIES = sub/libnobase.a
51 sub_libbase_a_SOURCES = source.c
52 sub_libnobase_a_SOURCES = source.c
53
54 generated_files = sub/base-gen.h sub/nobase-gen.h sub/base-gen.dat \
55 sub/nobase-gen.dat sub/base-gen.sh sub/nobase-gen.sh
56
57 $(generated_files):
58         $(MKDIR_P) sub
59         echo "generated file $@" > $@
60
61 CLEANFILES = $(generated_files)
62
63 test-install-data: install-data
64         test   -f inst/foo/sub/nobase.h
65         test ! -f inst/foo/nobase.h
66         test   -f inst/foo/sub/nobase-gen.h
67         test ! -f inst/foo/nobase-gen.h
68         test   -f inst/foo/base.h
69         test   -f inst/foo/base-gen.h
70         test   -f inst/foo/sub/nobase.dat
71         test ! -f inst/foo/nobase.dat
72         test   -f inst/foo/sub/nobase-gen.dat
73         test ! -f inst/foo/nobase-gen.dat
74         test   -f inst/foo/base.dat
75         test   -f inst/foo/base-gen.dat
76         test ! -f inst/foo/sub/pnobase.sh
77         test ! -f inst/foo/sub/pnobase-gen.sh
78         test ! -f inst/foo/pbase.sh
79         test ! -f inst/foo/pbase-gen.sh
80         test ! -f inst/foo/sub/pnobase$(EXEEXT)
81         test ! -f inst/foo/pbase$(EXEEXT)
82         test ! -f inst/foo/sub/libnobase.a
83         test ! -f inst/foo/libbase.a
84
85 test-install-exec: install-exec
86         test   -f inst/foo/sub/pnobase.sh
87         test ! -f inst/foo/pnobase.sh
88         test   -f inst/foo/sub/pnobase-gen.sh
89         test ! -f inst/foo/pnobase-gen.sh
90         test   -f inst/foo/pbase.sh
91         test   -f inst/foo/pbase-gen.sh
92         test   -f inst/foo/sub/pnobase$(EXEEXT)
93         test ! -f inst/foo/pnobase$(EXEEXT)
94         test   -f inst/foo/pbase$(EXEEXT)
95         test   -f inst/foo/sub/libnobase.a
96         test ! -f inst/foo/libnobase.a
97         test   -f inst/foo/libbase.a
98 EOF
99
100 mkdir sub
101
102 : > sub/base.h
103 : > sub/nobase.h
104 : > sub/base.dat
105 : > sub/nobase.dat
106 : > sub/base.sh
107 : > sub/nobase.sh
108
109 cat >source.c <<'EOF'
110 int
111 main (int argc, char *argv[])
112 {
113   return 0;
114 }
115 EOF
116 cp source.c source2.c
117
118 rm -f install-sh
119
120 $ACLOCAL
121 $AUTOCONF
122 $AUTOMAKE -a --copy
123 ./configure --prefix "`pwd`/inst" --program-prefix=p
124
125 $MAKE
126 $MAKE test-install-data
127 $MAKE test-install-exec
128 $MAKE uninstall
129
130 test `find inst/foo -type f -print | wc -l` = 0
131
132 $MAKE install-strip
133
134 # Likewise, in a VPATH build.
135
136 $MAKE uninstall
137 $MAKE distclean
138 mkdir build
139 cd build
140 ../configure --prefix "`pwd`/inst" --program-prefix=p
141 $MAKE
142 $MAKE test-install-data
143 $MAKE test-install-exec
144 $MAKE uninstall
145 test `find inst/foo -type f -print | wc -l` = 0