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