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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [or1ksim/] [missing] - Blame information for rev 1774

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

Line No. Rev Author Line
1 7 jrydberg
#! /bin/sh
2
# Common stub for a few missing GNU programs while installing.
3 1745 jeremybenn
 
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 7 jrydberg
# 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 1745 jeremybenn
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
23
# 02110-1301, USA.
24 7 jrydberg
 
25 1745 jeremybenn
# 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 7 jrydberg
if test $# -eq 0; then
31
  echo 1>&2 "Try \`$0 --help' for more information"
32
  exit 1
33
fi
34
 
35
run=:
36 1745 jeremybenn
sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
37
sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
38 7 jrydberg
 
39 1745 jeremybenn
# 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 7 jrydberg
--run)
51
  # Try to run requested program, and just exit if it succeeds.
52
  run=
53
  shift
54
  "$@" && exit 0
55 1745 jeremybenn
  # 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 7 jrydberg
  ;;
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 1745 jeremybenn
  autom4te     touch the output file, or create a stub one
83 7 jrydberg
  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 1745 jeremybenn
  help2man     touch the output file
87 7 jrydberg
  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 1745 jeremybenn
  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
91
 
92
Send bug reports to ."
93
    exit $?
94 7 jrydberg
    ;;
95
 
96
  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
97 1745 jeremybenn
    echo "missing $scriptversion (GNU Automake)"
98
    exit $?
99 7 jrydberg
    ;;
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 1745 jeremybenn
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 7 jrydberg
    echo 1>&2 "\
144 1745 jeremybenn
WARNING: \`$1' is $msg.  You should only need it if
145
         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
146 7 jrydberg
         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 1745 jeremybenn
WARNING: \`$1' is $msg.  You should only need it if
154
         you modified \`${configure_ac}'.  You might want to install the
155 7 jrydberg
         \`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 1745 jeremybenn
WARNING: \`$1' is $msg.  You should only need it if
163
         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
164 7 jrydberg
         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
165
         from any GNU archive site."
166 1745 jeremybenn
    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
167 7 jrydberg
    test -z "$files" && files="config.h"
168
    touch_files=
169
    for f in $files; do
170 1745 jeremybenn
      case $f in
171 7 jrydberg
      *:*) 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 1745 jeremybenn
  automake*)
180 7 jrydberg
    echo 1>&2 "\
181 1745 jeremybenn
WARNING: \`$1' is $msg.  You should only need it if
182
         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
183 7 jrydberg
         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 1745 jeremybenn
  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 7 jrydberg
  bison|yacc)
214
    echo 1>&2 "\
215 1745 jeremybenn
WARNING: \`$1' $msg.  You should only need it if
216 7 jrydberg
         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 1745 jeremybenn
    if test $# -ne 1; then
221 7 jrydberg
        eval LASTARG="\${$#}"
222 1745 jeremybenn
        case $LASTARG in
223 7 jrydberg
        *.y)
224
            SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
225 1745 jeremybenn
            if test -f "$SRCFILE"; then
226 7 jrydberg
                 cp "$SRCFILE" y.tab.c
227
            fi
228
            SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
229 1745 jeremybenn
            if test -f "$SRCFILE"; then
230 7 jrydberg
                 cp "$SRCFILE" y.tab.h
231
            fi
232
          ;;
233
        esac
234
    fi
235 1745 jeremybenn
    if test ! -f y.tab.h; then
236 7 jrydberg
        echo >y.tab.h
237
    fi
238 1745 jeremybenn
    if test ! -f y.tab.c; then
239 7 jrydberg
        echo 'main() { return 0; }' >y.tab.c
240
    fi
241
    ;;
242
 
243
  lex|flex)
244
    echo 1>&2 "\
245 1745 jeremybenn
WARNING: \`$1' is $msg.  You should only need it if
246 7 jrydberg
         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 1745 jeremybenn
    if test $# -ne 1; then
251 7 jrydberg
        eval LASTARG="\${$#}"
252 1745 jeremybenn
        case $LASTARG in
253 7 jrydberg
        *.l)
254
            SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
255 1745 jeremybenn
            if test -f "$SRCFILE"; then
256 7 jrydberg
                 cp "$SRCFILE" lex.yy.c
257
            fi
258
          ;;
259
        esac
260
    fi
261 1745 jeremybenn
    if test ! -f lex.yy.c; then
262 7 jrydberg
        echo 'main() { return 0; }' >lex.yy.c
263
    fi
264
    ;;
265
 
266 1745 jeremybenn
  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 7 jrydberg
  makeinfo)
285
    echo 1>&2 "\
286 1745 jeremybenn
WARNING: \`$1' is $msg.  You should only need it if
287 7 jrydberg
         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 1745 jeremybenn
    # 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 7 jrydberg
    if test -z "$file"; then
296 1745 jeremybenn
      # ... 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 7 jrydberg
    fi
307 1745 jeremybenn
    # 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 7 jrydberg
    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 1745 jeremybenn
       gnutar "$@" && exit 0
321 7 jrydberg
    fi
322
    if (gtar --version > /dev/null 2>&1); then
323 1745 jeremybenn
       gtar "$@" && exit 0
324 7 jrydberg
    fi
325
    firstarg="$1"
326
    if shift; then
327 1745 jeremybenn
        case $firstarg in
328 7 jrydberg
        *o*)
329
            firstarg=`echo "$firstarg" | sed s/o//`
330 1745 jeremybenn
            tar "$firstarg" "$@" && exit 0
331 7 jrydberg
            ;;
332
        esac
333 1745 jeremybenn
        case $firstarg in
334 7 jrydberg
        *h*)
335
            firstarg=`echo "$firstarg" | sed s/h//`
336 1745 jeremybenn
            tar "$firstarg" "$@" && exit 0
337 7 jrydberg
            ;;
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 1745 jeremybenn
WARNING: \`$1' is needed, and is $msg.
351
         You might have modified some files without having the
352 7 jrydberg
         proper tools for further handling them.  Check the \`README' file,
353 1745 jeremybenn
         it often tells you about the needed prerequisites for installing
354 7 jrydberg
         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 1745 jeremybenn
 
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.