2 # Common stub for a few missing GNU programs while installing.
4 scriptversion
=2003-09-02.23
6 # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003
7 # Free Software Foundation, Inc.
8 # Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
10 # This program is free software; you can redistribute it and/or modify
11 # it under the terms of the GNU General Public License as published by
12 # the Free Software Foundation; either version 2, or (at your option)
15 # This program is distributed in the hope that it will be useful,
16 # but WITHOUT ANY WARRANTY; without even the implied warranty of
17 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 # GNU General Public License for more details.
20 # You should have received a copy of the GNU General Public License
21 # along with this program; if not, write to the Free Software
22 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
25 # As a special exception to the GNU General Public License, if you
26 # distribute this file as part of a program that contains a
27 # configuration script generated by Autoconf, you may include it under
28 # the same distribution terms that you use for the rest of that program.
30 if test $# -eq 0; then
31 echo 1>&2 "Try \`$0 --help' for more information"
37 # In the cases where this matters, `missing' is being run in the
39 if test -f configure.ac
; then
40 configure_ac
=configure.ac
42 configure_ac
=configure.
in
45 msg
="missing on your system"
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"
65 # If it does not exist, or fails to run (possibly an outdated version),
69 -h|
--h|
--he|
--hel|
--help)
71 $0 [OPTION]... PROGRAM [ARGUMENT]...
73 Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
74 error status if there is no known handling for PROGRAM.
77 -h, --help display this help and exit
78 -v, --version output version information and exit
79 --run try to run the given command, and emulate it if it fails
81 Supported PROGRAM values:
82 aclocal touch file \`aclocal.m4'
83 autoconf touch file \`configure'
84 autoheader touch file \`config.h.in'
85 automake touch all \`Makefile.in' files
86 bison create \`y.tab.[ch]', if possible, from existing .[ch]
87 flex create \`lex.yy.c', if possible, from existing .c
88 help2man touch the output file
89 lex create \`lex.yy.c', if possible, from existing .c
90 makeinfo touch the output file
91 tar try tar, gnutar, gtar, then tar without non-portable flags
92 yacc create \`y.tab.[ch]', if possible, from existing .[ch]
94 Send bug reports to <bug-automake@gnu.org>."
97 -v|
--v|
--ve|
--ver|
--vers|
--versi|
--versio|
--version)
98 echo "missing $scriptversion (GNU Automake)"
102 echo 1>&2 "$0: Unknown \`$1' option"
103 echo 1>&2 "Try \`$0 --help' for more information"
108 if test -z "$run" && ($1 --version) > /dev
/null
2>&1; then
109 # We have it, but it failed.
114 WARNING: \`$1' is $msg. You should only need it if
115 you modified \`acinclude.m4' or \`${configure_ac}'. You might want
116 to install the \`Automake' and \`Perl' packages. Grab them from
117 any GNU archive site."
122 if test -z "$run" && ($1 --version) > /dev
/null
2>&1; then
123 # We have it, but it failed.
128 WARNING: \`$1' is $msg. You should only need it if
129 you modified \`${configure_ac}'. You might want to install the
130 \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
136 if test -z "$run" && ($1 --version) > /dev
/null
2>&1; then
137 # We have it, but it failed.
142 WARNING: \`$1' is $msg. You should only need it if
143 you modified \`acconfig.h' or \`${configure_ac}'. You might want
144 to install the \`Autoconf' and \`GNU m4' packages. Grab them
145 from any GNU archive site."
146 files
=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
147 test -z "$files" && files
="config.h"
151 *:*) touch_files
="$touch_files "`echo "$f" |
152 sed -e 's/^[^:]*://' -e 's/:.*//'`;;
153 *) touch_files
="$touch_files $f.in";;
160 if test -z "$run" && ($1 --version) > /dev
/null
2>&1; then
161 # We have it, but it failed.
166 WARNING: \`$1' is $msg. You should only need it if
167 you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
168 You might want to install the \`Automake' and \`Perl' packages.
169 Grab them from any GNU archive site."
170 find .
-type f
-name Makefile.am
-print |
172 while read f
; do touch "$f"; done
176 if test -z "$run" && ($1 --version) > /dev
/null
2>&1; then
177 # We have it, but it failed.
182 WARNING: \`$1' is needed, but is $msg.
183 You might have modified some files without having the
184 proper tools for further handling them.
185 You can get \`$1' as part of \`Autoconf' from any GNU
188 file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
189 test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
190 if test -f "$file"; then
193 test -z "$file" ||
exec >$file
195 echo "# Created by GNU Automake missing as a replacement of"
205 WARNING: \`$1' $msg. You should only need it if
206 you modified a \`.y' file. You may need the \`Bison' package
207 in order for those modifications to take effect. You can get
208 \`Bison' from any GNU archive site."
209 rm -f y.tab.c y.tab.h
210 if [ $# -ne 1 ]; then
211 eval LASTARG
="\${$#}"
214 SRCFILE
=`echo "$LASTARG" | sed 's/y$/c/'`
215 if [ -f "$SRCFILE" ]; then
216 cp "$SRCFILE" y.tab.c
218 SRCFILE
=`echo "$LASTARG" | sed 's/y$/h/'`
219 if [ -f "$SRCFILE" ]; then
220 cp "$SRCFILE" y.tab.h
225 if [ ! -f y.tab.h
]; then
228 if [ ! -f y.tab.c
]; then
229 echo 'main() { return 0; }' >y.tab.c
235 WARNING: \`$1' is $msg. You should only need it if
236 you modified a \`.l' file. You may need the \`Flex' package
237 in order for those modifications to take effect. You can get
238 \`Flex' from any GNU archive site."
240 if [ $# -ne 1 ]; then
241 eval LASTARG
="\${$#}"
244 SRCFILE
=`echo "$LASTARG" | sed 's/l$/c/'`
245 if [ -f "$SRCFILE" ]; then
246 cp "$SRCFILE" lex.yy.c
251 if [ ! -f lex.yy.c
]; then
252 echo 'main() { return 0; }' >lex.yy.c
257 if test -z "$run" && ($1 --version) > /dev
/null
2>&1; then
258 # We have it, but it failed.
263 WARNING: \`$1' is $msg. You should only need it if
264 you modified a dependency of a manual page. You may need the
265 \`Help2man' package in order for those modifications to take
266 effect. You can get \`Help2man' from any GNU archive site."
268 file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
269 if test -z "$file"; then
270 file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
272 if [ -f "$file" ]; then
275 test -z "$file" ||
exec >$file
276 echo ".ab help2man is required to generate this page"
282 if test -z "$run" && (makeinfo
--version) > /dev
/null
2>&1; then
283 # We have makeinfo, but it failed.
288 WARNING: \`$1' is $msg. You should only need it if
289 you modified a \`.texi' or \`.texinfo' file, or any other file
290 indirectly affecting the aspect of the manual. The spurious
291 call might also be the consequence of using a buggy \`make' (AIX,
292 DU, IRIX). You might want to install the \`Texinfo' package or
293 the \`GNU make' package. Grab either from any GNU archive site."
294 file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
295 if test -z "$file"; then
296 file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
297 file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
304 if test -n "$run"; then
305 echo 1>&2 "ERROR: \`tar' requires --run"
309 # We have already tried tar in the generic part.
310 # Look for gnutar/gtar before invocation to avoid ugly error
312 if (gnutar
--version > /dev
/null
2>&1); then
313 gnutar
"$@" && exit 0
315 if (gtar
--version > /dev
/null
2>&1); then
322 firstarg
=`echo "$firstarg" | sed s/o//`
323 tar "$firstarg" "$@" && exit 0
328 firstarg
=`echo "$firstarg" | sed s/h//`
329 tar "$firstarg" "$@" && exit 0
335 WARNING: I can't seem to be able to run \`tar' with the given arguments.
336 You may want to install GNU tar or Free paxutils, or check the
337 command line arguments."
343 WARNING: \`$1' is needed, and is $msg.
344 You might have modified some files without having the
345 proper tools for further handling them. Check the \`README' file,
346 it often tells you about the needed prerequisites for installing
347 this package. You may also peek at any GNU archive site, in case
348 some other package would contain this missing \`$1' program."
356 # eval: (add-hook 'write-file-hooks 'time-stamp)
357 # time-stamp-start: "scriptversion="
358 # time-stamp-format: "%:y-%02m-%02d.%02H"
359 # time-stamp-end: "$"