]> git.ipfire.org Git - thirdparty/gcc.git/blame - missing
install-sh: Update to newer upstream versions (associated with aclocal 1.7).
[thirdparty/gcc.git] / missing
CommitLineData
6599da04
JM
1#! /bin/sh
2# Common stub for a few missing GNU programs while installing.
8a199ff6
PE
3# Copyright (C) 1996, 1997, 1999, 2000, 2002 Free Software Foundation, Inc.
4# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
6599da04
JM
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
8a199ff6
PE
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.
25
6599da04
JM
26if test $# -eq 0; then
27 echo 1>&2 "Try \`$0 --help' for more information"
28 exit 1
29fi
30
8a199ff6
PE
31run=:
32
33# In the cases where this matters, `missing' is being run in the
34# srcdir already.
35if test -f configure.ac; then
36 configure_ac=configure.ac
37else
38 configure_ac=configure.in
39fi
40
41case "$1" in
42--run)
43 # Try to run requested program, and just exit if it succeeds.
44 run=
45 shift
46 "$@" && exit 0
47 ;;
48esac
49
50# If it does not exist, or fails to run (possibly an outdated version),
51# try to emulate it.
6599da04
JM
52case "$1" in
53
54 -h|--h|--he|--hel|--help)
55 echo "\
56$0 [OPTION]... PROGRAM [ARGUMENT]...
57
58Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
59error status if there is no known handling for PROGRAM.
60
61Options:
62 -h, --help display this help and exit
63 -v, --version output version information and exit
8a199ff6 64 --run try to run the given command, and emulate it if it fails
6599da04
JM
65
66Supported 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
8af14275
ILT
71 bison create \`y.tab.[ch]', if possible, from existing .[ch]
72 flex create \`lex.yy.c', if possible, from existing .c
8a199ff6 73 help2man touch the output file
8af14275 74 lex create \`lex.yy.c', if possible, from existing .c
6599da04 75 makeinfo touch the output file
8a199ff6 76 tar try tar, gnutar, gtar, then tar without non-portable flags
8af14275 77 yacc create \`y.tab.[ch]', if possible, from existing .[ch]"
6599da04
JM
78 ;;
79
80 -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
8a199ff6 81 echo "missing 0.4 - GNU automake"
6599da04
JM
82 ;;
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
8a199ff6
PE
90 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
6599da04
JM
96 echo 1>&2 "\
97WARNING: \`$1' is missing on your system. You should only need it if
8a199ff6 98 you modified \`acinclude.m4' or \`${configure_ac}'. You might want
6599da04
JM
99 to install the \`Automake' and \`Perl' packages. Grab them from
100 any GNU archive site."
101 touch aclocal.m4
102 ;;
103
104 autoconf)
8a199ff6
PE
105 if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
106 # We have it, but it failed.
107 exit 1
108 fi
109
6599da04
JM
110 echo 1>&2 "\
111WARNING: \`$1' is missing on your system. You should only need it if
8a199ff6 112 you modified \`${configure_ac}'. You might want to install the
6599da04
JM
113 \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
114 archive site."
115 touch configure
116 ;;
117
118 autoheader)
8a199ff6
PE
119 if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
120 # We have it, but it failed.
121 exit 1
122 fi
123
6599da04
JM
124 echo 1>&2 "\
125WARNING: \`$1' is missing on your system. You should only need it if
8a199ff6 126 you modified \`acconfig.h' or \`${configure_ac}'. You might want
6599da04
JM
127 to install the \`Autoconf' and \`GNU m4' packages. Grab them
128 from any GNU archive site."
8a199ff6 129 files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
d207ebef
JM
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
6599da04
JM
140 ;;
141
8a199ff6
PE
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 fi
147
6599da04
JM
148 echo 1>&2 "\
149WARNING: \`$1' is missing on your system. You should only need it if
8a199ff6 150 you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
6599da04
JM
151 You might want to install the \`Automake' and \`Perl' packages.
152 Grab them from any GNU archive site."
d207ebef
JM
153 find . -type f -name Makefile.am -print |
154 sed 's/\.am$/.in/' |
155 while read f; do touch "$f"; done
6599da04
JM
156 ;;
157
8a199ff6
PE
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 "\
165WARNING: \`$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
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 ;;
185
6599da04
JM
186 bison|yacc)
187 echo 1>&2 "\
188WARNING: \`$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."
8af14275
ILT
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 "\
218WARNING: \`$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
6599da04
JM
237 ;;
238
8a199ff6
PE
239 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 "\
246WARNING: \`$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
6599da04 264 makeinfo)
8a199ff6
PE
265 if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
266 # We have makeinfo, but it failed.
267 exit 1
268 fi
269
6599da04
JM
270 echo 1>&2 "\
271WARNING: \`$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 ;;
284
8a199ff6
PE
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 "\
318WARNING: 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 ;;
323
6599da04
JM
324 *)
325 echo 1>&2 "\
326WARNING: \`$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 ;;
334esac
335
336exit 0