missing revision 3da7aff1
13da7aff1Smrg#! /bin/sh 23da7aff1Smrg# Common stub for a few missing GNU programs while installing. 33da7aff1Smrg# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003 Free Software Foundation, Inc. 43da7aff1Smrg# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. 53da7aff1Smrg 63da7aff1Smrg# This program is free software; you can redistribute it and/or modify 73da7aff1Smrg# it under the terms of the GNU General Public License as published by 83da7aff1Smrg# the Free Software Foundation; either version 2, or (at your option) 93da7aff1Smrg# any later version. 103da7aff1Smrg 113da7aff1Smrg# This program is distributed in the hope that it will be useful, 123da7aff1Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of 133da7aff1Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 143da7aff1Smrg# GNU General Public License for more details. 153da7aff1Smrg 163da7aff1Smrg# You should have received a copy of the GNU General Public License 173da7aff1Smrg# along with this program; if not, write to the Free Software 183da7aff1Smrg# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 193da7aff1Smrg# 02111-1307, USA. 203da7aff1Smrg 213da7aff1Smrg# As a special exception to the GNU General Public License, if you 223da7aff1Smrg# distribute this file as part of a program that contains a 233da7aff1Smrg# configuration script generated by Autoconf, you may include it under 243da7aff1Smrg# the same distribution terms that you use for the rest of that program. 253da7aff1Smrg 263da7aff1Smrgif test $# -eq 0; then 273da7aff1Smrg echo 1>&2 "Try \`$0 --help' for more information" 283da7aff1Smrg exit 1 293da7aff1Smrgfi 303da7aff1Smrg 313da7aff1Smrgrun=: 323da7aff1Smrg 333da7aff1Smrg# In the cases where this matters, `missing' is being run in the 343da7aff1Smrg# srcdir already. 353da7aff1Smrgif test -f configure.ac; then 363da7aff1Smrg configure_ac=configure.ac 373da7aff1Smrgelse 383da7aff1Smrg configure_ac=configure.in 393da7aff1Smrgfi 403da7aff1Smrg 413da7aff1Smrgcase "$1" in 423da7aff1Smrg--run) 433da7aff1Smrg # Try to run requested program, and just exit if it succeeds. 443da7aff1Smrg run= 453da7aff1Smrg shift 463da7aff1Smrg "$@" && exit 0 473da7aff1Smrg ;; 483da7aff1Smrgesac 493da7aff1Smrg 503da7aff1Smrg# If it does not exist, or fails to run (possibly an outdated version), 513da7aff1Smrg# try to emulate it. 523da7aff1Smrgcase "$1" in 533da7aff1Smrg 543da7aff1Smrg -h|--h|--he|--hel|--help) 553da7aff1Smrg echo "\ 563da7aff1Smrg$0 [OPTION]... PROGRAM [ARGUMENT]... 573da7aff1Smrg 583da7aff1SmrgHandle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an 593da7aff1Smrgerror status if there is no known handling for PROGRAM. 603da7aff1Smrg 613da7aff1SmrgOptions: 623da7aff1Smrg -h, --help display this help and exit 633da7aff1Smrg -v, --version output version information and exit 643da7aff1Smrg --run try to run the given command, and emulate it if it fails 653da7aff1Smrg 663da7aff1SmrgSupported PROGRAM values: 673da7aff1Smrg aclocal touch file \`aclocal.m4' 683da7aff1Smrg autoconf touch file \`configure' 693da7aff1Smrg autoheader touch file \`config.h.in' 703da7aff1Smrg automake touch all \`Makefile.in' files 713da7aff1Smrg bison create \`y.tab.[ch]', if possible, from existing .[ch] 723da7aff1Smrg flex create \`lex.yy.c', if possible, from existing .c 733da7aff1Smrg help2man touch the output file 743da7aff1Smrg lex create \`lex.yy.c', if possible, from existing .c 753da7aff1Smrg makeinfo touch the output file 763da7aff1Smrg tar try tar, gnutar, gtar, then tar without non-portable flags 773da7aff1Smrg yacc create \`y.tab.[ch]', if possible, from existing .[ch]" 783da7aff1Smrg ;; 793da7aff1Smrg 803da7aff1Smrg -v|--v|--ve|--ver|--vers|--versi|--versio|--version) 813da7aff1Smrg echo "missing 0.4 - GNU automake" 823da7aff1Smrg ;; 833da7aff1Smrg 843da7aff1Smrg -*) 853da7aff1Smrg echo 1>&2 "$0: Unknown \`$1' option" 863da7aff1Smrg echo 1>&2 "Try \`$0 --help' for more information" 873da7aff1Smrg exit 1 883da7aff1Smrg ;; 893da7aff1Smrg 903da7aff1Smrg aclocal*) 913da7aff1Smrg if test -z "$run" && ($1 --version) > /dev/null 2>&1; then 923da7aff1Smrg # We have it, but it failed. 933da7aff1Smrg exit 1 943da7aff1Smrg fi 953da7aff1Smrg 963da7aff1Smrg echo 1>&2 "\ 973da7aff1SmrgWARNING: \`$1' is missing on your system. You should only need it if 983da7aff1Smrg you modified \`acinclude.m4' or \`${configure_ac}'. You might want 993da7aff1Smrg to install the \`Automake' and \`Perl' packages. Grab them from 1003da7aff1Smrg any GNU archive site." 1013da7aff1Smrg touch aclocal.m4 1023da7aff1Smrg ;; 1033da7aff1Smrg 1043da7aff1Smrg autoconf) 1053da7aff1Smrg if test -z "$run" && ($1 --version) > /dev/null 2>&1; then 1063da7aff1Smrg # We have it, but it failed. 1073da7aff1Smrg exit 1 1083da7aff1Smrg fi 1093da7aff1Smrg 1103da7aff1Smrg echo 1>&2 "\ 1113da7aff1SmrgWARNING: \`$1' is missing on your system. You should only need it if 1123da7aff1Smrg you modified \`${configure_ac}'. You might want to install the 1133da7aff1Smrg \`Autoconf' and \`GNU m4' packages. Grab them from any GNU 1143da7aff1Smrg archive site." 1153da7aff1Smrg touch configure 1163da7aff1Smrg ;; 1173da7aff1Smrg 1183da7aff1Smrg autoheader) 1193da7aff1Smrg if test -z "$run" && ($1 --version) > /dev/null 2>&1; then 1203da7aff1Smrg # We have it, but it failed. 1213da7aff1Smrg exit 1 1223da7aff1Smrg fi 1233da7aff1Smrg 1243da7aff1Smrg echo 1>&2 "\ 1253da7aff1SmrgWARNING: \`$1' is missing on your system. You should only need it if 1263da7aff1Smrg you modified \`acconfig.h' or \`${configure_ac}'. You might want 1273da7aff1Smrg to install the \`Autoconf' and \`GNU m4' packages. Grab them 1283da7aff1Smrg from any GNU archive site." 1293da7aff1Smrg files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` 1303da7aff1Smrg test -z "$files" && files="config.h" 1313da7aff1Smrg touch_files= 1323da7aff1Smrg for f in $files; do 1333da7aff1Smrg case "$f" in 1343da7aff1Smrg *:*) touch_files="$touch_files "`echo "$f" | 1353da7aff1Smrg sed -e 's/^[^:]*://' -e 's/:.*//'`;; 1363da7aff1Smrg *) touch_files="$touch_files $f.in";; 1373da7aff1Smrg esac 1383da7aff1Smrg done 1393da7aff1Smrg touch $touch_files 1403da7aff1Smrg ;; 1413da7aff1Smrg 1423da7aff1Smrg automake*) 1433da7aff1Smrg if test -z "$run" && ($1 --version) > /dev/null 2>&1; then 1443da7aff1Smrg # We have it, but it failed. 1453da7aff1Smrg exit 1 1463da7aff1Smrg fi 1473da7aff1Smrg 1483da7aff1Smrg echo 1>&2 "\ 1493da7aff1SmrgWARNING: \`$1' is missing on your system. You should only need it if 1503da7aff1Smrg you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. 1513da7aff1Smrg You might want to install the \`Automake' and \`Perl' packages. 1523da7aff1Smrg Grab them from any GNU archive site." 1533da7aff1Smrg find . -type f -name Makefile.am -print | 1543da7aff1Smrg sed 's/\.am$/.in/' | 1553da7aff1Smrg while read f; do touch "$f"; done 1563da7aff1Smrg ;; 1573da7aff1Smrg 1583da7aff1Smrg autom4te) 1593da7aff1Smrg if test -z "$run" && ($1 --version) > /dev/null 2>&1; then 1603da7aff1Smrg # We have it, but it failed. 1613da7aff1Smrg exit 1 1623da7aff1Smrg fi 1633da7aff1Smrg 1643da7aff1Smrg echo 1>&2 "\ 1653da7aff1SmrgWARNING: \`$1' is needed, and you do not seem to have it handy on your 1663da7aff1Smrg system. You might have modified some files without having the 1673da7aff1Smrg proper tools for further handling them. 1683da7aff1Smrg You can get \`$1' as part of \`Autoconf' from any GNU 1693da7aff1Smrg archive site." 1703da7aff1Smrg 1713da7aff1Smrg file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` 1723da7aff1Smrg test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` 1733da7aff1Smrg if test -f "$file"; then 1743da7aff1Smrg touch $file 1753da7aff1Smrg else 1763da7aff1Smrg test -z "$file" || exec >$file 1773da7aff1Smrg echo "#! /bin/sh" 1783da7aff1Smrg echo "# Created by GNU Automake missing as a replacement of" 1793da7aff1Smrg echo "# $ $@" 1803da7aff1Smrg echo "exit 0" 1813da7aff1Smrg chmod +x $file 1823da7aff1Smrg exit 1 1833da7aff1Smrg fi 1843da7aff1Smrg ;; 1853da7aff1Smrg 1863da7aff1Smrg bison|yacc) 1873da7aff1Smrg echo 1>&2 "\ 1883da7aff1SmrgWARNING: \`$1' is missing on your system. You should only need it if 1893da7aff1Smrg you modified a \`.y' file. You may need the \`Bison' package 1903da7aff1Smrg in order for those modifications to take effect. You can get 1913da7aff1Smrg \`Bison' from any GNU archive site." 1923da7aff1Smrg rm -f y.tab.c y.tab.h 1933da7aff1Smrg if [ $# -ne 1 ]; then 1943da7aff1Smrg eval LASTARG="\${$#}" 1953da7aff1Smrg case "$LASTARG" in 1963da7aff1Smrg *.y) 1973da7aff1Smrg SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` 1983da7aff1Smrg if [ -f "$SRCFILE" ]; then 1993da7aff1Smrg cp "$SRCFILE" y.tab.c 2003da7aff1Smrg fi 2013da7aff1Smrg SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` 2023da7aff1Smrg if [ -f "$SRCFILE" ]; then 2033da7aff1Smrg cp "$SRCFILE" y.tab.h 2043da7aff1Smrg fi 2053da7aff1Smrg ;; 2063da7aff1Smrg esac 2073da7aff1Smrg fi 2083da7aff1Smrg if [ ! -f y.tab.h ]; then 2093da7aff1Smrg echo >y.tab.h 2103da7aff1Smrg fi 2113da7aff1Smrg if [ ! -f y.tab.c ]; then 2123da7aff1Smrg echo 'main() { return 0; }' >y.tab.c 2133da7aff1Smrg fi 2143da7aff1Smrg ;; 2153da7aff1Smrg 2163da7aff1Smrg lex|flex) 2173da7aff1Smrg echo 1>&2 "\ 2183da7aff1SmrgWARNING: \`$1' is missing on your system. You should only need it if 2193da7aff1Smrg you modified a \`.l' file. You may need the \`Flex' package 2203da7aff1Smrg in order for those modifications to take effect. You can get 2213da7aff1Smrg \`Flex' from any GNU archive site." 2223da7aff1Smrg rm -f lex.yy.c 2233da7aff1Smrg if [ $# -ne 1 ]; then 2243da7aff1Smrg eval LASTARG="\${$#}" 2253da7aff1Smrg case "$LASTARG" in 2263da7aff1Smrg *.l) 2273da7aff1Smrg SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` 2283da7aff1Smrg if [ -f "$SRCFILE" ]; then 2293da7aff1Smrg cp "$SRCFILE" lex.yy.c 2303da7aff1Smrg fi 2313da7aff1Smrg ;; 2323da7aff1Smrg esac 2333da7aff1Smrg fi 2343da7aff1Smrg if [ ! -f lex.yy.c ]; then 2353da7aff1Smrg echo 'main() { return 0; }' >lex.yy.c 2363da7aff1Smrg fi 2373da7aff1Smrg ;; 2383da7aff1Smrg 2393da7aff1Smrg help2man) 2403da7aff1Smrg if test -z "$run" && ($1 --version) > /dev/null 2>&1; then 2413da7aff1Smrg # We have it, but it failed. 2423da7aff1Smrg exit 1 2433da7aff1Smrg fi 2443da7aff1Smrg 2453da7aff1Smrg echo 1>&2 "\ 2463da7aff1SmrgWARNING: \`$1' is missing on your system. You should only need it if 2473da7aff1Smrg you modified a dependency of a manual page. You may need the 2483da7aff1Smrg \`Help2man' package in order for those modifications to take 2493da7aff1Smrg effect. You can get \`Help2man' from any GNU archive site." 2503da7aff1Smrg 2513da7aff1Smrg file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` 2523da7aff1Smrg if test -z "$file"; then 2533da7aff1Smrg file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` 2543da7aff1Smrg fi 2553da7aff1Smrg if [ -f "$file" ]; then 2563da7aff1Smrg touch $file 2573da7aff1Smrg else 2583da7aff1Smrg test -z "$file" || exec >$file 2593da7aff1Smrg echo ".ab help2man is required to generate this page" 2603da7aff1Smrg exit 1 2613da7aff1Smrg fi 2623da7aff1Smrg ;; 2633da7aff1Smrg 2643da7aff1Smrg makeinfo) 2653da7aff1Smrg if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then 2663da7aff1Smrg # We have makeinfo, but it failed. 2673da7aff1Smrg exit 1 2683da7aff1Smrg fi 2693da7aff1Smrg 2703da7aff1Smrg echo 1>&2 "\ 2713da7aff1SmrgWARNING: \`$1' is missing on your system. You should only need it if 2723da7aff1Smrg you modified a \`.texi' or \`.texinfo' file, or any other file 2733da7aff1Smrg indirectly affecting the aspect of the manual. The spurious 2743da7aff1Smrg call might also be the consequence of using a buggy \`make' (AIX, 2753da7aff1Smrg DU, IRIX). You might want to install the \`Texinfo' package or 2763da7aff1Smrg the \`GNU make' package. Grab either from any GNU archive site." 2773da7aff1Smrg file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` 2783da7aff1Smrg if test -z "$file"; then 2793da7aff1Smrg file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` 2803da7aff1Smrg file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` 2813da7aff1Smrg fi 2823da7aff1Smrg touch $file 2833da7aff1Smrg ;; 2843da7aff1Smrg 2853da7aff1Smrg tar) 2863da7aff1Smrg shift 2873da7aff1Smrg if test -n "$run"; then 2883da7aff1Smrg echo 1>&2 "ERROR: \`tar' requires --run" 2893da7aff1Smrg exit 1 2903da7aff1Smrg fi 2913da7aff1Smrg 2923da7aff1Smrg # We have already tried tar in the generic part. 2933da7aff1Smrg # Look for gnutar/gtar before invocation to avoid ugly error 2943da7aff1Smrg # messages. 2953da7aff1Smrg if (gnutar --version > /dev/null 2>&1); then 2963da7aff1Smrg gnutar "$@" && exit 0 2973da7aff1Smrg fi 2983da7aff1Smrg if (gtar --version > /dev/null 2>&1); then 2993da7aff1Smrg gtar "$@" && exit 0 3003da7aff1Smrg fi 3013da7aff1Smrg firstarg="$1" 3023da7aff1Smrg if shift; then 3033da7aff1Smrg case "$firstarg" in 3043da7aff1Smrg *o*) 3053da7aff1Smrg firstarg=`echo "$firstarg" | sed s/o//` 3063da7aff1Smrg tar "$firstarg" "$@" && exit 0 3073da7aff1Smrg ;; 3083da7aff1Smrg esac 3093da7aff1Smrg case "$firstarg" in 3103da7aff1Smrg *h*) 3113da7aff1Smrg firstarg=`echo "$firstarg" | sed s/h//` 3123da7aff1Smrg tar "$firstarg" "$@" && exit 0 3133da7aff1Smrg ;; 3143da7aff1Smrg esac 3153da7aff1Smrg fi 3163da7aff1Smrg 3173da7aff1Smrg echo 1>&2 "\ 3183da7aff1SmrgWARNING: I can't seem to be able to run \`tar' with the given arguments. 3193da7aff1Smrg You may want to install GNU tar or Free paxutils, or check the 3203da7aff1Smrg command line arguments." 3213da7aff1Smrg exit 1 3223da7aff1Smrg ;; 3233da7aff1Smrg 3243da7aff1Smrg *) 3253da7aff1Smrg echo 1>&2 "\ 3263da7aff1SmrgWARNING: \`$1' is needed, and you do not seem to have it handy on your 3273da7aff1Smrg system. You might have modified some files without having the 3283da7aff1Smrg proper tools for further handling them. Check the \`README' file, 3293da7aff1Smrg it often tells you about the needed prerequisites for installing 3303da7aff1Smrg this package. You may also peek at any GNU archive site, in case 3313da7aff1Smrg some other package would contain this missing \`$1' program." 3323da7aff1Smrg exit 1 3333da7aff1Smrg ;; 3343da7aff1Smrgesac 3353da7aff1Smrg 3363da7aff1Smrgexit 0 337