1#! /bin/sh
2# Common stub for a few missing GNU programs while installing.
3# Copyright (C) 1996, 1997 Free Software Foundation, Inc.
4# Franc,ois Pinard <pinard@iro.umontreal.ca>, 1996.
5
6# This program is free software; you can redistribute it and/or modify
7# it under the terms of the GNU General Public License as published by
8# the Free Software Foundation; either version 2, or (at your option)
9# any later version.
10
11# This program is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14# GNU General Public License for more details.
15
16# You should have received a copy of the GNU General Public License
17# along with this program; if not, write to the Free Software
18# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
19# 02111-1307, USA.
20
21if test $# -eq 0; then
22  echo 1>&2 "Try \`$0 --help' for more information"
23  exit 1
24fi
25
26case "$1" in
27
28  -h|--h|--he|--hel|--help)
29    echo "\
30$0 [OPTION]... PROGRAM [ARGUMENT]...
31
32Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
33error status if there is no known handling for PROGRAM.
34
35Options:
36  -h, --help      display this help and exit
37  -v, --version   output version information and exit
38
39Supported PROGRAM values:
40  aclocal      touch file \`aclocal.m4'
41  autoconf     touch file \`configure'
42  autoheader   touch file \`config.h.in'
43  automake     touch all \`Makefile.in' files
44  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
45  flex         create \`lex.yy.c', if possible, from existing .c
46  lex          create \`lex.yy.c', if possible, from existing .c
47  makeinfo     touch the output file
48  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]"
49    ;;
50
51  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
52    echo "missing - GNU libit 0.0"
53    ;;
54
55  -*)
56    echo 1>&2 "$0: Unknown \`$1' option"
57    echo 1>&2 "Try \`$0 --help' for more information"
58    exit 1
59    ;;
60
61  aclocal)
62    echo 1>&2 "\
63WARNING: \`$1' is missing on your system.  You should only need it if
64         you modified \`acinclude.m4' or \`configure.in'.  You might want
65         to install the \`Automake' and \`Perl' packages.  Grab them from
66         any GNU archive site."
67    touch aclocal.m4
68    ;;
69
70  autoconf)
71    echo 1>&2 "\
72WARNING: \`$1' is missing on your system.  You should only need it if
73         you modified \`configure.in'.  You might want to install the
74         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
75         archive site."
76    touch configure
77    ;;
78
79  autoheader)
80    echo 1>&2 "\
81WARNING: \`$1' is missing on your system.  You should only need it if
82         you modified \`acconfig.h' or \`configure.in'.  You might want
83         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
84         from any GNU archive site."
85    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER([^):]*:\([^)]*\)).*/\1/p' configure.in`
86    if test -z "$files"; then
87      files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^):]*\)).*/\1/p' configure.in`
88      test -z "$files" || files="$files.in"
89    else
90      files=`echo "$files" | sed -e 's/:/ /g'`
91    fi
92    test -z "$files" && files="config.h.in"
93    touch $files
94    ;;
95
96  automake)
97    echo 1>&2 "\
98WARNING: \`$1' is missing on your system.  You should only need it if
99         you modified \`Makefile.am', \`acinclude.m4' or \`configure.in'.
100         You might want to install the \`Automake' and \`Perl' packages.
101         Grab them from any GNU archive site."
102    find . -type f -name Makefile.am -print \
103      | sed 's/^\(.*\).am$/touch \1.in/' \
104      | sh
105    ;;
106
107  bison|yacc)
108    echo 1>&2 "\
109WARNING: \`$1' is missing on your system.  You should only need it if
110         you modified a \`.y' file.  You may need the \`Bison' package
111         in order for those modifications to take effect.  You can get
112         \`Bison' from any GNU archive site."
113    rm -f y.tab.c y.tab.h
114    if [ $# -ne 1 ]; then
115        eval LASTARG="\${$#}"
116	case "$LASTARG" in
117	*.y)
118	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
119	    if [ -f "$SRCFILE" ]; then
120	         cp "$SRCFILE" y.tab.c
121	    fi
122	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
123	    if [ -f "$SRCFILE" ]; then
124	         cp "$SRCFILE" y.tab.h
125	    fi
126	  ;;
127	esac
128    fi
129    if [ ! -f y.tab.h ]; then
130	echo >y.tab.h
131    fi
132    if [ ! -f y.tab.c ]; then
133	echo 'main() { return 0; }' >y.tab.c
134    fi
135    ;;
136
137  lex|flex)
138    echo 1>&2 "\
139WARNING: \`$1' is missing on your system.  You should only need it if
140         you modified a \`.l' file.  You may need the \`Flex' package
141         in order for those modifications to take effect.  You can get
142         \`Flex' from any GNU archive site."
143    rm -f lex.yy.c
144    if [ $# -ne 1 ]; then
145        eval LASTARG="\${$#}"
146	case "$LASTARG" in
147	*.l)
148	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
149	    if [ -f "$SRCFILE" ]; then
150	         cp "$SRCFILE" lex.yy.c
151	    fi
152	  ;;
153	esac
154    fi
155    if [ ! -f lex.yy.c ]; then
156	echo 'main() { return 0; }' >lex.yy.c
157    fi
158    ;;
159
160  makeinfo)
161    echo 1>&2 "\
162WARNING: \`$1' is missing on your system.  You should only need it if
163         you modified a \`.texi' or \`.texinfo' file, or any other file
164         indirectly affecting the aspect of the manual.  The spurious
165         call might also be the consequence of using a buggy \`make' (AIX,
166         DU, IRIX).  You might want to install the \`Texinfo' package or
167         the \`GNU make' package.  Grab either from any GNU archive site."
168    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
169    if test -z "$file"; then
170      file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
171      file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
172    fi
173    touch $file
174    ;;
175
176  *)
177    echo 1>&2 "\
178WARNING: \`$1' is needed, and you do not seem to have it handy on your
179         system.  You might have modified some files without having the
180         proper tools for further handling them.  Check the \`README' file,
181         it often tells you about the needed prerequirements for installing
182         this package.  You may also peek at any GNU archive site, in case
183         some other package would contain this missing \`$1' program."
184    exit 1
185    ;;
186esac
187
188exit 0
189