[gforth] / gforth / missing  

gforth: gforth/missing


1 : anton 1.1 #! /bin/sh
2 :     # Common stub for a few missing GNU programs while installing.
3 : anton 1.2 # Copyright (C) 1996, 1997, 1999, 2000, 2002 Free Software Foundation, Inc.
4 :     # Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
5 : anton 1.1
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)
9 :     # any later version.
10 :    
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.
15 :    
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
19 :     # 02111-1307, USA.
20 :    
21 : anton 1.2 # 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.
25 :    
26 : anton 1.1 if test $# -eq 0; then
27 :     echo 1>&2 "Try \`$0 --help' for more information"
28 :     exit 1
29 :     fi
30 :    
31 : anton 1.2 run=:
32 :    
33 :     # In the cases where this matters, `missing' is being run in the
34 :     # srcdir already.
35 :     if test -f configure.ac; then
36 :     configure_ac=configure.ac
37 :     else
38 :     configure_ac=configure.in
39 :     fi
40 :    
41 :     case "$1" in
42 :     --run)
43 :     # Try to run requested program, and just exit if it succeeds.
44 :     run=
45 :     shift
46 :     "$@" && exit 0
47 :     ;;
48 :     esac
49 :    
50 :     # If it does not exist, or fails to run (possibly an outdated version),
51 :     # try to emulate it.
52 : anton 1.1 case "$1" in
53 :    
54 :     -h|--h|--he|--hel|--help)
55 :     echo "\
56 :     $0 [OPTION]... PROGRAM [ARGUMENT]...
57 :    
58 :     Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
59 :     error status if there is no known handling for PROGRAM.
60 :    
61 :     Options:
62 :     -h, --help display this help and exit
63 :     -v, --version output version information and exit
64 : anton 1.2 --run try to run the given command, and emulate it if it fails
65 : anton 1.1
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 : anton 1.2 help2man touch the output file
74 : anton 1.1 lex create \`lex.yy.c', if possible, from existing .c
75 :     makeinfo touch the output file
76 : anton 1.2 tar try tar, gnutar, gtar, then tar without non-portable flags
77 : anton 1.1 yacc create \`y.tab.[ch]', if possible, from existing .[ch]"
78 :     ;;
79 :    
80 :     -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
81 : anton 1.2 echo "missing 0.4 - GNU automake"
82 : anton 1.1 ;;
83 :    
84 :     -*)
85 :     echo 1>&2 "$0: Unknown \`$1' option"
86 :     echo 1>&2 "Try \`$0 --help' for more information"
87 :     exit 1
88 :     ;;
89 :    
90 : anton 1.2 aclocal*)
91 :     if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
92 :     # We have it, but it failed.
93 :     exit 1
94 :     fi
95 :    
96 : anton 1.1 echo 1>&2 "\
97 :     WARNING: \`$1' is missing on your system. You should only need it if
98 : anton 1.2 you modified \`acinclude.m4' or \`${configure_ac}'. You might want
99 : anton 1.1 to install the \`Automake' and \`Perl' packages. Grab them from
100 :     any GNU archive site."
101 :     touch aclocal.m4
102 :     ;;
103 :    
104 :     autoconf)
105 : anton 1.2 if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
106 :     # We have it, but it failed.
107 :     exit 1
108 :     fi
109 :    
110 : anton 1.1 echo 1>&2 "\
111 :     WARNING: \`$1' is missing on your system. You should only need it if
112 : anton 1.2 you modified \`${configure_ac}'. You might want to install the
113 : anton 1.1 \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
114 :     archive site."
115 :     touch configure
116 :     ;;
117 :    
118 :     autoheader)
119 : anton 1.2 if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
120 :     # We have it, but it failed.
121 :     exit 1
122 :     fi
123 :    
124 : anton 1.1 echo 1>&2 "\
125 :     WARNING: \`$1' is missing on your system. You should only need it if
126 : anton 1.2 you modified \`acconfig.h' or \`${configure_ac}'. You might want
127 : anton 1.1 to install the \`Autoconf' and \`GNU m4' packages. Grab them
128 :     from any GNU archive site."
129 : anton 1.2 files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
130 :     test -z "$files" && files="config.h"
131 :     touch_files=
132 :     for f in $files; do
133 :     case "$f" in
134 :     *:*) touch_files="$touch_files "`echo "$f" |
135 :     sed -e 's/^[^:]*://' -e 's/:.*//'`;;
136 :     *) touch_files="$touch_files $f.in";;
137 :     esac
138 :     done
139 :     touch $touch_files
140 :     ;;
141 :    
142 :     automake*)
143 :     if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
144 :     # We have it, but it failed.
145 :     exit 1
146 : anton 1.1 fi
147 :    
148 :     echo 1>&2 "\
149 :     WARNING: \`$1' is missing on your system. You should only need it if
150 : anton 1.2 you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
151 : anton 1.1 You might want to install the \`Automake' and \`Perl' packages.
152 :     Grab them from any GNU archive site."
153 : anton 1.2 find . -type f -name Makefile.am -print |
154 :     sed 's/\.am$/.in/' |
155 :     while read f; do touch "$f"; done
156 :     ;;
157 :    
158 :     autom4te)
159 :     if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
160 :     # We have it, but it failed.
161 :     exit 1
162 :     fi
163 :    
164 :     echo 1>&2 "\
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 \`$1Help2man' as part of \`Autoconf' from any GNU
169 :     archive site."
170 :    
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
174 :     touch $file
175 :     else
176 :     test -z "$file" || exec >$file
177 :     echo "#! /bin/sh"
178 :     echo "# Created by GNU Automake missing as a replacement of"
179 :     echo "# $ $@"
180 :     echo "exit 0"
181 :     chmod +x $file
182 :     exit 1
183 :     fi
184 : anton 1.1 ;;
185 :    
186 :     bison|yacc)
187 :     echo 1>&2 "\
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="\${$#}"
195 :     case "$LASTARG" in
196 :     *.y)
197 :     SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
198 :     if [ -f "$SRCFILE" ]; then
199 :     cp "$SRCFILE" y.tab.c
200 :     fi
201 :     SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
202 :     if [ -f "$SRCFILE" ]; then
203 :     cp "$SRCFILE" y.tab.h
204 :     fi
205 :     ;;
206 :     esac
207 :     fi
208 :     if [ ! -f y.tab.h ]; then
209 :     echo >y.tab.h
210 :     fi
211 :     if [ ! -f y.tab.c ]; then
212 :     echo 'main() { return 0; }' >y.tab.c
213 :     fi
214 :     ;;
215 :    
216 :     lex|flex)
217 :     echo 1>&2 "\
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."
222 :     rm -f lex.yy.c
223 :     if [ $# -ne 1 ]; then
224 :     eval LASTARG="\${$#}"
225 :     case "$LASTARG" in
226 :     *.l)
227 :     SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
228 :     if [ -f "$SRCFILE" ]; then
229 :     cp "$SRCFILE" lex.yy.c
230 :     fi
231 :     ;;
232 :     esac
233 :     fi
234 :     if [ ! -f lex.yy.c ]; then
235 :     echo 'main() { return 0; }' >lex.yy.c
236 :     fi
237 :     ;;
238 :    
239 : anton 1.2 help2man)
240 :     if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
241 :     # We have it, but it failed.
242 :     exit 1
243 :     fi
244 :    
245 :     echo 1>&2 "\
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."
250 :    
251 :     file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
252 :     if test -z "$file"; then
253 :     file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
254 :     fi
255 :     if [ -f "$file" ]; then
256 :     touch $file
257 :     else
258 :     test -z "$file" || exec >$file
259 :     echo ".ab help2man is required to generate this page"
260 :     exit 1
261 :     fi
262 :     ;;
263 :    
264 : anton 1.1 makeinfo)
265 : anton 1.2 if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
266 :     # We have makeinfo, but it failed.
267 :     exit 1
268 :     fi
269 :    
270 : anton 1.1 echo 1>&2 "\
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`
281 :     fi
282 :     touch $file
283 : anton 1.2 ;;
284 :    
285 :     tar)
286 :     shift
287 :     if test -n "$run"; then
288 :     echo 1>&2 "ERROR: \`tar' requires --run"
289 :     exit 1
290 :     fi
291 :    
292 :     # We have already tried tar in the generic part.
293 :     # Look for gnutar/gtar before invocation to avoid ugly error
294 :     # messages.
295 :     if (gnutar --version > /dev/null 2>&1); then
296 :     gnutar "$@" && exit 0
297 :     fi
298 :     if (gtar --version > /dev/null 2>&1); then
299 :     gtar "$@" && exit 0
300 :     fi
301 :     firstarg="$1"
302 :     if shift; then
303 :     case "$firstarg" in
304 :     *o*)
305 :     firstarg=`echo "$firstarg" | sed s/o//`
306 :     tar "$firstarg" "$@" && exit 0
307 :     ;;
308 :     esac
309 :     case "$firstarg" in
310 :     *h*)
311 :     firstarg=`echo "$firstarg" | sed s/h//`
312 :     tar "$firstarg" "$@" && exit 0
313 :     ;;
314 :     esac
315 :     fi
316 :    
317 :     echo 1>&2 "\
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."
321 :     exit 1
322 : anton 1.1 ;;
323 :    
324 :     *)
325 :     echo 1>&2 "\
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 prerequirements 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."
332 :     exit 1
333 :     ;;
334 :     esac
335 :    
336 :     exit 0

CVS Admin

Powered by ViewCVS 1.0-dev
(Powered by ViewCVS)

ViewCVS and CVS Help