source: trunk/third/gettext/missing @ 16931

Revision 16931, 7.4 KB checked in by ghudson, 23 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r16930, which included commits to RCS files with non-trunk default branches.
  • Property svn:executable set to *
Line 
1#! /bin/sh
2# Common stub for a few missing GNU programs while installing.
3# Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc.
4# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
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
21if test $# -eq 0; then
22  echo 1>&2 "Try \`$0 --help' for more information"
23  exit 1
24fi
25
26run=:
27
28case "$1" in
29--run)
30  # Try to run requested program, and just exit if it succeeds.
31  run=
32  shift
33  "$@" && exit 0
34  ;;
35esac
36
37# If it does not exist, or fails to run (possibly an outdated version),
38# try to emulate it.
39case "$1" in
40
41  -h|--h|--he|--hel|--help)
42    echo "\
43$0 [OPTION]... PROGRAM [ARGUMENT]...
44
45Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
46error status if there is no known handling for PROGRAM.
47
48Options:
49  -h, --help      display this help and exit
50  -v, --version   output version information and exit
51  --run           try to run the given command, and emulate it if it fails
52
53Supported PROGRAM values:
54  aclocal      touch file \`aclocal.m4'
55  autoconf     touch file \`configure'
56  autoheader   touch file \`config.h.in'
57  automake     touch all \`Makefile.in' files
58  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
59  flex         create \`lex.yy.c', if possible, from existing .c
60  lex          create \`lex.yy.c', if possible, from existing .c
61  makeinfo     touch the output file
62  tar          try tar, gnutar, gtar, then tar without non-portable flags
63  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]"
64    ;;
65
66  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
67    echo "missing 0.2 - GNU automake"
68    ;;
69
70  -*)
71    echo 1>&2 "$0: Unknown \`$1' option"
72    echo 1>&2 "Try \`$0 --help' for more information"
73    exit 1
74    ;;
75
76  aclocal)
77    echo 1>&2 "\
78WARNING: \`$1' is missing on your system.  You should only need it if
79         you modified \`acinclude.m4' or \`configure.in'.  You might want
80         to install the \`Automake' and \`Perl' packages.  Grab them from
81         any GNU archive site."
82    touch aclocal.m4
83    ;;
84
85  autoconf)
86    echo 1>&2 "\
87WARNING: \`$1' is missing on your system.  You should only need it if
88         you modified \`configure.in'.  You might want to install the
89         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
90         archive site."
91    touch configure
92    ;;
93
94  autoheader)
95    echo 1>&2 "\
96WARNING: \`$1' is missing on your system.  You should only need it if
97         you modified \`acconfig.h' or \`configure.in'.  You might want
98         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
99         from any GNU archive site."
100    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' configure.in`
101    test -z "$files" && files="config.h"
102    touch_files=
103    for f in $files; do
104      case "$f" in
105      *:*) touch_files="$touch_files "`echo "$f" |
106                                       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
107      *) touch_files="$touch_files $f.in";;
108      esac
109    done
110    touch $touch_files
111    ;;
112
113  automake)
114    echo 1>&2 "\
115WARNING: \`$1' is missing on your system.  You should only need it if
116         you modified \`Makefile.am', \`acinclude.m4' or \`configure.in'.
117         You might want to install the \`Automake' and \`Perl' packages.
118         Grab them from any GNU archive site."
119    find . -type f -name Makefile.am -print |
120           sed 's/\.am$/.in/' |
121           while read f; do touch "$f"; done
122    ;;
123
124  bison|yacc)
125    echo 1>&2 "\
126WARNING: \`$1' is missing on your system.  You should only need it if
127         you modified a \`.y' file.  You may need the \`Bison' package
128         in order for those modifications to take effect.  You can get
129         \`Bison' from any GNU archive site."
130    rm -f y.tab.c y.tab.h
131    if [ $# -ne 1 ]; then
132        eval LASTARG="\${$#}"
133        case "$LASTARG" in
134        *.y)
135            SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
136            if [ -f "$SRCFILE" ]; then
137                 cp "$SRCFILE" y.tab.c
138            fi
139            SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
140            if [ -f "$SRCFILE" ]; then
141                 cp "$SRCFILE" y.tab.h
142            fi
143          ;;
144        esac
145    fi
146    if [ ! -f y.tab.h ]; then
147        echo >y.tab.h
148    fi
149    if [ ! -f y.tab.c ]; then
150        echo 'main() { return 0; }' >y.tab.c
151    fi
152    ;;
153
154  lex|flex)
155    echo 1>&2 "\
156WARNING: \`$1' is missing on your system.  You should only need it if
157         you modified a \`.l' file.  You may need the \`Flex' package
158         in order for those modifications to take effect.  You can get
159         \`Flex' from any GNU archive site."
160    rm -f lex.yy.c
161    if [ $# -ne 1 ]; then
162        eval LASTARG="\${$#}"
163        case "$LASTARG" in
164        *.l)
165            SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
166            if [ -f "$SRCFILE" ]; then
167                 cp "$SRCFILE" lex.yy.c
168            fi
169          ;;
170        esac
171    fi
172    if [ ! -f lex.yy.c ]; then
173        echo 'main() { return 0; }' >lex.yy.c
174    fi
175    ;;
176
177  makeinfo)
178    echo 1>&2 "\
179WARNING: \`$1' is missing on your system.  You should only need it if
180         you modified a \`.texi' or \`.texinfo' file, or any other file
181         indirectly affecting the aspect of the manual.  The spurious
182         call might also be the consequence of using a buggy \`make' (AIX,
183         DU, IRIX).  You might want to install the \`Texinfo' package or
184         the \`GNU make' package.  Grab either from any GNU archive site."
185    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
186    if test -z "$file"; then
187      file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
188      file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
189    fi
190    touch $file
191    ;;
192
193  tar)
194    shift
195    if test -n "$run"; then
196      echo 1>&2 "ERROR: \`tar' requires --run"
197      exit 1
198    fi
199
200    # We have already tried tar in the generic part.
201    # Look for gnutar/gtar before invocation to avoid ugly error
202    # messages.
203    if (gnutar --version > /dev/null 2>&1); then
204       gnutar ${1+"$@"} && exit 0
205    fi
206    if (gtar --version > /dev/null 2>&1); then
207       gtar ${1+"$@"} && exit 0
208    fi
209    firstarg="$1"
210    if shift; then
211        case "$firstarg" in
212        *o*)
213            firstarg=`echo "$firstarg" | sed s/o//`
214            tar "$firstarg" ${1+"$@"} && exit 0
215            ;;
216        esac
217        case "$firstarg" in
218        *h*)
219            firstarg=`echo "$firstarg" | sed s/h//`
220            tar "$firstarg" ${1+"$@"} && exit 0
221            ;;
222        esac
223    fi
224
225    echo 1>&2 "\
226WARNING: I can't seem to be able to run \`tar' with the given arguments.
227         You may want to install GNU tar or Free paxutils, or check the
228         command line arguments."
229    exit 1
230    ;;
231
232  *)
233    echo 1>&2 "\
234WARNING: \`$1' is needed, and you do not seem to have it handy on your
235         system.  You might have modified some files without having the
236         proper tools for further handling them.  Check the \`README' file,
237         it often tells you about the needed prerequirements for installing
238         this package.  You may also peek at any GNU archive site, in case
239         some other package would contain this missing \`$1' program."
240    exit 1
241    ;;
242esac
243
244exit 0
Note: See TracBrowser for help on using the repository browser.