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