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