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