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