comparison kdiff3/admin/missing @ 69:8febbfb1148c

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