~kirkland/grub/grub.32216

33 by gord
Autoconf/Automake jumbo patches
1
#! /bin/sh
2
# Common stub for a few missing GNU programs while installing.
745 by okuji
2004-06-13 Yoshinori K. Okuji <okuji@enbug.org>
3
772 by okuji
2005-05-08 Yoshinori K. Okuji <okuji@enbug.org>
4
scriptversion=2004-09-07.08
5
6
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004
745 by okuji
2004-06-13 Yoshinori K. Okuji <okuji@enbug.org>
7
#   Free Software Foundation, Inc.
277 by okuji
Update the build environment. You need the latest CVS version of Automake.
8
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
33 by gord
Autoconf/Automake jumbo patches
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
520 by okuji
Use automake-1.4h instead of our own version. Some required changes are made.
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
33 by gord
Autoconf/Automake jumbo patches
30
if test $# -eq 0; then
31
  echo 1>&2 "Try \`$0 --help' for more information"
32
  exit 1
33
fi
34
277 by okuji
Update the build environment. You need the latest CVS version of Automake.
35
run=:
520 by okuji
Use automake-1.4h instead of our own version. Some required changes are made.
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
277 by okuji
Update the build environment. You need the latest CVS version of Automake.
44
745 by okuji
2004-06-13 Yoshinori K. Okuji <okuji@enbug.org>
45
msg="missing on your system"
46
277 by okuji
Update the build environment. You need the latest CVS version of Automake.
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
745 by okuji
2004-06-13 Yoshinori K. Okuji <okuji@enbug.org>
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
277 by okuji
Update the build environment. You need the latest CVS version of Automake.
62
  ;;
33 by gord
Autoconf/Automake jumbo patches
63
64
  -h|--h|--he|--hel|--help)
65
    echo "\
66
$0 [OPTION]... PROGRAM [ARGUMENT]...
67
68
Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
69
error status if there is no known handling for PROGRAM.
70
71
Options:
72
  -h, --help      display this help and exit
73
  -v, --version   output version information and exit
277 by okuji
Update the build environment. You need the latest CVS version of Automake.
74
  --run           try to run the given command, and emulate it if it fails
33 by gord
Autoconf/Automake jumbo patches
75
76
Supported PROGRAM values:
77
  aclocal      touch file \`aclocal.m4'
78
  autoconf     touch file \`configure'
79
  autoheader   touch file \`config.h.in'
80
  automake     touch all \`Makefile.in' files
81
  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
82
  flex         create \`lex.yy.c', if possible, from existing .c
520 by okuji
Use automake-1.4h instead of our own version. Some required changes are made.
83
  help2man     touch the output file
33 by gord
Autoconf/Automake jumbo patches
84
  lex          create \`lex.yy.c', if possible, from existing .c
85
  makeinfo     touch the output file
277 by okuji
Update the build environment. You need the latest CVS version of Automake.
86
  tar          try tar, gnutar, gtar, then tar without non-portable flags
745 by okuji
2004-06-13 Yoshinori K. Okuji <okuji@enbug.org>
87
  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
88
89
Send bug reports to <bug-automake@gnu.org>."
772 by okuji
2005-05-08 Yoshinori K. Okuji <okuji@enbug.org>
90
    exit 0
33 by gord
Autoconf/Automake jumbo patches
91
    ;;
92
93
  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
745 by okuji
2004-06-13 Yoshinori K. Okuji <okuji@enbug.org>
94
    echo "missing $scriptversion (GNU Automake)"
772 by okuji
2005-05-08 Yoshinori K. Okuji <okuji@enbug.org>
95
    exit 0
33 by gord
Autoconf/Automake jumbo patches
96
    ;;
97
98
  -*)
99
    echo 1>&2 "$0: Unknown \`$1' option"
100
    echo 1>&2 "Try \`$0 --help' for more information"
101
    exit 1
102
    ;;
103
772 by okuji
2005-05-08 Yoshinori K. Okuji <okuji@enbug.org>
104
esac
105
106
# Now exit if we have it, but it failed.  Also exit now if we
107
# don't have it and --version was passed (most likely to detect
108
# the program).
109
case "$1" in
110
  lex|yacc)
111
    # Not GNU programs, they don't have --version.
112
    ;;
113
114
  tar)
115
    if test -n "$run"; then
116
       echo 1>&2 "ERROR: \`tar' requires --run"
117
       exit 1
118
    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
119
       exit 1
120
    fi
121
    ;;
122
123
  *)
745 by okuji
2004-06-13 Yoshinori K. Okuji <okuji@enbug.org>
124
    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
125
       # We have it, but it failed.
126
       exit 1
772 by okuji
2005-05-08 Yoshinori K. Okuji <okuji@enbug.org>
127
    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
128
       # Could not run --version or --help.  This is probably someone
129
       # running `$TOOL --version' or `$TOOL --help' to check whether
