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