11d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#! /bin/sh
21d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# Common stub for a few missing GNU programs while installing.
31d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
41d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichscriptversion=2012-01-06.13; # UTC
51d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
61d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
71d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
81d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
91d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
101d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# This program is free software; you can redistribute it and/or modify
111d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# it under the terms of the GNU General Public License as published by
121d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# the Free Software Foundation; either version 2, or (at your option)
131d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# any later version.
141d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
151d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# This program is distributed in the hope that it will be useful,
161d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# but WITHOUT ANY WARRANTY; without even the implied warranty of
171d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
181d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# GNU General Public License for more details.
191d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
201d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# You should have received a copy of the GNU General Public License
211d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# along with this program.  If not, see <http://www.gnu.org/licenses/>.
221d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
231d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# As a special exception to the GNU General Public License, if you
241d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# distribute this file as part of a program that contains a
251d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# configuration script generated by Autoconf, you may include it under
261d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# the same distribution terms that you use for the rest of that program.
271d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
281d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichif test $# -eq 0; then
291d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  echo 1>&2 "Try \`$0 --help' for more information"
301d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  exit 1
311d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichfi
321d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
331d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichrun=:
341d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichsed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
351d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichsed_minuso='s/.* -o \([^ ]*\).*/\1/p'
361d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
371d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# In the cases where this matters, `missing' is being run in the
381d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# srcdir already.
391d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichif test -f configure.ac; then
401d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  configure_ac=configure.ac
411d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichelse
421d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  configure_ac=configure.in
431d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichfi
441d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
451d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichmsg="missing on your system"
461d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
471d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichcase $1 in
481d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich--run)
491d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  # Try to run requested program, and just exit if it succeeds.
501d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  run=
511d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  shift
521d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  "$@" && exit 0
531d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  # Exit code 63 means version mismatch.  This often happens
541d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  # when the user try to use an ancient version of a tool on
551d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  # a file that requires a minimum version.  In this case we
561d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  # we should proceed has if the program had been absent, or
571d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  # if --run hadn't been passed.
581d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  if test $? = 63; then
591d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    run=:
601d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    msg="probably too old"
611d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  fi
621d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  ;;
631d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
641d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  -h|--h|--he|--hel|--help)
651d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    echo "\
661d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich$0 [OPTION]... PROGRAM [ARGUMENT]...
671d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
681d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichHandle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
691d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevicherror status if there is no known handling for PROGRAM.
701d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
711d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichOptions:
721d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  -h, --help      display this help and exit
731d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  -v, --version   output version information and exit
741d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  --run           try to run the given command, and emulate it if it fails
751d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
761d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichSupported PROGRAM values:
771d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  aclocal      touch file \`aclocal.m4'
781d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  autoconf     touch file \`configure'
791d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  autoheader   touch file \`config.h.in'
801d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  autom4te     touch the output file, or create a stub one
811d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  automake     touch all \`Makefile.in' files
821d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
831d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  flex         create \`lex.yy.c', if possible, from existing .c
841d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  help2man     touch the output file
851d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  lex          create \`lex.yy.c', if possible, from existing .c
861d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  makeinfo     touch the output file
871d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
881d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
891d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichVersion suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
901d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich\`g' are ignored when checking the name.
911d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
921d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichSend bug reports to <bug-automake@gnu.org>."
931d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    exit $?
941d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    ;;
951d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
961d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
971d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    echo "missing $scriptversion (GNU Automake)"
981d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    exit $?
991d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    ;;
1001d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
1011d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  -*)
1021d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    echo 1>&2 "$0: Unknown \`$1' option"
1031d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    echo 1>&2 "Try \`$0 --help' for more information"
1041d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    exit 1
1051d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    ;;
1061d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
1071d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichesac
1081d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
1091d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# normalize program name to check for.
1101d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichprogram=`echo "$1" | sed '
1111d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  s/^gnu-//; t
1121d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  s/^gnu//; t
1131d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  s/^g//; t'`
1141d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
1151d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# Now exit if we have it, but it failed.  Also exit now if we
1161d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# don't have it and --version was passed (most likely to detect
1171d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# the program).  This is about non-GNU programs, so use $1 not
1181d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# $program.
1191d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichcase $1 in
1201d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  lex*|yacc*)
1211d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    # Not GNU programs, they don't have --version.
1221d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    ;;
1231d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
1241d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  *)
1251d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
1261d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich       # We have it, but it failed.
1271d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich       exit 1
1281d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
1291d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich       # Could not run --version or --help.  This is probably someone
1301d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich       # running `$TOOL --version' or `$TOOL --help' to check whether
1311d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich       # $TOOL exists and not knowing $TOOL uses missing.
1321d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich       exit 1
1331d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    fi
1341d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    ;;
1351d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichesac
1361d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
1371d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# If it does not exist, or fails to run (possibly an outdated version),
1381d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# try to emulate it.
1391d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichcase $program in
1401d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  aclocal*)
1411d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    echo 1>&2 "\
1421d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichWARNING: \`$1' is $msg.  You should only need it if
1431d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
1441d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich         to install the \`Automake' and \`Perl' packages.  Grab them from
1451d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich         any GNU archive site."
1461d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    touch aclocal.m4
1471d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    ;;
1481d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
1491d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  autoconf*)
1501d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    echo 1>&2 "\
1511d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichWARNING: \`$1' is $msg.  You should only need it if
1521d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich         you modified \`${configure_ac}'.  You might want to install the
1531d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
1541d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich         archive site."
1551d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    touch configure
1561d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    ;;
1571d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
1581d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  autoheader*)
1591d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    echo 1>&2 "\
1601d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichWARNING: \`$1' is $msg.  You should only need it if
1611d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
1621d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
1631d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich         from any GNU archive site."
1641d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
1651d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    test -z "$files" && files="config.h"
1661d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    touch_files=
1671d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    for f in $files; do
1681d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich      case $f in
1691d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich      *:*) touch_files="$touch_files "`echo "$f" |
1701d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich				       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
1711d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich      *) touch_files="$touch_files $f.in";;
1721d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich      esac
1731d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    done
1741d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    touch $touch_files
1751d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    ;;
1761d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
1771d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  automake*)
1781d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    echo 1>&2 "\
1791d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichWARNING: \`$1' is $msg.  You should only need it if
1801d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
1811d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich         You might want to install the \`Automake' and \`Perl' packages.
1821d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich         Grab them from any GNU archive site."
1831d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    find . -type f -name Makefile.am -print |
1841d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	   sed 's/\.am$/.in/' |
1851d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	   while read f; do touch "$f"; done
1861d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    ;;
1871d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
1881d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  autom4te*)
1891d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    echo 1>&2 "\
1901d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichWARNING: \`$1' is needed, but is $msg.
1911d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich         You might have modified some files without having the
1921d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich         proper tools for further handling them.
1931d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich         You can get \`$1' as part of \`Autoconf' from any GNU
1941d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich         archive site."
1951d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
1961d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    file=`echo "$*" | sed -n "$sed_output"`
1971d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
1981d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    if test -f "$file"; then
1991d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	touch $file
2001d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    else
2011d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	test -z "$file" || exec >$file
2021d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo "#! /bin/sh"
2031d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo "# Created by GNU Automake missing as a replacement of"
2041d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo "#  $ $@"
2051d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo "exit 0"
2061d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	chmod +x $file
2071d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit 1
2081d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    fi
2091d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    ;;
2101d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
2111d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  bison*|yacc*)
2121d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    echo 1>&2 "\
2131d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichWARNING: \`$1' $msg.  You should only need it if
2141d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich         you modified a \`.y' file.  You may need the \`Bison' package
2151d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich         in order for those modifications to take effect.  You can get
2161d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich         \`Bison' from any GNU archive site."
2171d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    rm -f y.tab.c y.tab.h
2181d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    if test $# -ne 1; then
2191d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich        eval LASTARG=\${$#}
2201d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	case $LASTARG in
2211d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	*.y)
2221d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
2231d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    if test -f "$SRCFILE"; then
2241d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	         cp "$SRCFILE" y.tab.c
2251d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    fi
2261d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
2271d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    if test -f "$SRCFILE"; then
2281d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	         cp "$SRCFILE" y.tab.h
2291d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    fi
2301d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	  ;;
2311d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	esac
2321d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    fi
2331d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    if test ! -f y.tab.h; then
2341d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo >y.tab.h
2351d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    fi
2361d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    if test ! -f y.tab.c; then
2371d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo 'main() { return 0; }' >y.tab.c
2381d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    fi
2391d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    ;;
2401d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
2411d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  lex*|flex*)
2421d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    echo 1>&2 "\
2431d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichWARNING: \`$1' is $msg.  You should only need it if
2441d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich         you modified a \`.l' file.  You may need the \`Flex' package
2451d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich         in order for those modifications to take effect.  You can get
2461d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich         \`Flex' from any GNU archive site."
2471d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    rm -f lex.yy.c
2481d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    if test $# -ne 1; then
2491d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich        eval LASTARG=\${$#}
2501d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	case $LASTARG in
2511d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	*.l)
2521d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
2531d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    if test -f "$SRCFILE"; then
2541d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	         cp "$SRCFILE" lex.yy.c
2551d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    fi
2561d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	  ;;
2571d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	esac
2581d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    fi
2591d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    if test ! -f lex.yy.c; then
2601d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo 'main() { return 0; }' >lex.yy.c
2611d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    fi
2621d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    ;;
2631d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
2641d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  help2man*)
2651d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    echo 1>&2 "\
2661d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichWARNING: \`$1' is $msg.  You should only need it if
2671d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	 you modified a dependency of a manual page.  You may need the
2681d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	 \`Help2man' package in order for those modifications to take
2691d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	 effect.  You can get \`Help2man' from any GNU archive site."
2701d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
2711d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    file=`echo "$*" | sed -n "$sed_output"`
2721d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
2731d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    if test -f "$file"; then
2741d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	touch $file
2751d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    else
2761d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	test -z "$file" || exec >$file
2771d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ".ab help2man is required to generate this page"
2781d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit $?
2791d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    fi
2801d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    ;;
2811d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
2821d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  makeinfo*)
2831d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    echo 1>&2 "\
2841d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichWARNING: \`$1' is $msg.  You should only need it if
2851d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich         you modified a \`.texi' or \`.texinfo' file, or any other file
2861d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich         indirectly affecting the aspect of the manual.  The spurious
2871d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich         call might also be the consequence of using a buggy \`make' (AIX,
2881d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich         DU, IRIX).  You might want to install the \`Texinfo' package or
2891d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich         the \`GNU make' package.  Grab either from any GNU archive site."
2901d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    # The file to touch is that specified with -o ...
2911d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    file=`echo "$*" | sed -n "$sed_output"`
2921d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
2931d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    if test -z "$file"; then
2941d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich      # ... or it is the one specified with @setfilename ...
2951d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
2961d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich      file=`sed -n '
2971d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	/^@setfilename/{
2981d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	  s/.* \([^ ]*\) *$/\1/
2991d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	  p
3001d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	  q
3011d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	}' $infile`
3021d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich      # ... or it is derived from the source name (dir/f.texi becomes f.info)
3031d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich      test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
3041d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    fi
3051d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    # If the file does not exist, the user really needs makeinfo;
3061d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    # let's fail without touching anything.
3071d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    test -f $file || exit 1
3081d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    touch $file
3091d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    ;;
3101d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
3111d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  *)
3121d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    echo 1>&2 "\
3131d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichWARNING: \`$1' is needed, and is $msg.
3141d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich         You might have modified some files without having the
3151d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich         proper tools for further handling them.  Check the \`README' file,
3161d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich         it often tells you about the needed prerequisites for installing
3171d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich         this package.  You may also peek at any GNU archive site, in case
3181d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich         some other package would contain this missing \`$1' program."
3191d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    exit 1
3201d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    ;;
3211d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichesac
3221d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
3231d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichexit 0
3241d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
3251d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# Local variables:
3261d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# eval: (add-hook 'write-file-hooks 'time-stamp)
3271d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# time-stamp-start: "scriptversion="
3281d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# time-stamp-format: "%:y-%02m-%02d.%02H"
3291d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# time-stamp-time-zone: "UTC"
3301d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# time-stamp-end: "; # UTC"
3311d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# End:
332