Fix memory leak issues
[platform/core/uifw/anthy.git] / missing
1 #! /bin/sh
2 # Common stub for a few missing GNU programs while installing.
3 # Copyright 1996, 1997, 1999, 2000 Free Software Foundation, Inc.
4 # Originally by Fran,cois 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
21 # As a special exception to the GNU General Public License, if you
22 # distribute this file as part of a program that contains a
23 # configuration script generated by Autoconf, you may include it under
24 # the same distribution terms that you use for the rest of that program.
25
26 if test $# -eq 0; then
27   echo 1>&2 "Try \`$0 --help' for more information"
28   exit 1
29 fi
30
31 run=:
32
33 # In the cases where this matters, `missing' is being run in the
34 # srcdir already.
35 if test -f configure.ac; then
36   configure_ac=configure.ac
37 else
38   configure_ac=configure.in
39 fi
40
41 case "$1" in
42 --run)
43   # Try to run requested program, and just exit if it succeeds.
44   run=
45   shift
46   prog="$1"
47   shift
48   case "$prog" in
49     aclocal)
50       for suffix in "-1.5" ""; do
51         if "$prog$suffix" "--version" >/dev/null 2>&1; then
52           "$prog$suffix" "$@" && exit 0
53         fi
54       done;;
55     autoconf)
56       for suffix in "-2.53" ""; do
57         if "$prog$suffix" "--version" >/dev/null 2>&1; then
58           "$prog$suffix" "$@" && exit 0
59         fi
60       done;;
61     automake)
62       for suffix in "-1.5" ""; do
63         if "$prog$suffix" "--version" >/dev/null 2>&1; then
64           "$prog$suffix" "$@" && exit 0
65         fi
66       done;;
67     autoheader)
68       for suffix in "-2.53" ""; do
69         if "$prog$suffix" "--version" >/dev/null 2>&1; then
70           "$prog$suffix" "$@" && exit 0
71         fi
72       done;;
73     *) "$prog" "$@" && exit 0;;
74   esac
75   set -- "$prog" "$@"
76   ;;
77 esac
78
79 # If it does not exist, or fails to run (possibly an outdated version),
80 # try to emulate it.
81 case "$1" in
82
83   -h|--h|--he|--hel|--help)
84     echo "\
85 $0 [OPTION]... PROGRAM [ARGUMENT]...
86
87 Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
88 error status if there is no known handling for PROGRAM.
89
90 Options:
91   -h, --help      display this help and exit
92   -v, --version   output version information and exit
93   --run           try to run the given command, and emulate it if it fails
94
95 Supported PROGRAM values:
96   aclocal      touch file \`aclocal.m4'
97   autoconf     touch file \`configure'
98   autoheader   touch file \`config.h.in'
99   automake     touch all \`Makefile.in' files
100   bison        create \`y.tab.[ch]', if possible, from existing .[ch]
101   flex         create \`lex.yy.c', if possible, from existing .c
102   help2man     touch the output file
103   lex          create \`lex.yy.c', if possible, from existing .c
104   makeinfo     touch the output file
105   tar          try tar, gnutar, gtar, then tar without non-portable flags
106   yacc         create \`y.tab.[ch]', if possible, from existing .[ch]"
107     ;;
108
109   -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
110     echo "missing 0.3 - GNU automake"
111     ;;
112
113   -*)
114     echo 1>&2 "$0: Unknown \`$1' option"
115     echo 1>&2 "Try \`$0 --help' for more information"
116     exit 1
117     ;;
118
119   aclocal*)
120     echo 1>&2 "\
121 WARNING: \`$1' is missing on your system.  You should only need it if
122          you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
123          to install the \`Automake' and \`Perl' packages.  Grab them from
124          any GNU archive site."
125     touch aclocal.m4
126     ;;
127
128   autoconf*)
129     echo 1>&2 "\
130 WARNING: \`$1' is missing on your system.  You should only need it if
131          you modified \`${configure_ac}'.  You might want to install the
132          \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
133          archive site."
134     touch configure
135     ;;
136
137   autoheader*)
138     echo 1>&2 "\
139 WARNING: \`$1' is missing on your system.  You should only need it if
140          you modified \`acconfig.h' or \`${configure_ac}'.  You might want
141          to install the \`Autoconf' and \`GNU m4' packages.  Grab them
142          from any GNU archive site."
143     files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
144     test -z "$files" && files="config.h"
145     touch_files=
146     for f in $files; do
147       case "$f" in
148       *:*) touch_files="$touch_files "`echo "$f" |
149                                        sed -e 's/^[^:]*://' -e 's/:.*//'`;;
150       *) touch_files="$touch_files $f.in";;
151       esac
152     done
153     touch $touch_files
154     ;;
155
156   automake*)
157     echo 1>&2 "\
158 WARNING: \`$1' is missing on your system.  You should only need it if
159          you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
160          You might want to install the \`Automake' and \`Perl' packages.
161          Grab them from any GNU archive site."
162     find . -type f -name Makefile.am -print |
163            sed 's/\.am$/.in/' |
164            while read f; do touch "$f"; done
165     ;;
166
167   bison|yacc)
168     echo 1>&2 "\
169 WARNING: \`$1' is missing on your system.  You should only need it if
170          you modified a \`.y' file.  You may need the \`Bison' package
171          in order for those modifications to take effect.  You can get
172          \`Bison' from any GNU archive site."
173     rm -f y.tab.c y.tab.h
174     if [ $# -ne 1 ]; then
175         eval LASTARG="\${$#}"
176         case "$LASTARG" in
177         *.y)
178             SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
179             if [ -f "$SRCFILE" ]; then
180                  cp "$SRCFILE" y.tab.c
181             fi
182             SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
183             if [ -f "$SRCFILE" ]; then
184                  cp "$SRCFILE" y.tab.h
185             fi
186           ;;
187         esac
188     fi
189     if [ ! -f y.tab.h ]; then
190         echo >y.tab.h
191     fi
192     if [ ! -f y.tab.c ]; then
193         echo 'main() { return 0; }' >y.tab.c
194     fi
195     ;;
196
197   lex|flex)
198     echo 1>&2 "\
199 WARNING: \`$1' is missing on your system.  You should only need it if
200          you modified a \`.l' file.  You may need the \`Flex' package
201          in order for those modifications to take effect.  You can get
202          \`Flex' from any GNU archive site."
203     rm -f lex.yy.c
204     if [ $# -ne 1 ]; then
205         eval LASTARG="\${$#}"
206         case "$LASTARG" in
207         *.l)
208             SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
209             if [ -f "$SRCFILE" ]; then
210                  cp "$SRCFILE" lex.yy.c
211             fi
212           ;;
213         esac
214     fi
215     if [ ! -f lex.yy.c ]; then
216         echo 'main() { return 0; }' >lex.yy.c
217     fi
218     ;;
219
220   help2man)
221     echo 1>&2 "\
222 WARNING: \`$1' is missing on your system.  You should only need it if
223          you modified a dependency of a manual page.  You may need the
224          \`Help2man' package in order for those modifications to take
225          effect.  You can get \`Help2man' from any GNU archive site."
226
227     file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
228     if test -z "$file"; then
229         file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
230     fi
231     if [ -f "$file" ]; then
232         touch $file
233     else
234         test -z "$file" || exec >$file
235         echo ".ab help2man is required to generate this page"
236         exit 1
237     fi
238     ;;
239
240   makeinfo)
241     if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
242        # We have makeinfo, but it failed.
243        exit 1
244     fi
245
246     echo 1>&2 "\
247 WARNING: \`$1' is missing on your system.  You should only need it if
248          you modified a \`.texi' or \`.texinfo' file, or any other file
249          indirectly affecting the aspect of the manual.  The spurious
250          call might also be the consequence of using a buggy \`make' (AIX,
251          DU, IRIX).  You might want to install the \`Texinfo' package or
252          the \`GNU make' package.  Grab either from any GNU archive site."
253     file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
254     if test -z "$file"; then
255       file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
256       file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
257     fi
258     touch $file
259     ;;
260
261   tar)
262     shift
263     if test -n "$run"; then
264       echo 1>&2 "ERROR: \`tar' requires --run"
265       exit 1
266     fi
267
268     # We have already tried tar in the generic part.
269     # Look for gnutar/gtar before invocation to avoid ugly error
270     # messages.
271     if (gnutar --version > /dev/null 2>&1); then
272        gnutar ${1+"$@"} && exit 0
273     fi
274     if (gtar --version > /dev/null 2>&1); then
275        gtar ${1+"$@"} && exit 0
276     fi
277     firstarg="$1"
278     if shift; then
279         case "$firstarg" in
280         *o*)
281             firstarg=`echo "$firstarg" | sed s/o//`
282             tar "$firstarg" ${1+"$@"} && exit 0
283             ;;
284         esac
285         case "$firstarg" in
286         *h*)
287             firstarg=`echo "$firstarg" | sed s/h//`
288             tar "$firstarg" ${1+"$@"} && exit 0
289             ;;
290         esac
291     fi
292
293     echo 1>&2 "\
294 WARNING: I can't seem to be able to run \`tar' with the given arguments.
295          You may want to install GNU tar or Free paxutils, or check the
296          command line arguments."
297     exit 1
298     ;;
299
300   *)
301     echo 1>&2 "\
302 WARNING: \`$1' is needed, and you do not seem to have it handy on your
303          system.  You might have modified some files without having the
304          proper tools for further handling them.  Check the \`README' file,
305          it often tells you about the needed prerequirements for installing
306          this package.  You may also peek at any GNU archive site, in case
307          some other package would contain this missing \`$1' program."
308     exit 1
309     ;;
310 esac
311
312 exit 0