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