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