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