OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [acsupport/] [missing] - Blame information for rev 831

Go to most recent revision | Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.