~ubuntu-branches/ubuntu/precise/gtkmm3.0/precise

« back to all changes in this revision

Viewing changes to build/missing

  • Committer: Bazaar Package Importer
  • Author(s): Michael Biebl
  • Date: 2011-06-17 00:12:44 UTC
  • Revision ID: james.westby@ubuntu.com-20110617001244-9hl5an15hiaaahi6
Tags: upstream-3.0.1
ImportĀ upstreamĀ versionĀ 3.0.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#! /bin/sh
 
2
# Common stub for a few missing GNU programs while installing.
 
3
 
 
4
scriptversion=2009-04-28.21; # UTC
 
5
 
 
6
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
 
7
# 2008, 2009 Free Software Foundation, Inc.
 
8
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 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
Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
 
93
\`g' are ignored when checking the name.
 
94
 
 
95
Send bug reports to <bug-automake@gnu.org>."
 
96
    exit $?
 
97
    ;;
 
98
 
 
99
  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
 
100
    echo "missing $scriptversion (GNU Automake)"
 
101
    exit $?
 
102
    ;;
 
103
 
 
104
  -*)
 
105
    echo 1>&2 "$0: Unknown \`$1' option"
 
106
    echo 1>&2 "Try \`$0 --help' for more information"
 
107
    exit 1
 
108
    ;;
 
109
 
 
110
esac
 
111
 
 
112
# normalize program name to check for.
 
113
program=`echo "$1" | sed '
 
114
  s/^gnu-//; t
 
115
  s/^gnu//; t
 
116
  s/^g//; t'`
 
117
 
 
118
# Now exit if we have it, but it failed.  Also exit now if we
 
119
# don't have it and --version was passed (most likely to detect
 
120
# the program).  This is about non-GNU programs, so use $1 not
 
121
# $program.
 
122
case $1 in
 
123
  lex*|yacc*)
 
124
    # Not GNU programs, they don't have --version.
 
125
    ;;
 
126
 
 
127
  tar*)
 
128
    if test -n "$run"; then
 
129
       echo 1>&2 "ERROR: \`tar' requires --run"
 
130
       exit 1
 
131
    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
 
132
       exit 1
 
133
    fi
 
134
    ;;
 
135
 
 
136
  *)
 
137
    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
 
138
       # We have it, but it failed.
 
139
       exit 1
 
140
    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
 
141
       # Could not run --version or --help.  This is probably someone
 
142
       # running `$TOOL --version' or `$TOOL --help' to check whether
 
143
       # $TOOL exists and not knowing $TOOL uses missing.
 
144
       exit 1
 
145
    fi
 
146
    ;;
 
147
esac
 
148
 
 
149
# If it does not exist, or fails to run (possibly an outdated version),
 
150
# try to emulate it.
 
151
case $program in
 
152
  aclocal*)
 
153
    echo 1>&2 "\
 
154
WARNING: \`$1' is $msg.  You should only need it if
 
155
         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
 
156
         to install the \`Automake' and \`Perl' packages.  Grab them from
 
157
         any GNU archive site."
 
158
    touch aclocal.m4
 
159
    ;;
 
160
 
 
161
  autoconf*)
 
162
    echo 1>&2 "\
 
163
WARNING: \`$1' is $msg.  You should only need it if
 
164
         you modified \`${configure_ac}'.  You might want to install the
 
165
         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
 
166
         archive site."
 
167
    touch configure
 
168
    ;;
 
169
 
 
170
  autoheader*)
 
171
    echo 1>&2 "\
 
172
WARNING: \`$1' is $msg.  You should only need it if
 
173
         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
 
174
         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
 
175
         from any GNU archive site."
 
176
    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
 
177
    test -z "$files" && files="config.h"
 
178
    touch_files=
 
179
    for f in $files; do
 
180
      case $f in
 
181
      *:*) touch_files="$touch_files "`echo "$f" |
 
182
                                       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
 
