|
|
1.1 root 1: #! /bin/sh
2: # Common stub for a few missing GNU programs while installing.
1.1.1.2 ! root 3: # Copyright 1996, 1997, 1999, 2000 Free Software Foundation, Inc.
! 4: # Originally by Fran,cois Pinard <[email protected]>, 1996.
1.1 root 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:
1.1.1.2 ! root 21: # As a special exception to the GNU General Public License, if you
! 22: # distribute this file as part of a program that contains a
! 23: # configuration script generated by Autoconf, you may include it under
! 24: # the same distribution terms that you use for the rest of that program.
! 25:
1.1 root 26: if test $# -eq 0; then
27: echo 1>&2 "Try \`$0 --help' for more information"
28: exit 1
29: fi
30:
1.1.1.2 ! root 31: run=:
! 32:
! 33: # In the cases where this matters, `missing' is being run in the
! 34: # srcdir already.
! 35: if test -f configure.ac; then
! 36: configure_ac=configure.ac
! 37: else
! 38: configure_ac=configure.in
! 39: fi
! 40:
! 41: case "$1" in
! 42: --run)
! 43: # Try to run requested program, and just exit if it succeeds.
! 44: run=
! 45: shift
! 46: "$@" && exit 0
! 47: ;;
! 48: esac
! 49:
! 50: # If it does not exist, or fails to run (possibly an outdated version),
! 51: # try to emulate it.
1.1 root 52: case "$1" in
53:
54: -h|--h|--he|--hel|--help)
55: echo "\
56: $0 [OPTION]... PROGRAM [ARGUMENT]...
57:
58: Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
59: error status if there is no known handling for PROGRAM.
60:
61: Options:
62: -h, --help display this help and exit
63: -v, --version output version information and exit
1.1.1.2 ! root 64: --run try to run the given command, and emulate it if it fails
1.1 root 65:
66: Supported PROGRAM values:
67: aclocal touch file \`aclocal.m4'
68: autoconf touch file \`configure'
69: autoheader touch file \`config.h.in'
70: automake touch all \`Makefile.in' files
71: bison create \`y.tab.[ch]', if possible, from existing .[ch]
72: flex create \`lex.yy.c', if possible, from existing .c
1.1.1.2 ! root 73: help2man touch the output file
1.1 root 74: lex create \`lex.yy.c', if possible, from existing .c
75: makeinfo touch the output file
1.1.1.2 ! root 76: tar try tar, gnutar, gtar, then tar without non-portable flags
1.1 root 77: yacc create \`y.tab.[ch]', if possible, from existing .[ch]"
78: ;;
79:
80: -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
1.1.1.2 ! root 81: echo "missing 0.3 - GNU automake"
1.1 root 82: ;;
83:
84: -*)
85: echo 1>&2 "$0: Unknown \`$1' option"
86: echo 1>&2 "Try \`$0 --help' for more information"
87: exit 1
88: ;;
89:
90: aclocal)
91: echo 1>&2 "\
92: WARNING: \`$1' is missing on your system. You should only need it if
1.1.1.2 ! root 93: you modified \`acinclude.m4' or \`${configure_ac}'. You might want
1.1 root 94: to install the \`Automake' and \`Perl' packages. Grab them from
95: any GNU archive site."
96: touch aclocal.m4
97: ;;
98:
99: autoconf)
100: echo 1>&2 "\
101: WARNING: \`$1' is missing on your system. You should only need it if
1.1.1.2 ! root 102: you modified \`${configure_ac}'. You might want to install the
1.1 root 103: \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
104: archive site."
105: touch configure
106: ;;
107:
108: autoheader)
109: echo 1>&2 "\
110: WARNING: \`$1' is missing on your system. You should only need it if
1.1.1.2 ! root 111: you modified \`acconfig.h' or \`${configure_ac}'. You might want
1.1 root 112: to install the \`Autoconf' and \`GNU m4' packages. Grab them
113: from any GNU archive site."
1.1.1.2 ! root 114: files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
1.1 root 115: test -z "$files" && files="config.h"
116: touch_files=
117: for f in $files; do
118: case "$f" in
119: *:*) touch_files="$touch_files "`echo "$f" |
120: sed -e 's/^[^:]*://' -e 's/:.*//'`;;
121: *) touch_files="$touch_files $f.in";;
122: esac
123: done
124: touch $touch_files
125: ;;
126:
127: automake)
128: echo 1>&2 "\
129: WARNING: \`$1' is missing on your system. You should only need it if
1.1.1.2 ! root 130: you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
1.1 root 131: You might want to install the \`Automake' and \`Perl' packages.
132: Grab them from any GNU archive site."
133: find . -type f -name Makefile.am -print |
134: sed 's/\.am$/.in/' |
135: while read f; do touch "$f"; done
136: ;;
137:
138: bison|yacc)
139: echo 1>&2 "\
140: WARNING: \`$1' is missing on your system. You should only need it if
141: you modified a \`.y' file. You may need the \`Bison' package
142: in order for those modifications to take effect. You can get
143: \`Bison' from any GNU archive site."
144: rm -f y.tab.c y.tab.h
145: if [ $# -ne 1 ]; then
146: eval LASTARG="\${$#}"
147: case "$LASTARG" in
148: *.y)
149: SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
150: if [ -f "$SRCFILE" ]; then
151: cp "$SRCFILE" y.tab.c
152: fi
153: SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
154: if [ -f "$SRCFILE" ]; then
155: cp "$SRCFILE" y.tab.h
156: fi
157: ;;
158: esac
159: fi
160: if [ ! -f y.tab.h ]; then
161: echo >y.tab.h
162: fi
163: if [ ! -f y.tab.c ]; then
164: echo 'main() { return 0; }' >y.tab.c
165: fi
166: ;;
167:
168: lex|flex)
169: echo 1>&2 "\
170: WARNING: \`$1' is missing on your system. You should only need it if
171: you modified a \`.l' file. You may need the \`Flex' package
172: in order for those modifications to take effect. You can get
173: \`Flex' from any GNU archive site."
174: rm -f lex.yy.c
175: if [ $# -ne 1 ]; then
176: eval LASTARG="\${$#}"
177: case "$LASTARG" in
178: *.l)
179: SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
180: if [ -f "$SRCFILE" ]; then
181: cp "$SRCFILE" lex.yy.c
182: fi
183: ;;
184: esac
185: fi
186: if [ ! -f lex.yy.c ]; then
187: echo 'main() { return 0; }' >lex.yy.c
188: fi
189: ;;
190:
1.1.1.2 ! root 191: help2man)
! 192: echo 1>&2 "\
! 193: WARNING: \`$1' is missing on your system. You should only need it if
! 194: you modified a dependency of a manual page. You may need the
! 195: \`Help2man' package in order for those modifications to take
! 196: effect. You can get \`Help2man' from any GNU archive site."
! 197:
! 198: file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
! 199: if test -z "$file"; then
! 200: file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
! 201: fi
! 202: if [ -f "$file" ]; then
! 203: touch $file
! 204: else
! 205: test -z "$file" || exec >$file
! 206: echo ".ab help2man is required to generate this page"
! 207: exit 1
! 208: fi
! 209: ;;
! 210:
1.1 root 211: makeinfo)
1.1.1.2 ! root 212: if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
! 213: # We have makeinfo, but it failed.
! 214: exit 1
! 215: fi
! 216:
1.1 root 217: echo 1>&2 "\
218: WARNING: \`$1' is missing on your system. You should only need it if
219: you modified a \`.texi' or \`.texinfo' file, or any other file
220: indirectly affecting the aspect of the manual. The spurious
221: call might also be the consequence of using a buggy \`make' (AIX,
222: DU, IRIX). You might want to install the \`Texinfo' package or
223: the \`GNU make' package. Grab either from any GNU archive site."
224: file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
225: if test -z "$file"; then
226: file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
227: file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
228: fi
229: touch $file
230: ;;
231:
1.1.1.2 ! root 232: tar)
! 233: shift
! 234: if test -n "$run"; then
! 235: echo 1>&2 "ERROR: \`tar' requires --run"
! 236: exit 1
! 237: fi
! 238:
! 239: # We have already tried tar in the generic part.
! 240: # Look for gnutar/gtar before invocation to avoid ugly error
! 241: # messages.
! 242: if (gnutar --version > /dev/null 2>&1); then
! 243: gnutar ${1+"$@"} && exit 0
! 244: fi
! 245: if (gtar --version > /dev/null 2>&1); then
! 246: gtar ${1+"$@"} && exit 0
! 247: fi
! 248: firstarg="$1"
! 249: if shift; then
! 250: case "$firstarg" in
! 251: *o*)
! 252: firstarg=`echo "$firstarg" | sed s/o//`
! 253: tar "$firstarg" ${1+"$@"} && exit 0
! 254: ;;
! 255: esac
! 256: case "$firstarg" in
! 257: *h*)
! 258: firstarg=`echo "$firstarg" | sed s/h//`
! 259: tar "$firstarg" ${1+"$@"} && exit 0
! 260: ;;
! 261: esac
! 262: fi
! 263:
! 264: echo 1>&2 "\
! 265: WARNING: I can't seem to be able to run \`tar' with the given arguments.
! 266: You may want to install GNU tar or Free paxutils, or check the
! 267: command line arguments."
! 268: exit 1
! 269: ;;
! 270:
1.1 root 271: *)
272: echo 1>&2 "\
273: WARNING: \`$1' is needed, and you do not seem to have it handy on your
274: system. You might have modified some files without having the
275: proper tools for further handling them. Check the \`README' file,
276: it often tells you about the needed prerequirements for installing
277: this package. You may also peek at any GNU archive site, in case
278: some other package would contain this missing \`$1' program."
279: exit 1
280: ;;
281: esac
282:
283: exit 0
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.