130
       # $TOOL exists and not knowing $TOOL uses missing.
131
       exit 1
132
    fi
133
    ;;
134
esac
135
136
# If it does not exist, or fails to run (possibly an outdated version),
137
# try to emulate it.
138
case "$1" in
139
  aclocal*)
745 by okuji
2004-06-13 Yoshinori K. Okuji <okuji@enbug.org>
140
    echo 1>&2 "\
141
WARNING: \`$1' is $msg.  You should only need it if
520 by okuji
Use automake-1.4h instead of our own version. Some required changes are made.
142
         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
33 by gord
Autoconf/Automake jumbo patches
143
         to install the \`Automake' and \`Perl' packages.  Grab them from
144
         any GNU archive site."
145
    touch aclocal.m4
146
    ;;
147
148
  autoconf)
745 by okuji
2004-06-13 Yoshinori K. Okuji <okuji@enbug.org>
149
    echo 1>&2 "\
150
WARNING: \`$1' is $msg.  You should only need it if
520 by okuji
Use automake-1.4h instead of our own version. Some required changes are made.
151
         you modified \`${configure_ac}'.  You might want to install the
33 by gord
Autoconf/Automake jumbo patches
152
         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
153
         archive site."
154
    touch configure
155
    ;;
156
157
  autoheader)
745 by okuji
2004-06-13 Yoshinori K. Okuji <okuji@enbug.org>
158
    echo 1>&2 "\
159
WARNING: \`$1' is $msg.  You should only need it if
520 by okuji
Use automake-1.4h instead of our own version. Some required changes are made.
160
         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
33 by gord
Autoconf/Automake jumbo patches
161
         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
162
         from any GNU archive site."
520 by okuji
Use automake-1.4h instead of our own version. Some required changes are made.
163
    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
277 by okuji
Update the build environment. You need the latest CVS version of Automake.
164
    test -z "$files" && files="config.h"
165
    touch_files=
166
    for f in $files; do
167
      case "$f" in
168
      *:*) touch_files="$touch_files "`echo "$f" |
169
				       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
170
      *) touch_files="$touch_files $f.in";;
171
      esac
172
    done
173
    touch $touch_files
33 by gord
Autoconf/Automake jumbo patches
174
    ;;
175
745 by okuji
2004-06-13 Yoshinori K. Okuji <okuji@enbug.org>
176
  automake*)
