source: trunk/third/xntp/missing @ 17260

Revision 17260, 8.1 KB checked in by zacheiss, 23 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r17259, 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 1996, 1997, 1999, 2000 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  help2man     touch the output file
61  lex          create \`lex.yy.c', if possible, from existing .c
62  makeinfo     touch the output file
63  tar          try tar, gnutar, gtar, then tar without non-portable flags
64  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]"
65    ;;
66
67  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
68    echo "missing 0.3 - GNU automake"
69    ;;
70
71  -*)
72    echo 1>&2 "$0: Unknown \`$1' option"
73    echo 1>&2 "Try \`$0 --help' for more information"
74    exit 1
75    ;;
76
77  aclocal)
78    echo 1>&2 "\
79WARNING: \`$1' is missing on your system.  You should only need it if
80         you modified \`acinclude.m4' or \`configure.in'.  You might want
81         to install the \`Automake' and \`Perl' packages.  Grab them from
82         any GNU archive site."
83    touch aclocal.m4
84    ;;
85
86  autoconf)
87    echo 1>&2 "\
88WARNING: \`$1' is missing on your system.  You should only need it if
89         you modified \`configure.in'.  You might want to install the
90         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
91         archive site."
92    touch configure
93    ;;
94
95  autoheader)
96    echo 1>&2 "\
97WARNING: \`$1' is missing on your system.  You should only need it if
98         you modified \`acconfig.h' or \`configure.in'.  You might want
99         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
100         from any GNU archive site."
101    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' configure.in`
102    test -z "$files" && files="config.h"
103    touch_files=
104    for f in $files; do
105      case "$f" in
106      *:*) touch_files="$touch_files "`echo "$f" |
107                                       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
108      *) touch_files="$touch_files $f.in";;
109      esac
110    done
111    touch $touch_files
112    ;;
113
114  automake)
115    echo 1>&2 "\
116WARNING: \`$1' is missing on your system.  You should only need it if
117         you modified \`Makefile.am', \`acinclude.m4' or \`configure.in'.
118         You might want to install the \`Automake' and \`Perl' packages.
119         Grab them from any GNU archive site."
120    find . -type f -name Makefile.am -print |
121           sed 's/\.am$/.in/' |
122           while read f; do touch "$f"; done
123    ;;
124
125  bison|yacc)
126    echo 1>&2 "\
127WARNING: \`$1' is missing on your system.  You should only need it if
128         you modified a \`.y' file.  You may need the \`Bison' package
129         in order for those modifications to take effect.  You can get
130         \`Bison' from any GNU archive site."
131    rm -f y.tab.c y.tab.h
132    if [ $# -ne 1 ]; then
133        eval LASTARG="\${$#}"
134        case "$LASTARG" in
135        *.y)
136            SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
137            if [ -f "$SRCFILE" ]; then
138                 cp "$SRCFILE" y.tab.c
139            fi
140            SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
141            if [ -f "$SRCFILE" ]; then
142                 cp "$SRCFILE" y.tab.h
143            fi
144          ;;
145        esac
146    fi
147    if [ ! -f y.tab.h ]; then
148        echo >y.tab.h
149    fi
150    if [ ! -f y.tab.c ]; then
151        echo 'main() { return 0; }' >y.tab.c
152    fi
153    ;;
154
155  lex|flex)
156    echo 1>&2 "\
157WARNING: \`$1' is missing on your system.  You should only need it if
158         you modified a \`.l' file.  You may need the \`Flex' package
159         in order for those modifications to take effect.  You can get
160         \`Flex' from any GNU archive site."
161    rm -f lex.yy.c
162    if [ $# -ne 1 ]; then
163        eval LASTARG="\${$#}"
164        case "$LASTARG" in
165        *.l)
166            SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
167            if [ -f "$SRCFILE" ]; then
168                 cp "$SRCFILE" lex.yy.c
169            fi
170          ;;
171        esac
172    fi
173    if [ ! -f lex.yy.c ]; then
174        echo 'main() { return 0; }' >lex.yy.c
175    fi
176    ;;
177
178  help2man)
179    echo 1>&2 "\
180WARNING: \`$1' is missing on your system.  You should only need it if
181         you modified a dependency of a manual page.  You may need the
182         \`Help2man' package in order for those modifications to take
183         effect.  You can get \`Help2man' from any GNU archive site."
184
185    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
186    if test -z "$file"; then
187        file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
188    fi
189    if [ -f "$file" ]; then
190        touch $file
191    else
192        test -z "$file" || exec >$file
193        echo ".ab help2man is required to generate this page"
194        exit 1
195    fi
196    ;;
197
198  makeinfo)
199    echo 1>&2 "\
200WARNING: \`$1' is missing on your system.  You should only need it if
201         you modified a \`.texi' or \`.texinfo' file, or any other file
202         indirectly affecting the aspect of the manual.  The spurious
203         call might also be the consequence of using a buggy \`make' (AIX,
204         DU, IRIX).  You might want to install the \`Texinfo' package or
205         the \`GNU make' package.  Grab either from any GNU archive site."
206    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
207    if test -z "$file"; then
208      file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
209      file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
210    fi
211    touch $file
212    ;;
213
214  tar)
215    shift
216    if test -n "$run"; then
217      echo 1>&2 "ERROR: \`tar' requires --run"
218      exit 1
219    fi
220
221    # We have already tried tar in the generic part.
222    # Look for gnutar/gtar before invocation to avoid ugly error
223    # messages.
224    if (gnutar --version > /dev/null 2>&1); then
225       gnutar ${1+"$@"} && exit 0
226    fi
227    if (gtar --version > /dev/null 2>&1); then
228       gtar ${1+"$@"} && exit 0
229    fi
230    firstarg="$1"
231    if shift; then
232        case "$firstarg" in
233        *o*)
234            firstarg=`echo "$firstarg" | sed s/o//`
235            tar "$firstarg" ${1+"$@"} && exit 0
236            ;;
237        esac
238        case "$firstarg" in
239        *h*)
240            firstarg=`echo "$firstarg" | sed s/h//`
241            tar "$firstarg" ${1+"$@"} && exit 0
242            ;;
243        esac
244    fi
245
246    echo 1>&2 "\
247WARNING: I can't seem to be able to run \`tar' with the given arguments.
248         You may want to install GNU tar or Free paxutils, or check the
249         command line arguments."
250    exit 1
251    ;;
252
253  *)
254    echo 1>&2 "\
255WARNING: \`$1' is needed, and you do not seem to have it handy on your
256         system.  You might have modified some files without having the
257         proper tools for further handling them.  Check the \`README' file,
258         it often tells you about the needed prerequirements for installing
259         this package.  You may also peek at any GNU archive site, in case
260         some other package would contain this missing \`$1' program."
261    exit 1
262    ;;
263esac
264
265exit 0
Note: See TracBrowser for help on using the repository browser.