missing revision ded1caa4
1ded1caa4Smrg#! /bin/sh 2ded1caa4Smrg# Common stub for a few missing GNU programs while installing. 3ded1caa4Smrg# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003 Free Software Foundation, Inc. 4ded1caa4Smrg# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. 5ded1caa4Smrg 6ded1caa4Smrg# This program is free software; you can redistribute it and/or modify 7ded1caa4Smrg# it under the terms of the GNU General Public License as published by 8ded1caa4Smrg# the Free Software Foundation; either version 2, or (at your option) 9ded1caa4Smrg# any later version. 10ded1caa4Smrg 11ded1caa4Smrg# This program is distributed in the hope that it will be useful, 12ded1caa4Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of 13ded1caa4Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14ded1caa4Smrg# GNU General Public License for more details. 15ded1caa4Smrg 16ded1caa4Smrg# You should have received a copy of the GNU General Public License 17ded1caa4Smrg# along with this program; if not, write to the Free Software 18ded1caa4Smrg# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 19ded1caa4Smrg# 02111-1307, USA. 20ded1caa4Smrg 21ded1caa4Smrg# As a special exception to the GNU General Public License, if you 22ded1caa4Smrg# distribute this file as part of a program that contains a 23ded1caa4Smrg# configuration script generated by Autoconf, you may include it under 24ded1caa4Smrg# the same distribution terms that you use for the rest of that program. 25ded1caa4Smrg 26ded1caa4Smrgif test $# -eq 0; then 27ded1caa4Smrg echo 1>&2 "Try \`$0 --help' for more information" 28ded1caa4Smrg exit 1 29ded1caa4Smrgfi 30ded1caa4Smrg 31ded1caa4Smrgrun=: 32ded1caa4Smrg 33ded1caa4Smrg# In the cases where this matters, `missing' is being run in the 34ded1caa4Smrg# srcdir already. 35ded1caa4Smrgif test -f configure.ac; then 36ded1caa4Smrg configure_ac=configure.ac 37ded1caa4Smrgelse 38ded1caa4Smrg configure_ac=configure.in 39ded1caa4Smrgfi 40ded1caa4Smrg 41ded1caa4Smrgcase "$1" in 42ded1caa4Smrg--run) 43ded1caa4Smrg # Try to run requested program, and just exit if it succeeds. 44ded1caa4Smrg run= 45ded1caa4Smrg shift 46ded1caa4Smrg "$@" && exit 0 47ded1caa4Smrg ;; 48ded1caa4Smrgesac 49ded1caa4Smrg 50ded1caa4Smrg# If it does not exist, or fails to run (possibly an outdated version), 51ded1caa4Smrg# try to emulate it. 52ded1caa4Smrgcase "$1" in 53ded1caa4Smrg 54ded1caa4Smrg -h|--h|--he|--hel|--help) 55ded1caa4Smrg echo "\ 56ded1caa4Smrg$0 [OPTION]... PROGRAM [ARGUMENT]... 57ded1caa4Smrg 58ded1caa4SmrgHandle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an 59ded1caa4Smrgerror status if there is no known handling for PROGRAM. 60ded1caa4Smrg 61ded1caa4SmrgOptions: 62ded1caa4Smrg -h, --help display this help and exit 63ded1caa4Smrg -v, --version output version information and exit 64ded1caa4Smrg --run try to run the given command, and emulate it if it fails 65ded1caa4Smrg 66ded1caa4SmrgSupported PROGRAM values: 67ded1caa4Smrg aclocal touch file \`aclocal.m4' 68ded1caa4Smrg autoconf touch file \`configure' 69ded1caa4Smrg autoheader touch file \`config.h.in' 70ded1caa4Smrg automake touch all \`Makefile.in' files 71ded1caa4Smrg bison create \`y.tab.[ch]', if possible, from existing .[ch] 72ded1caa4Smrg flex create \`lex.yy.c', if possible, from existing .c 73ded1caa4Smrg help2man touch the output file 74ded1caa4Smrg lex create \`lex.yy.c', if possible, from existing .c 75ded1caa4Smrg makeinfo touch the output file 76ded1caa4Smrg tar try tar, gnutar, gtar, then tar without non-portable flags 77ded1caa4Smrg yacc create \`y.tab.[ch]', if possible, from existing .[ch]" 78ded1caa4Smrg ;; 79ded1caa4Smrg 80ded1caa4Smrg -v|--v|--ve|--ver|--vers|--versi|--versio|--version) 81ded1caa4Smrg echo "missing 0.4 - GNU automake" 82ded1caa4Smrg ;; 83ded1caa4Smrg 84ded1caa4Smrg -*) 85ded1caa4Smrg echo 1>&2 "$0: Unknown \`$1' option" 86ded1caa4Smrg echo 1>&2 "Try \`$0 --help' for more information" 87ded1caa4Smrg exit 1 88ded1caa4Smrg ;; 89ded1caa4Smrg 90ded1caa4Smrg aclocal*) 91ded1caa4Smrg if test -z "$run" && ($1 --version) > /dev/null 2>&1; then 92ded1caa4Smrg # We have it, but it failed. 93ded1caa4Smrg exit 1 94ded1caa4Smrg fi 95ded1caa4Smrg 96ded1caa4Smrg echo 1>&2 "\ 97ded1caa4SmrgWARNING: \`$1' is missing on your system. You should only need it if 98ded1caa4Smrg you modified \`acinclude.m4' or \`${configure_ac}'. You might want 99ded1caa4Smrg to install the \`Automake' and \`Perl' packages. Grab them from 100ded1caa4Smrg any GNU archive site." 101ded1caa4Smrg touch aclocal.m4 102ded1caa4Smrg ;; 103ded1caa4Smrg 104ded1caa4Smrg autoconf) 105ded1caa4Smrg if test -z "$run" && ($1 --version) > /dev/null 2>&1; then 106ded1caa4Smrg # We have it, but it failed. 107ded1caa4Smrg exit 1 108ded1caa4Smrg fi 109ded1caa4Smrg 110ded1caa4Smrg echo 1>&2 "\ 111ded1caa4SmrgWARNING: \`$1' is missing on your system. You should only need it if 112ded1caa4Smrg you modified \`${configure_ac}'. You might want to install the 113ded1caa4Smrg \`Autoconf' and \`GNU m4' packages. Grab them from any GNU 114ded1caa4Smrg archive site." 115ded1caa4Smrg touch configure 116ded1caa4Smrg ;; 117ded1caa4Smrg 118ded1caa4Smrg autoheader) 119ded1caa4Smrg if test -z "$run" && ($1 --version) > /dev/null 2>&1; then 120ded1caa4Smrg # We have it, but it failed. 121ded1caa4Smrg exit 1 122ded1caa4Smrg fi 123ded1caa4Smrg 124ded1caa4Smrg echo 1>&2 "\ 125ded1caa4SmrgWARNING: \`$1' is missing on your system. You should only need it if 126ded1caa4Smrg you modified \`acconfig.h' or \`${configure_ac}'. You might want 127ded1caa4Smrg to install the \`Autoconf' and \`GNU m4' packages. Grab them 128ded1caa4Smrg from any GNU archive site." 129ded1caa4Smrg files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` 130ded1caa4Smrg test -z "$files" && files="config.h" 131ded1caa4Smrg touch_files= 132ded1caa4Smrg for f in $files; do 133ded1caa4Smrg case "$f" in 134ded1caa4Smrg *:*) touch_files="$touch_files "`echo "$f" | 135ded1caa4Smrg sed -e 's/^[^:]*://' -e 's/:.*//'`;; 136ded1caa4Smrg *) touch_files="$touch_files $f.in";; 137ded1caa4Smrg esac 138ded1caa4Smrg done 139ded1caa4Smrg touch $touch_files 140ded1caa4Smrg ;; 141ded1caa4Smrg 142ded1caa4Smrg automake*) 143ded1caa4Smrg if test -z "$run" && ($1 --version) > /dev/null 2>&1; then 144ded1caa4Smrg # We have it, but it failed. 145ded1caa4Smrg exit 1 146ded1caa4Smrg fi 147ded1caa4Smrg 148ded1caa4Smrg echo 1>&2 "\ 149ded1caa4SmrgWARNING: \`$1' is missing on your system. You should only need it if 150ded1caa4Smrg you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. 151ded1caa4Smrg You might want to install the \`Automake' and \`Perl' packages. 152ded1caa4Smrg Grab them from any GNU archive site." 153ded1caa4Smrg find . -type f -name Makefile.am -print | 154ded1caa4Smrg sed 's/\.am$/.in/' | 155ded1caa4Smrg while read f; do touch "$f"; done 156ded1caa4Smrg ;; 157ded1caa4Smrg 158ded1caa4Smrg autom4te) 159ded1caa4Smrg if test -z "$run" && ($1 --version) > /dev/null 2>&1; then 160ded1caa4Smrg # We have it, but it failed. 161ded1caa4Smrg exit 1 162ded1caa4Smrg fi 163ded1caa4Smrg 164ded1caa4Smrg echo 1>&2 "\ 165ded1caa4SmrgWARNING: \`$1' is needed, and you do not seem to have it handy on your 166ded1caa4Smrg system. You might have modified some files without having the 167ded1caa4Smrg proper tools for further handling them. 168ded1caa4Smrg You can get \`$1' as part of \`Autoconf' from any GNU 169ded1caa4Smrg archive site." 170ded1caa4Smrg 171ded1caa4Smrg file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` 172ded1caa4Smrg test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` 173ded1caa4Smrg if test -f "$file"; then 174ded1caa4Smrg touch $file 175ded1caa4Smrg else 176ded1caa4Smrg test -z "$file" || exec >$file 177ded1caa4Smrg echo "#! /bin/sh" 178ded1caa4Smrg echo "# Created by GNU Automake missing as a replacement of" 179ded1caa4Smrg echo "# $ $@" 180ded1caa4Smrg echo "exit 0" 181ded1caa4Smrg chmod +x $file 182ded1caa4Smrg exit 1 183ded1caa4Smrg fi 184ded1caa4Smrg ;; 185ded1caa4Smrg 186ded1caa4Smrg bison|yacc) 187ded1caa4Smrg echo 1>&2 "\ 188ded1caa4SmrgWARNING: \`$1' is missing on your system. You should only need it if 189ded1caa4Smrg you modified a \`.y' file. You may need the \`Bison' package 190ded1caa4Smrg in order for those modifications to take effect. You can get 191ded1caa4Smrg \`Bison' from any GNU archive site." 192ded1caa4Smrg rm -f y.tab.c y.tab.h 193ded1caa4Smrg if [ $# -ne 1 ]; then 194ded1caa4Smrg eval LASTARG="\${$#}" 195ded1caa4Smrg case "$LASTARG" in 196ded1caa4Smrg *.y) 197ded1caa4Smrg SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` 198ded1caa4Smrg if [ -f "$SRCFILE" ]; then 199ded1caa4Smrg cp "$SRCFILE" y.tab.c 200ded1caa4Smrg fi 201ded1caa4Smrg SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` 202ded1caa4Smrg if [ -f "$SRCFILE" ]; then 203ded1caa4Smrg cp "$SRCFILE" y.tab.h 204ded1caa4Smrg fi 205ded1caa4Smrg ;; 206ded1caa4Smrg esac 207ded1caa4Smrg fi 208ded1caa4Smrg if [ ! -f y.tab.h ]; then 209ded1caa4Smrg echo >y.tab.h 210ded1caa4Smrg fi 211ded1caa4Smrg if [ ! -f y.tab.c ]; then 212ded1caa4Smrg echo 'main() { return 0; }' >y.tab.c 213ded1caa4Smrg fi 214ded1caa4Smrg ;; 215ded1caa4Smrg 216ded1caa4Smrg lex|flex) 217ded1caa4Smrg echo 1>&2 "\ 218ded1caa4SmrgWARNING: \`$1' is missing on your system. You should only need it if 219ded1caa4Smrg you modified a \`.l' file. You may need the \`Flex' package 220ded1caa4Smrg in order for those modifications to take effect. You can get 221ded1caa4Smrg \`Flex' from any GNU archive site." 222ded1caa4Smrg rm -f lex.yy.c 223ded1caa4Smrg if [ $# -ne 1 ]; then 224ded1caa4Smrg eval LASTARG="\${$#}" 225ded1caa4Smrg case "$LASTARG" in 226ded1caa4Smrg *.l) 227ded1caa4Smrg SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` 228ded1caa4Smrg if [ -f "$SRCFILE" ]; then 229ded1caa4Smrg cp "$SRCFILE" lex.yy.c 230ded1caa4Smrg fi 231ded1caa4Smrg ;; 232ded1caa4Smrg esac 233ded1caa4Smrg fi 234ded1caa4Smrg if [ ! -f lex.yy.c ]; then 235ded1caa4Smrg echo 'main() { return 0; }' >lex.yy.c 236ded1caa4Smrg fi 237ded1caa4Smrg ;; 238ded1caa4Smrg 239ded1caa4Smrg help2man) 240ded1caa4Smrg if test -z "$run" && ($1 --version) > /dev/null 2>&1; then 241ded1caa4Smrg # We have it, but it failed. 242ded1caa4Smrg exit 1 243ded1caa4Smrg fi 244ded1caa4Smrg 245ded1caa4Smrg echo 1>&2 "\ 246ded1caa4SmrgWARNING: \`$1' is missing on your system. You should only need it if 247ded1caa4Smrg you modified a dependency of a manual page. You may need the 248ded1caa4Smrg \`Help2man' package in order for those modifications to take 249ded1caa4Smrg effect. You can get \`Help2man' from any GNU archive site." 250ded1caa4Smrg 251ded1caa4Smrg file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` 252ded1caa4Smrg if test -z "$file"; then 253ded1caa4Smrg file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` 254ded1caa4Smrg fi 255ded1caa4Smrg if [ -f "$file" ]; then 256ded1caa4Smrg touch $file 257ded1caa4Smrg else 258ded1caa4Smrg test -z "$file" || exec >$file 259ded1caa4Smrg echo ".ab help2man is required to generate this page" 260ded1caa4Smrg exit 1 261ded1caa4Smrg fi 262ded1caa4Smrg ;; 263ded1caa4Smrg 264ded1caa4Smrg makeinfo) 265ded1caa4Smrg if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then 266ded1caa4Smrg # We have makeinfo, but it failed. 267ded1caa4Smrg exit 1 268ded1caa4Smrg fi 269ded1caa4Smrg 270ded1caa4Smrg echo 1>&2 "\ 271ded1caa4SmrgWARNING: \`$1' is missing on your system. You should only need it if 272ded1caa4Smrg you modified a \`.texi' or \`.texinfo' file, or any other file 273ded1caa4Smrg indirectly affecting the aspect of the manual. The spurious 274ded1caa4Smrg call might also be the consequence of using a buggy \`make' (AIX, 275ded1caa4Smrg DU, IRIX). You might want to install the \`Texinfo' package or 276ded1caa4Smrg the \`GNU make' package. Grab either from any GNU archive site." 277ded1caa4Smrg file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` 278ded1caa4Smrg if test -z "$file"; then 279ded1caa4Smrg file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` 280ded1caa4Smrg file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` 281ded1caa4Smrg fi 282ded1caa4Smrg touch $file 283ded1caa4Smrg ;; 284ded1caa4Smrg 285ded1caa4Smrg tar) 286ded1caa4Smrg shift 287ded1caa4Smrg if test -n "$run"; then 288ded1caa4Smrg echo 1>&2 "ERROR: \`tar' requires --run" 289ded1caa4Smrg exit 1 290ded1caa4Smrg fi 291ded1caa4Smrg 292ded1caa4Smrg # We have already tried tar in the generic part. 293ded1caa4Smrg # Look for gnutar/gtar before invocation to avoid ugly error 294ded1caa4Smrg # messages. 295ded1caa4Smrg if (gnutar --version > /dev/null 2>&1); then 296ded1caa4Smrg gnutar "$@" && exit 0 297ded1caa4Smrg fi 298ded1caa4Smrg if (gtar --version > /dev/null 2>&1); then 299ded1caa4Smrg gtar "$@" && exit 0 300ded1caa4Smrg fi 301ded1caa4Smrg firstarg="$1" 302ded1caa4Smrg if shift; then 303ded1caa4Smrg case "$firstarg" in 304ded1caa4Smrg *o*) 305ded1caa4Smrg firstarg=`echo "$firstarg" | sed s/o//` 306ded1caa4Smrg tar "$firstarg" "$@" && exit 0 307ded1caa4Smrg ;; 308ded1caa4Smrg esac 309ded1caa4Smrg case "$firstarg" in 310ded1caa4Smrg *h*) 311ded1caa4Smrg firstarg=`echo "$firstarg" | sed s/h//` 312ded1caa4Smrg tar "$firstarg" "$@" && exit 0 313ded1caa4Smrg ;; 314ded1caa4Smrg esac 315ded1caa4Smrg fi 316ded1caa4Smrg 317ded1caa4Smrg echo 1>&2 "\ 318ded1caa4SmrgWARNING: I can't seem to be able to run \`tar' with the given arguments. 319ded1caa4Smrg You may want to install GNU tar or Free paxutils, or check the 320ded1caa4Smrg command line arguments." 321ded1caa4Smrg exit 1 322ded1caa4Smrg ;; 323ded1caa4Smrg 324ded1caa4Smrg *) 325ded1caa4Smrg echo 1>&2 "\ 326ded1caa4SmrgWARNING: \`$1' is needed, and you do not seem to have it handy on your 327ded1caa4Smrg system. You might have modified some files without having the 328ded1caa4Smrg proper tools for further handling them. Check the \`README' file, 329ded1caa4Smrg it often tells you about the needed prerequisites for installing 330ded1caa4Smrg this package. You may also peek at any GNU archive site, in case 331ded1caa4Smrg some other package would contain this missing \`$1' program." 332ded1caa4Smrg exit 1 333ded1caa4Smrg ;; 334ded1caa4Smrgesac 335ded1caa4Smrg 336ded1caa4Smrgexit 0 337