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