2
2
# Common stub for a few missing GNU programs while installing.
3
# Copyright (C) 1996, 1997, 1999, 2000, 2002 Free Software Foundation, Inc.
4
scriptversion=2006-05-10.23
6
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
7
# Free Software Foundation, Inc.
4
8
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
6
10
# This program is free software; you can redistribute it and/or modify
16
20
# You should have received a copy of the GNU General Public License
17
21
# along with this program; if not, write to the Free Software
18
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
22
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21
25
# As a special exception to the GNU General Public License, if you
22
26
# distribute this file as part of a program that contains a
38
44
configure_ac=configure.in
47
msg="missing on your system"
43
51
# Try to run requested program, and just exit if it succeeds.
55
# Exit code 63 means version mismatch. This often happens
56
# when the user try to use an ancient version of a tool on
57
# a file that requires a minimum version. In this case we
58
# we should proceed has if the program had been absent, or
59
# if --run hadn't been passed.
62
msg="probably too old"
50
# If it does not exist, or fails to run (possibly an outdated version),
54
66
-h|--h|--he|--hel|--help)
67
79
aclocal touch file \`aclocal.m4'
68
80
autoconf touch file \`configure'
69
81
autoheader touch file \`config.h.in'
82
autom4te touch the output file, or create a stub one
70
83
automake touch all \`Makefile.in' files
71
84
bison create \`y.tab.[ch]', if possible, from existing .[ch]
72
85
flex create \`lex.yy.c', if possible, from existing .c
74
87
lex create \`lex.yy.c', if possible, from existing .c
75
88
makeinfo touch the output file
76
89
tar try tar, gnutar, gtar, then tar without non-portable flags
77
yacc create \`y.tab.[ch]', if possible, from existing .[ch]"
90
yacc create \`y.tab.[ch]', if possible, from existing .[ch]
92
Send bug reports to <bug-automake@gnu.org>."
80
96
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
81
echo "missing 0.4 - GNU automake"
97
echo "missing $scriptversion (GNU Automake)"
109
# Now exit if we have it, but it failed. Also exit now if we
110
# don't have it and --version was passed (most likely to detect
114
# Not GNU programs, they don't have --version.
118
if test -n "$run"; then
119
echo 1>&2 "ERROR: \`tar' requires --run"
121
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
127
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
128
# We have it, but it failed.
130
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
131
# Could not run --version or --help. This is probably someone
132
# running `$TOOL --version' or `$TOOL --help' to check whether
133
# $TOOL exists and not knowing $TOOL uses missing.
139
# If it does not exist, or fails to run (possibly an outdated version),
91
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
92
# We have it, but it failed.
97
WARNING: \`$1' is missing on your system. You should only need it if
144
WARNING: \`$1' is $msg. You should only need it if
98
145
you modified \`acinclude.m4' or \`${configure_ac}'. You might want
99
146
to install the \`Automake' and \`Perl' packages. Grab them from
100
147
any GNU archive site."
105
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
106
# We have it, but it failed.
111
WARNING: \`$1' is missing on your system. You should only need it if
153
WARNING: \`$1' is $msg. You should only need it if
112
154
you modified \`${configure_ac}'. You might want to install the
113
155
\`Autoconf' and \`GNU m4' packages. Grab them from any GNU
119
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
120
# We have it, but it failed.
125
WARNING: \`$1' is missing on your system. You should only need it if
162
WARNING: \`$1' is $msg. You should only need it if
126
163
you modified \`acconfig.h' or \`${configure_ac}'. You might want
127
164
to install the \`Autoconf' and \`GNU m4' packages. Grab them
128
165
from any GNU archive site."
143
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
144
# We have it, but it failed.
149
WARNING: \`$1' is missing on your system. You should only need it if
181
WARNING: \`$1' is $msg. You should only need it if
150
182
you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
151
183
You might want to install the \`Automake' and \`Perl' packages.
152
184
Grab them from any GNU archive site."
159
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
160
# We have it, but it failed.
165
WARNING: \`$1' is needed, and you do not seem to have it handy on your
166
system. You might have modified some files without having the
192
WARNING: \`$1' is needed, but is $msg.
193
You might have modified some files without having the
167
194
proper tools for further handling them.
168
You can get \`$1Help2man' as part of \`Autoconf' from any GNU
195
You can get \`$1' as part of \`Autoconf' from any GNU
171
file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
172
test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
198
file=`echo "$*" | sed -n "$sed_output"`
199
test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
173
200
if test -f "$file"; then
188
WARNING: \`$1' is missing on your system. You should only need it if
215
WARNING: \`$1' $msg. You should only need it if
189
216
you modified a \`.y' file. You may need the \`Bison' package
190
217
in order for those modifications to take effect. You can get
191
218
\`Bison' from any GNU archive site."
192
219
rm -f y.tab.c y.tab.h
193
if [ $# -ne 1 ]; then
220
if test $# -ne 1; then
194
221
eval LASTARG="\${$#}"
197
224
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
198
if [ -f "$SRCFILE" ]; then
225
if test -f "$SRCFILE"; then
199
226
cp "$SRCFILE" y.tab.c
201
228
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
202
if [ -f "$SRCFILE" ]; then
229
if test -f "$SRCFILE"; then
203
230
cp "$SRCFILE" y.tab.h
208
if [ ! -f y.tab.h ]; then
235
if test ! -f y.tab.h; then
211
if [ ! -f y.tab.c ]; then
238
if test ! -f y.tab.c; then
212
239
echo 'main() { return 0; }' >y.tab.c
218
WARNING: \`$1' is missing on your system. You should only need it if
245
WARNING: \`$1' is $msg. You should only need it if
219
246
you modified a \`.l' file. You may need the \`Flex' package
220
247
in order for those modifications to take effect. You can get
221
248
\`Flex' from any GNU archive site."
223
if [ $# -ne 1 ]; then
250
if test $# -ne 1; then
224
251
eval LASTARG="\${$#}"
227
254
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
228
if [ -f "$SRCFILE" ]; then
255
if test -f "$SRCFILE"; then
229
256
cp "$SRCFILE" lex.yy.c
234
if [ ! -f lex.yy.c ]; then
261
if test ! -f lex.yy.c; then
235
262
echo 'main() { return 0; }' >lex.yy.c
240
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
241
# We have it, but it failed.
246
WARNING: \`$1' is missing on your system. You should only need it if
268
WARNING: \`$1' is $msg. You should only need it if
247
269
you modified a dependency of a manual page. You may need the
248
270
\`Help2man' package in order for those modifications to take
249
271
effect. You can get \`Help2man' from any GNU archive site."
251
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
252
if test -z "$file"; then
253
file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
255
if [ -f "$file" ]; then
273
file=`echo "$*" | sed -n "$sed_output"`
274
test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
275
if test -f "$file"; then
258
278
test -z "$file" || exec >$file
265
if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
266
# We have makeinfo, but it failed.
271
WARNING: \`$1' is missing on your system. You should only need it if
286
WARNING: \`$1' is $msg. You should only need it if
272
287
you modified a \`.texi' or \`.texinfo' file, or any other file
273
288
indirectly affecting the aspect of the manual. The spurious
274
289
call might also be the consequence of using a buggy \`make' (AIX,
275
290
DU, IRIX). You might want to install the \`Texinfo' package or
276
291
the \`GNU make' package. Grab either from any GNU archive site."
277
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
292
# The file to touch is that specified with -o ...
293
file=`echo "$*" | sed -n "$sed_output"`
294
test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
278
295
if test -z "$file"; then
279
file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
280
file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
296
# ... or it is the one specified with @setfilename ...
297
infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
300
s/.* \([^ ]*\) *$/\1/
304
# ... or it is derived from the source name (dir/f.texi becomes f.info)
305
test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
307
# If the file does not exist, the user really needs makeinfo;
308
# let's fail without touching anything.
309
test -f $file || exit 1
287
if test -n "$run"; then
288
echo 1>&2 "ERROR: \`tar' requires --run"
292
316
# We have already tried tar in the generic part.
293
317
# Look for gnutar/gtar before invocation to avoid ugly error
326
WARNING: \`$1' is needed, and you do not seem to have it handy on your
327
system. You might have modified some files without having the
350
WARNING: \`$1' is needed, and is $msg.
351
You might have modified some files without having the
328
352
proper tools for further handling them. Check the \`README' file,
329
it often tells you about the needed prerequirements for installing
353
it often tells you about the needed prerequisites for installing
330
354
this package. You may also peek at any GNU archive site, in case
331
355
some other package would contain this missing \`$1' program."