packaging: Bump to 1.14.1
[platform/upstream/automake.git] / t / txinfo-many-output-formats.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 # Test support for building HTML documentation, and the many
18 # install-DOC flavors.
19 # Keep in sync with sister test 'txinfo-many-output-formats-vpath.sh'.
20 # FIXME: in the long term, the best thing to do is probably to convert
21 # FIXME: this test and that sister test to TAP, and merge them.
22
23 required='makeinfo tex texi2dvi'
24 . test-init.sh
25
26 cat >>configure.ac <<\EOF
27 AC_CONFIG_FILES([rec/Makefile])
28
29 # At the time of writing, Autoconf does not supplies any of these
30 # definitions (and those below are purposely not those of the standard).
31 AC_SUBST([dvidir],  ['${datadir}/${PACKAGE}/dvi'])
32 AC_SUBST([htmldir], ['${datadir}/${PACKAGE}/html'])
33 AC_SUBST([pdfdir],  ['${datadir}/${PACKAGE}/pdf'])
34 AC_SUBST([psdir],   ['${datadir}/${PACKAGE}/ps'])
35
36 AC_OUTPUT
37 EOF
38
39 cat > Makefile.am << 'END'
40 SUBDIRS = rec
41 info_TEXINFOS = main.texi sub/main2.texi
42 END
43
44 cat > main.texi << 'END'
45 \input texinfo
46 @setfilename main.info
47 @settitle main
48 @node Top
49 Hello walls.
50 @bye
51 END
52
53 mkdir sub
54 cat > sub/main2.texi << 'END'
55 \input texinfo
56 @setfilename main2.info
57 @settitle main2
58 @node Top
59 Hello walls.
60 @bye
61 END
62
63 mkdir rec
64 cat > rec/main3.texi << 'END'
65 \input texinfo
66 @setfilename main3.info
67 @settitle main3
68 @node Top
69 Hello walls.
70 @bye
71 END
72
73 cat > rec/Makefile.am << 'END'
74 info_TEXINFOS = main3.texi
75
76 install-pdf-local:
77         @$(MKDIR_P) "$(pdfdir)"
78         : > "$(pdfdir)/hello"
79 uninstall-local:
80         rm -f "$(pdfdir)/hello"
81
82 check-local: ps pdf dvi html # For "make distcheck".
83 END
84
85 $ACLOCAL
86 $AUTOMAKE --add-missing
87 $AUTOCONF
88
89 # To simplify syncing with sister test 'txinfo-many-output-formats.sh'
90 srcdir=.
91
92 if test $srcdir = ..; then
93   mkdir build
94   cd build
95 fi
96
97 $srcdir/configure --prefix="$(pwd)"
98
99 $MAKE
100
101 $sleep
102 # Test production of split-per-node HTML.
103 $MAKE html
104 test -d main.html
105 test -d sub/main2.html
106 test -d rec/main3.html
107
108 # Rebuilding main.html should cause its timestamp to be updated.
109 is_newest main.html $srcdir/main.texi
110 $sleep
111 touch $srcdir/main.texi
112 $MAKE html
113 is_newest main.html $srcdir/main.texi
114
115 $MAKE clean
116 test ! -e main.html
117 test ! -e sub/main2.html
118 test ! -e rec/main3.html
119
120 # Test production of a single HTML file.
121 run_make MAKEINFOFLAGS=--no-split html
122 test -f main.html
123 test -f sub/main2.html
124 test -f rec/main3.html
125 $MAKE clean
126 test ! -e main.html
127 test ! -e sub/main2.html
128 test ! -e rec/main3.html
129
130 # Make sure AM_MAKEINFOHTMLFLAGS is supported, and override AM_MAKEINFO.
131
132 cp $srcdir/Makefile.am $srcdir/Makefile.sav
133 cat >> $srcdir/Makefile.am <<'EOF'
134 AM_MAKEINFOHTMLFLAGS = --no-headers --no-split
135 AM_MAKEINFOFLAGS = --unsupported-option
136 EOF
137 (cd $srcdir && $AUTOMAKE)
138 ./config.status Makefile
139
140 $MAKE html
141 test -f main.html
142 test -f sub/main2.html
143 test -d rec/main3.html
144 $MAKE clean
145 test ! -e main.html
146 test ! -e sub/main2.html
147 test ! -e rec/main3.html
148
149 $MAKE install-html
150 test -f share/$me/html/main.html
151 test -f share/$me/html/main2.html
152 test -d share/$me/html/main3.html
153 $MAKE uninstall
154 test ! -e share/$me/html/main.html
155 test ! -e share/$me/html/main2.html
156 test ! -e share/$me/html/main3.html
157
158 $MAKE dvi
159 test -f main.dvi
160 test -f sub/main2.dvi
161 test -f rec/main3.dvi
162 $MAKE clean
163 test ! -e main.dvi
164 test ! -e sub/main2.dvi
165 test ! -e rec/main3.dvi
166
167 $MAKE install-dvi
168 test -f share/$me/dvi/main.dvi
169 test -f share/$me/dvi/main2.dvi
170 test -f share/$me/dvi/main3.dvi
171 $MAKE uninstall
172 test ! -e share/$me/dvi/main.dvi
173 test ! -e share/$me/dvi/main2.dvi
174 test ! -e share/$me/dvi/main3.dvi
175
176 dvips --help || skip_ "dvips is missing"
177
178 $MAKE install-ps
179 test -f share/$me/ps/main.ps
180 test -f share/$me/ps/main2.ps
181 test -f share/$me/ps/main3.ps
182 $MAKE uninstall
183 test ! -e share/$me/ps/main.ps
184 test ! -e share/$me/ps/main2.ps
185 test ! -e share/$me/ps/main3.ps
186
187 pdfetex --help || pdftex --help \
188   || skip_ "pdftex and pdfetex are both missing"
189
190 $MAKE install-pdf
191 test -f share/$me/pdf/main.pdf
192 test -f share/$me/pdf/main2.pdf
193 test -f share/$me/pdf/main3.pdf
194 test -f share/$me/pdf/hello
195 $MAKE uninstall
196 test ! -e share/$me/pdf/main.pdf
197 test ! -e share/$me/pdf/main2.pdf
198 test ! -e share/$me/pdf/main3.pdf
199 test ! -e share/$me/pdf/hello
200
201 # Restore the makefile without a broken AM_MAKEINFOFLAGS definition.
202 cp -f $srcdir/Makefile.sav $srcdir/Makefile.am
203 using_gmake || $MAKE Makefile
204 $MAKE distcheck
205
206 :