183
      *) touch_files="$touch_files $f.in";;
 
184
      esac
 
185
    done
 
186
    touch $touch_files
 
187
    ;;
 
188
 
 
189
  automake*)
 
190
    echo 1>&2 "\
 
191
WARNING: \`$1' is $msg.  You should only need it if
 
192
         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
 
193
         You might want to install the \`Automake' and \`Perl' packages.
 
194
         Grab them from any GNU archive site."
 
195
    find . -type f -name Makefile.am -print |
 
196
           sed 's/\.am$/.in/' |
 
197
           while read f; do touch "$f"; done
 
198
    ;;
 
199
 
 
200
  autom4te*)
 
201
    echo 1>&2 "\
 
202
WARNING: \`$1' is needed, but is $msg.
 
203
         You might have modified some files without having the
 
204
         proper tools for further handling them.
 
205
         You can get \`$1' as part of \`Autoconf' from any GNU
 
206
         archive site."
 
207
 
 
208
    file=`echo "$*" | sed -n "$sed_output"`
 
209
    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
 
210
    if test -f "$file"; then
 
211
        touch $file
 
212
    else
 
213
        test -z "$file" || exec >$file
 
214
        echo "#! /bin/sh"
 
215
        echo "# Created by GNU Automake missing as a replacement of"
 
216
        echo "#  $ $@"
 
217
        echo "exit 0"
 
218
        chmod +x $file
 
219
        exit 1
 
220
    fi
 
221
    ;;
 
222
 
 
223
  bison*|yacc*)
 
224
    echo 1>&2 "\
 
225
WARNING: \`$1' $msg.  You should only need it if
 
226
         you modified a \`.y' file.  You may need the \`Bison' package
 
227
         in order for those modifications to take effect.  You can get
 
228
         \`Bison' from any GNU archive site."
 
229
    rm -f y.tab.c y.tab.h
 
230
    if test $# -ne 1; then
 
231
        eval LASTARG="\${$#}"
 
232
        case $LASTARG in
 
233
        *.y)
 
234
            SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
 
235
            if test -f "$SRCFILE"; then
 
236
                 cp "$SRCFILE" y.tab.c
 
237
            fi
 
238
            SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
 
239
            if test -f "$SRCFILE"; then
 
240
                 cp "$SRCFILE" y.tab.h
 
241
            fi
 
242
          ;;
 
243
        esac
 
244
    fi
 
245
    if test ! -f y.tab.h; then
 
246
        echo >y.tab.h
 
247
    fi
 
248
    if test ! -f y.tab.c; then
 
249
        echo 'main() { return 0; }' >y.tab.c
 
250
    fi
 
251
    ;;
 
252
 
 
253
  lex*|flex*)
 
254
    echo 1>&2 "\
 
255
WARNING: \`$1' is $msg.  You should only need it if
 
256
         you modified a \`.l' file.  You may need the \`Flex' package
 
257
         in order for those modifications to take effect.  You can get
 
258
         \`Flex' from any GNU archive site."
 
259
    rm -f lex.yy.c
 
260
    if test $# -ne 1; then
 
261
        eval LASTARG="\${$#}"
 
262
        case $LASTARG in
 
263
        *.l)
 
264
            SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
 
265
            if test -f "$SRCFILE"; then
 
266
                 cp "$SRCFILE" lex.yy.c
 
267
            fi
 
268
          ;;
 
269
        esac
 
270
    fi
 
271
    if test ! -f lex.yy.c; then
 
272
        echo 'main() { return 0; }' >lex.yy.c
 
273
    fi
 
274
    ;;
 
275
 
 
276
  help2man*)
 
277
    echo 1>&2 "\
 
278
WARNING: \`$1' is $msg.  You should only need it if
 
279
         you modified a dependency of a manual page.  You may need the
 
280
         \`Help2man' package in order for those modifications to take
 
281
         effect.  You can get \`Help2man' from any GNU archive site."
 
282
 
 
283
    file=`echo "$*" | sed -n "$sed_output"`
 
284
    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
 
285
    if test -f "$file"; then
 
286
        touch $file
 
287
    else
 
288
        test -z "$file" || exec >$file
 
289
        echo ".ab help2man is required to generate this page"
 
290
        exit $?
 
291
    fi
 
292
    ;;
 
293
 
 
294
  makeinfo*)
 
295
    echo 1>&2 "\
 
296
WARNING: \`$1' is $msg.  You should only need it if
 
297
         you modified a \`.texi' or \`.texinfo' file, or any other file
 
298
         indirectly affecting the aspect of the manual.  The spurious
 
299
         call might also be the consequence of using a buggy \`make' (AIX,
 
300
         DU, IRIX).  You might want to install the \`Texinfo' package or
 
301
         the \`GNU make' package.  Grab either from any GNU archive site."
 
302
    # The file to touch is that specified with -o ...
 
303
    file=`echo "$*" | sed -n "$sed_output"`
 
304
    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
 
305
    if test -z "$file"; then
 
306
      # ... or it is the one specified with @setfilename ...
 
307
      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
 
308
      file=`sed -n '
 
