tests: remove remaining exec bits ('maint' branch)
[platform/upstream/automake.git] / t / txinfo-builddir.sh
1 #! /bin/sh
2 # Copyright (C) 2012-2013 Free Software Foundation, Inc.
3 #
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 2, or (at your option)
7 # any later version.
8 #
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 # GNU General Public License for more details.
13 #
14 # You should have received a copy of the GNU General Public License
15 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
16
17 # Check that info files are built in builddir when needed.
18 # This test that this can be done through the so far undocumented
19 # option 'info-in-builddir', as requested by at least GCC, GDB,
20 # GNU binutils and the GNU bfd library.  See automake bug#11034.
21
22 required='makeinfo tex texi2dvi'
23 . test-init.sh
24
25 echo AC_OUTPUT >> configure.ac
26
27 cat > Makefile.am << 'END'
28 AUTOMAKE_OPTIONS = info-in-builddir
29 info_TEXINFOS = foo.texi subdir/bar.texi mu.texi
30 subdir_bar_TEXINFOS = subdir/inc.texi
31 CLEANFILES = mu.info
32
33 # mu.info should not be rebuilt in the current directory, since
34 # it's up-to-date in $(srcdir).
35 # This can be caused by a subtle issue related to VPATH handling
36 # of version.texi (see also the comment in texi-vers.am): because
37 # stamp-vti is newer than version.texi, the 'version.texi: stamp-vti'
38 # rule is always triggered.  Still that's not a reason for 'make'
39 # to think 'version.texi' has been created...
40 check-local:
41         test ! -e mu.info
42         test -f ../mu.info
43 END
44
45 mkdir subdir
46
47 cat > foo.texi << 'END'
48 \input texinfo
49 @setfilename foo.info
50 @settitle foo
51 @node Top
52 Hello walls.
53 @include version.texi
54 @bye
55 END
56
57 cat > mu.texi << 'END'
58 \input texinfo
59 @setfilename mu.info
60 @settitle mu
61 @node Top
62 Mu mu mu.
63 @bye
64 END
65
66 cat > subdir/bar.texi << 'END'
67 \input texinfo
68 @setfilename bar.info
69 @settitle bar
70 @node Top
71 Hello walls.
72 @include inc.texi
73 @bye
74 END
75
76 echo "I'm included." > subdir/inc.texi
77
78 $ACLOCAL
79 $AUTOMAKE --add-missing
80 $AUTOCONF
81
82 mkdir build
83 cd build
84 ../configure
85 $MAKE info
86 test -f foo.info
87 test -f subdir/bar.info
88 test -f mu.info
89 test -f stamp-vti
90 test -f version.texi
91 test ! -e ../foo.info
92 test ! -e ../subdir/bar.info
93 test ! -e ../mu.info
94 test ! -e ../stamp-vti
95 test ! -e ../version.texi
96 $MAKE clean
97 test -f foo.info
98 test -f subdir/bar.info
99 test ! -e mu.info
100 test -f stamp-vti
101 test -f version.texi
102
103 # Make sure stamp-vti is older that version.texi.
104 # (A common situation in a real tree).
105 $sleep
106 touch stamp-vti
107
108 $MAKE distcheck
109 # Being distributed, this file should have been rebuilt.
110 test -f mu.info
111
112 $MAKE distclean
113 test -f stamp-vti
114 test -f version.texi
115 test -f foo.info
116 test -f subdir/bar.info
117 test ! -e mu.info
118
119 ../configure
120 $MAKE maintainer-clean
121 test ! -e stamp-vti
122 test ! -e version.texi
123 test ! -e foo.info
124 test ! -e subdir/bar.info
125 test ! -e mu.info
126
127 :