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 26if test $# -eq 0; then 27 echo 1>&2 "Try \`$0 --help' for more information" 28 exit 1 29fi 30 31run=: 32 33# In the cases where this matters, `missing' is being run in the 34# srcdir already. 35if test -f configure.ac; then 36 configure_ac=configure.ac 37else 38 configure_ac=configure.in 39fi 40 41case "$1" in 42--run) 43 # Try to run requested program, and just exit if it succeeds. 44 run= 45 shift 46 "$@" && exit 0 47 ;; 48esac 49 50# If it does not exist, or fails to run (possibly an outdated version), 51# try to emulate it. 52case "$1" in 53 54 -h|--h|--he|--hel|--help) 55 echo "\ 56$0 [OPTION]... PROGRAM [ARGUMENT]... 57 58Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an 59error status if there is no known handling for PROGRAM. 60 61Options: 62 -h, --help display this help and exit 63 -v, --version output version information and exit 64 --run try to run the given command, and emulate it if it fails 65 66Supported 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 73 help2man touch the output file 74 lex create \`lex.yy.c', if possible, from existing .c 75 makeinfo touch the output file 76 tar try tar, gnutar, gtar, then tar without non-portable flags 77 yacc create \`y.tab.[ch]', if possible, from existing .[ch]" 78 ;; 79 80 -v|--v|--ve|--ver|--vers|--versi|--versio|--version) 81 echo "missing 0.3 - GNU automake" 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 "\ 92WARNING: \`$1' is missing on your system. You should only need it if 93 you modified \`acinclude.m4' or \`${configure_ac}'. You might want 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 "\ 101WARNING: \`$1' is missing on your system. You should only need it if 102 you modified \`${configure_ac}'. You might want to install the 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 "\ 110WARNING: \`$1' is missing on your system. You should only need it if 111 you modified \`acconfig.h' or \`${configure_ac}'. You might want 112 to install the \`Autoconf' and \`GNU m4' packages. Grab them 113 from any GNU archive site." 114 files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` 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 "\ 129WARNING: \`$1' is missing on your system. You should only need it if 130 you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. 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 "\ 140WARNING: \`$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 "\ 170WARNING: \`$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 191 help2man) 192 echo 1>&2 "\ 193WARNING: \`$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 211 makeinfo) 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 217 echo 1>&2 "\ 218WARNING: \`$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 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 "\ 265WARNING: 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 271 *) 272 echo 1>&2 "\ 273WARNING: \`$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 ;; 281esac 282 283exit 0 284