309
        /^@setfilename/{
 
310
          s/.* \([^ ]*\) *$/\1/
 
311
          p
 
312
          q
 
313
        }' $infile`
 
314
      # ... or it is derived from the source name (dir/f.texi becomes f.info)
 
315
      test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
 
316
    fi
 
317
    # If the file does not exist, the user really needs makeinfo;
 
318
    # let's fail without touching anything.
 
319
    test -f $file || exit 1
 
320
    touch $file
 
321
    ;;
 
322
 
 
323
  tar*)
 
324
    shift
 
325
 
 
326
    # We have already tried tar in the generic part.
 
327
    # Look for gnutar/gtar before invocation to avoid ugly error
 
328
    # messages.
 
329
    if (gnutar --version > /dev/null 2>&1); then
 
330
       gnutar "$@" && exit 0
 
331
    fi
 
332
    if (gtar --version > /dev/null 2>&1); then
 
333
       gtar "$@" && exit 0
 
334
    fi
 
335
    firstarg="$1"
 
336
    if shift; then
 
337
        case $firstarg in
 
338
        *o*)
 
339
            firstarg=`echo "$firstarg" | sed s/o//`
 
340
            tar "$firstarg" "$@" && exit 0
 
341
            ;;
 
342
        esac
 
343
        case $firstarg in
 
344
        *h*)
 
345
            firstarg=`echo "$firstarg" | sed s/h//`
 
346
            tar "$firstarg" "$@" && exit 0
 
347
            ;;
 
348
        esac
 
349
    fi
 
350
 
 
351
    echo 1>&2 "\
 
352
WARNING: I can't seem to be able to run \`tar' with the given arguments.
 
353
         You may want to install GNU tar or Free paxutils, or check the
 
354
         command line arguments."
 
355
    exit 1
 
356
    ;;
 
357
 
 
358
  *)
 
359
    echo 1>&2 "\
 
360
WARNING: \`$1' is needed, and is $msg.
 
361
         You might have modified some files without having the
 
362
         proper tools for further handling them.  Check the \`README' file,
 
363
         it often tells you about the needed prerequisites for installing
 
364
         this package.  You may also peek at any GNU archive site, in case
 
365
         some other package would contain this missing \`$1' program."
 
366
    exit 1
 
367
    ;;
 
368
esac
 
369
 
 
370
exit 0
 
371
 
 
372
# Local variables:
 
373
# eval: (add-hook 'write-file-hooks 'time-stamp)
 
374
# time-stamp-start: "scriptversion="
 
375
# time-stamp-format: "%:y-%02m-%02d.%02H"
 
376
# time-stamp-time-zone: "UTC"
 
377
# time-stamp-end: "; # UTC"
 
378
# End: