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