2
2
# Common stub for a few missing GNU programs while installing.
3
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
4
scriptversion=2009-04-28.21; # UTC
6
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
7
# 2008, 2009 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
38
42
configure_ac=configure.in
45
msg="missing on your system"
43
49
# Try to run requested program, and just exit if it succeeds.
53
# Exit code 63 means version mismatch. This often happens
54
# when the user try to use an ancient version of a tool on
55
# a file that requires a minimum version. In this case we
56
# we should proceed has if the program had been absent, or
57
# if --run hadn't been passed.
60
msg="probably too old"
50
# If it does not exist, or fails to run (possibly an outdated version),
54
64
-h|--h|--he|--hel|--help)
74
85
lex create \`lex.yy.c', if possible, from existing .c
75
86
makeinfo touch the output file
76
87
tar try tar, gnutar, gtar, then tar without non-portable flags
77
yacc create \`y.tab.[ch]', if possible, from existing .[ch]"
88
yacc create \`y.tab.[ch]', if possible, from existing .[ch]
90
Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
91
\`g' are ignored when checking the name.
93
Send bug reports to <bug-automake@gnu.org>."
80
97
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
81
echo "missing 0.4 - GNU automake"
98
echo "missing $scriptversion (GNU Automake)"
110
# normalize program name to check for.
111
program=`echo "$1" | sed '
116
# Now exit if we have it, but it failed. Also exit now if we
117
# don't have it and --version was passed (most likely to detect
118
# the program). This is about non-GNU programs, so use $1 not
122
# Not GNU programs, they don't have --version.
126
if test -n "$run"; then
127
echo 1>&2 "ERROR: \`tar' requires --run"
129
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
135
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
136
# We have it, but it failed.
138
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
139
# Could not run --version or --help. This is probably someone
140
# running `$TOOL --version' or `$TOOL --help' to check whether
141
# $TOOL exists and not knowing $TOOL uses missing.
147
# 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
152
WARNING: \`$1' is $msg. You should only need it if
98
153
you modified \`acinclude.m4' or \`${configure_ac}'. You might want
99
154
to install the \`Automake' and \`Perl' packages. Grab them from
100
155
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
161
WARNING: \`$1' is $msg. You should only need it if
112
162
you modified \`${configure_ac}'. You might want to install the
113
163
\`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
170
WARNING: \`$1' is $msg. You should only need it if
126
171
you modified \`acconfig.h' or \`${configure_ac}'. You might want
127
172
to install the \`Autoconf' and \`GNU m4' packages. Grab them
128
173
from any GNU archive site."
155
195
while read f; do touch "$f"; done
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
200
WARNING: \`$1' is needed, but is $msg.
201
You might have modified some files without having the
167
202
proper tools for further handling them.
168
203
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'`
206
file=`echo "$*" | sed -n "$sed_output"`
207
test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
173
208
if test -f "$file"; then
188
WARNING: \`$1' is missing on your system. You should only need it if
223
WARNING: \`$1' $msg. You should only need it if
189
224
you modified a \`.y' file. You may need the \`Bison' package
190
225
in order for those modifications to take effect. You can get
191
226
\`Bison' from any GNU archive site."
192
227
rm -f y.tab.c y.tab.h
193
if [ $# -ne 1 ]; then
228
if test $# -ne 1; then
194
229
eval LASTARG="\${$#}"
197
232
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
198
if [ -f "$SRCFILE" ]; then
233
if test -f "$SRCFILE"; then
199
234
cp "$SRCFILE" y.tab.c
201
236
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
202
if [ -f "$SRCFILE" ]; then
237
if test -f "$SRCFILE"; then
203
238
cp "$SRCFILE" y.tab.h
208
if [ ! -f y.tab.h ]; then
243
if test ! -f y.tab.h; then
211
if [ ! -f y.tab.c ]; then
246
if test ! -f y.tab.c; then
212
247
echo 'main() { return 0; }' >y.tab.c
218
WARNING: \`$1' is missing on your system. You should only need it if
253
WARNING: \`$1' is $msg. You should only need it if
219
254
you modified a \`.l' file. You may need the \`Flex' package
220
255
in order for those modifications to take effect. You can get
221
256
\`Flex' from any GNU archive site."
223
if [ $# -ne 1 ]; then
258
if test $# -ne 1; then
224
259
eval LASTARG="\${$#}"
227
262
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
228
if [ -f "$SRCFILE" ]; then
263
if test -f "$SRCFILE"; then
229
264
cp "$SRCFILE" lex.yy.c
234
if [ ! -f lex.yy.c ]; then
269
if test ! -f lex.yy.c; then
235
270
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
276
WARNING: \`$1' is $msg. You should only need it if
247
277
you modified a dependency of a manual page. You may need the
248
278
\`Help2man' package in order for those modifications to take
249
279
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
281
file=`echo "$*" | sed -n "$sed_output"`
282
test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
283
if test -f "$file"; then
258
286
test -z "$file" || exec >$file
259
287
echo ".ab help2man is required to generate this page"
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
294
WARNING: \`$1' is $msg. You should only need it if
272
295
you modified a \`.texi' or \`.texinfo' file, or any other file
273
296
indirectly affecting the aspect of the manual. The spurious
274
297
call might also be the consequence of using a buggy \`make' (AIX,
275
298
DU, IRIX). You might want to install the \`Texinfo' package or
276
299
the \`GNU make' package. Grab either from any GNU archive site."
277
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
300
# The file to touch is that specified with -o ...
301
file=`echo "$*" | sed -n "$sed_output"`
302
test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
278
303
if test -z "$file"; then
279
file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
280
file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
304
# ... or it is the one specified with @setfilename ...
305
infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
308
s/.* \([^ ]*\) *$/\1/
312
# ... or it is derived from the source name (dir/f.texi becomes f.info)
313
test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
315
# If the file does not exist, the user really needs makeinfo;
316
# let's fail without touching anything.
317
test -f $file || exit 1
287
if test -n "$run"; then
288
echo 1>&2 "ERROR: \`tar' requires --run"
292
324
# We have already tried tar in the generic part.
293
325
# Look for gnutar/gtar before invocation to avoid ugly error