source: trunk/MagicSoft/AMC/activemirrorcontrol/admin/missing@ 6390

Last change on this file since 6390 was 3403, checked in by merck, 21 years ago
initial check-in of AMC software
File size: 7.2 KB
Line 
1#! /bin/sh
2# Common stub for a few missing GNU programs while installing.
3# Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc.
4# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
5
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
21if test $# -eq 0; then
22 echo 1>&2 "Try \`$0 --help' for more information"
23 exit 1
24fi
25
26run=:
27
28case "$1" in
29--run)
30 # Try to run requested program, and just exit if it succeeds.
31 run=
32 shift
33 "$@" && exit 0
34 ;;
35esac
36
37# If it does not exist, or fails to run (possibly an outdated version),
38# try to emulate it.
39case "$1" in
40
41 -h|--h|--he|--hel|--help)
42 echo "\
43$0 [OPTION]... PROGRAM [ARGUMENT]...
44
45Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
46error status if there is no known handling for PROGRAM.
47
48Options:
49 -h, --help display this help and exit
50 -v, --version output version information and exit
51 --run try to run the given command, and emulate it if it fails
52
53Supported PROGRAM values:
54 aclocal touch file \`aclocal.m4'
55 autoconf touch file \`configure'
56 autoheader touch file \`config.h.in'
57 automake touch all \`Makefile.in' files
58 bison create \`y.tab.[ch]', if possible, from existing .[ch]
59 flex create \`lex.yy.c', if possible, from existing .c
60 lex create \`lex.yy.c', if possible, from existing .c
61 makeinfo touch the output file
62 tar try tar, gnutar, gtar, then tar without non-portable flags
63 yacc create \`y.tab.[ch]', if possible, from existing .[ch]"
64 ;;
65
66 -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
67 echo "missing 0.2 - GNU automake"
68 ;;
69
70 -*)
71 echo 1>&2 "$0: Unknown \`$1' option"
72 echo 1>&2 "Try \`$0 --help' for more information"
73 exit 1
74 ;;
75
76 aclocal)
77 echo 1>&2 "\
78WARNING: \`$1' is missing on your system. You should only need it if
79 you modified \`acinclude.m4' or \`configure.in'. You might want
80 to install the \`Automake' and \`Perl' packages. Grab them from
81 any GNU archive site."
82 touch aclocal.m4
83 ;;
84
85 autoconf)
86 echo 1>&2 "\
87WARNING: \`$1' is missing on your system. You should only need it if
88 you modified \`configure.in'. You might want to install the
89 \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
90 archive site."
91 touch configure
92 ;;
93
94 autoheader)
95 echo 1>&2 "\
96WARNING: \`$1' is missing on your system. You should only need it if
97 you modified \`acconfig.h' or \`configure.in'. You might want
98 to install the \`Autoconf' and \`GNU m4' packages. Grab them
99 from any GNU archive site."
100 files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' configure.in`
101 test -z "$files" && files="config.h"
102 touch_files=
103 for f in $files; do
104 case "$f" in
105 *:*) touch_files="$touch_files "`echo "$f" |
106 sed -e 's/^[^:]*://' -e 's/:.*//'`;;
107 *) touch_files="$touch_files $f.in";;
108 esac
109 done
110 touch $touch_files
111 ;;
112
113 automake)
114 echo 1>&2 "\
115WARNING: \`$1' is missing on your system. You should only need it if
116 you modified \`Makefile.am', \`acinclude.m4' or \`configure.in'.
117 You might want to install the \`Automake' and \`Perl' packages.
118 Grab them from any GNU archive site."
119 find . -type f -name Makefile.am -print |
120 sed 's/\.am$/.in/' |
121 while read f; do touch "$f"; done
122 ;;
123
124 bison|yacc)
125 echo 1>&2 "\
126WARNING: \`$1' is missing on your system. You should only need it if
127 you modified a \`.y' file. You may need the \`Bison' package
128 in order for those modifications to take effect. You can get
129 \`Bison' from any GNU archive site."
130 rm -f y.tab.c y.tab.h
131 if [ $# -ne 1 ]; then
132 eval LASTARG="\${$#}"
133 case "$LASTARG" in
134 *.y)
135 SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
136 if [ -f "$SRCFILE" ]; then
137 cp "$SRCFILE" y.tab.c
138 fi
139 SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
140 if [ -f "$SRCFILE" ]; then
141 cp "$SRCFILE" y.tab.h
142 fi
143 ;;
144 esac
145 fi
146 if [ ! -f y.tab.h ]; then
147 echo >y.tab.h
148 fi
149 if [ ! -f y.tab.c ]; then
150 echo 'main() { return 0; }' >y.tab.c
151 fi
152 ;;
153
154 lex|flex)
155 echo 1>&2 "\
156WARNING: \`$1' is missing on your system. You should only need it if
157 you modified a \`.l' file. You may need the \`Flex' package
158 in order for those modifications to take effect. You can get
159 \`Flex' from any GNU archive site."
160 rm -f lex.yy.c
161 if [ $# -ne 1 ]; then
162 eval LASTARG="\${$#}"
163 case "$LASTARG" in
164 *.l)
165 SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
166 if [ -f "$SRCFILE" ]; then
167 cp "$SRCFILE" lex.yy.c
168 fi
169 ;;
170 esac
171 fi
172 if [ ! -f lex.yy.c ]; then
173 echo 'main() { return 0; }' >lex.yy.c
174 fi
175 ;;
176
177 makeinfo)
178 echo 1>&2 "\
179WARNING: \`$1' is missing on your system. You should only need it if
180 you modified a \`.texi' or \`.texinfo' file, or any other file
181 indirectly affecting the aspect of the manual. The spurious
182 call might also be the consequence of using a buggy \`make' (AIX,
183 DU, IRIX). You might want to install the \`Texinfo' package or
184 the \`GNU make' package. Grab either from any GNU archive site."
185 file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
186 if test -z "$file"; then
187 file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
188 file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
189 fi
190 touch $file
191 ;;
192
193 tar)
194 shift
195 if test -n "$run"; then
196 echo 1>&2 "ERROR: \`tar' requires --run"
197 exit 1
198 fi
199
200 # we have already tried tar in the generic part
201 gnutar ${1+"$@"} && exit 0
202 gtar ${1+"$@"} && exit 0
203 firstarg="$1"
204 if shift; then
205 case "$firstarg" in
206 *o*)
207 firstarg=`echo "$firstarg" | sed s/o//`
208 tar "$firstarg" ${1+"$@"} && exit 0
209 ;;
210 esac
211 case "$firstarg" in
212 *h*)
213 firstarg=`echo "$firstarg" | sed s/h//`
214 tar "$firstarg" ${1+"$@"} && exit 0
215 ;;
216 esac
217 fi
218
219 echo 1>&2 "\
220WARNING: I can't seem to be able to run \`tar' with the given arguments.
221 You may want to install GNU tar or Free paxutils, or check the
222 command line arguments."
223 exit 1
224 ;;
225
226 *)
227 echo 1>&2 "\
228WARNING: \`$1' is needed, and you do not seem to have it handy on your
229 system. You might have modified some files without having the
230 proper tools for further handling them. Check the \`README' file,
231 it often tells you about the needed prerequirements for installing
232 this package. You may also peek at any GNU archive site, in case
233 some other package would contain this missing \`$1' program."
234 exit 1
235 ;;
236esac
237
238exit 0
Note: See TracBrowser for help on using the repository browser.