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