177
    echo 1>&2 "\
178
WARNING: \`$1' is $msg.  You should only need it if
520 by okuji
Use automake-1.4h instead of our own version. Some required changes are made.
179
         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
33 by gord
Autoconf/Automake jumbo patches
180
         You might want to install the \`Automake' and \`Perl' packages.
181
         Grab them from any GNU archive site."
277 by okuji
Update the build environment. You need the latest CVS version of Automake.
182
    find . -type f -name Makefile.am -print |
183
	   sed 's/\.am$/.in/' |
184
	   while read f; do touch "$f"; done
33 by gord
Autoconf/Automake jumbo patches
185
    ;;
186
745 by okuji
2004-06-13 Yoshinori K. Okuji <okuji@enbug.org>
187
  autom4te)
188
    echo 1>&2 "\
189
WARNING: \`$1' is needed, but is $msg.
190
         You might have modified some files without having the
191
         proper tools for further handling them.
192
         You can get \`$1' as part of \`Autoconf' from any GNU
193
         archive site."
194
195
    file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
196
    test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
197
    if test -f "$file"; then
198
	touch $file
199
    else
200
	test -z "$file" || exec >$file
201
	echo "#! /bin/sh"
202
	echo "# Created by GNU Automake missing as a replacement of"
203
	echo "#  $ $@"
204
	echo "exit 0"
205
	chmod +x $file
206
	exit 1
207
    fi
208
    ;;
209
33 by gord
Autoconf/Automake jumbo patches
210
  bison|yacc)
211
    echo 1>&2 "\
745 by okuji
2004-06-13 Yoshinori K. Okuji <okuji@enbug.org>
212
WARNING: \`$1' $msg.  You should only need it if
33 by gord
Autoconf/Automake jumbo patches
213
         you modified a \`.y' file.  You may need the \`Bison' package
214
         in order for those modifications to take effect.  You can get
215
         \`Bison' from any GNU archive site."
216
    rm -f y.tab.c y.tab.h
217
    if [ $# -ne 1 ]; then
218
        eval LASTARG="\${$#}"
219
	case "$LASTARG" in
220
	*.y)
221
	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
222
	    if [ -f "$SRCFILE" ]; then
223
	         cp "$SRCFILE" y.tab.c
224
	    fi
225
	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
226
	    if [ -f "$SRCFILE" ]; then
227
	         cp "$SRCFILE" y.tab.h
228
	    fi
229
	  ;;
230
	esac
231
    fi
232
    if [ ! -f y.tab.h ]; then
233
	echo >y.tab.h
234
    fi
235
    if [ ! -f y.tab.c ]; then
236
	echo 'main() { return 0; }' >y.tab.c
237
    fi
238
    ;;
239
240
  lex|flex)
241
    echo 1>&2 "\
745 by okuji
2004-06-13 Yoshinori K. Okuji <okuji@enbug.org>
242
WARNING: \`$1' is $msg.  You should only need it if
33 by gord
Autoconf/Automake jumbo patches
243
         you modified a \`.l' file.  You may need the \`Flex' package
244
         in order for those modifications to take effect.  You can get
245
         \`Flex' from any GNU archive site."
246
    rm -f lex.yy.c
247
    if [ $# -ne 1 ]; then
248
        eval LASTARG="\${$#}"
249
	case "$LASTARG" in
250
	*.l)
251
	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
252
	    if [ -f "$SRCFILE" ]; then
253
	         cp "$SRCFILE" lex.yy.c
254
	    fi
255
	  ;;
256
	esac
257
    fi
258
    if [ ! -f lex.yy.c ]; then
259
	echo 'main() { return 0; }' >lex.yy.c
260
    fi
261
    ;;
262
520 by okuji
Use automake-1.4h instead of our own version. Some required changes are made.
263
  help2man)
745 by okuji
2004-06-13 Yoshinori K. Okuji <okuji@enbug.org>
264
    echo 1>&2 "\
265
WARNING: \`$1' is $msg.  You should only need it if
520 by okuji
Use automake-1.4h instead of our own version. Some required changes are made.
266
	 you modified a dependency of a manual page.  You may need the
267
	 \`Help2man' package in order for those modifications to take
268
	 effect.  You can get \`Help2man' from any GNU archive site."
269
270
    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
271
    if test -z "$file"; then
272
	file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
273
    fi
274
    if [ -f "$file" ]; then
275
	touch $file
276
    else
277
	test -z "$file" || exec >$file
278
	echo ".ab help2man is required to generate this page"
279
	exit 1
280
    fi
281
    ;;
282
33 by gord
Autoconf/Automake jumbo patches
283
  makeinfo)
284
    echo 1>&2 "\
745 by okuji
2004-06-13 Yoshinori K. Okuji <okuji@enbug.org>
285
WARNING: \`$1' is $msg.  You should only need it if
33 by gord
Autoconf/Automake jumbo patches
286
         you modified a \`.texi' or \`.texinfo' file, or any other file
287
         indirectly affecting the aspect of the manual.  The spurious
288
         call might also be the consequence of using a buggy \`make' (AIX,
289
         DU, IRIX).  You might want to install the \`Texinfo' package or
290
         the \`GNU make' package.  Grab either from any GNU archive site."
291
    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
292
    if test -z "$file"; then
293
      file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
294
      file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
295
    fi
296
    touch $file
297
    ;;
298
277 by okuji
Update the build environment. You need the latest CVS version of Automake.
299
  tar)
300
    shift
301
302
    # We have already tried tar in the generic part.
303
    # Look for gnutar/gtar before invocation to avoid ugly error
304
    # messages.
305
    if (gnutar --version > /dev/null 2>&1); then
745 by okuji
2004-06-13 Yoshinori K. Okuji <okuji@enbug.org>
306
       gnutar "$@" && exit 0
277 by okuji
Update the build environment. You need the latest CVS version of Automake.
307
    fi
308
    if (gtar --version > /dev/null 2>&1); then
745 by okuji
2004-06-13 Yoshinori K. Okuji <okuji@enbug.org>
309
       gtar "$@" && exit 0
277 by okuji
Update the build environment. You need the latest CVS version of Automake.
310
    fi
311
    firstarg="$1"
312
    if shift; then
313
	case "$firstarg" in
314
	*o*)
315
	    firstarg=`echo "$firstarg" | sed s/o//`
