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 # Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
6 # This program is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 2, or (at your option)
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with this program; if not, write to the Free Software
18 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
21 # As a special exception to the GNU General Public License, if you
22 # distribute this file as part of a program that contains a
23 # configuration script generated by Autoconf, you may include it under
24 # the same distribution terms that you use for the rest of that program.
26 if test $# -eq 0; then
27 echo 1>&2 "Try \`$0 --help' for more information"
33 # In the cases where this matters, `missing' is being run in the
35 if test -f configure.ac; then
36 configure_ac=configure.ac
38 configure_ac=configure.in
43 # Try to run requested program, and just exit if it succeeds.
50 # If it does not exist, or fails to run (possibly an outdated version),
54 -h|--h|--he|--hel|--help)
56 $0 [OPTION]... PROGRAM [ARGUMENT]...
58 Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
59 error status if there is no known handling for PROGRAM.
62 -h, --help display this help and exit
63 -v, --version output version information and exit
64 --run try to run the given command, and emulate it if it fails
66 Supported PROGRAM values:
67 aclocal touch file \`aclocal.m4'
68 autoconf touch file \`configure'
69 autoheader touch file \`config.h.in'
70 automake touch all \`Makefile.in' files
71 bison create \`y.tab.[ch]', if possible, from existing .[ch]
72 flex create \`lex.yy.c', if possible, from existing .c
73 help2man touch the output file
74 lex create \`lex.yy.c', if possible, from existing .c
75 makeinfo touch the output file
76 tar try tar, gnutar, gtar, then tar without non-portable flags
77 yacc create \`y.tab.[ch]', if possible, from existing .[ch]"
80 -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
81 echo "missing 0.4 - GNU automake"
85 echo 1>&2 "$0: Unknown \`$1' option"
86 echo 1>&2 "Try \`$0 --help' for more information"
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
98 you modified \`acinclude.m4' or \`${configure_ac}'. You might want
99 to install the \`Automake' and \`Perl' packages. Grab them from
100 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
112 you modified \`${configure_ac}'. You might want to install the
113 \`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
126 you modified \`acconfig.h' or \`${configure_ac}'. You might want
127 to install the \`Autoconf' and \`GNU m4' packages. Grab them
128 from any GNU archive site."
129 files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
130 test -z "$files" && files="config.h"
134 *:*) touch_files="$touch_files "`echo "$f" |
135 sed -e 's/^[^:]*://' -e 's/:.*//'`;;
136 *) touch_files="$touch_files $f.in";;
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
150 you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
151 You might want to install the \`Automake' and \`Perl' packages.
152 Grab them from any GNU archive site."
153 find . -type f -name Makefile.am -print |
155 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
167 proper tools for further handling them.
168 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'`
173 if test -f "$file"; then
176 test -z "$file" || exec >$file
178 echo "# Created by GNU Automake missing as a replacement of"
188 WARNING: \`$1' is missing on your system. You should only need it if
189 you modified a \`.y' file. You may need the \`Bison' package
190 in order for those modifications to take effect. You can get
191 \`Bison' from any GNU archive site."
192 rm -f y.tab.c y.tab.h
193 if [ $# -ne 1 ]; then
194 eval LASTARG="\${$#}"
197 SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
198 if [ -f "$SRCFILE" ]; then
199 cp "$SRCFILE" y.tab.c
201 SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
202 if [ -f "$SRCFILE" ]; then
203 cp "$SRCFILE" y.tab.h
208 if [ ! -f y.tab.h ]; then
211 if [ ! -f y.tab.c ]; then
212 echo 'main() { return 0; }' >y.tab.c
218 WARNING: \`$1' is missing on your system. You should only need it if
219 you modified a \`.l' file. You may need the \`Flex' package
220 in order for those modifications to take effect. You can get
221 \`Flex' from any GNU archive site."
223 if [ $# -ne 1 ]; then
224 eval LASTARG="\${$#}"
227 SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
228 if [ -f "$SRCFILE" ]; then
229 cp "$SRCFILE" lex.yy.c
234 if [ ! -f lex.yy.c ]; then
235 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
247 you modified a dependency of a manual page. You may need the
248 \`Help2man' package in order for those modifications to take
249 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
258 test -z "$file" || exec >$file
259 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
272 you modified a \`.texi' or \`.texinfo' file, or any other file
273 indirectly affecting the aspect of the manual. The spurious
274 call might also be the consequence of using a buggy \`make' (AIX,
275 DU, IRIX). You might want to install the \`Texinfo' package or
276 the \`GNU make' package. Grab either from any GNU archive site."
277 file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
278 if test -z "$file"; then
279 file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
280 file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
287 if test -n "$run"; then
288 echo 1>&2 "ERROR: \`tar' requires --run"
292 # We have already tried tar in the generic part.
293 # Look for gnutar/gtar before invocation to avoid ugly error
295 if (gnutar --version > /dev/null 2>&1); then
296 gnutar "$@" && exit 0
298 if (gtar --version > /dev/null 2>&1); then
305 firstarg=`echo "$firstarg" | sed s/o//`
306 tar "$firstarg" "$@" && exit 0
311 firstarg=`echo "$firstarg" | sed s/h//`
312 tar "$firstarg" "$@" && exit 0
318 WARNING: I can't seem to be able to run \`tar' with the given arguments.
319 You may want to install GNU tar or Free paxutils, or check the
320 command line arguments."
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
328 proper tools for further handling them. Check the \`README' file,
329 it often tells you about the needed prerequisites for installing
330 this package. You may also peek at any GNU archive site, in case
331 some other package would contain this missing \`$1' program."