/[PAMELA software]/yoda/missing
ViewVC logotype

Annotation of /yoda/missing

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations) (download)
Tue Jul 6 12:20:23 2004 UTC (20 years, 5 months ago) by kusanagi
Branch: MAIN
Initial revision

1 kusanagi 1.1 #! /bin/sh
2     # Common stub for a few missing GNU programs while installing.
3    
4     scriptversion=2003-09-02.23
5    
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.
9    
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)
13     # any later version.
14    
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.
19    
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
23     # 02111-1307, USA.
24    
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.
29    
30     if test $# -eq 0; then
31     echo 1>&2 "Try \`$0 --help' for more information"
32     exit 1
33     fi
34    
35     run=:
36    
37     # In the cases where this matters, `missing' is being run in the
38     # srcdir already.
39     if test -f configure.ac; then
40     configure_ac=configure.ac
41     else
42     configure_ac=configure.in
43     fi
44    
45     msg="missing on your system"
46    
47     case "$1" in
48     --run)
49     # Try to run requested program, and just exit if it succeeds.
50     run=
51     shift
52     "$@" && exit 0
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.
58     if test $? = 63; then
59     run=:
60     msg="probably too old"
61     fi
62     ;;
63     esac
64    
65     # If it does not exist, or fails to run (possibly an outdated version),
66     # try to emulate it.
67     case "$1" in
68    
69     -h|--h|--he|--hel|--help)
70     echo "\
71     $0 [OPTION]... PROGRAM [ARGUMENT]...
72    
73     Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
74     error status if there is no known handling for PROGRAM.
75    
76     Options:
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
80    
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]
93    
94     Send bug reports to <bug-automake@gnu.org>."
95     ;;
96    
97     -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
98     echo "missing $scriptversion (GNU Automake)"
99     ;;
100    
101     -*)
102     echo 1>&2 "$0: Unknown \`$1' option"
103     echo 1>&2 "Try \`$0 --help' for more information"
104     exit 1
105     ;;
106    
107     aclocal*)
108     if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
109     # We have it, but it failed.
110     exit 1
111     fi
112    
113     echo 1>&2 "\
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."
118     touch aclocal.m4
119     ;;
120    
121     autoconf)
122     if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
123     # We have it, but it failed.
124     exit 1
125     fi
126    
127     echo 1>&2 "\
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
131     archive site."
132     touch configure
133     ;;
134    
135     autoheader)
136     if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
137     # We have it, but it failed.
138     exit 1
139     fi
140    
141     echo 1>&2 "\
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"
148     touch_files=
149     for f in $files; do
150     case "$f" in
151     *:*) touch_files="$touch_files "`echo "$f" |
152     sed -e 's/^[^:]*://' -e 's/:.*//'`;;
153     *) touch_files="$touch_files $f.in";;
154     esac
155     done
156     touch $touch_files
157     ;;
158    
159     automake*)
160     if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
161     # We have it, but it failed.
162     exit 1
163     fi
164    
165     echo 1>&2 "\
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 |
171     sed 's/\.am$/.in/' |
172     while read f; do touch "$f"; done
173     ;;
174    
175     autom4te)
176     if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
177     # We have it, but it failed.
178     exit 1
179     fi
180    
181     echo 1>&2 "\
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
186     archive site."
187    
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
191     touch $file
192     else
193     test -z "$file" || exec >$file
194     echo "#! /bin/sh"
195     echo "# Created by GNU Automake missing as a replacement of"
196     echo "# $ $@"
197     echo "exit 0"
198     chmod +x $file
199     exit 1
200     fi
201     ;;
202    
203     bison|yacc)
204     echo 1>&2 "\
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="\${$#}"
212     case "$LASTARG" in
213     *.y)
214     SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
215     if [ -f "$SRCFILE" ]; then
216     cp "$SRCFILE" y.tab.c
217     fi
218     SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
219     if [ -f "$SRCFILE" ]; then
220     cp "$SRCFILE" y.tab.h
221     fi
222     ;;
223     esac
224     fi
225     if [ ! -f y.tab.h ]; then
226     echo >y.tab.h
227     fi
228     if [ ! -f y.tab.c ]; then
229     echo 'main() { return 0; }' >y.tab.c
230     fi
231     ;;
232    
233     lex|flex)
234     echo 1>&2 "\
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."
239     rm -f lex.yy.c
240     if [ $# -ne 1 ]; then
241     eval LASTARG="\${$#}"
242     case "$LASTARG" in
243     *.l)
244     SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
245     if [ -f "$SRCFILE" ]; then
246     cp "$SRCFILE" lex.yy.c
247     fi
248     ;;
249     esac
250     fi
251     if [ ! -f lex.yy.c ]; then
252     echo 'main() { return 0; }' >lex.yy.c
253     fi
254     ;;
255    
256     help2man)
257     if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
258     # We have it, but it failed.
259     exit 1
260     fi
261    
262     echo 1>&2 "\
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."
267    
268     file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
269     if test -z "$file"; then
270     file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
271     fi
272     if [ -f "$file" ]; then
273     touch $file
274     else
275     test -z "$file" || exec >$file
276     echo ".ab help2man is required to generate this page"
277     exit 1
278     fi
279     ;;
280    
281     makeinfo)
282     if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
283     # We have makeinfo, but it failed.
284     exit 1
285     fi
286    
287     echo 1>&2 "\
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`
298     fi
299     touch $file
300     ;;
301    
302     tar)
303     shift
304     if test -n "$run"; then
305     echo 1>&2 "ERROR: \`tar' requires --run"
306     exit 1
307     fi
308    
309     # We have already tried tar in the generic part.
310     # Look for gnutar/gtar before invocation to avoid ugly error
311     # messages.
312     if (gnutar --version > /dev/null 2>&1); then
313     gnutar "$@" && exit 0
314     fi
315     if (gtar --version > /dev/null 2>&1); then
316     gtar "$@" && exit 0
317     fi
318     firstarg="$1"
319     if shift; then
320     case "$firstarg" in
321     *o*)
322     firstarg=`echo "$firstarg" | sed s/o//`
323     tar "$firstarg" "$@" && exit 0
324     ;;
325     esac
326     case "$firstarg" in
327     *h*)
328     firstarg=`echo "$firstarg" | sed s/h//`
329     tar "$firstarg" "$@" && exit 0
330     ;;
331     esac
332     fi
333    
334     echo 1>&2 "\
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."
338     exit 1
339     ;;
340    
341     *)
342     echo 1>&2 "\
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."
349     exit 1
350     ;;
351     esac
352    
353     exit 0
354    
355     # Local variables:
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: "$"
360     # End:

  ViewVC Help
Powered by ViewVC 1.1.23