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