2 # Common stub for a few missing GNU programs while installing.
3 # Copyright 1996, 1997, 1999, 2000 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 if test $# -eq 0; then
22 echo 1>&2 "Try \`$0 --help' for more information"
28 # In the cases where this matters, `missing' is being run in the
30 if test -f configure.ac; then
31 configure_ac=configure.ac
33 configure_ac=configure.in
38 # Try to run requested program, and just exit if it succeeds.
45 # If it does not exist, or fails to run (possibly an outdated version),
49 -h|--h|--he|--hel|--help)
51 $0 [OPTION]... PROGRAM [ARGUMENT]...
53 Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
54 error status if there is no known handling for PROGRAM.
57 -h, --help display this help and exit
58 -v, --version output version information and exit
59 --run try to run the given command, and emulate it if it fails
61 Supported PROGRAM values:
62 aclocal touch file \`aclocal.m4'
63 autoconf touch file \`configure'
64 autoheader touch file \`config.h.in'
65 automake touch all \`Makefile.in' files
66 bison create \`y.tab.[ch]', if possible, from existing .[ch]
67 flex create \`lex.yy.c', if possible, from existing .c
68 help2man touch the output file
69 lex create \`lex.yy.c', if possible, from existing .c
70 makeinfo touch the output file
71 tar try tar, gnutar, gtar, then tar without non-portable flags
72 yacc create \`y.tab.[ch]', if possible, from existing .[ch]"
75 -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
76 echo "missing 0.3 - GNU automake"
80 echo 1>&2 "$0: Unknown \`$1' option"
81 echo 1>&2 "Try \`$0 --help' for more information"
87 WARNING: \`$1' is missing on your system. You should only need it if
88 you modified \`acinclude.m4' or \`${configure_ac}'. You might want
89 to install the \`Automake' and \`Perl' packages. Grab them from
90 any GNU archive site."
96 WARNING: \`$1' is missing on your system. You should only need it if
97 you modified \`${configure_ac}'. You might want to install the
98 \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
105 WARNING: \`$1' is missing on your system. You should only need it if
106 you modified \`acconfig.h' or \`${configure_ac}'. You might want
107 to install the \`Autoconf' and \`GNU m4' packages. Grab them
108 from any GNU archive site."
109 files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
110 test -z "$files" && files="config.h"
114 *:*) touch_files="$touch_files "`echo "$f" |
115 sed -e 's/^[^:]*://' -e 's/:.*//'`;;
116 *) touch_files="$touch_files $f.in";;
124 WARNING: \`$1' is missing on your system. You should only need it if
125 you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
126 You might want to install the \`Automake' and \`Perl' packages.
127 Grab them from any GNU archive site."
128 find . -type f -name Makefile.am -print |
130 while read f; do touch "$f"; done
135 WARNING: \`$1' is missing on your system. You should only need it if
136 you modified a \`.y' file. You may need the \`Bison' package
137 in order for those modifications to take effect. You can get
138 \`Bison' from any GNU archive site."
139 rm -f y.tab.c y.tab.h
140 if [ $# -ne 1 ]; then
141 eval LASTARG="\${$#}"
144 SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
145 if [ -f "$SRCFILE" ]; then
146 cp "$SRCFILE" y.tab.c
148 SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
149 if [ -f "$SRCFILE" ]; then
150 cp "$SRCFILE" y.tab.h
155 if [ ! -f y.tab.h ]; then
158 if [ ! -f y.tab.c ]; then
159 echo 'main() { return 0; }' >y.tab.c
165 WARNING: \`$1' is missing on your system. You should only need it if
166 you modified a \`.l' file. You may need the \`Flex' package
167 in order for those modifications to take effect. You can get
168 \`Flex' from any GNU archive site."
170 if [ $# -ne 1 ]; then
171 eval LASTARG="\${$#}"
174 SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
175 if [ -f "$SRCFILE" ]; then
176 cp "$SRCFILE" lex.yy.c
181 if [ ! -f lex.yy.c ]; then
182 echo 'main() { return 0; }' >lex.yy.c
188 WARNING: \`$1' is missing on your system. You should only need it if
189 you modified a dependency of a manual page. You may need the
190 \`Help2man' package in order for those modifications to take
191 effect. You can get \`Help2man' from any GNU archive site."
193 file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
194 if test -z "$file"; then
195 file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
197 if [ -f "$file" ]; then
200 test -z "$file" || exec >$file
201 echo ".ab help2man is required to generate this page"
208 WARNING: \`$1' is missing on your system. You should only need it if
209 you modified a \`.texi' or \`.texinfo' file, or any other file
210 indirectly affecting the aspect of the manual. The spurious
211 call might also be the consequence of using a buggy \`make' (AIX,
212 DU, IRIX). You might want to install the \`Texinfo' package or
213 the \`GNU make' package. Grab either from any GNU archive site."
214 file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
215 if test -z "$file"; then
216 file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
217 file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
224 if test -n "$run"; then
225 echo 1>&2 "ERROR: \`tar' requires --run"
229 # We have already tried tar in the generic part.
230 # Look for gnutar/gtar before invocation to avoid ugly error
232 if (gnutar --version > /dev/null 2>&1); then
233 gnutar ${1+"$@"} && exit 0
235 if (gtar --version > /dev/null 2>&1); then
236 gtar ${1+"$@"} && exit 0
242 firstarg=`echo "$firstarg" | sed s/o//`
243 tar "$firstarg" ${1+"$@"} && exit 0
248 firstarg=`echo "$firstarg" | sed s/h//`
249 tar "$firstarg" ${1+"$@"} && exit 0
255 WARNING: I can't seem to be able to run \`tar' with the given arguments.
256 You may want to install GNU tar or Free paxutils, or check the
257 command line arguments."
263 WARNING: \`$1' is needed, and you do not seem to have it handy on your
264 system. You might have modified some files without having the
265 proper tools for further handling them. Check the \`README' file,
266 it often tells you about the needed prerequirements for installing
267 this package. You may also peek at any GNU archive site, in case
268 some other package would contain this missing \`$1' program."