Merge branch 'msvc' into maint
[platform/upstream/automake.git] / tests / txinfo25.test
1 #! /bin/sh
2 # Copyright (C) 2003, 2011 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 and in srcdir can safely
18 # co-exist.  This setup is obtained by having two info files, only one
19 # of which being cleaned.
20 # (Similar to txinfo16.test, plus CLEANFILES.)
21 # (See also txinfo23.test and txinfo24.test)
22
23 required='makeinfo tex texi2dvi-o'
24 . ./defs || Exit 1
25
26 set -e
27
28 cat >> configure.in << 'END'
29 AC_OUTPUT
30 END
31
32 cat > Makefile.am << 'END'
33 CLEANFILES = [a-m]*.info
34 info_TEXINFOS = main.texi other.texi
35 END
36
37 cat > main.texi << 'END'
38 \input texinfo
39 @setfilename main.info
40 @settitle main
41 @node Top
42 Hello walls.
43 @include version.texi
44 @bye
45 END
46
47 cat > other.texi << 'END'
48 \input texinfo
49 @setfilename other.info
50 @settitle other
51 @node Top
52 Hello walls.
53 @include version2.texi
54 @bye
55 END
56
57 $ACLOCAL
58 $AUTOMAKE --add-missing
59 $AUTOCONF
60
61 mkdir build
62 cd build
63 ../configure
64 $MAKE
65 test -f main.info
66 test ! -f ../main.info
67 test ! -f other.info
68 test -f ../other.info
69
70 cd ..
71 rm -rf build
72 ./configure
73 $MAKE
74 test -f main.info
75 test -f other.info
76
77 # Make sure stamp-vti is older that version.texi.
78 # (A common situation in a real tree.)
79 # This is needed to test the "subtle" issue described below.
80 test -f stamp-vti
81 test -f version.texi
82 test -f stamp-1
83 test -f version2.texi
84 $sleep
85 touch stamp-vti
86 touch stamp-1
87
88 $MAKE distclean
89 test -f stamp-vti
90 test -f stamp-1
91 test -f version.texi
92 test -f version2.texi
93
94 mkdir build
95 cd build
96 ../configure
97 $MAKE
98 # other.info should not be rebuilt in the current directory, since
99 # it's up-to-date in $(srcdir).
100 # This can be caused by a subtle issue related to VPATH handling
101 # of version.texi (see also the comment in texi-vers.am): because
102 # stamp-vti is newer than version.texi, the `version.texi: stamp-vti'
103 # rule is always triggered.  Still that's not a reason for `make'
104 # to think `version.texi' has been created...
105 test -f main.info
106 test ! -f other.info
107 $MAKE dvi
108 test -f main.dvi
109 test -f other.dvi
110
111 $MAKE distcheck
112
113 :