745 by okuji
2004-06-13 Yoshinori K. Okuji <okuji@enbug.org>
316
	    tar "$firstarg" "$@" && exit 0
277 by okuji
Update the build environment. You need the latest CVS version of Automake.
317
	    ;;
318
	esac
319
	case "$firstarg" in
320
	*h*)
321
	    firstarg=`echo "$firstarg" | sed s/h//`
745 by okuji
2004-06-13 Yoshinori K. Okuji <okuji@enbug.org>
322
	    tar "$firstarg" "$@" && exit 0
277 by okuji
Update the build environment. You need the latest CVS version of Automake.
323
	    ;;
324
	esac
325
    fi
326
327
    echo 1>&2 "\
328
WARNING: I can't seem to be able to run \`tar' with the given arguments.
329
         You may want to install GNU tar or Free paxutils, or check the
330
         command line arguments."
331
    exit 1
332
    ;;
333
33 by gord
Autoconf/Automake jumbo patches
334
  *)
335
    echo 1>&2 "\
745 by okuji
2004-06-13 Yoshinori K. Okuji <okuji@enbug.org>
336
WARNING: \`$1' is needed, and is $msg.
337
         You might have modified some files without having the
33 by gord
Autoconf/Automake jumbo patches
338
         proper tools for further handling them.  Check the \`README' file,
745 by okuji
2004-06-13 Yoshinori K. Okuji <okuji@enbug.org>
339
         it often tells you about the needed prerequisites for installing
33 by gord
Autoconf/Automake jumbo patches
340
         this package.  You may also peek at any GNU archive site, in case
341
         some other package would contain this missing \`$1' program."
342
    exit 1
343
    ;;
344
esac
345
346
exit 0
745 by okuji
2004-06-13 Yoshinori K. Okuji <okuji@enbug.org>
347
348
# Local variables:
349
# eval: (add-hook 'write-file-hooks 'time-stamp)
350
# time-stamp-start: "scriptversion="
351
# time-stamp-format: "%:y-%02m-%02d.%02H"
352
# time-stamp-end: "$"
353
# End: