15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#! /bin/sh
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Common stub for a few missing GNU programs while installing.
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)scriptversion=2003-09-02.23
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003 
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#   Free Software Foundation, Inc.
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# This program is free software; you can redistribute it and/or modify
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# it under the terms of the GNU General Public License as published by
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# the Free Software Foundation; either version 2, or (at your option)
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# any later version.
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# This program is distributed in the hope that it will be useful,
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# but WITHOUT ANY WARRANTY; without even the implied warranty of
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# GNU General Public License for more details.
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# You should have received a copy of the GNU General Public License
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# along with this program; if not, write to the Free Software
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# 02111-1307, USA.
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# As a special exception to the GNU General Public License, if you
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# distribute this file as part of a program that contains a
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# configuration script generated by Autoconf, you may include it under
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# the same distribution terms that you use for the rest of that program.
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)if test $# -eq 0; then
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  echo 1>&2 "Try \`$0 --help' for more information"
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  exit 1
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)fi
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)run=:
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# In the cases where this matters, `missing' is being run in the
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# srcdir already.
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)if test -f configure.ac; then
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  configure_ac=configure.ac
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)else
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  configure_ac=configure.in
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)fi
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)msg="missing on your system"
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)case "$1" in
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)--run)
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # Try to run requested program, and just exit if it succeeds.
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  run=
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  shift
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  "$@" && exit 0
535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # Exit code 63 means version mismatch.  This often happens
545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # when the user try to use an ancient version of a tool on
555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # a file that requires a minimum version.  In this case we
565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # we should proceed has if the program had been absent, or
575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # if --run hadn't been passed.
585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  if test $? = 63; then
595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    run=:
605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    msg="probably too old"
615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  fi
625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  ;;
635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)esac
645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# If it does not exist, or fails to run (possibly an outdated version),
665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# try to emulate it.
675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)case "$1" in
685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  -h|--h|--he|--hel|--help)
705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    echo "\
715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)$0 [OPTION]... PROGRAM [ARGUMENT]...
725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)error status if there is no known handling for PROGRAM.
755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)Options:
775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  -h, --help      display this help and exit
785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  -v, --version   output version information and exit
795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  --run           try to run the given command, and emulate it if it fails
805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)Supported PROGRAM values:
825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  aclocal      touch file \`aclocal.m4'
835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  autoconf     touch file \`configure'
845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  autoheader   touch file \`config.h.in'
855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  automake     touch all \`Makefile.in' files
865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  flex         create \`lex.yy.c', if possible, from existing .c
885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  help2man     touch the output file
895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  lex          create \`lex.yy.c', if possible, from existing .c
905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  makeinfo     touch the output file
915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  tar          try tar, gnutar, gtar, then tar without non-portable flags
925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)Send bug reports to <bug-automake@gnu.org>."
955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    ;;
965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    echo "missing $scriptversion (GNU Automake)"
995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    ;;
1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  -*)
1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    echo 1>&2 "$0: Unknown \`$1' option"
1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    echo 1>&2 "Try \`$0 --help' for more information"
1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    exit 1
1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    ;;
1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  aclocal*)
1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       # We have it, but it failed.
1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       exit 1
1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    fi
1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    echo 1>&2 "\
1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)WARNING: \`$1' is $msg.  You should only need it if
1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)         to install the \`Automake' and \`Perl' packages.  Grab them from
1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)         any GNU archive site."
1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    touch aclocal.m4
1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    ;;
1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  autoconf)
1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       # We have it, but it failed.
1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       exit 1
1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    fi
1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    echo 1>&2 "\
1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)WARNING: \`$1' is $msg.  You should only need it if
1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)         you modified \`${configure_ac}'.  You might want to install the
1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)         archive site."
1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    touch configure
1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    ;;
1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  autoheader)
1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       # We have it, but it failed.
1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       exit 1
1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    fi
1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    echo 1>&2 "\
1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)WARNING: \`$1' is $msg.  You should only need it if
1435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)         from any GNU archive site."
1465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    test -z "$files" && files="config.h"
1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    touch_files=
1495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    for f in $files; do
1505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      case "$f" in
1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      *:*) touch_files="$touch_files "`echo "$f" |
1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)				       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      *) touch_files="$touch_files $f.in";;
1545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      esac
1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    done
1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    touch $touch_files
1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    ;;
1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  automake*)
1605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       # We have it, but it failed.
1625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       exit 1
1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    fi
1645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    echo 1>&2 "\
1665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)WARNING: \`$1' is $msg.  You should only need it if
1675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
1685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)         You might want to install the \`Automake' and \`Perl' packages.
1695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)         Grab them from any GNU archive site."
1705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    find . -type f -name Makefile.am -print |
1715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	   sed 's/\.am$/.in/' |
1725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	   while read f; do touch "$f"; done
1735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    ;;
1745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  autom4te)
1765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
1775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       # We have it, but it failed.
1785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       exit 1
1795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    fi
1805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    echo 1>&2 "\
1825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)WARNING: \`$1' is needed, but is $msg.
1835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)         You might have modified some files without having the
1845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)         proper tools for further handling them.
1855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)         You can get \`$1' as part of \`Autoconf' from any GNU
1865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)         archive site."
1875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
1895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
1905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    if test -f "$file"; then
1915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	touch $file
1925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    else
1935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	test -z "$file" || exec >$file
1945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	echo "#! /bin/sh"
1955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	echo "# Created by GNU Automake missing as a replacement of"
1965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	echo "#  $ $@"
1975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	echo "exit 0"
1985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	chmod +x $file
1995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	exit 1
2005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    fi
2015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    ;;
2025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  bison|yacc)
2045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    echo 1>&2 "\
2055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)WARNING: \`$1' $msg.  You should only need it if
2065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)         you modified a \`.y' file.  You may need the \`Bison' package
2075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)         in order for those modifications to take effect.  You can get
2085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)         \`Bison' from any GNU archive site."
2095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    rm -f y.tab.c y.tab.h
2105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    if [ $# -ne 1 ]; then
2115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        eval LASTARG="\${$#}"
2125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	case "$LASTARG" in
2135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	*.y)
2145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
2155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	    if [ -f "$SRCFILE" ]; then
2165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	         cp "$SRCFILE" y.tab.c
2175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	    fi
2185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
2195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	    if [ -f "$SRCFILE" ]; then
2205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	         cp "$SRCFILE" y.tab.h
2215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	    fi
2225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	  ;;
2235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	esac
2245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    fi
2255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    if [ ! -f y.tab.h ]; then
2265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	echo >y.tab.h
2275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    fi
2285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    if [ ! -f y.tab.c ]; then
2295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	echo 'main() { return 0; }' >y.tab.c
2305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    fi
2315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    ;;
2325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  lex|flex)
2345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    echo 1>&2 "\
2355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)WARNING: \`$1' is $msg.  You should only need it if
2365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)         you modified a \`.l' file.  You may need the \`Flex' package
2375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)         in order for those modifications to take effect.  You can get
2385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)         \`Flex' from any GNU archive site."
2395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    rm -f lex.yy.c
2405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    if [ $# -ne 1 ]; then
2415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        eval LASTARG="\${$#}"
2425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	case "$LASTARG" in
2435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	*.l)
2445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
2455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	    if [ -f "$SRCFILE" ]; then
2465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	         cp "$SRCFILE" lex.yy.c
2475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	    fi
2485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	  ;;
2495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	esac
2505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    fi
2515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    if [ ! -f lex.yy.c ]; then
2525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	echo 'main() { return 0; }' >lex.yy.c
2535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    fi
2545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    ;;
2555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  help2man)
2575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
2585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       # We have it, but it failed.
2595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       exit 1
2605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    fi
2615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    echo 1>&2 "\
2635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)WARNING: \`$1' is $msg.  You should only need it if
2645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	 you modified a dependency of a manual page.  You may need the
2655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	 \`Help2man' package in order for those modifications to take
2665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	 effect.  You can get \`Help2man' from any GNU archive site."
2675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
2695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    if test -z "$file"; then
2705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
2715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    fi
2725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    if [ -f "$file" ]; then
2735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	touch $file
2745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    else
2755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	test -z "$file" || exec >$file
2765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	echo ".ab help2man is required to generate this page"
2775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	exit 1
2785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    fi
2795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    ;;
2805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  makeinfo)
2825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
2835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       # We have makeinfo, but it failed.
2845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       exit 1
2855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    fi
2865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    echo 1>&2 "\
2885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)WARNING: \`$1' is $msg.  You should only need it if
2895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)         you modified a \`.texi' or \`.texinfo' file, or any other file
2905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)         indirectly affecting the aspect of the manual.  The spurious
2915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)         call might also be the consequence of using a buggy \`make' (AIX,
2925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)         DU, IRIX).  You might want to install the \`Texinfo' package or
2935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)         the \`GNU make' package.  Grab either from any GNU archive site."
2945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
2955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    if test -z "$file"; then
2965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
2975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
2985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    fi
2995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    touch $file
3005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    ;;
3015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  tar)
3035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    shift
3045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    if test -n "$run"; then
3055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      echo 1>&2 "ERROR: \`tar' requires --run"
3065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      exit 1
3075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    fi
3085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    # We have already tried tar in the generic part.
3105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    # Look for gnutar/gtar before invocation to avoid ugly error
3115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    # messages.
3125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    if (gnutar --version > /dev/null 2>&1); then
3135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       gnutar "$@" && exit 0
3145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    fi
3155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    if (gtar --version > /dev/null 2>&1); then
3165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       gtar "$@" && exit 0
3175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    fi
3185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    firstarg="$1"
3195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    if shift; then
3205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	case "$firstarg" in
3215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	*o*)
3225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	    firstarg=`echo "$firstarg" | sed s/o//`
3235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	    tar "$firstarg" "$@" && exit 0
3245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	    ;;
3255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	esac
3265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	case "$firstarg" in
3275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	*h*)
3285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	    firstarg=`echo "$firstarg" | sed s/h//`
3295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	    tar "$firstarg" "$@" && exit 0
3305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	    ;;
3315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	esac
3325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    fi
3335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    echo 1>&2 "\
3355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)WARNING: I can't seem to be able to run \`tar' with the given arguments.
3365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)         You may want to install GNU tar or Free paxutils, or check the
3375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)         command line arguments."
3385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    exit 1
3395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    ;;
3405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  *)
3425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    echo 1>&2 "\
3435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)WARNING: \`$1' is needed, and is $msg.
3445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)         You might have modified some files without having the
3455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)         proper tools for further handling them.  Check the \`README' file,
3465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)         it often tells you about the needed prerequisites for installing
3475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)         this package.  You may also peek at any GNU archive site, in case
3485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)         some other package would contain this missing \`$1' program."
3495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    exit 1
3505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    ;;
3515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)esac
3525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)exit 0
3545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Local variables:
3565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# eval: (add-hook 'write-file-hooks 'time-stamp)
3575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# time-stamp-start: "scriptversion="
3585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# time-stamp-format: "%:y-%02m-%02d.%02H"
3595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# time-stamp-end: "$"
3605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# End:
361