9d2ed54420cca39631f7f76f11cb5524378fecec
[platform/upstream/bash.git] / aclocal.m4
1 dnl
2 dnl Bash specific tests
3 dnl
4 dnl Some derived from PDKSH 5.1.3 autoconf tests
5 dnl
6
7 AC_DEFUN(BASH_C_LONG_LONG,
8 [AC_CACHE_CHECK(for long long, ac_cv_c_long_long,
9 [if test "$GCC" = yes; then
10   ac_cv_c_long_long=yes
11 else
12 AC_TRY_RUN([
13 int
14 main()
15 {
16 long long foo = 0;
17 exit(sizeof(long long) < sizeof(long));
18 }
19 ], ac_cv_c_long_long=yes, ac_cv_c_long_long=no)
20 fi])
21 if test $ac_cv_c_long_long = yes; then
22   AC_DEFINE(HAVE_LONG_LONG, 1, [Define if the `long long' type works.])
23 fi
24 ])
25
26 dnl
27 dnl This is very similar to AC_C_LONG_DOUBLE, with the fix for IRIX
28 dnl (< changed to <=) added.
29 dnl
30 AC_DEFUN(BASH_C_LONG_DOUBLE,
31 [AC_CACHE_CHECK(for long double, ac_cv_c_long_double,
32 [if test "$GCC" = yes; then
33   ac_cv_c_long_double=yes
34 else
35 AC_TRY_RUN([
36 int
37 main()
38 {
39   /* The Stardent Vistra knows sizeof(long double), but does not
40      support it. */
41   long double foo = 0.0;
42   /* On Ultrix 4.3 cc, long double is 4 and double is 8.  */
43   /* On IRIX 5.3, the compiler converts long double to double with a warning,
44      but compiles this successfully. */
45   exit(sizeof(long double) <= sizeof(double));
46 }
47 ], ac_cv_c_long_double=yes, ac_cv_c_long_double=no)
48 fi])
49 if test $ac_cv_c_long_double = yes; then
50   AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if the `long double' type works.])
51 fi
52 ])
53
54 dnl
55 dnl Check for <inttypes.h>.  This is separated out so that it can be
56 dnl AC_REQUIREd.
57 dnl
58 dnl BASH_HEADER_INTTYPES
59 AC_DEFUN(BASH_HEADER_INTTYPES,
60 [
61  AC_CHECK_HEADERS(inttypes.h)
62 ])
63
64 dnl
65 dnl check for typedef'd symbols in header files, but allow the caller to
66 dnl specify the include files to be checked in addition to the default
67 dnl 
68 dnl BASH_CHECK_TYPE(TYPE, HEADERS, DEFAULT[, VALUE-IF-FOUND])
69 AC_DEFUN(BASH_CHECK_TYPE,
70 [
71 AC_REQUIRE([AC_HEADER_STDC])dnl
72 AC_REQUIRE([BASH_HEADER_INTTYPES])
73 AC_MSG_CHECKING(for $1)
74 AC_CACHE_VAL(bash_cv_type_$1,
75 [AC_EGREP_CPP($1, [#include <sys/types.h>
76 #if STDC_HEADERS
77 #include <stdlib.h>
78 #include <stddef.h>
79 #endif
80 #if HAVE_INTTYPES_H
81 #include <inttypes.h>
82 #endif
83 $2
84 ], bash_cv_type_$1=yes, bash_cv_type_$1=no)])
85 AC_MSG_RESULT($bash_cv_type_$1)
86 ifelse($#, 4, [if test $bash_cv_type_$1 = yes; then
87         AC_DEFINE($4)
88         fi])
89 if test $bash_cv_type_$1 = no; then
90   AC_DEFINE_UNQUOTED($1, $3)
91 fi
92 ])
93
94 dnl
95 dnl BASH_CHECK_DECL(FUNC)
96 dnl
97 dnl Check for a declaration of FUNC in stdlib.h and inttypes.h like
98 dnl AC_CHECK_DECL
99 dnl
100 AC_DEFUN(BASH_CHECK_DECL,
101 [
102 AC_REQUIRE([AC_HEADER_STDC])
103 AC_REQUIRE([BASH_HEADER_INTTYPES])
104 AC_CACHE_CHECK([for declaration of $1], bash_cv_decl_$1,
105 [AC_TRY_LINK(
106 [
107 #if STDC_HEADERS
108 #  include <stdlib.h>
109 #endif
110 #if HAVE_INTTYPES_H
111 #  include <inttypes.h>
112 #endif
113 ],
114 [return !$1;],
115 bash_cv_decl_$1=yes, bash_cv_decl_$1=no)])
116 bash_tr_func=HAVE_DECL_`echo $1 | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
117 if test $bash_cv_decl_$1 = yes; then
118   AC_DEFINE_UNQUOTED($bash_tr_func, 1)
119 else
120   AC_DEFINE_UNQUOTED($bash_tr_func, 0)
121 fi
122 ])
123
124 AC_DEFUN(BASH_DECL_PRINTF,
125 [AC_MSG_CHECKING(for declaration of printf in <stdio.h>)
126 AC_CACHE_VAL(bash_cv_printf_declared,
127 [AC_TRY_RUN([
128 #include <stdio.h>
129 #ifdef __STDC__
130 typedef int (*_bashfunc)(const char *, ...);
131 #else
132 typedef int (*_bashfunc)();
133 #endif
134 main()
135 {
136 _bashfunc pf;
137 pf = (_bashfunc) printf;
138 exit(pf == 0);
139 }
140 ], bash_cv_printf_declared=yes, bash_cv_printf_declared=no,
141    [AC_MSG_WARN(cannot check printf declaration if cross compiling -- defaulting to yes)
142     bash_cv_printf_declared=yes]
143 )])
144 AC_MSG_RESULT($bash_cv_printf_declared)
145 if test $bash_cv_printf_declared = yes; then
146 AC_DEFINE(PRINTF_DECLARED)
147 fi
148 ])
149
150 AC_DEFUN(BASH_DECL_SBRK,
151 [AC_MSG_CHECKING(for declaration of sbrk in <unistd.h>)
152 AC_CACHE_VAL(bash_cv_sbrk_declared,
153 [AC_EGREP_HEADER(sbrk, unistd.h,
154  bash_cv_sbrk_declared=yes, bash_cv_sbrk_declared=no)])
155 AC_MSG_RESULT($bash_cv_sbrk_declared)
156 if test $bash_cv_sbrk_declared = yes; then
157 AC_DEFINE(SBRK_DECLARED)
158 fi
159 ])
160
161 dnl
162 dnl Check for sys_siglist[] or _sys_siglist[]
163 dnl
164 AC_DEFUN(BASH_DECL_UNDER_SYS_SIGLIST,
165 [AC_MSG_CHECKING([for _sys_siglist in signal.h or unistd.h])
166 AC_CACHE_VAL(bash_cv_decl_under_sys_siglist,
167 [AC_TRY_COMPILE([
168 #include <sys/types.h>
169 #include <signal.h>
170 #ifdef HAVE_UNISTD_H
171 #include <unistd.h>
172 #endif], [ char *msg = _sys_siglist[2]; ],
173   bash_cv_decl_under_sys_siglist=yes, bash_cv_decl_under_sys_siglist=no,
174   [AC_MSG_WARN(cannot check for _sys_siglist[] if cross compiling -- defaulting to no)])])dnl
175 AC_MSG_RESULT($bash_cv_decl_under_sys_siglist)
176 if test $bash_cv_decl_under_sys_siglist = yes; then
177 AC_DEFINE(UNDER_SYS_SIGLIST_DECLARED)
178 fi
179 ])
180
181 AC_DEFUN(BASH_UNDER_SYS_SIGLIST,
182 [AC_REQUIRE([BASH_DECL_UNDER_SYS_SIGLIST])
183 AC_MSG_CHECKING([for _sys_siglist in system C library])
184 AC_CACHE_VAL(bash_cv_under_sys_siglist,
185 [AC_TRY_RUN([
186 #include <sys/types.h>
187 #include <signal.h>
188 #ifdef HAVE_UNISTD_H
189 #include <unistd.h>
190 #endif
191 #ifndef UNDER_SYS_SIGLIST_DECLARED
192 extern char *_sys_siglist[];
193 #endif
194 main()
195 {
196 char *msg = (char *)_sys_siglist[2];
197 exit(msg == 0);
198 }],
199         bash_cv_under_sys_siglist=yes, bash_cv_under_sys_siglist=no,
200         [AC_MSG_WARN(cannot check for _sys_siglist[] if cross compiling -- defaulting to no)
201          bash_cv_under_sys_siglist=no])])
202 AC_MSG_RESULT($bash_cv_under_sys_siglist)
203 if test $bash_cv_under_sys_siglist = yes; then
204 AC_DEFINE(HAVE_UNDER_SYS_SIGLIST)
205 fi
206 ])
207
208 AC_DEFUN(BASH_SYS_SIGLIST,
209 [AC_REQUIRE([AC_DECL_SYS_SIGLIST])
210 AC_MSG_CHECKING([for sys_siglist in system C library])
211 AC_CACHE_VAL(bash_cv_sys_siglist,
212 [AC_TRY_RUN([
213 #include <sys/types.h>
214 #include <signal.h>
215 #ifdef HAVE_UNISTD_H
216 #include <unistd.h>
217 #endif
218 #ifndef SYS_SIGLIST_DECLARED
219 extern char *sys_siglist[];
220 #endif
221 main()
222 {
223 char *msg = sys_siglist[2];
224 exit(msg == 0);
225 }],
226         bash_cv_sys_siglist=yes, bash_cv_sys_siglist=no,
227         [AC_MSG_WARN(cannot check for sys_siglist if cross compiling -- defaulting to no)
228          bash_cv_sys_siglist=no])])
229 AC_MSG_RESULT($bash_cv_sys_siglist)
230 if test $bash_cv_sys_siglist = yes; then
231 AC_DEFINE(HAVE_SYS_SIGLIST)
232 fi
233 ])
234
235 dnl Check for the various permutations of sys_siglist and make sure we
236 dnl compile in siglist.o if they're not defined
237 AC_DEFUN(BASH_CHECK_SYS_SIGLIST, [
238 AC_REQUIRE([BASH_SYS_SIGLIST])
239 AC_REQUIRE([BASH_DECL_UNDER_SYS_SIGLIST])
240 AC_REQUIRE([BASH_FUNC_STRSIGNAL])
241 if test "$bash_cv_sys_siglist" = no && test "$bash_cv_under_sys_siglist" = no && test "$bash_cv_have_strsignal" = no; then
242   SIGLIST_O=siglist.o
243 else
244   SIGLIST_O=
245 fi
246 AC_SUBST([SIGLIST_O])
247 ])
248
249 dnl Check for sys_errlist[] and sys_nerr, check for declaration
250 AC_DEFUN(BASH_SYS_ERRLIST,
251 [AC_MSG_CHECKING([for sys_errlist and sys_nerr])
252 AC_CACHE_VAL(bash_cv_sys_errlist,
253 [AC_TRY_LINK([#include <errno.h>],
254 [extern char *sys_errlist[];
255  extern int sys_nerr;
256  char *msg = sys_errlist[sys_nerr - 1];],
257     bash_cv_sys_errlist=yes, bash_cv_sys_errlist=no)])dnl
258 AC_MSG_RESULT($bash_cv_sys_errlist)
259 if test $bash_cv_sys_errlist = yes; then
260 AC_DEFINE(HAVE_SYS_ERRLIST)
261 fi
262 ])
263
264 dnl
265 dnl Check if dup2() does not clear the close on exec flag
266 dnl
267 AC_DEFUN(BASH_FUNC_DUP2_CLOEXEC_CHECK,
268 [AC_MSG_CHECKING(if dup2 fails to clear the close-on-exec flag)
269 AC_CACHE_VAL(bash_cv_dup2_broken,
270 [AC_TRY_RUN([
271 #include <sys/types.h>
272 #include <fcntl.h>
273 main()
274 {
275   int fd1, fd2, fl;
276   fd1 = open("/dev/null", 2);
277   if (fcntl(fd1, 2, 1) < 0)
278     exit(1);
279   fd2 = dup2(fd1, 1);
280   if (fd2 < 0)
281     exit(2);
282   fl = fcntl(fd2, 1, 0);
283   /* fl will be 1 if dup2 did not reset the close-on-exec flag. */
284   exit(fl != 1);
285 }
286 ], bash_cv_dup2_broken=yes, bash_cv_dup2_broken=no,
287     [AC_MSG_WARN(cannot check dup2 if cross compiling -- defaulting to no)
288      bash_cv_dup2_broken=no])
289 ])
290 AC_MSG_RESULT($bash_cv_dup2_broken)
291 if test $bash_cv_dup2_broken = yes; then
292 AC_DEFINE(DUP2_BROKEN)
293 fi
294 ])
295
296 AC_DEFUN(BASH_FUNC_STRSIGNAL,
297 [AC_MSG_CHECKING([for the existence of strsignal])
298 AC_CACHE_VAL(bash_cv_have_strsignal,
299 [AC_TRY_LINK([#include <sys/types.h>
300 #include <signal.h>],
301 [char *s = (char *)strsignal(2);],
302  bash_cv_have_strsignal=yes, bash_cv_have_strsignal=no)])
303 AC_MSG_RESULT($bash_cv_have_strsignal)
304 if test $bash_cv_have_strsignal = yes; then
305 AC_DEFINE(HAVE_STRSIGNAL)
306 fi
307 ])
308
309 dnl Check to see if opendir will open non-directories (not a nice thing)
310 AC_DEFUN(BASH_FUNC_OPENDIR_CHECK,
311 [AC_REQUIRE([AC_HEADER_DIRENT])dnl
312 AC_MSG_CHECKING(if opendir() opens non-directories)
313 AC_CACHE_VAL(bash_cv_opendir_not_robust,
314 [AC_TRY_RUN([
315 #include <stdio.h>
316 #include <sys/types.h>
317 #include <fcntl.h>
318 #ifdef HAVE_UNISTD_H
319 # include <unistd.h>
320 #endif /* HAVE_UNISTD_H */
321 #if defined(HAVE_DIRENT_H)
322 # include <dirent.h>
323 #else
324 # define dirent direct
325 # ifdef HAVE_SYS_NDIR_H
326 #  include <sys/ndir.h>
327 # endif /* SYSNDIR */
328 # ifdef HAVE_SYS_DIR_H
329 #  include <sys/dir.h>
330 # endif /* SYSDIR */
331 # ifdef HAVE_NDIR_H
332 #  include <ndir.h>
333 # endif
334 #endif /* HAVE_DIRENT_H */
335 main()
336 {
337 DIR *dir;
338 int fd, err;
339 err = mkdir("/tmp/bash-aclocal", 0700);
340 if (err < 0) {
341   perror("mkdir");
342   exit(1);
343 }
344 unlink("/tmp/bash-aclocal/not_a_directory");
345 fd = open("/tmp/bash-aclocal/not_a_directory", O_WRONLY|O_CREAT|O_EXCL, 0666);
346 write(fd, "\n", 1);
347 close(fd);
348 dir = opendir("/tmp/bash-aclocal/not_a_directory");
349 unlink("/tmp/bash-aclocal/not_a_directory");
350 rmdir("/tmp/bash-aclocal");
351 exit (dir == 0);
352 }], bash_cv_opendir_not_robust=yes,bash_cv_opendir_not_robust=no,
353     [AC_MSG_WARN(cannot check opendir if cross compiling -- defaulting to no)
354      bash_cv_opendir_not_robust=no]
355 )])
356 AC_MSG_RESULT($bash_cv_opendir_not_robust)
357 if test $bash_cv_opendir_not_robust = yes; then
358 AC_DEFINE(OPENDIR_NOT_ROBUST)
359 fi
360 ])
361
362 dnl
363 AC_DEFUN(BASH_TYPE_SIGHANDLER,
364 [AC_MSG_CHECKING([whether signal handlers are of type void])
365 AC_CACHE_VAL(bash_cv_void_sighandler,
366 [AC_TRY_COMPILE([#include <sys/types.h>
367 #include <signal.h>
368 #ifdef signal
369 #undef signal
370 #endif
371 #ifdef __cplusplus
372 extern "C"
373 #endif
374 void (*signal ()) ();],
375 [int i;], bash_cv_void_sighandler=yes, bash_cv_void_sighandler=no)])dnl
376 AC_MSG_RESULT($bash_cv_void_sighandler)
377 if test $bash_cv_void_sighandler = yes; then
378 AC_DEFINE(VOID_SIGHANDLER)
379 fi
380 ])
381
382 dnl
383 dnl A signed 16-bit integer quantity
384 dnl
385 AC_DEFUN(BASH_TYPE_BITS16_T,
386 [
387 if test "$ac_cv_sizeof_short" = 2; then
388   AC_CHECK_TYPE(bits16_t, short)
389 elif test "$ac_cv_sizeof_char" = 2; then
390   AC_CHECK_TYPE(bits16_t, char)
391 else
392   AC_CHECK_TYPE(bits16_t, short)
393 fi
394 ])
395
396 dnl
397 dnl An unsigned 16-bit integer quantity
398 dnl
399 AC_DEFUN(BASH_TYPE_U_BITS16_T,
400 [
401 if test "$ac_cv_sizeof_short" = 2; then
402   AC_CHECK_TYPE(u_bits16_t, unsigned short)
403 elif test "$ac_cv_sizeof_char" = 2; then
404   AC_CHECK_TYPE(u_bits16_t, unsigned char)
405 else
406   AC_CHECK_TYPE(u_bits16_t, unsigned short)
407 fi
408 ])
409
410 dnl
411 dnl A signed 32-bit integer quantity
412 dnl
413 AC_DEFUN(BASH_TYPE_BITS32_T,
414 [
415 if test "$ac_cv_sizeof_int" = 4; then
416   AC_CHECK_TYPE(bits32_t, int)
417 elif test "$ac_cv_sizeof_long" = 4; then
418   AC_CHECK_TYPE(bits32_t, long)
419 else
420   AC_CHECK_TYPE(bits32_t, int)
421 fi
422 ])
423
424 dnl
425 dnl An unsigned 32-bit integer quantity
426 dnl
427 AC_DEFUN(BASH_TYPE_U_BITS32_T,
428 [
429 if test "$ac_cv_sizeof_int" = 4; then
430   AC_CHECK_TYPE(u_bits32_t, unsigned int)
431 elif test "$ac_cv_sizeof_long" = 4; then
432   AC_CHECK_TYPE(u_bits32_t, unsigned long)
433 else
434   AC_CHECK_TYPE(u_bits32_t, unsigned int)
435 fi
436 ])
437
438 AC_DEFUN(BASH_TYPE_PTRDIFF_T,
439 [
440 if test "$ac_cv_sizeof_int" = "$ac_cv_sizeof_char_p"; then
441   AC_CHECK_TYPE(ptrdiff_t, int)
442 elif test "$ac_cv_sizeof_long" = "$ac_cv_sizeof_char_p"; then
443   AC_CHECK_TYPE(ptrdiff_t, long)
444 elif test "$ac_cv_type_long_long" = yes && test "$ac_cv_sizeof_long_long" = "$ac_cv_sizeof_char_p"; then
445   AC_CHECK_TYPE(ptrdiff_t, [long long])
446 else
447   AC_CHECK_TYPE(ptrdiff_t, int)
448 fi
449 ])
450
451 dnl
452 dnl A signed 64-bit quantity
453 dnl
454 AC_DEFUN(BASH_TYPE_BITS64_T,
455 [
456 if test "$ac_cv_sizeof_char_p" = 8; then
457   AC_CHECK_TYPE(bits64_t, char *)
458 elif test "$ac_cv_sizeof_double" = 8; then
459   AC_CHECK_TYPE(bits64_t, double)
460 elif test -n "$ac_cv_type_long_long" && test "$ac_cv_sizeof_long_long" = 8; then
461   AC_CHECK_TYPE(bits64_t, [long long])
462 elif test "$ac_cv_sizeof_long" = 8; then
463   AC_CHECK_TYPE(bits64_t, long)
464 else
465   AC_CHECK_TYPE(bits64_t, double)
466 fi
467 ])
468
469 AC_DEFUN(BASH_TYPE_LONG_LONG,
470 [
471 AC_CACHE_CHECK([for long long], bash_cv_type_long_long,
472 [AC_TRY_LINK([
473 long long ll = 1; int i = 63;],
474 [
475 long long llm = (long long) -1;
476 return ll << i | ll >> i | llm / ll | llm % ll;
477 ], bash_cv_type_long_long='long long', bash_cv_type_long_long='long')])
478 if test "$bash_cv_type_long_long" = 'long long'; then
479   AC_DEFINE(HAVE_LONG_LONG, 1)
480 fi
481 ])
482
483 AC_DEFUN(BASH_TYPE_UNSIGNED_LONG_LONG,
484 [
485 AC_CACHE_CHECK([for unsigned long long], bash_cv_type_unsigned_long_long,
486 [AC_TRY_LINK([
487 unsigned long long ull = 1; int i = 63;],
488 [
489 unsigned long long ullmax = (unsigned long long) -1;
490 return ull << i | ull >> i | ullmax / ull | ullmax % ull;
491 ], bash_cv_type_unsigned_long_long='unsigned long long',
492    bash_cv_type_unsigned_long_long='unsigned long')])
493 if test "$bash_cv_type_unsigned_long_long" = 'unsigned long long'; then
494   AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1)
495 fi
496 ])
497
498 dnl
499 dnl Type of struct rlimit fields: some systems (OSF/1, NetBSD, RISC/os 5.0)
500 dnl have a rlim_t, others (4.4BSD based systems) use quad_t, others use
501 dnl long and still others use int (HP-UX 9.01, SunOS 4.1.3).  To simplify
502 dnl matters, this just checks for rlim_t, quad_t, or long.
503 dnl
504 AC_DEFUN(BASH_TYPE_RLIMIT,
505 [AC_MSG_CHECKING(for size and type of struct rlimit fields)
506 AC_CACHE_VAL(bash_cv_type_rlimit,
507 [AC_TRY_COMPILE([#include <sys/types.h>
508 #include <sys/resource.h>],
509 [rlim_t xxx;], bash_cv_type_rlimit=rlim_t,[
510 AC_TRY_RUN([
511 #include <sys/types.h>
512 #include <sys/time.h>
513 #include <sys/resource.h>
514 main()
515 {
516 #ifdef HAVE_QUAD_T
517   struct rlimit rl;
518   if (sizeof(rl.rlim_cur) == sizeof(quad_t))
519     exit(0);
520 #endif
521   exit(1);
522 }], bash_cv_type_rlimit=quad_t, bash_cv_type_rlimit=long,
523         [AC_MSG_WARN(cannot check quad_t if cross compiling -- defaulting to long)
524          bash_cv_type_rlimit=long])])
525 ])
526 AC_MSG_RESULT($bash_cv_type_rlimit)
527 if test $bash_cv_type_rlimit = quad_t; then
528 AC_DEFINE(RLIMTYPE, quad_t)
529 elif test $bash_cv_type_rlimit = rlim_t; then
530 AC_DEFINE(RLIMTYPE, rlim_t)
531 fi
532 ])
533
534 AC_DEFUN(BASH_FUNC_LSTAT,
535 [dnl Cannot use AC_CHECK_FUNCS(lstat) because Linux defines lstat() as an
536 dnl inline function in <sys/stat.h>.
537 AC_CACHE_CHECK([for lstat], bash_cv_func_lstat,
538 [AC_TRY_LINK([
539 #include <sys/types.h>
540 #include <sys/stat.h>
541 ],[ lstat(".",(struct stat *)0); ],
542 bash_cv_func_lstat=yes, bash_cv_func_lstat=no)])
543 if test $bash_cv_func_lstat = yes; then
544   AC_DEFINE(HAVE_LSTAT)
545 fi
546 ])
547
548 AC_DEFUN(BASH_FUNC_INET_ATON,
549 [
550 AC_CACHE_CHECK([for inet_aton], bash_cv_func_inet_aton,
551 [AC_TRY_LINK([
552 #include <sys/types.h>
553 #include <netinet/in.h>
554 #include <arpa/inet.h>
555 struct in_addr ap;], [ inet_aton("127.0.0.1", &ap); ],
556 bash_cv_func_inet_aton=yes, bash_cv_func_inet_aton=no)])
557 if test $bash_cv_func_inet_aton = yes; then
558   AC_DEFINE(HAVE_INET_ATON)
559 else
560   AC_LIBOBJ(inet_aton)
561 fi
562 ])
563
564 AC_DEFUN(BASH_FUNC_GETENV,
565 [AC_MSG_CHECKING(to see if getenv can be redefined)
566 AC_CACHE_VAL(bash_cv_getenv_redef,
567 [AC_TRY_RUN([
568 #ifdef HAVE_UNISTD_H
569 #  include <unistd.h>
570 #endif
571 #ifndef __STDC__
572 #  ifndef const
573 #    define const
574 #  endif
575 #endif
576 char *
577 getenv (name)
578 #if defined (__linux__) || defined (__bsdi__) || defined (convex)
579      const char *name;
580 #else
581      char const *name;
582 #endif /* !__linux__ && !__bsdi__ && !convex */
583 {
584 return "42";
585 }
586 main()
587 {
588 char *s;
589 /* The next allows this program to run, but does not allow bash to link
590    when it redefines getenv.  I'm not really interested in figuring out
591    why not. */
592 #if defined (NeXT)
593 exit(1);
594 #endif
595 s = getenv("ABCDE");
596 exit(s == 0);   /* force optimizer to leave getenv in */
597 }
598 ], bash_cv_getenv_redef=yes, bash_cv_getenv_redef=no,
599    [AC_MSG_WARN(cannot check getenv redefinition if cross compiling -- defaulting to yes)
600     bash_cv_getenv_redef=yes]
601 )])
602 AC_MSG_RESULT($bash_cv_getenv_redef)
603 if test $bash_cv_getenv_redef = yes; then
604 AC_DEFINE(CAN_REDEFINE_GETENV)
605 fi
606 ])
607
608 # We should check for putenv before calling this
609 AC_DEFUN(BASH_FUNC_STD_PUTENV,
610 [
611 AC_REQUIRE([AC_HEADER_STDC])
612 AC_REQUIRE([AC_C_PROTOTYPES])
613 AC_CACHE_CHECK([for standard-conformant putenv declaration], bash_cv_std_putenv,
614 [AC_TRY_LINK([
615 #if STDC_HEADERS
616 #include <stdlib.h>
617 #include <stddef.h>
618 #endif
619 #ifndef __STDC__
620 #  ifndef const
621 #    define const
622 #  endif
623 #endif
624 #ifdef PROTOTYPES
625 extern int putenv (char *);
626 #else
627 extern int putenv ();
628 #endif
629 ],
630 [return (putenv == 0);],
631 bash_cv_std_putenv=yes, bash_cv_std_putenv=no
632 )])
633 if test $bash_cv_std_putenv = yes; then
634 AC_DEFINE(HAVE_STD_PUTENV)
635 fi
636 ])
637
638 # We should check for unsetenv before calling this
639 AC_DEFUN(BASH_FUNC_STD_UNSETENV,
640 [
641 AC_REQUIRE([AC_HEADER_STDC])
642 AC_REQUIRE([AC_C_PROTOTYPES])
643 AC_CACHE_CHECK([for standard-conformant unsetenv declaration], bash_cv_std_unsetenv,
644 [AC_TRY_LINK([
645 #if STDC_HEADERS
646 #include <stdlib.h>
647 #include <stddef.h>
648 #endif
649 #ifndef __STDC__
650 #  ifndef const
651 #    define const
652 #  endif
653 #endif
654 #ifdef PROTOTYPES
655 extern int unsetenv (const char *);
656 #else
657 extern int unsetenv ();
658 #endif
659 ],
660 [return (unsetenv == 0);],
661 bash_cv_std_unsetenv=yes, bash_cv_std_unsetenv=no
662 )])
663 if test $bash_cv_std_unsetenv = yes; then
664 AC_DEFINE(HAVE_STD_UNSETENV)
665 fi
666 ])
667
668 AC_DEFUN(BASH_FUNC_ULIMIT_MAXFDS,
669 [AC_MSG_CHECKING(whether ulimit can substitute for getdtablesize)
670 AC_CACHE_VAL(bash_cv_ulimit_maxfds,
671 [AC_TRY_RUN([
672 main()
673 {
674 long maxfds = ulimit(4, 0L);
675 exit (maxfds == -1L);
676 }
677 ], bash_cv_ulimit_maxfds=yes, bash_cv_ulimit_maxfds=no,
678    [AC_MSG_WARN(cannot check ulimit if cross compiling -- defaulting to no)
679     bash_cv_ulimit_maxfds=no]
680 )])
681 AC_MSG_RESULT($bash_cv_ulimit_maxfds)
682 if test $bash_cv_ulimit_maxfds = yes; then
683 AC_DEFINE(ULIMIT_MAXFDS)
684 fi
685 ])
686
687 AC_DEFUN(BASH_FUNC_GETCWD,
688 [AC_MSG_CHECKING([if getcwd() will dynamically allocate memory])
689 AC_CACHE_VAL(bash_cv_getcwd_malloc,
690 [AC_TRY_RUN([
691 #include <stdio.h>
692 #ifdef HAVE_UNISTD_H
693 #include <unistd.h>
694 #endif
695
696 main()
697 {
698         char    *xpwd;
699         xpwd = getcwd(0, 0);
700         exit (xpwd == 0);
701 }
702 ], bash_cv_getcwd_malloc=yes, bash_cv_getcwd_malloc=no,
703    [AC_MSG_WARN(cannot check whether getcwd allocates memory when cross-compiling -- defaulting to no)
704     bash_cv_getcwd_malloc=no]
705 )])
706 AC_MSG_RESULT($bash_cv_getcwd_malloc)
707 if test $bash_cv_getcwd_malloc = no; then
708 AC_DEFINE(GETCWD_BROKEN)
709 AC_LIBOBJ(getcwd)
710 fi
711 ])
712
713 dnl
714 dnl This needs BASH_CHECK_SOCKLIB, but since that's not called on every
715 dnl system, we can't use AC_PREREQ
716 dnl
717 AC_DEFUN(BASH_FUNC_GETHOSTBYNAME,
718 [if test "X$bash_cv_have_gethostbyname" = "X"; then
719 _bash_needmsg=yes
720 else
721 AC_MSG_CHECKING(for gethostbyname in socket library)
722 _bash_needmsg=
723 fi
724 AC_CACHE_VAL(bash_cv_have_gethostbyname,
725 [AC_TRY_LINK([#include <netdb.h>],
726 [ struct hostent *hp;
727   hp = gethostbyname("localhost");
728 ], bash_cv_have_gethostbyname=yes, bash_cv_have_gethostbyname=no)]
729 )
730 if test "X$_bash_needmsg" = Xyes; then
731     AC_MSG_CHECKING(for gethostbyname in socket library)
732 fi
733 AC_MSG_RESULT($bash_cv_have_gethostbyname)
734 if test "$bash_cv_have_gethostbyname" = yes; then
735 AC_DEFINE(HAVE_GETHOSTBYNAME)
736 fi
737 ])
738
739 AC_DEFUN(BASH_FUNC_FNMATCH_EXTMATCH,
740 [AC_MSG_CHECKING(if fnmatch does extended pattern matching with FNM_EXTMATCH)
741 AC_CACHE_VAL(bash_cv_fnm_extmatch,
742 [AC_TRY_RUN([
743 #include <fnmatch.h>
744
745 main()
746 {
747 #ifdef FNM_EXTMATCH
748   exit (0);
749 #else
750   exit (1);
751 #endif
752 }
753 ], bash_cv_fnm_extmatch=yes, bash_cv_fnm_extmatch=no,
754     [AC_MSG_WARN(cannot check FNM_EXTMATCH if cross compiling -- defaulting to no)
755      bash_cv_fnm_extmatch=no])
756 ])
757 AC_MSG_RESULT($bash_cv_fnm_extmatch)
758 if test $bash_cv_fnm_extmatch = yes; then
759 AC_DEFINE(HAVE_LIBC_FNM_EXTMATCH)
760 fi
761 ])
762
763 AC_DEFUN(BASH_FUNC_POSIX_SETJMP,
764 [AC_REQUIRE([BASH_SYS_SIGNAL_VINTAGE])
765 AC_MSG_CHECKING(for presence of POSIX-style sigsetjmp/siglongjmp)
766 AC_CACHE_VAL(bash_cv_func_sigsetjmp,
767 [AC_TRY_RUN([
768 #ifdef HAVE_UNISTD_H
769 #include <unistd.h>
770 #endif
771 #include <sys/types.h>
772 #include <signal.h>
773 #include <setjmp.h>
774
775 main()
776 {
777 #if !defined (_POSIX_VERSION) || !defined (HAVE_POSIX_SIGNALS)
778 exit (1);
779 #else
780
781 int code;
782 sigset_t set, oset;
783 sigjmp_buf xx;
784
785 /* get the mask */
786 sigemptyset(&set);
787 sigemptyset(&oset);
788 sigprocmask(SIG_BLOCK, (sigset_t *)NULL, &set);
789 sigprocmask(SIG_BLOCK, (sigset_t *)NULL, &oset);
790
791 /* save it */
792 code = sigsetjmp(xx, 1);
793 if (code)
794   exit(0);      /* could get sigmask and compare to oset here. */
795
796 /* change it */
797 sigaddset(&set, SIGINT);
798 sigprocmask(SIG_BLOCK, &set, (sigset_t *)NULL);
799
800 /* and siglongjmp */
801 siglongjmp(xx, 10);
802 exit(1);
803 #endif
804 }], bash_cv_func_sigsetjmp=present, bash_cv_func_sigsetjmp=missing,
805     [AC_MSG_WARN(cannot check for sigsetjmp/siglongjmp if cross-compiling -- defaulting to missing)
806      bash_cv_func_sigsetjmp=missing]
807 )])
808 AC_MSG_RESULT($bash_cv_func_sigsetjmp)
809 if test $bash_cv_func_sigsetjmp = present; then
810 AC_DEFINE(HAVE_POSIX_SIGSETJMP)
811 fi
812 ])
813
814 AC_DEFUN(BASH_FUNC_STRCOLL,
815 [
816 AC_MSG_CHECKING(whether or not strcoll and strcmp differ)
817 AC_CACHE_VAL(bash_cv_func_strcoll_broken,
818 [AC_TRY_RUN([
819 #include <stdio.h>
820 #if defined (HAVE_LOCALE_H)
821 #include <locale.h>
822 #endif
823
824 main(c, v)
825 int     c;
826 char    *v[];
827 {
828         int     r1, r2;
829         char    *deflocale, *defcoll;
830
831 #ifdef HAVE_SETLOCALE
832         deflocale = setlocale(LC_ALL, "");
833         defcoll = setlocale(LC_COLLATE, "");
834 #endif
835
836 #ifdef HAVE_STRCOLL
837         /* These two values are taken from tests/glob-test. */
838         r1 = strcoll("abd", "aXd");
839 #else
840         r1 = 0;
841 #endif
842         r2 = strcmp("abd", "aXd");
843
844         /* These two should both be greater than 0.  It is permissible for
845            a system to return different values, as long as the sign is the
846            same. */
847
848         /* Exit with 1 (failure) if these two values are both > 0, since
849            this tests whether strcoll(3) is broken with respect to strcmp(3)
850            in the default locale. */
851         exit (r1 > 0 && r2 > 0);
852 }
853 ], bash_cv_func_strcoll_broken=yes, bash_cv_func_strcoll_broken=no,
854    [AC_MSG_WARN(cannot check strcoll if cross compiling -- defaulting to no)
855     bash_cv_func_strcoll_broken=no]
856 )])
857 AC_MSG_RESULT($bash_cv_func_strcoll_broken)
858 if test $bash_cv_func_strcoll_broken = yes; then
859 AC_DEFINE(STRCOLL_BROKEN)
860 fi
861 ])
862
863 AC_DEFUN(BASH_FUNC_PRINTF_A_FORMAT,
864 [AC_MSG_CHECKING([for printf floating point output in hex notation])
865 AC_CACHE_VAL(bash_cv_printf_a_format,
866 [AC_TRY_RUN([
867 #include <stdio.h>
868 #include <string.h>
869
870 int
871 main()
872 {
873         double y = 0.0;
874         char abuf[1024];
875
876         sprintf(abuf, "%A", y);
877         exit(strchr(abuf, 'P') == (char *)0);
878 }
879 ], bash_cv_printf_a_format=yes, bash_cv_printf_a_format=no,
880    [AC_MSG_WARN(cannot check printf if cross compiling -- defaulting to no)
881     bash_cv_printf_a_format=no]
882 )])
883 AC_MSG_RESULT($bash_cv_printf_a_format)
884 if test $bash_cv_printf_a_format = yes; then
885 AC_DEFINE(HAVE_PRINTF_A_FORMAT)
886 fi
887 ])
888
889 AC_DEFUN(BASH_STRUCT_TERMIOS_LDISC,
890 [
891 AC_CHECK_MEMBER(struct termios.c_line, AC_DEFINE(TERMIOS_LDISC), ,[
892 #include <sys/types.h>
893 #include <termios.h>
894 ])
895 ])
896
897 AC_DEFUN(BASH_STRUCT_TERMIO_LDISC,
898 [
899 AC_CHECK_MEMBER(struct termio.c_line, AC_DEFINE(TERMIO_LDISC), ,[
900 #include <sys/types.h>
901 #include <termio.h>
902 ])
903 ])
904
905 dnl
906 dnl Like AC_STRUCT_ST_BLOCKS, but doesn't muck with LIBOBJS
907 dnl
908 dnl sets bash_cv_struct_stat_st_blocks
909 dnl
910 dnl unused for now; we'll see how AC_CHECK_MEMBERS works
911 dnl
912 AC_DEFUN(BASH_STRUCT_ST_BLOCKS,
913 [
914 AC_MSG_CHECKING([for struct stat.st_blocks])
915 AC_CACHE_VAL(bash_cv_struct_stat_st_blocks,
916 [AC_TRY_COMPILE(
917 [
918 #include <sys/types.h>
919 #include <sys/stat.h>
920 ],
921 [
922 main()
923 {
924 static struct stat a;
925 if (a.st_blocks) return 0;
926 return 0;
927 }
928 ], bash_cv_struct_stat_st_blocks=yes, bash_cv_struct_stat_st_blocks=no)
929 ])
930 AC_MSG_RESULT($bash_cv_struct_stat_st_blocks)
931 if test "$bash_cv_struct_stat_st_blocks" = "yes"; then
932 AC_DEFINE(HAVE_STRUCT_STAT_ST_BLOCKS)
933 fi
934 ])
935
936 AC_DEFUN(BASH_CHECK_LIB_TERMCAP,
937 [
938 if test "X$bash_cv_termcap_lib" = "X"; then
939 _bash_needmsg=yes
940 else
941 AC_MSG_CHECKING(which library has the termcap functions)
942 _bash_needmsg=
943 fi
944 AC_CACHE_VAL(bash_cv_termcap_lib,
945 [AC_CHECK_FUNC(tgetent, bash_cv_termcap_lib=libc,
946   [AC_CHECK_LIB(termcap, tgetent, bash_cv_termcap_lib=libtermcap,
947     [AC_CHECK_LIB(tinfo, tgetent, bash_cv_termcap_lib=libtinfo,
948         [AC_CHECK_LIB(curses, tgetent, bash_cv_termcap_lib=libcurses,
949             [AC_CHECK_LIB(ncurses, tgetent, bash_cv_termcap_lib=libncurses,
950                 bash_cv_termcap_lib=gnutermcap)])])])])])
951 if test "X$_bash_needmsg" = "Xyes"; then
952 AC_MSG_CHECKING(which library has the termcap functions)
953 fi
954 AC_MSG_RESULT(using $bash_cv_termcap_lib)
955 if test $bash_cv_termcap_lib = gnutermcap && test -z "$prefer_curses"; then
956 LDFLAGS="$LDFLAGS -L./lib/termcap"
957 TERMCAP_LIB="./lib/termcap/libtermcap.a"
958 TERMCAP_DEP="./lib/termcap/libtermcap.a"
959 elif test $bash_cv_termcap_lib = libtermcap && test -z "$prefer_curses"; then
960 TERMCAP_LIB=-ltermcap
961 TERMCAP_DEP=
962 elif test $bash_cv_termcap_lib = libtinfo; then
963 TERMCAP_LIB=-ltinfo
964 TERMCAP_DEP=
965 elif test $bash_cv_termcap_lib = libncurses; then
966 TERMCAP_LIB=-lncurses
967 TERMCAP_DEP=
968 elif test $bash_cv_termcap_lib = libc; then
969 TERMCAP_LIB=
970 TERMCAP_DEP=
971 else
972 TERMCAP_LIB=-lcurses
973 TERMCAP_DEP=
974 fi
975 ])
976
977 dnl
978 dnl Check for the presence of getpeername in libsocket.
979 dnl If libsocket is present, check for libnsl and add it to LIBS if
980 dnl it's there, since most systems with libsocket require linking
981 dnl with libnsl as well.  This should only be called if getpeername
982 dnl was not found in libc.
983 dnl
984 dnl NOTE: IF WE FIND GETPEERNAME, WE ASSUME THAT WE HAVE BIND/CONNECT
985 dnl       AS WELL
986 dnl
987 AC_DEFUN(BASH_CHECK_LIB_SOCKET,
988 [
989 if test "X$bash_cv_have_socklib" = "X"; then
990 _bash_needmsg=
991 else
992 AC_MSG_CHECKING(for socket library)
993 _bash_needmsg=yes
994 fi
995 AC_CACHE_VAL(bash_cv_have_socklib,
996 [AC_CHECK_LIB(socket, getpeername,
997         bash_cv_have_socklib=yes, bash_cv_have_socklib=no, -lnsl)])
998 if test "X$_bash_needmsg" = Xyes; then
999   AC_MSG_RESULT($bash_cv_have_socklib)
1000   _bash_needmsg=
1001 fi
1002 if test $bash_cv_have_socklib = yes; then
1003   # check for libnsl, add it to LIBS if present
1004   if test "X$bash_cv_have_libnsl" = "X"; then
1005     _bash_needmsg=
1006   else
1007     AC_MSG_CHECKING(for libnsl)
1008     _bash_needmsg=yes
1009   fi
1010   AC_CACHE_VAL(bash_cv_have_libnsl,
1011            [AC_CHECK_LIB(nsl, t_open,
1012                  bash_cv_have_libnsl=yes, bash_cv_have_libnsl=no)])
1013   if test "X$_bash_needmsg" = Xyes; then
1014     AC_MSG_RESULT($bash_cv_have_libnsl)
1015     _bash_needmsg=
1016   fi
1017   if test $bash_cv_have_libnsl = yes; then
1018     LIBS="-lsocket -lnsl $LIBS"
1019   else
1020     LIBS="-lsocket $LIBS"
1021   fi
1022   AC_DEFINE(HAVE_LIBSOCKET)
1023   AC_DEFINE(HAVE_GETPEERNAME)
1024 fi
1025 ])
1026
1027 AC_DEFUN(BASH_STRUCT_DIRENT_D_INO,
1028 [AC_REQUIRE([AC_HEADER_DIRENT])
1029 AC_MSG_CHECKING(for struct dirent.d_ino)
1030 AC_CACHE_VAL(bash_cv_dirent_has_dino,
1031 [AC_TRY_COMPILE([
1032 #include <stdio.h>
1033 #include <sys/types.h>
1034 #ifdef HAVE_UNISTD_H
1035 # include <unistd.h>
1036 #endif /* HAVE_UNISTD_H */
1037 #if defined(HAVE_DIRENT_H)
1038 # include <dirent.h>
1039 #else
1040 # define dirent direct
1041 # ifdef HAVE_SYS_NDIR_H
1042 #  include <sys/ndir.h>
1043 # endif /* SYSNDIR */
1044 # ifdef HAVE_SYS_DIR_H
1045 #  include <sys/dir.h>
1046 # endif /* SYSDIR */
1047 # ifdef HAVE_NDIR_H
1048 #  include <ndir.h>
1049 # endif
1050 #endif /* HAVE_DIRENT_H */
1051 ],[
1052 struct dirent d; int z; z = d.d_ino;
1053 ], bash_cv_dirent_has_dino=yes, bash_cv_dirent_has_dino=no)])
1054 AC_MSG_RESULT($bash_cv_dirent_has_dino)
1055 if test $bash_cv_dirent_has_dino = yes; then
1056 AC_DEFINE(HAVE_STRUCT_DIRENT_D_INO)
1057 fi
1058 ])
1059
1060 AC_DEFUN(BASH_STRUCT_DIRENT_D_FILENO,
1061 [AC_REQUIRE([AC_HEADER_DIRENT])
1062 AC_MSG_CHECKING(for struct dirent.d_fileno)
1063 AC_CACHE_VAL(bash_cv_dirent_has_d_fileno,
1064 [AC_TRY_COMPILE([
1065 #include <stdio.h>
1066 #include <sys/types.h>
1067 #ifdef HAVE_UNISTD_H
1068 # include <unistd.h>
1069 #endif /* HAVE_UNISTD_H */
1070 #if defined(HAVE_DIRENT_H)
1071 # include <dirent.h>
1072 #else
1073 # define dirent direct
1074 # ifdef HAVE_SYS_NDIR_H
1075 #  include <sys/ndir.h>
1076 # endif /* SYSNDIR */
1077 # ifdef HAVE_SYS_DIR_H
1078 #  include <sys/dir.h>
1079 # endif /* SYSDIR */
1080 # ifdef HAVE_NDIR_H
1081 #  include <ndir.h>
1082 # endif
1083 #endif /* HAVE_DIRENT_H */
1084 ],[
1085 struct dirent d; int z; z = d.d_fileno;
1086 ], bash_cv_dirent_has_d_fileno=yes, bash_cv_dirent_has_d_fileno=no)])
1087 AC_MSG_RESULT($bash_cv_dirent_has_d_fileno)
1088 if test $bash_cv_dirent_has_d_fileno = yes; then
1089 AC_DEFINE(HAVE_STRUCT_DIRENT_D_FILENO)
1090 fi
1091 ])
1092
1093 AC_DEFUN(BASH_STRUCT_DIRENT_D_NAMLEN,
1094 [AC_REQUIRE([AC_HEADER_DIRENT])
1095 AC_MSG_CHECKING(for struct dirent.d_namlen)
1096 AC_CACHE_VAL(bash_cv_dirent_has_d_namlen,
1097 [AC_TRY_COMPILE([
1098 #include <stdio.h>
1099 #include <sys/types.h>
1100 #ifdef HAVE_UNISTD_H
1101 # include <unistd.h>
1102 #endif /* HAVE_UNISTD_H */
1103 #if defined(HAVE_DIRENT_H)
1104 # include <dirent.h>
1105 #else
1106 # define dirent direct
1107 # ifdef HAVE_SYS_NDIR_H
1108 #  include <sys/ndir.h>
1109 # endif /* SYSNDIR */
1110 # ifdef HAVE_SYS_DIR_H
1111 #  include <sys/dir.h>
1112 # endif /* SYSDIR */
1113 # ifdef HAVE_NDIR_H
1114 #  include <ndir.h>
1115 # endif
1116 #endif /* HAVE_DIRENT_H */
1117 ],[
1118 struct dirent d; int z; z = d.d_namlen;
1119 ], bash_cv_dirent_has_d_namlen=yes, bash_cv_dirent_has_d_namlen=no)])
1120 AC_MSG_RESULT($bash_cv_dirent_has_d_namlen)
1121 if test $bash_cv_dirent_has_d_namlen = yes; then
1122 AC_DEFINE(HAVE_STRUCT_DIRENT_D_NAMLEN)
1123 fi
1124 ])
1125
1126 AC_DEFUN(BASH_STRUCT_TIMEVAL,
1127 [AC_MSG_CHECKING(for struct timeval in sys/time.h and time.h)
1128 AC_CACHE_VAL(bash_cv_struct_timeval,
1129 [
1130 AC_EGREP_HEADER(struct timeval, sys/time.h,
1131                 bash_cv_struct_timeval=yes,
1132                 AC_EGREP_HEADER(struct timeval, time.h,
1133                         bash_cv_struct_timeval=yes,
1134                         bash_cv_struct_timeval=no))
1135 ])
1136 AC_MSG_RESULT($bash_cv_struct_timeval)
1137 if test $bash_cv_struct_timeval = yes; then
1138   AC_DEFINE(HAVE_TIMEVAL)
1139 fi
1140 ])
1141
1142 AC_DEFUN(BASH_STRUCT_TIMEZONE,
1143 [AC_MSG_CHECKING(for struct timezone in sys/time.h and time.h)
1144 AC_CACHE_VAL(bash_cv_struct_timezone,
1145 [
1146 AC_EGREP_HEADER(struct timezone, sys/time.h,
1147                 bash_cv_struct_timezone=yes,
1148                 AC_EGREP_HEADER(struct timezone, time.h,
1149                         bash_cv_struct_timezone=yes,
1150                         bash_cv_struct_timezone=no))
1151 ])
1152 AC_MSG_RESULT($bash_cv_struct_timezone)
1153 if test $bash_cv_struct_timezone = yes; then
1154   AC_DEFINE(HAVE_STRUCT_TIMEZONE)
1155 fi
1156 ])
1157
1158 AC_DEFUN(BASH_STRUCT_WINSIZE,
1159 [AC_MSG_CHECKING(for struct winsize in sys/ioctl.h and termios.h)
1160 AC_CACHE_VAL(bash_cv_struct_winsize_header,
1161 [AC_TRY_COMPILE([#include <sys/types.h>
1162 #include <sys/ioctl.h>], [struct winsize x;],
1163   bash_cv_struct_winsize_header=ioctl_h,
1164   [AC_TRY_COMPILE([#include <sys/types.h>
1165 #include <termios.h>], [struct winsize x;],
1166   bash_cv_struct_winsize_header=termios_h, bash_cv_struct_winsize_header=other)
1167 ])])
1168 if test $bash_cv_struct_winsize_header = ioctl_h; then
1169   AC_MSG_RESULT(sys/ioctl.h)
1170   AC_DEFINE(STRUCT_WINSIZE_IN_SYS_IOCTL)
1171 elif test $bash_cv_struct_winsize_header = termios_h; then
1172   AC_MSG_RESULT(termios.h)
1173   AC_DEFINE(STRUCT_WINSIZE_IN_TERMIOS)
1174 else
1175   AC_MSG_RESULT(not found)
1176 fi
1177 ])
1178
1179 dnl Check type of signal routines (posix, 4.2bsd, 4.1bsd or v7)
1180 AC_DEFUN(BASH_SYS_SIGNAL_VINTAGE,
1181 [AC_REQUIRE([AC_TYPE_SIGNAL])
1182 AC_MSG_CHECKING(for type of signal functions)
1183 AC_CACHE_VAL(bash_cv_signal_vintage,
1184 [
1185   AC_TRY_LINK([#include <signal.h>],[
1186     sigset_t ss;
1187     struct sigaction sa;
1188     sigemptyset(&ss); sigsuspend(&ss);
1189     sigaction(SIGINT, &sa, (struct sigaction *) 0);
1190     sigprocmask(SIG_BLOCK, &ss, (sigset_t *) 0);
1191   ], bash_cv_signal_vintage=posix,
1192   [
1193     AC_TRY_LINK([#include <signal.h>], [
1194         int mask = sigmask(SIGINT);
1195         sigsetmask(mask); sigblock(mask); sigpause(mask);
1196     ], bash_cv_signal_vintage=4.2bsd,
1197     [
1198       AC_TRY_LINK([
1199         #include <signal.h>
1200         RETSIGTYPE foo() { }], [
1201                 int mask = sigmask(SIGINT);
1202                 sigset(SIGINT, foo); sigrelse(SIGINT);
1203                 sighold(SIGINT); sigpause(SIGINT);
1204         ], bash_cv_signal_vintage=svr3, bash_cv_signal_vintage=v7
1205     )]
1206   )]
1207 )
1208 ])
1209 AC_MSG_RESULT($bash_cv_signal_vintage)
1210 if test "$bash_cv_signal_vintage" = posix; then
1211 AC_DEFINE(HAVE_POSIX_SIGNALS)
1212 elif test "$bash_cv_signal_vintage" = "4.2bsd"; then
1213 AC_DEFINE(HAVE_BSD_SIGNALS)
1214 elif test "$bash_cv_signal_vintage" = svr3; then
1215 AC_DEFINE(HAVE_USG_SIGHOLD)
1216 fi
1217 ])
1218
1219 dnl Check if the pgrp of setpgrp() can't be the pid of a zombie process.
1220 AC_DEFUN(BASH_SYS_PGRP_SYNC,
1221 [AC_REQUIRE([AC_FUNC_GETPGRP])
1222 AC_MSG_CHECKING(whether pgrps need synchronization)
1223 AC_CACHE_VAL(bash_cv_pgrp_pipe,
1224 [AC_TRY_RUN([
1225 #ifdef HAVE_UNISTD_H
1226 #  include <unistd.h>
1227 #endif
1228 main()
1229 {
1230 # ifdef GETPGRP_VOID
1231 #  define getpgID()     getpgrp()
1232 # else
1233 #  define getpgID()     getpgrp(0)
1234 #  define setpgid(x,y)  setpgrp(x,y)
1235 # endif
1236         int pid1, pid2, fds[2];
1237         int status;
1238         char ok;
1239
1240         switch (pid1 = fork()) {
1241           case -1:
1242             exit(1);
1243           case 0:
1244             setpgid(0, getpid());
1245             exit(0);
1246         }
1247         setpgid(pid1, pid1);
1248
1249         sleep(2);       /* let first child die */
1250
1251         if (pipe(fds) < 0)
1252           exit(2);
1253
1254         switch (pid2 = fork()) {
1255           case -1:
1256             exit(3);
1257           case 0:
1258             setpgid(0, pid1);
1259             ok = getpgID() == pid1;
1260             write(fds[1], &ok, 1);
1261             exit(0);
1262         }
1263         setpgid(pid2, pid1);
1264
1265         close(fds[1]);
1266         if (read(fds[0], &ok, 1) != 1)
1267           exit(4);
1268         wait(&status);
1269         wait(&status);
1270         exit(ok ? 0 : 5);
1271 }
1272 ], bash_cv_pgrp_pipe=no,bash_cv_pgrp_pipe=yes,
1273    [AC_MSG_WARN(cannot check pgrp synchronization if cross compiling -- defaulting to no)
1274     bash_cv_pgrp_pipe=no])
1275 ])
1276 AC_MSG_RESULT($bash_cv_pgrp_pipe)
1277 if test $bash_cv_pgrp_pipe = yes; then
1278 AC_DEFINE(PGRP_PIPE)
1279 fi
1280 ])
1281
1282 AC_DEFUN(BASH_SYS_REINSTALL_SIGHANDLERS,
1283 [AC_REQUIRE([AC_TYPE_SIGNAL])
1284 AC_REQUIRE([BASH_SYS_SIGNAL_VINTAGE])
1285 AC_MSG_CHECKING([if signal handlers must be reinstalled when invoked])
1286 AC_CACHE_VAL(bash_cv_must_reinstall_sighandlers,
1287 [AC_TRY_RUN([
1288 #include <signal.h>
1289 #ifdef HAVE_UNISTD_H
1290 #include <unistd.h>
1291 #endif
1292
1293 typedef RETSIGTYPE sigfunc();
1294
1295 int nsigint;
1296
1297 #ifdef HAVE_POSIX_SIGNALS
1298 sigfunc *
1299 set_signal_handler(sig, handler)
1300      int sig;
1301      sigfunc *handler;
1302 {
1303   struct sigaction act, oact;
1304   act.sa_handler = handler;
1305   act.sa_flags = 0;
1306   sigemptyset (&act.sa_mask);
1307   sigemptyset (&oact.sa_mask);
1308   sigaction (sig, &act, &oact);
1309   return (oact.sa_handler);
1310 }
1311 #else
1312 #define set_signal_handler(s, h) signal(s, h)
1313 #endif
1314
1315 RETSIGTYPE
1316 sigint(s)
1317 int s;
1318 {
1319   nsigint++;
1320 }
1321
1322 main()
1323 {
1324         nsigint = 0;
1325         set_signal_handler(SIGINT, sigint);
1326         kill((int)getpid(), SIGINT);
1327         kill((int)getpid(), SIGINT);
1328         exit(nsigint != 2);
1329 }
1330 ], bash_cv_must_reinstall_sighandlers=no, bash_cv_must_reinstall_sighandlers=yes,
1331    [AC_MSG_WARN(cannot check signal handling if cross compiling -- defaulting to no)
1332     bash_cv_must_reinstall_sighandlers=no]
1333 )])
1334 AC_MSG_RESULT($bash_cv_must_reinstall_sighandlers)
1335 if test $bash_cv_must_reinstall_sighandlers = yes; then
1336 AC_DEFINE(MUST_REINSTALL_SIGHANDLERS)
1337 fi
1338 ])
1339
1340 dnl check that some necessary job control definitions are present
1341 AC_DEFUN(BASH_SYS_JOB_CONTROL_MISSING,
1342 [AC_REQUIRE([BASH_SYS_SIGNAL_VINTAGE])
1343 AC_MSG_CHECKING(for presence of necessary job control definitions)
1344 AC_CACHE_VAL(bash_cv_job_control_missing,
1345 [AC_TRY_RUN([
1346 #include <sys/types.h>
1347 #ifdef HAVE_SYS_WAIT_H
1348 #include <sys/wait.h>
1349 #endif
1350 #ifdef HAVE_UNISTD_H
1351 #include <unistd.h>
1352 #endif
1353 #include <signal.h>
1354
1355 /* Add more tests in here as appropriate. */
1356 main()
1357 {
1358 /* signal type */
1359 #if !defined (HAVE_POSIX_SIGNALS) && !defined (HAVE_BSD_SIGNALS)
1360 exit(1);
1361 #endif
1362
1363 /* signals and tty control. */
1364 #if !defined (SIGTSTP) || !defined (SIGSTOP) || !defined (SIGCONT)
1365 exit (1);
1366 #endif
1367
1368 /* process control */
1369 #if !defined (WNOHANG) || !defined (WUNTRACED) 
1370 exit(1);
1371 #endif
1372
1373 /* Posix systems have tcgetpgrp and waitpid. */
1374 #if defined (_POSIX_VERSION) && !defined (HAVE_TCGETPGRP)
1375 exit(1);
1376 #endif
1377
1378 #if defined (_POSIX_VERSION) && !defined (HAVE_WAITPID)
1379 exit(1);
1380 #endif
1381
1382 /* Other systems have TIOCSPGRP/TIOCGPRGP and wait3. */
1383 #if !defined (_POSIX_VERSION) && !defined (HAVE_WAIT3)
1384 exit(1);
1385 #endif
1386
1387 exit(0);
1388 }], bash_cv_job_control_missing=present, bash_cv_job_control_missing=missing,
1389     [AC_MSG_WARN(cannot check job control if cross-compiling -- defaulting to missing)
1390      bash_cv_job_control_missing=missing]
1391 )])
1392 AC_MSG_RESULT($bash_cv_job_control_missing)
1393 if test $bash_cv_job_control_missing = missing; then
1394 AC_DEFINE(JOB_CONTROL_MISSING)
1395 fi
1396 ])
1397
1398 dnl check whether named pipes are present
1399 dnl this requires a previous check for mkfifo, but that is awkward to specify
1400 AC_DEFUN(BASH_SYS_NAMED_PIPES,
1401 [AC_MSG_CHECKING(for presence of named pipes)
1402 AC_CACHE_VAL(bash_cv_sys_named_pipes,
1403 [AC_TRY_RUN([
1404 #include <sys/types.h>
1405 #include <sys/stat.h>
1406 #ifdef HAVE_UNISTD_H
1407 #include <unistd.h>
1408 #endif
1409
1410 /* Add more tests in here as appropriate. */
1411 main()
1412 {
1413 int fd, err;
1414
1415 #if defined (HAVE_MKFIFO)
1416 exit (0);
1417 #endif
1418
1419 #if !defined (S_IFIFO) && (defined (_POSIX_VERSION) && !defined (S_ISFIFO))
1420 exit (1);
1421 #endif
1422
1423 #if defined (NeXT)
1424 exit (1);
1425 #endif
1426 err = mkdir("/tmp/bash-aclocal", 0700);
1427 if (err < 0) {
1428   perror ("mkdir");
1429   exit(1);
1430 }
1431 fd = mknod ("/tmp/bash-aclocal/sh-np-autoconf", 0666 | S_IFIFO, 0);
1432 if (fd == -1) {
1433   rmdir ("/tmp/bash-aclocal");
1434   exit (1);
1435 }
1436 close(fd);
1437 unlink ("/tmp/bash-aclocal/sh-np-autoconf");
1438 rmdir ("/tmp/bash-aclocal");
1439 exit(0);
1440 }], bash_cv_sys_named_pipes=present, bash_cv_sys_named_pipes=missing,
1441     [AC_MSG_WARN(cannot check for named pipes if cross-compiling -- defaulting to missing)
1442      bash_cv_sys_named_pipes=missing]
1443 )])
1444 AC_MSG_RESULT($bash_cv_sys_named_pipes)
1445 if test $bash_cv_sys_named_pipes = missing; then
1446 AC_DEFINE(NAMED_PIPES_MISSING)
1447 fi
1448 ])
1449
1450 AC_DEFUN(BASH_SYS_DEFAULT_MAIL_DIR,
1451 [AC_MSG_CHECKING(for default mail directory)
1452 AC_CACHE_VAL(bash_cv_mail_dir,
1453 [if test -d /var/mail; then
1454    bash_cv_mail_dir=/var/mail
1455  elif test -d /var/spool/mail; then
1456    bash_cv_mail_dir=/var/spool/mail
1457  elif test -d /usr/mail; then
1458    bash_cv_mail_dir=/usr/mail
1459  elif test -d /usr/spool/mail; then
1460    bash_cv_mail_dir=/usr/spool/mail
1461  else
1462    bash_cv_mail_dir=unknown
1463  fi
1464 ])
1465 AC_MSG_RESULT($bash_cv_mail_dir)
1466 AC_DEFINE_UNQUOTED(DEFAULT_MAIL_DIRECTORY, "$bash_cv_mail_dir")
1467 ])
1468
1469 AC_DEFUN(BASH_HAVE_TIOCGWINSZ,
1470 [AC_MSG_CHECKING(for TIOCGWINSZ in sys/ioctl.h)
1471 AC_CACHE_VAL(bash_cv_tiocgwinsz_in_ioctl,
1472 [AC_TRY_COMPILE([#include <sys/types.h>
1473 #include <sys/ioctl.h>], [int x = TIOCGWINSZ;],
1474   bash_cv_tiocgwinsz_in_ioctl=yes,bash_cv_tiocgwinsz_in_ioctl=no)])
1475 AC_MSG_RESULT($bash_cv_tiocgwinsz_in_ioctl)
1476 if test $bash_cv_tiocgwinsz_in_ioctl = yes; then   
1477 AC_DEFINE(GWINSZ_IN_SYS_IOCTL)
1478 fi
1479 ])
1480
1481 AC_DEFUN(BASH_HAVE_TIOCSTAT,
1482 [AC_MSG_CHECKING(for TIOCSTAT in sys/ioctl.h)
1483 AC_CACHE_VAL(bash_cv_tiocstat_in_ioctl,
1484 [AC_TRY_COMPILE([#include <sys/types.h>
1485 #include <sys/ioctl.h>], [int x = TIOCSTAT;],
1486   bash_cv_tiocstat_in_ioctl=yes,bash_cv_tiocstat_in_ioctl=no)])
1487 AC_MSG_RESULT($bash_cv_tiocstat_in_ioctl)
1488 if test $bash_cv_tiocstat_in_ioctl = yes; then   
1489 AC_DEFINE(TIOCSTAT_IN_SYS_IOCTL)
1490 fi
1491 ])
1492
1493 AC_DEFUN(BASH_HAVE_FIONREAD,
1494 [AC_MSG_CHECKING(for FIONREAD in sys/ioctl.h)
1495 AC_CACHE_VAL(bash_cv_fionread_in_ioctl,
1496 [AC_TRY_COMPILE([#include <sys/types.h>
1497 #include <sys/ioctl.h>], [int x = FIONREAD;],
1498   bash_cv_fionread_in_ioctl=yes,bash_cv_fionread_in_ioctl=no)])
1499 AC_MSG_RESULT($bash_cv_fionread_in_ioctl)
1500 if test $bash_cv_fionread_in_ioctl = yes; then   
1501 AC_DEFINE(FIONREAD_IN_SYS_IOCTL)
1502 fi
1503 ])
1504
1505 dnl
1506 dnl See if speed_t is declared in <sys/types.h>.  Some versions of linux
1507 dnl require a definition of speed_t each time <termcap.h> is included,
1508 dnl but you can only get speed_t if you include <termios.h> (on some
1509 dnl versions) or <sys/types.h> (on others).
1510 dnl
1511 AC_DEFUN(BASH_CHECK_SPEED_T,
1512 [AC_MSG_CHECKING(for speed_t in sys/types.h)
1513 AC_CACHE_VAL(bash_cv_speed_t_in_sys_types,
1514 [AC_TRY_COMPILE([#include <sys/types.h>], [speed_t x;],
1515   bash_cv_speed_t_in_sys_types=yes,bash_cv_speed_t_in_sys_types=no)])
1516 AC_MSG_RESULT($bash_cv_speed_t_in_sys_types)
1517 if test $bash_cv_speed_t_in_sys_types = yes; then   
1518 AC_DEFINE(SPEED_T_IN_SYS_TYPES)
1519 fi
1520 ])
1521
1522 AC_DEFUN(BASH_CHECK_GETPW_FUNCS,
1523 [AC_MSG_CHECKING(whether getpw functions are declared in pwd.h)
1524 AC_CACHE_VAL(bash_cv_getpw_declared,
1525 [AC_EGREP_CPP(getpwuid,
1526 [
1527 #include <sys/types.h>
1528 #ifdef HAVE_UNISTD_H
1529 #  include <unistd.h>
1530 #endif
1531 #include <pwd.h>
1532 ],
1533 bash_cv_getpw_declared=yes,bash_cv_getpw_declared=no)])
1534 AC_MSG_RESULT($bash_cv_getpw_declared)
1535 if test $bash_cv_getpw_declared = yes; then
1536 AC_DEFINE(HAVE_GETPW_DECLS)
1537 fi
1538 ])
1539
1540 AC_DEFUN(BASH_CHECK_DEV_FD,
1541 [AC_MSG_CHECKING(whether /dev/fd is available)
1542 AC_CACHE_VAL(bash_cv_dev_fd,
1543 [if test -d /dev/fd  && test -r /dev/fd/0 < /dev/null; then
1544    bash_cv_dev_fd=standard
1545  elif test -d /proc/self/fd && test -r /proc/self/fd/0 < /dev/null; then
1546    bash_cv_dev_fd=whacky
1547  else
1548    bash_cv_dev_fd=absent
1549  fi
1550 ])
1551 AC_MSG_RESULT($bash_cv_dev_fd)
1552 if test $bash_cv_dev_fd = "standard"; then
1553   AC_DEFINE(HAVE_DEV_FD)
1554   AC_DEFINE(DEV_FD_PREFIX, "/dev/fd/")
1555 elif test $bash_cv_dev_fd = "whacky"; then
1556   AC_DEFINE(HAVE_DEV_FD)
1557   AC_DEFINE(DEV_FD_PREFIX, "/proc/self/fd/")
1558 fi
1559 ])
1560
1561 AC_DEFUN(BASH_CHECK_DEV_STDIN,
1562 [AC_MSG_CHECKING(whether /dev/stdin stdout stderr are available)
1563 AC_CACHE_VAL(bash_cv_dev_stdin,
1564 [if test -d /dev/fd && test -r /dev/stdin < /dev/null; then
1565    bash_cv_dev_stdin=present
1566  elif test -d /proc/self/fd && test -r /dev/stdin < /dev/null; then
1567    bash_cv_dev_stdin=present
1568  else
1569    bash_cv_dev_stdin=absent
1570  fi
1571 ])
1572 AC_MSG_RESULT($bash_cv_dev_stdin)
1573 if test $bash_cv_dev_stdin = "present"; then
1574   AC_DEFINE(HAVE_DEV_STDIN)
1575 fi
1576 ])
1577
1578 dnl
1579 dnl Check if HPUX needs _KERNEL defined for RLIMIT_* definitions
1580 dnl
1581 AC_DEFUN(BASH_CHECK_KERNEL_RLIMIT,
1582 [AC_MSG_CHECKING([whether $host_os needs _KERNEL for RLIMIT defines])
1583 AC_CACHE_VAL(bash_cv_kernel_rlimit,
1584 [AC_TRY_COMPILE([
1585 #include <sys/types.h>
1586 #include <sys/resource.h>
1587 ],
1588 [
1589   int f;
1590   f = RLIMIT_DATA;
1591 ], bash_cv_kernel_rlimit=no,
1592 [AC_TRY_COMPILE([
1593 #include <sys/types.h>
1594 #define _KERNEL
1595 #include <sys/resource.h>
1596 #undef _KERNEL
1597 ],
1598 [
1599         int f;
1600         f = RLIMIT_DATA;
1601 ], bash_cv_kernel_rlimit=yes, bash_cv_kernel_rlimit=no)]
1602 )])
1603 AC_MSG_RESULT($bash_cv_kernel_rlimit)
1604 if test $bash_cv_kernel_rlimit = yes; then
1605 AC_DEFINE(RLIMIT_NEEDS_KERNEL)
1606 fi
1607 ])
1608
1609 dnl
1610 dnl Check for 64-bit off_t -- used for malloc alignment
1611 dnl
1612 dnl C does not allow duplicate case labels, so the compile will fail if
1613 dnl sizeof(off_t) is > 4.
1614 dnl
1615 AC_DEFUN(BASH_CHECK_OFF_T_64,
1616 [AC_CACHE_CHECK(for 64-bit off_t, bash_cv_off_t_64,
1617 AC_TRY_COMPILE([
1618 #ifdef HAVE_UNISTD_H
1619 #include <unistd.h>
1620 #endif
1621 #include <sys/types.h>
1622 ],[
1623 switch (0) case 0: case (sizeof (off_t) <= 4):;
1624 ], bash_cv_off_t_64=no, bash_cv_off_t_64=yes))
1625 if test $bash_cv_off_t_64 = yes; then
1626         AC_DEFINE(HAVE_OFF_T_64)
1627 fi])
1628
1629 AC_DEFUN(BASH_CHECK_RTSIGS,
1630 [AC_MSG_CHECKING(for unusable real-time signals due to large values)
1631 AC_CACHE_VAL(bash_cv_unusable_rtsigs,
1632 [AC_TRY_RUN([
1633 #include <sys/types.h>
1634 #include <signal.h>
1635
1636 #ifndef NSIG
1637 #  define NSIG 64
1638 #endif
1639
1640 main ()
1641 {
1642   int n_sigs = 2 * NSIG;
1643 #ifdef SIGRTMIN
1644   int rtmin = SIGRTMIN;
1645 #else
1646   int rtmin = 0;
1647 #endif
1648
1649   exit(rtmin < n_sigs);
1650 }], bash_cv_unusable_rtsigs=yes, bash_cv_unusable_rtsigs=no,
1651     [AC_MSG_WARN(cannot check real-time signals if cross compiling -- defaulting to yes)
1652      bash_cv_unusable_rtsigs=yes]
1653 )])
1654 AC_MSG_RESULT($bash_cv_unusable_rtsigs)
1655 if test $bash_cv_unusable_rtsigs = yes; then
1656 AC_DEFINE(UNUSABLE_RT_SIGNALS)
1657 fi
1658 ])
1659
1660 dnl
1661 dnl check for availability of multibyte characters and functions
1662 dnl
1663 AC_DEFUN(BASH_CHECK_MULTIBYTE,
1664 [
1665 AC_CHECK_HEADERS(wctype.h)
1666 AC_CHECK_HEADERS(wchar.h)
1667 AC_CHECK_HEADERS(langinfo.h)
1668
1669 AC_CHECK_FUNC(mbsrtowcs, AC_DEFINE(HAVE_MBSRTOWCS))
1670 AC_CHECK_FUNC(mbrtowc, AC_DEFINE(HAVE_MBRTOWC))
1671 AC_CHECK_FUNC(mbrlen, AC_DEFINE(HAVE_MBRLEN))
1672 AC_CHECK_FUNC(wctomb, AC_DEFINE(HAVE_WCTOMB))
1673 AC_CHECK_FUNC(wcwidth, AC_DEFINE(HAVE_WCWIDTH))
1674 AC_CHECK_FUNC(wcsdup, AC_DEFINE(HAVE_WCSDUP))
1675
1676 AC_CACHE_CHECK([for mbstate_t], bash_cv_have_mbstate_t,
1677 [AC_TRY_COMPILE([
1678 #include <wchar.h>], [
1679   mbstate_t ps;
1680   mbstate_t *psp;
1681   psp = (mbstate_t *)0;
1682 ], bash_cv_have_mbstate_t=yes,  bash_cv_have_mbstate_t=no)])
1683 if test $bash_cv_have_mbstate_t = yes; then
1684         AC_DEFINE(HAVE_MBSTATE_T)
1685 fi
1686
1687 AC_CACHE_CHECK([for nl_langinfo and CODESET], bash_cv_langinfo_codeset,
1688 [AC_TRY_LINK(
1689 [#include <langinfo.h>],
1690 [char* cs = nl_langinfo(CODESET);],
1691 bash_cv_langinfo_codeset=yes, bash_cv_langinfo_codeset=no)])
1692 if test $bash_cv_langinfo_codeset = yes; then
1693   AC_DEFINE(HAVE_LANGINFO_CODESET)
1694 fi
1695
1696 ])
1697
1698 dnl need: prefix exec_prefix libdir includedir CC TERMCAP_LIB
1699 dnl require:
1700 dnl     AC_PROG_CC
1701 dnl     BASH_CHECK_LIB_TERMCAP
1702
1703 AC_DEFUN(RL_LIB_READLINE_VERSION,
1704 [
1705 AC_REQUIRE([BASH_CHECK_LIB_TERMCAP])
1706
1707 AC_MSG_CHECKING([version of installed readline library])
1708
1709 # What a pain in the ass this is.
1710
1711 # save cpp and ld options
1712 _save_CFLAGS="$CFLAGS"
1713 _save_LDFLAGS="$LDFLAGS"
1714 _save_LIBS="$LIBS"
1715
1716 # Don't set ac_cv_rl_prefix if the caller has already assigned a value.  This
1717 # allows the caller to do something like $_rl_prefix=$withval if the user
1718 # specifies --with-installed-readline=PREFIX as an argument to configure
1719
1720 if test -z "$ac_cv_rl_prefix"; then
1721 test "x$prefix" = xNONE && ac_cv_rl_prefix=$ac_default_prefix || ac_cv_rl_prefix=${prefix}
1722 fi
1723
1724 eval ac_cv_rl_includedir=${ac_cv_rl_prefix}/include
1725 eval ac_cv_rl_libdir=${ac_cv_rl_prefix}/lib
1726
1727 LIBS="$LIBS -lreadline ${TERMCAP_LIB}"
1728 CFLAGS="$CFLAGS -I${ac_cv_rl_includedir}"
1729 LDFLAGS="$LDFLAGS -L${ac_cv_rl_libdir}"
1730
1731 AC_CACHE_VAL(ac_cv_rl_version,
1732 [AC_TRY_RUN([
1733 #include <stdio.h>
1734 #include <readline/readline.h>
1735
1736 main()
1737 {
1738         FILE *fp;
1739         fp = fopen("conftest.rlv", "w");
1740         if (fp == 0) exit(1);
1741         fprintf(fp, "%s\n", rl_library_version ? rl_library_version : "0.0");
1742         fclose(fp);
1743         exit(0);
1744 }
1745 ],
1746 ac_cv_rl_version=`cat conftest.rlv`,
1747 ac_cv_rl_version='0.0',
1748 ac_cv_rl_version='4.2')])
1749
1750 CFLAGS="$_save_CFLAGS"
1751 LDFLAGS="$_save_LDFLAGS"
1752 LIBS="$_save_LIBS"
1753
1754 RL_MAJOR=0
1755 RL_MINOR=0
1756
1757 # (
1758 case "$ac_cv_rl_version" in
1759 2*|3*|4*|5*|6*|7*|8*|9*)
1760         RL_MAJOR=`echo $ac_cv_rl_version | sed 's:\..*$::'`
1761         RL_MINOR=`echo $ac_cv_rl_version | sed -e 's:^.*\.::' -e 's:[[a-zA-Z]]*$::'`
1762         ;;
1763 esac
1764
1765 # (((
1766 case $RL_MAJOR in
1767 [[0-9][0-9]])   _RL_MAJOR=$RL_MAJOR ;;
1768 [[0-9]])        _RL_MAJOR=0$RL_MAJOR ;;
1769 *)              _RL_MAJOR=00 ;;
1770 esac
1771
1772 # (((
1773 case $RL_MINOR in
1774 [[0-9][0-9]])   _RL_MINOR=$RL_MINOR ;;
1775 [[0-9]])        _RL_MINOR=0$RL_MINOR ;;
1776 *)              _RL_MINOR=00 ;;
1777 esac
1778
1779 RL_VERSION="0x${_RL_MAJOR}${_RL_MINOR}"
1780
1781 # Readline versions greater than 4.2 have these defines in readline.h
1782
1783 if test $ac_cv_rl_version = '0.0' ; then
1784         AC_MSG_WARN([Could not test version of installed readline library.])
1785 elif test $RL_MAJOR -gt 4 || { test $RL_MAJOR = 4 && test $RL_MINOR -gt 2 ; } ; then
1786         # set these for use by the caller
1787         RL_PREFIX=$ac_cv_rl_prefix
1788         RL_LIBDIR=$ac_cv_rl_libdir
1789         RL_INCLUDEDIR=$ac_cv_rl_includedir
1790         AC_MSG_RESULT($ac_cv_rl_version)
1791 else
1792
1793 AC_DEFINE_UNQUOTED(RL_READLINE_VERSION, $RL_VERSION, [encoded version of the installed readline library])
1794 AC_DEFINE_UNQUOTED(RL_VERSION_MAJOR, $RL_MAJOR, [major version of installed readline library])
1795 AC_DEFINE_UNQUOTED(RL_VERSION_MINOR, $RL_MINOR, [minor version of installed readline library])
1796
1797 AC_SUBST(RL_VERSION)
1798 AC_SUBST(RL_MAJOR)
1799 AC_SUBST(RL_MINOR)
1800
1801 # set these for use by the caller
1802 RL_PREFIX=$ac_cv_rl_prefix
1803 RL_LIBDIR=$ac_cv_rl_libdir
1804 RL_INCLUDEDIR=$ac_cv_rl_includedir
1805
1806 AC_MSG_RESULT($ac_cv_rl_version)
1807
1808 fi
1809 ])
1810
1811 AC_DEFUN(BASH_FUNC_CTYPE_NONASCII,
1812 [
1813 AC_MSG_CHECKING(whether the ctype macros accept non-ascii characters)
1814 AC_CACHE_VAL(bash_cv_func_ctype_nonascii,
1815 [AC_TRY_RUN([
1816 #ifdef HAVE_LOCALE_H
1817 #include <locale.h>
1818 #endif
1819 #include <stdio.h>
1820 #include <ctype.h>
1821
1822 main(c, v)
1823 int     c;
1824 char    *v[];
1825 {
1826         char    *deflocale;
1827         unsigned char x;
1828         int     r1, r2;
1829
1830 #ifdef HAVE_SETLOCALE
1831         /* We take a shot here.  If that locale is not known, try the
1832            system default.  We try this one because '\342' (226) is
1833            known to be a printable character in that locale. */
1834         deflocale = setlocale(LC_ALL, "en_US.ISO8859-1");
1835         if (deflocale == 0)
1836                 deflocale = setlocale(LC_ALL, "");
1837 #endif
1838
1839         x = '\342';
1840         r1 = isprint(x);
1841         x -= 128;
1842         r2 = isprint(x);
1843         exit (r1 == 0 || r2 == 0);
1844 }
1845 ], bash_cv_func_ctype_nonascii=yes, bash_cv_func_ctype_nonascii=no,
1846    [AC_MSG_WARN(cannot check ctype macros if cross compiling -- defaulting to no)
1847     bash_cv_func_ctype_nonascii=no]
1848 )])
1849 AC_MSG_RESULT($bash_cv_func_ctype_nonascii)
1850 if test $bash_cv_func_ctype_nonascii = yes; then
1851 AC_DEFINE(CTYPE_NON_ASCII)
1852 fi
1853 ])
1854
1855 dnl
1856 dnl tests added for bashdb
1857 dnl
1858
1859
1860 AC_DEFUN([AM_PATH_LISPDIR],
1861  [AC_ARG_WITH(lispdir, AC_HELP_STRING([--with-lispdir], [override the default lisp directory]),
1862   [ lispdir="$withval" 
1863     AC_MSG_CHECKING([where .elc files should go])
1864     AC_MSG_RESULT([$lispdir])],
1865   [
1866   # If set to t, that means we are running in a shell under Emacs.
1867   # If you have an Emacs named "t", then use the full path.
1868   test x"$EMACS" = xt && EMACS=
1869   AC_CHECK_PROGS(EMACS, emacs xemacs, no)
1870   if test $EMACS != "no"; then
1871     if test x${lispdir+set} != xset; then
1872       AC_CACHE_CHECK([where .elc files should go], [am_cv_lispdir], [dnl
1873         am_cv_lispdir=`$EMACS -batch -q -eval '(while load-path (princ (concat (car load-path) "\n")) (setq load-path (cdr load-path)))' | sed -n -e 's,/$,,' -e '/.*\/lib\/\(x\?emacs\/site-lisp\)$/{s,,${libdir}/\1,;p;q;}' -e '/.*\/share\/\(x\?emacs\/site-lisp\)$/{s,,${datadir}/\1,;p;q;}'`
1874         if test -z "$am_cv_lispdir"; then
1875           am_cv_lispdir='${datadir}/emacs/site-lisp'
1876         fi
1877       ])
1878       lispdir="$am_cv_lispdir"
1879     fi
1880   fi
1881  ])
1882  AC_SUBST(lispdir)
1883 ])
1884
1885 dnl
1886 dnl tests added for gettext
1887 dnl
1888 # codeset.m4 serial AM1 (gettext-0.10.40)
1889 dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
1890 dnl This file is free software, distributed under the terms of the GNU
1891 dnl General Public License.  As a special exception to the GNU General
1892 dnl Public License, this file may be distributed as part of a program
1893 dnl that contains a configuration script generated by Autoconf, under
1894 dnl the same distribution terms as the rest of that program.
1895
1896 dnl From Bruno Haible.
1897
1898 AC_DEFUN([AM_LANGINFO_CODESET],
1899 [
1900   AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
1901     [AC_TRY_LINK([#include <langinfo.h>],
1902       [char* cs = nl_langinfo(CODESET);],
1903       am_cv_langinfo_codeset=yes,
1904       am_cv_langinfo_codeset=no)
1905     ])
1906   if test $am_cv_langinfo_codeset = yes; then
1907     AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
1908       [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
1909   fi
1910 ])
1911 # gettext.m4 serial 20 (gettext-0.12)
1912 dnl Copyright (C) 1995-2003 Free Software Foundation, Inc.
1913 dnl This file is free software, distributed under the terms of the GNU
1914 dnl General Public License.  As a special exception to the GNU General
1915 dnl Public License, this file may be distributed as part of a program
1916 dnl that contains a configuration script generated by Autoconf, under
1917 dnl the same distribution terms as the rest of that program.
1918 dnl
1919 dnl This file can can be used in projects which are not available under
1920 dnl the GNU General Public License or the GNU Library General Public
1921 dnl License but which still want to provide support for the GNU gettext
1922 dnl functionality.
1923 dnl Please note that the actual code of the GNU gettext library is covered
1924 dnl by the GNU Library General Public License, and the rest of the GNU
1925 dnl gettext package package is covered by the GNU General Public License.
1926 dnl They are *not* in the public domain.
1927
1928 dnl Authors:
1929 dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
1930 dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
1931
1932 dnl Macro to add for using GNU gettext.
1933
1934 dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
1935 dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
1936 dnl    default (if it is not specified or empty) is 'no-libtool'.
1937 dnl    INTLSYMBOL should be 'external' for packages with no intl directory,
1938 dnl    and 'no-libtool' or 'use-libtool' for packages with an intl directory.
1939 dnl    If INTLSYMBOL is 'use-libtool', then a libtool library
1940 dnl    $(top_builddir)/intl/libintl.la will be created (shared and/or static,
1941 dnl    depending on --{enable,disable}-{shared,static} and on the presence of
1942 dnl    AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
1943 dnl    $(top_builddir)/intl/libintl.a will be created.
1944 dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
1945 dnl    implementations (in libc or libintl) without the ngettext() function
1946 dnl    will be ignored.  If NEEDSYMBOL is specified and is
1947 dnl    'need-formatstring-macros', then GNU gettext implementations that don't
1948 dnl    support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
1949 dnl INTLDIR is used to find the intl libraries.  If empty,
1950 dnl    the value `$(top_builddir)/intl/' is used.
1951 dnl
1952 dnl The result of the configuration is one of three cases:
1953 dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
1954 dnl    and used.
1955 dnl    Catalog format: GNU --> install in $(datadir)
1956 dnl    Catalog extension: .mo after installation, .gmo in source tree
1957 dnl 2) GNU gettext has been found in the system's C library.
1958 dnl    Catalog format: GNU --> install in $(datadir)
1959 dnl    Catalog extension: .mo after installation, .gmo in source tree
1960 dnl 3) No internationalization, always use English msgid.
1961 dnl    Catalog format: none
1962 dnl    Catalog extension: none
1963 dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
1964 dnl The use of .gmo is historical (it was needed to avoid overwriting the
1965 dnl GNU format catalogs when building on a platform with an X/Open gettext),
1966 dnl but we keep it in order not to force irrelevant filename changes on the
1967 dnl maintainers.
1968 dnl
1969 AC_DEFUN([AM_GNU_GETTEXT],
1970 [
1971   dnl Argument checking.
1972   ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
1973     [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
1974 ])])])])])
1975   ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
1976     [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
1977 ])])])])
1978   define(gt_included_intl, ifelse([$1], [external], [no], [yes]))
1979   define(gt_libtool_suffix_prefix, ifelse([$1], [use-libtool], [l], []))
1980
1981   AC_REQUIRE([AM_PO_SUBDIRS])dnl
1982   ifelse(gt_included_intl, yes, [
1983     AC_REQUIRE([AM_INTL_SUBDIR])dnl
1984   ])
1985
1986   dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
1987   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
1988   AC_REQUIRE([AC_LIB_RPATH])
1989
1990   dnl Sometimes libintl requires libiconv, so first search for libiconv.
1991   dnl Ideally we would do this search only after the
1992   dnl      if test "$USE_NLS" = "yes"; then
1993   dnl        if test "$gt_cv_func_gnugettext_libc" != "yes"; then
1994   dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
1995   dnl the configure script would need to contain the same shell code
1996   dnl again, outside any 'if'. There are two solutions:
1997   dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
1998   dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
1999   dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
2000   dnl documented, we avoid it.
2001   ifelse(gt_included_intl, yes, , [
2002     AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
2003   ])
2004
2005   dnl Set USE_NLS.
2006   AM_NLS
2007
2008   ifelse(gt_included_intl, yes, [
2009     BUILD_INCLUDED_LIBINTL=no
2010     USE_INCLUDED_LIBINTL=no
2011   ])
2012   LIBINTL=
2013   LTLIBINTL=
2014   POSUB=
2015
2016   dnl If we use NLS figure out what method
2017   if test "$USE_NLS" = "yes"; then
2018     gt_use_preinstalled_gnugettext=no
2019     ifelse(gt_included_intl, yes, [
2020       AC_MSG_CHECKING([whether included gettext is requested])
2021       AC_ARG_WITH(included-gettext,
2022         [  --with-included-gettext use the GNU gettext library included here],
2023         nls_cv_force_use_gnu_gettext=$withval,
2024         nls_cv_force_use_gnu_gettext=no)
2025       AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
2026
2027       nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
2028       if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
2029     ])
2030         dnl User does not insist on using GNU NLS library.  Figure out what
2031         dnl to use.  If GNU gettext is available we use this.  Else we have
2032         dnl to fall back to GNU NLS library.
2033
2034         dnl Add a version number to the cache macros.
2035         define([gt_api_version], ifelse([$2], [need-formatstring-macros], 3, ifelse([$2], [need-ngettext], 2, 1)))
2036         define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc])
2037         define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl])
2038
2039         AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
2040          [AC_TRY_LINK([#include <libintl.h>
2041 ]ifelse([$2], [need-formatstring-macros],
2042 [#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
2043 #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
2044 #endif
2045 changequote(,)dnl
2046 typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
2047 changequote([,])dnl
2048 ], [])[extern int _nl_msg_cat_cntr;
2049 extern int *_nl_domain_bindings;],
2050             [bindtextdomain ("", "");
2051 return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings],
2052             gt_cv_func_gnugettext_libc=yes,
2053             gt_cv_func_gnugettext_libc=no)])
2054
2055         if test "$gt_cv_func_gnugettext_libc" != "yes"; then
2056           dnl Sometimes libintl requires libiconv, so first search for libiconv.
2057           ifelse(gt_included_intl, yes, , [
2058             AM_ICONV_LINK
2059           ])
2060           dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
2061           dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
2062           dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
2063           dnl even if libiconv doesn't exist.
2064           AC_LIB_LINKFLAGS_BODY([intl])
2065           AC_CACHE_CHECK([for GNU gettext in libintl],
2066             gt_cv_func_gnugettext_libintl,
2067            [gt_save_CPPFLAGS="$CPPFLAGS"
2068             CPPFLAGS="$CPPFLAGS $INCINTL"
2069             gt_save_LIBS="$LIBS"
2070             LIBS="$LIBS $LIBINTL"
2071             dnl Now see whether libintl exists and does not depend on libiconv.
2072             AC_TRY_LINK([#include <libintl.h>
2073 ]ifelse([$2], [need-formatstring-macros],
2074 [#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
2075 #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
2076 #endif
2077 changequote(,)dnl
2078 typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
2079 changequote([,])dnl
2080 ], [])[extern int _nl_msg_cat_cntr;
2081 extern
2082 #ifdef __cplusplus
2083 "C"
2084 #endif
2085 const char *_nl_expand_alias ();],
2086               [bindtextdomain ("", "");
2087 return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
2088               gt_cv_func_gnugettext_libintl=yes,
2089               gt_cv_func_gnugettext_libintl=no)
2090             dnl Now see whether libintl exists and depends on libiconv.
2091             if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then
2092               LIBS="$LIBS $LIBICONV"
2093               AC_TRY_LINK([#include <libintl.h>
2094 ]ifelse([$2], [need-formatstring-macros],
2095 [#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
2096 #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
2097 #endif
2098 changequote(,)dnl
2099 typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
2100 changequote([,])dnl
2101 ], [])[extern int _nl_msg_cat_cntr;
2102 extern
2103 #ifdef __cplusplus
2104 "C"
2105 #endif
2106 const char *_nl_expand_alias ();],
2107                 [bindtextdomain ("", "");
2108 return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
2109                [LIBINTL="$LIBINTL $LIBICONV"
2110                 LTLIBINTL="$LTLIBINTL $LTLIBICONV"
2111                 gt_cv_func_gnugettext_libintl=yes
2112                ])
2113             fi
2114             CPPFLAGS="$gt_save_CPPFLAGS"
2115             LIBS="$gt_save_LIBS"])
2116         fi
2117
2118         dnl If an already present or preinstalled GNU gettext() is found,
2119         dnl use it.  But if this macro is used in GNU gettext, and GNU
2120         dnl gettext is already preinstalled in libintl, we update this
2121         dnl libintl.  (Cf. the install rule in intl/Makefile.in.)
2122         if test "$gt_cv_func_gnugettext_libc" = "yes" \
2123            || { test "$gt_cv_func_gnugettext_libintl" = "yes" \
2124                 && test "$PACKAGE" != gettext-runtime \
2125                 && test "$PACKAGE" != gettext-tools; }; then
2126           gt_use_preinstalled_gnugettext=yes
2127         else
2128           dnl Reset the values set by searching for libintl.
2129           LIBINTL=
2130           LTLIBINTL=
2131           INCINTL=
2132         fi
2133
2134     ifelse(gt_included_intl, yes, [
2135         if test "$gt_use_preinstalled_gnugettext" != "yes"; then
2136           dnl GNU gettext is not found in the C library.
2137           dnl Fall back on included GNU gettext library.
2138           nls_cv_use_gnu_gettext=yes
2139         fi
2140       fi
2141
2142       if test "$nls_cv_use_gnu_gettext" = "yes"; then
2143         dnl Mark actions used to generate GNU NLS library.
2144         BUILD_INCLUDED_LIBINTL=yes
2145         USE_INCLUDED_LIBINTL=yes
2146         LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV"
2147         LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV"
2148         LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
2149       fi
2150
2151       if test "$gt_use_preinstalled_gnugettext" = "yes" \
2152          || test "$nls_cv_use_gnu_gettext" = "yes"; then
2153         dnl Mark actions to use GNU gettext tools.
2154         CATOBJEXT=.gmo
2155       fi
2156     ])
2157
2158     if test "$gt_use_preinstalled_gnugettext" = "yes" \
2159        || test "$nls_cv_use_gnu_gettext" = "yes"; then
2160       AC_DEFINE(ENABLE_NLS, 1,
2161         [Define to 1 if translation of program messages to the user's native language
2162    is requested.])
2163     else
2164       USE_NLS=no
2165     fi
2166   fi
2167
2168   AC_MSG_CHECKING([whether to use NLS])
2169   AC_MSG_RESULT([$USE_NLS])
2170   if test "$USE_NLS" = "yes"; then
2171     AC_MSG_CHECKING([where the gettext function comes from])
2172     if test "$gt_use_preinstalled_gnugettext" = "yes"; then
2173       if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
2174         gt_source="external libintl"
2175       else
2176         gt_source="libc"
2177       fi
2178     else
2179       gt_source="included intl directory"
2180     fi
2181     AC_MSG_RESULT([$gt_source])
2182   fi
2183
2184   if test "$USE_NLS" = "yes"; then
2185
2186     if test "$gt_use_preinstalled_gnugettext" = "yes"; then
2187       if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
2188         AC_MSG_CHECKING([how to link with libintl])
2189         AC_MSG_RESULT([$LIBINTL])
2190         AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
2191       fi
2192
2193       dnl For backward compatibility. Some packages may be using this.
2194       AC_DEFINE(HAVE_GETTEXT, 1,
2195        [Define if the GNU gettext() function is already present or preinstalled.])
2196       AC_DEFINE(HAVE_DCGETTEXT, 1,
2197        [Define if the GNU dcgettext() function is already present or preinstalled.])
2198     fi
2199
2200     dnl We need to process the po/ directory.
2201     POSUB=po
2202   fi
2203
2204   ifelse(gt_included_intl, yes, [
2205     dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
2206     dnl to 'yes' because some of the testsuite requires it.
2207     if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then
2208       BUILD_INCLUDED_LIBINTL=yes
2209     fi
2210
2211     dnl Make all variables we use known to autoconf.
2212     AC_SUBST(BUILD_INCLUDED_LIBINTL)
2213     AC_SUBST(USE_INCLUDED_LIBINTL)
2214     AC_SUBST(CATOBJEXT)
2215
2216     dnl For backward compatibility. Some configure.ins may be using this.
2217     nls_cv_header_intl=
2218     nls_cv_header_libgt=
2219
2220     dnl For backward compatibility. Some Makefiles may be using this.
2221     DATADIRNAME=share
2222     AC_SUBST(DATADIRNAME)
2223
2224     dnl For backward compatibility. Some Makefiles may be using this.
2225     INSTOBJEXT=.mo
2226     AC_SUBST(INSTOBJEXT)
2227
2228     dnl For backward compatibility. Some Makefiles may be using this.
2229     GENCAT=gencat
2230     AC_SUBST(GENCAT)
2231
2232     dnl For backward compatibility. Some Makefiles may be using this.
2233     if test "$USE_INCLUDED_LIBINTL" = yes; then
2234       INTLOBJS="\$(GETTOBJS)"
2235     fi
2236     AC_SUBST(INTLOBJS)
2237
2238     dnl Enable libtool support if the surrounding package wishes it.
2239     INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
2240     AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
2241   ])
2242
2243   dnl For backward compatibility. Some Makefiles may be using this.
2244   INTLLIBS="$LIBINTL"
2245   AC_SUBST(INTLLIBS)
2246
2247   dnl Make all documented variables known to autoconf.
2248   AC_SUBST(LIBINTL)
2249   AC_SUBST(LTLIBINTL)
2250   AC_SUBST(POSUB)
2251 ])
2252
2253
2254 dnl Checks for all prerequisites of the intl subdirectory,
2255 dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS,
2256 dnl            USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
2257 AC_DEFUN([AM_INTL_SUBDIR],
2258 [
2259   AC_REQUIRE([AC_PROG_INSTALL])dnl
2260   AC_REQUIRE([AM_MKINSTALLDIRS])dnl
2261   AC_REQUIRE([AC_PROG_CC])dnl
2262   AC_REQUIRE([AC_CANONICAL_HOST])dnl
2263   AC_REQUIRE([AC_PROG_RANLIB])dnl
2264   AC_REQUIRE([AC_ISC_POSIX])dnl
2265   AC_REQUIRE([AC_HEADER_STDC])dnl
2266   AC_REQUIRE([AC_C_CONST])dnl
2267   AC_REQUIRE([AC_C_INLINE])dnl
2268   AC_REQUIRE([AC_TYPE_OFF_T])dnl
2269   AC_REQUIRE([AC_TYPE_SIZE_T])dnl
2270   AC_REQUIRE([AC_FUNC_ALLOCA])dnl
2271   AC_REQUIRE([AC_FUNC_MMAP])dnl
2272   AC_REQUIRE([jm_GLIBC21])dnl
2273   AC_REQUIRE([gt_INTDIV0])dnl
2274   AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])dnl
2275   AC_REQUIRE([gt_HEADER_INTTYPES_H])dnl
2276   AC_REQUIRE([gt_INTTYPES_PRI])dnl
2277
2278   AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
2279 stdlib.h string.h unistd.h sys/param.h])
2280   AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \
2281 geteuid getgid getuid mempcpy munmap putenv setenv setlocale stpcpy \
2282 strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next \
2283 __fsetlocking])
2284
2285   AM_ICONV
2286   AM_LANGINFO_CODESET
2287   if test $ac_cv_header_locale_h = yes; then
2288     AM_LC_MESSAGES
2289   fi
2290
2291   dnl intl/plural.c is generated from intl/plural.y. It requires bison,
2292   dnl because plural.y uses bison specific features. It requires at least
2293   dnl bison-1.26 because earlier versions generate a plural.c that doesn't
2294   dnl compile.
2295   dnl bison is only needed for the maintainer (who touches plural.y). But in
2296   dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
2297   dnl the rule in general Makefile. Now, some people carelessly touch the
2298   dnl files or have a broken "make" program, hence the plural.c rule will
2299   dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
2300   dnl present or too old.
2301   AC_CHECK_PROGS([INTLBISON], [bison])
2302   if test -z "$INTLBISON"; then
2303     ac_verc_fail=yes
2304   else
2305     dnl Found it, now check the version.
2306     AC_MSG_CHECKING([version of bison])
2307 changequote(<<,>>)dnl
2308     ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
2309     case $ac_prog_version in
2310       '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
2311       1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
2312 changequote([,])dnl
2313          ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
2314       *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
2315     esac
2316     AC_MSG_RESULT([$ac_prog_version])
2317   fi
2318   if test $ac_verc_fail = yes; then
2319     INTLBISON=:
2320   fi
2321 ])
2322
2323
2324 dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
2325 AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
2326 # glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40)
2327 dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
2328 dnl This file is free software, distributed under the terms of the GNU
2329 dnl General Public License.  As a special exception to the GNU General
2330 dnl Public License, this file may be distributed as part of a program
2331 dnl that contains a configuration script generated by Autoconf, under
2332 dnl the same distribution terms as the rest of that program.
2333
2334 # Test for the GNU C Library, version 2.1 or newer.
2335 # From Bruno Haible.
2336
2337 AC_DEFUN([jm_GLIBC21],
2338   [
2339     AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
2340       ac_cv_gnu_library_2_1,
2341       [AC_EGREP_CPP([Lucky GNU user],
2342         [
2343 #include <features.h>
2344 #ifdef __GNU_LIBRARY__
2345  #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
2346   Lucky GNU user
2347  #endif
2348 #endif
2349         ],
2350         ac_cv_gnu_library_2_1=yes,
2351         ac_cv_gnu_library_2_1=no)
2352       ]
2353     )
2354     AC_SUBST(GLIBC21)
2355     GLIBC21="$ac_cv_gnu_library_2_1"
2356   ]
2357 )
2358 # iconv.m4 serial AM4 (gettext-0.11.3)
2359 dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
2360 dnl This file is free software, distributed under the terms of the GNU
2361 dnl General Public License.  As a special exception to the GNU General
2362 dnl Public License, this file may be distributed as part of a program
2363 dnl that contains a configuration script generated by Autoconf, under
2364 dnl the same distribution terms as the rest of that program.
2365
2366 dnl From Bruno Haible.
2367
2368 AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
2369 [
2370   dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
2371   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
2372   AC_REQUIRE([AC_LIB_RPATH])
2373
2374   dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
2375   dnl accordingly.
2376   AC_LIB_LINKFLAGS_BODY([iconv])
2377 ])
2378
2379 AC_DEFUN([AM_ICONV_LINK],
2380 [
2381   dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
2382   dnl those with the standalone portable GNU libiconv installed).
2383
2384   dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
2385   dnl accordingly.
2386   AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
2387
2388   dnl Add $INCICONV to CPPFLAGS before performing the following checks,
2389   dnl because if the user has installed libiconv and not disabled its use
2390   dnl via --without-libiconv-prefix, he wants to use it. The first
2391   dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
2392   am_save_CPPFLAGS="$CPPFLAGS"
2393   AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
2394
2395   AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
2396     am_cv_func_iconv="no, consider installing GNU libiconv"
2397     am_cv_lib_iconv=no
2398     AC_TRY_LINK([#include <stdlib.h>
2399 #include <iconv.h>],
2400       [iconv_t cd = iconv_open("","");
2401        iconv(cd,NULL,NULL,NULL,NULL);
2402        iconv_close(cd);],
2403       am_cv_func_iconv=yes)
2404     if test "$am_cv_func_iconv" != yes; then
2405       am_save_LIBS="$LIBS"
2406       LIBS="$LIBS $LIBICONV"
2407       AC_TRY_LINK([#include <stdlib.h>
2408 #include <iconv.h>],
2409         [iconv_t cd = iconv_open("","");
2410          iconv(cd,NULL,NULL,NULL,NULL);
2411          iconv_close(cd);],
2412         am_cv_lib_iconv=yes
2413         am_cv_func_iconv=yes)
2414       LIBS="$am_save_LIBS"
2415     fi
2416   ])
2417   if test "$am_cv_func_iconv" = yes; then
2418     AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
2419   fi
2420   if test "$am_cv_lib_iconv" = yes; then
2421     AC_MSG_CHECKING([how to link with libiconv])
2422     AC_MSG_RESULT([$LIBICONV])
2423   else
2424     dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
2425     dnl either.
2426     CPPFLAGS="$am_save_CPPFLAGS"
2427     LIBICONV=
2428     LTLIBICONV=
2429   fi
2430   AC_SUBST(LIBICONV)
2431   AC_SUBST(LTLIBICONV)
2432 ])
2433
2434 AC_DEFUN([AM_ICONV],
2435 [
2436   AM_ICONV_LINK
2437   if test "$am_cv_func_iconv" = yes; then
2438     AC_MSG_CHECKING([for iconv declaration])
2439     AC_CACHE_VAL(am_cv_proto_iconv, [
2440       AC_TRY_COMPILE([
2441 #include <stdlib.h>
2442 #include <iconv.h>
2443 extern
2444 #ifdef __cplusplus
2445 "C"
2446 #endif
2447 #if defined(__STDC__) || defined(__cplusplus)
2448 size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
2449 #else
2450 size_t iconv();
2451 #endif
2452 ], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
2453       am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
2454     am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
2455     AC_MSG_RESULT([$]{ac_t:-
2456          }[$]am_cv_proto_iconv)
2457     AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
2458       [Define as const if the declaration of iconv() needs const.])
2459   fi
2460 ])
2461 # intdiv0.m4 serial 1 (gettext-0.11.3)
2462 dnl Copyright (C) 2002 Free Software Foundation, Inc.
2463 dnl This file is free software, distributed under the terms of the GNU
2464 dnl General Public License.  As a special exception to the GNU General
2465 dnl Public License, this file may be distributed as part of a program
2466 dnl that contains a configuration script generated by Autoconf, under
2467 dnl the same distribution terms as the rest of that program.
2468
2469 dnl From Bruno Haible.
2470
2471 AC_DEFUN([gt_INTDIV0],
2472 [
2473   AC_REQUIRE([AC_PROG_CC])dnl
2474   AC_REQUIRE([AC_CANONICAL_HOST])dnl
2475
2476   AC_CACHE_CHECK([whether integer division by zero raises SIGFPE],
2477     gt_cv_int_divbyzero_sigfpe,
2478     [
2479       AC_TRY_RUN([
2480 #include <stdlib.h>
2481 #include <signal.h>
2482
2483 static void
2484 #ifdef __cplusplus
2485 sigfpe_handler (int sig)
2486 #else
2487 sigfpe_handler (sig) int sig;
2488 #endif
2489 {
2490   /* Exit with code 0 if SIGFPE, with code 1 if any other signal.  */
2491   exit (sig != SIGFPE);
2492 }
2493
2494 int x = 1;
2495 int y = 0;
2496 int z;
2497 int nan;
2498
2499 int main ()
2500 {
2501   signal (SIGFPE, sigfpe_handler);
2502 /* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP.  */
2503 #if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP)
2504   signal (SIGTRAP, sigfpe_handler);
2505 #endif
2506 /* Linux/SPARC yields signal SIGILL.  */
2507 #if defined (__sparc__) && defined (__linux__)
2508   signal (SIGILL, sigfpe_handler);
2509 #endif
2510
2511   z = x / y;
2512   nan = y / y;
2513   exit (1);
2514 }
2515 ], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no,
2516         [
2517           # Guess based on the CPU.
2518           case "$host_cpu" in
2519             alpha* | i[34567]86 | m68k | s390*)
2520               gt_cv_int_divbyzero_sigfpe="guessing yes";;
2521             *)
2522               gt_cv_int_divbyzero_sigfpe="guessing no";;
2523           esac
2524         ])
2525     ])
2526   case "$gt_cv_int_divbyzero_sigfpe" in
2527     *yes) value=1;;
2528     *) value=0;;
2529   esac
2530   AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value,
2531     [Define if integer division by zero raises signal SIGFPE.])
2532 ])
2533 # inttypes.m4 serial 1 (gettext-0.11.4)
2534 dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
2535 dnl This file is free software, distributed under the terms of the GNU
2536 dnl General Public License.  As a special exception to the GNU General
2537 dnl Public License, this file may be distributed as part of a program
2538 dnl that contains a configuration script generated by Autoconf, under
2539 dnl the same distribution terms as the rest of that program.
2540
2541 dnl From Paul Eggert.
2542
2543 # Define HAVE_INTTYPES_H if <inttypes.h> exists and doesn't clash with
2544 # <sys/types.h>.
2545
2546 AC_DEFUN([gt_HEADER_INTTYPES_H],
2547 [
2548   AC_CACHE_CHECK([for inttypes.h], gt_cv_header_inttypes_h,
2549   [
2550     AC_TRY_COMPILE(
2551       [#include <sys/types.h>
2552 #include <inttypes.h>],
2553       [], gt_cv_header_inttypes_h=yes, gt_cv_header_inttypes_h=no)
2554   ])
2555   if test $gt_cv_header_inttypes_h = yes; then
2556     AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1,
2557       [Define if <inttypes.h> exists and doesn't clash with <sys/types.h>.])
2558   fi
2559 ])
2560 # inttypes_h.m4 serial 5 (gettext-0.12)
2561 dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.
2562 dnl This file is free software, distributed under the terms of the GNU
2563 dnl General Public License.  As a special exception to the GNU General
2564 dnl Public License, this file may be distributed as part of a program
2565 dnl that contains a configuration script generated by Autoconf, under
2566 dnl the same distribution terms as the rest of that program.
2567
2568 dnl From Paul Eggert.
2569
2570 # Define HAVE_INTTYPES_H_WITH_UINTMAX if <inttypes.h> exists,
2571 # doesn't clash with <sys/types.h>, and declares uintmax_t.
2572
2573 AC_DEFUN([jm_AC_HEADER_INTTYPES_H],
2574 [
2575   AC_CACHE_CHECK([for inttypes.h], jm_ac_cv_header_inttypes_h,
2576   [AC_TRY_COMPILE(
2577     [#include <sys/types.h>
2578 #include <inttypes.h>],
2579     [uintmax_t i = (uintmax_t) -1;],
2580     jm_ac_cv_header_inttypes_h=yes,
2581     jm_ac_cv_header_inttypes_h=no)])
2582   if test $jm_ac_cv_header_inttypes_h = yes; then
2583     AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1,
2584       [Define if <inttypes.h> exists, doesn't clash with <sys/types.h>,
2585        and declares uintmax_t. ])
2586   fi
2587 ])
2588 # inttypes-pri.m4 serial 1 (gettext-0.11.4)
2589 dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
2590 dnl This file is free software, distributed under the terms of the GNU
2591 dnl General Public License.  As a special exception to the GNU General
2592 dnl Public License, this file may be distributed as part of a program
2593 dnl that contains a configuration script generated by Autoconf, under
2594 dnl the same distribution terms as the rest of that program.
2595
2596 dnl From Bruno Haible.
2597
2598 # Define PRI_MACROS_BROKEN if <inttypes.h> exists and defines the PRI*
2599 # macros to non-string values.  This is the case on AIX 4.3.3.
2600
2601 AC_DEFUN([gt_INTTYPES_PRI],
2602 [
2603   AC_REQUIRE([gt_HEADER_INTTYPES_H])
2604   if test $gt_cv_header_inttypes_h = yes; then
2605     AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken],
2606       gt_cv_inttypes_pri_broken,
2607       [
2608         AC_TRY_COMPILE([#include <inttypes.h>
2609 #ifdef PRId32
2610 char *p = PRId32;
2611 #endif
2612 ], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes)
2613       ])
2614   fi
2615   if test "$gt_cv_inttypes_pri_broken" = yes; then
2616     AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1,
2617       [Define if <inttypes.h> exists and defines unusable PRI* macros.])
2618   fi
2619 ])
2620 # isc-posix.m4 serial 2 (gettext-0.11.2)
2621 dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
2622 dnl This file is free software, distributed under the terms of the GNU
2623 dnl General Public License.  As a special exception to the GNU General
2624 dnl Public License, this file may be distributed as part of a program
2625 dnl that contains a configuration script generated by Autoconf, under
2626 dnl the same distribution terms as the rest of that program.
2627
2628 # This file is not needed with autoconf-2.53 and newer.  Remove it in 2005.
2629
2630 # This test replaces the one in autoconf.
2631 # Currently this macro should have the same name as the autoconf macro
2632 # because gettext's gettext.m4 (distributed in the automake package)
2633 # still uses it.  Otherwise, the use in gettext.m4 makes autoheader
2634 # give these diagnostics:
2635 #   configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX
2636 #   configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX
2637
2638 undefine([AC_ISC_POSIX])
2639
2640 AC_DEFUN([AC_ISC_POSIX],
2641   [
2642     dnl This test replaces the obsolescent AC_ISC_POSIX kludge.
2643     AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"])
2644   ]
2645 )
2646 # lcmessage.m4 serial 3 (gettext-0.11.3)
2647 dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
2648 dnl This file is free software, distributed under the terms of the GNU
2649 dnl General Public License.  As a special exception to the GNU General
2650 dnl Public License, this file may be distributed as part of a program
2651 dnl that contains a configuration script generated by Autoconf, under
2652 dnl the same distribution terms as the rest of that program.
2653 dnl
2654 dnl This file can can be used in projects which are not available under
2655 dnl the GNU General Public License or the GNU Library General Public
2656 dnl License but which still want to provide support for the GNU gettext
2657 dnl functionality.
2658 dnl Please note that the actual code of the GNU gettext library is covered
2659 dnl by the GNU Library General Public License, and the rest of the GNU
2660 dnl gettext package package is covered by the GNU General Public License.
2661 dnl They are *not* in the public domain.
2662
2663 dnl Authors:
2664 dnl   Ulrich Drepper <drepper@cygnus.com>, 1995.
2665
2666 # Check whether LC_MESSAGES is available in <locale.h>.
2667
2668 AC_DEFUN([AM_LC_MESSAGES],
2669 [
2670   AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
2671     [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
2672        am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
2673   if test $am_cv_val_LC_MESSAGES = yes; then
2674     AC_DEFINE(HAVE_LC_MESSAGES, 1,
2675       [Define if your <locale.h> file defines LC_MESSAGES.])
2676   fi
2677 ])
2678 # lib-ld.m4 serial 2 (gettext-0.12)
2679 dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
2680 dnl This file is free software, distributed under the terms of the GNU
2681 dnl General Public License.  As a special exception to the GNU General
2682 dnl Public License, this file may be distributed as part of a program
2683 dnl that contains a configuration script generated by Autoconf, under
2684 dnl the same distribution terms as the rest of that program.
2685
2686 dnl Subroutines of libtool.m4,
2687 dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
2688 dnl with libtool.m4.
2689
2690 dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
2691 AC_DEFUN([AC_LIB_PROG_LD_GNU],
2692 [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld,
2693 [# I'd rather use --version here, but apparently some GNU ld's only accept -v.
2694 if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
2695   acl_cv_prog_gnu_ld=yes
2696 else
2697   acl_cv_prog_gnu_ld=no
2698 fi])
2699 with_gnu_ld=$acl_cv_prog_gnu_ld
2700 ])
2701
2702 dnl From libtool-1.4. Sets the variable LD.
2703 AC_DEFUN([AC_LIB_PROG_LD],
2704 [AC_ARG_WITH(gnu-ld,
2705 [  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]],
2706 test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
2707 AC_REQUIRE([AC_PROG_CC])dnl
2708 AC_REQUIRE([AC_CANONICAL_HOST])dnl
2709 # Prepare PATH_SEPARATOR.
2710 # The user is always right.
2711 if test "${PATH_SEPARATOR+set}" != set; then
2712   echo "#! /bin/sh" >conf$$.sh
2713   echo  "exit 0"   >>conf$$.sh
2714   chmod +x conf$$.sh
2715   if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
2716     PATH_SEPARATOR=';'
2717   else
2718     PATH_SEPARATOR=:
2719   fi
2720   rm -f conf$$.sh
2721 fi
2722 ac_prog=ld
2723 if test "$GCC" = yes; then
2724   # Check if gcc -print-prog-name=ld gives a path.
2725   AC_MSG_CHECKING([for ld used by GCC])
2726   case $host in
2727   *-*-mingw*)
2728     # gcc leaves a trailing carriage return which upsets mingw
2729     ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
2730   *)
2731     ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
2732   esac
2733   case $ac_prog in
2734     # Accept absolute paths.
2735     [[\\/]* | [A-Za-z]:[\\/]*)]
2736       [re_direlt='/[^/][^/]*/\.\./']
2737       # Canonicalize the path of ld
2738       ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
2739       while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
2740         ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
2741       done
2742       test -z "$LD" && LD="$ac_prog"
2743       ;;
2744   "")
2745     # If it fails, then pretend we aren't using GCC.
2746     ac_prog=ld
2747     ;;
2748   *)
2749     # If it is relative, then search for the first ld in PATH.
2750     with_gnu_ld=unknown
2751     ;;
2752   esac
2753 elif test "$with_gnu_ld" = yes; then
2754   AC_MSG_CHECKING([for GNU ld])
2755 else
2756   AC_MSG_CHECKING([for non-GNU ld])
2757 fi
2758 AC_CACHE_VAL(acl_cv_path_LD,
2759 [if test -z "$LD"; then
2760   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
2761   for ac_dir in $PATH; do
2762     test -z "$ac_dir" && ac_dir=.
2763     if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
2764       acl_cv_path_LD="$ac_dir/$ac_prog"
2765       # Check to see if the program is GNU ld.  I'd rather use --version,
2766       # but apparently some GNU ld's only accept -v.
2767       # Break only if it was the GNU/non-GNU ld that we prefer.
2768       if "$acl_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
2769         test "$with_gnu_ld" != no && break
2770       else
2771         test "$with_gnu_ld" != yes && break
2772       fi
2773     fi
2774   done
2775   IFS="$ac_save_ifs"
2776 else
2777   acl_cv_path_LD="$LD" # Let the user override the test with a path.
2778 fi])
2779 LD="$acl_cv_path_LD"
2780 if test -n "$LD"; then
2781   AC_MSG_RESULT($LD)
2782 else
2783   AC_MSG_RESULT(no)
2784 fi
2785 test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
2786 AC_LIB_PROG_LD_GNU
2787 ])
2788 # lib-link.m4 serial 4 (gettext-0.12)
2789 dnl Copyright (C) 2001-2003 Free Software Foundation, Inc.
2790 dnl This file is free software, distributed under the terms of the GNU
2791 dnl General Public License.  As a special exception to the GNU General
2792 dnl Public License, this file may be distributed as part of a program
2793 dnl that contains a configuration script generated by Autoconf, under
2794 dnl the same distribution terms as the rest of that program.
2795
2796 dnl From Bruno Haible.
2797
2798 dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
2799 dnl the libraries corresponding to explicit and implicit dependencies.
2800 dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
2801 dnl augments the CPPFLAGS variable.
2802 AC_DEFUN([AC_LIB_LINKFLAGS],
2803 [
2804   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
2805   AC_REQUIRE([AC_LIB_RPATH])
2806   define([Name],[translit([$1],[./-], [___])])
2807   define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
2808                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
2809   AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
2810     AC_LIB_LINKFLAGS_BODY([$1], [$2])
2811     ac_cv_lib[]Name[]_libs="$LIB[]NAME"
2812     ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
2813     ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
2814   ])
2815   LIB[]NAME="$ac_cv_lib[]Name[]_libs"
2816   LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
2817   INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
2818   AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
2819   AC_SUBST([LIB]NAME)
2820   AC_SUBST([LTLIB]NAME)
2821   dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
2822   dnl results of this search when this library appears as a dependency.
2823   HAVE_LIB[]NAME=yes
2824   undefine([Name])
2825   undefine([NAME])
2826 ])
2827
2828 dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
2829 dnl searches for libname and the libraries corresponding to explicit and
2830 dnl implicit dependencies, together with the specified include files and
2831 dnl the ability to compile and link the specified testcode. If found, it
2832 dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
2833 dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
2834 dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
2835 dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
2836 AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
2837 [
2838   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
2839   AC_REQUIRE([AC_LIB_RPATH])
2840   define([Name],[translit([$1],[./-], [___])])
2841   define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
2842                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
2843
2844   dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
2845   dnl accordingly.
2846   AC_LIB_LINKFLAGS_BODY([$1], [$2])
2847
2848   dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
2849   dnl because if the user has installed lib[]Name and not disabled its use
2850   dnl via --without-lib[]Name-prefix, he wants to use it.
2851   ac_save_CPPFLAGS="$CPPFLAGS"
2852   AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
2853
2854   AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
2855     ac_save_LIBS="$LIBS"
2856     LIBS="$LIBS $LIB[]NAME"
2857     AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
2858     LIBS="$ac_save_LIBS"
2859   ])
2860   if test "$ac_cv_lib[]Name" = yes; then
2861     HAVE_LIB[]NAME=yes
2862     AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
2863     AC_MSG_CHECKING([how to link with lib[]$1])
2864     AC_MSG_RESULT([$LIB[]NAME])
2865   else
2866     HAVE_LIB[]NAME=no
2867     dnl If $LIB[]NAME didn't lead to a usable library, we don't need
2868     dnl $INC[]NAME either.
2869     CPPFLAGS="$ac_save_CPPFLAGS"
2870     LIB[]NAME=
2871     LTLIB[]NAME=
2872   fi
2873   AC_SUBST([HAVE_LIB]NAME)
2874   AC_SUBST([LIB]NAME)
2875   AC_SUBST([LTLIB]NAME)
2876   undefine([Name])
2877   undefine([NAME])
2878 ])
2879
2880 dnl Determine the platform dependent parameters needed to use rpath:
2881 dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
2882 dnl hardcode_direct, hardcode_minus_L.
2883 AC_DEFUN([AC_LIB_RPATH],
2884 [
2885   AC_REQUIRE([AC_PROG_CC])                dnl we use $CC, $GCC, $LDFLAGS
2886   AC_REQUIRE([AC_LIB_PROG_LD])            dnl we use $LD, $with_gnu_ld
2887   AC_REQUIRE([AC_CANONICAL_HOST])         dnl we use $host
2888   AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
2889   AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
2890     CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
2891     ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
2892     . ./conftest.sh
2893     rm -f ./conftest.sh
2894     acl_cv_rpath=done
2895   ])
2896   wl="$acl_cv_wl"
2897   libext="$acl_cv_libext"
2898   shlibext="$acl_cv_shlibext"
2899   hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
2900   hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
2901   hardcode_direct="$acl_cv_hardcode_direct"
2902   hardcode_minus_L="$acl_cv_hardcode_minus_L"
2903   dnl Determine whether the user wants rpath handling at all.
2904   AC_ARG_ENABLE(rpath,
2905     [  --disable-rpath         do not hardcode runtime library paths],
2906     :, enable_rpath=yes)
2907 ])
2908
2909 dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
2910 dnl the libraries corresponding to explicit and implicit dependencies.
2911 dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
2912 AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
2913 [
2914   define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
2915                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
2916   dnl By default, look in $includedir and $libdir.
2917   use_additional=yes
2918   AC_LIB_WITH_FINAL_PREFIX([
2919     eval additional_includedir=\"$includedir\"
2920     eval additional_libdir=\"$libdir\"
2921   ])
2922   AC_LIB_ARG_WITH([lib$1-prefix],
2923 [  --with-lib$1-prefix[=DIR]  search for lib$1 in DIR/include and DIR/lib
2924   --without-lib$1-prefix     don't search for lib$1 in includedir and libdir],
2925 [
2926     if test "X$withval" = "Xno"; then
2927       use_additional=no
2928     else
2929       if test "X$withval" = "X"; then
2930         AC_LIB_WITH_FINAL_PREFIX([
2931           eval additional_includedir=\"$includedir\"
2932           eval additional_libdir=\"$libdir\"
2933         ])
2934       else
2935         additional_includedir="$withval/include"
2936         additional_libdir="$withval/lib"
2937       fi
2938     fi
2939 ])
2940   dnl Search the library and its dependencies in $additional_libdir and
2941   dnl $LDFLAGS. Using breadth-first-seach.
2942   LIB[]NAME=
2943   LTLIB[]NAME=
2944   INC[]NAME=
2945   rpathdirs=
2946   ltrpathdirs=
2947   names_already_handled=
2948   names_next_round='$1 $2'
2949   while test -n "$names_next_round"; do
2950     names_this_round="$names_next_round"
2951     names_next_round=
2952     for name in $names_this_round; do
2953       already_handled=
2954       for n in $names_already_handled; do
2955         if test "$n" = "$name"; then
2956           already_handled=yes
2957           break
2958         fi
2959       done
2960       if test -z "$already_handled"; then
2961         names_already_handled="$names_already_handled $name"
2962         dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
2963         dnl or AC_LIB_HAVE_LINKFLAGS call.
2964         uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
2965         eval value=\"\$HAVE_LIB$uppername\"
2966         if test -n "$value"; then
2967           if test "$value" = yes; then
2968             eval value=\"\$LIB$uppername\"
2969             test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
2970             eval value=\"\$LTLIB$uppername\"
2971             test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
2972           else
2973             dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
2974             dnl that this library doesn't exist. So just drop it.
2975             :
2976           fi
2977         else
2978           dnl Search the library lib$name in $additional_libdir and $LDFLAGS
2979           dnl and the already constructed $LIBNAME/$LTLIBNAME.
2980           found_dir=
2981           found_la=
2982           found_so=
2983           found_a=
2984           if test $use_additional = yes; then
2985             if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
2986               found_dir="$additional_libdir"
2987               found_so="$additional_libdir/lib$name.$shlibext"
2988               if test -f "$additional_libdir/lib$name.la"; then
2989                 found_la="$additional_libdir/lib$name.la"
2990               fi
2991             else
2992               if test -f "$additional_libdir/lib$name.$libext"; then
2993                 found_dir="$additional_libdir"
2994                 found_a="$additional_libdir/lib$name.$libext"
2995                 if test -f "$additional_libdir/lib$name.la"; then
2996                   found_la="$additional_libdir/lib$name.la"
2997                 fi
2998               fi
2999             fi
3000           fi
3001           if test "X$found_dir" = "X"; then
3002             for x in $LDFLAGS $LTLIB[]NAME; do
3003               AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
3004               case "$x" in
3005                 -L*)
3006                   dir=`echo "X$x" | sed -e 's/^X-L//'`
3007                   if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
3008                     found_dir="$dir"
3009                     found_so="$dir/lib$name.$shlibext"
3010                     if test -f "$dir/lib$name.la"; then
3011                       found_la="$dir/lib$name.la"
3012                     fi
3013                   else
3014                     if test -f "$dir/lib$name.$libext"; then
3015                       found_dir="$dir"
3016                       found_a="$dir/lib$name.$libext"
3017                       if test -f "$dir/lib$name.la"; then
3018                         found_la="$dir/lib$name.la"
3019                       fi
3020                     fi
3021                   fi
3022                   ;;
3023               esac
3024               if test "X$found_dir" != "X"; then
3025                 break
3026               fi
3027             done
3028           fi
3029           if test "X$found_dir" != "X"; then
3030             dnl Found the library.
3031             LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
3032             if test "X$found_so" != "X"; then
3033               dnl Linking with a shared library. We attempt to hardcode its
3034               dnl directory into the executable's runpath, unless it's the
3035               dnl standard /usr/lib.
3036               if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
3037                 dnl No hardcoding is needed.
3038                 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
3039               else
3040                 dnl Use an explicit option to hardcode DIR into the resulting
3041                 dnl binary.
3042                 dnl Potentially add DIR to ltrpathdirs.
3043                 dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
3044                 haveit=
3045                 for x in $ltrpathdirs; do
3046                   if test "X$x" = "X$found_dir"; then
3047                     haveit=yes
3048                     break
3049                   fi
3050                 done
3051                 if test -z "$haveit"; then
3052                   ltrpathdirs="$ltrpathdirs $found_dir"
3053                 fi
3054                 dnl The hardcoding into $LIBNAME is system dependent.
3055                 if test "$hardcode_direct" = yes; then
3056                   dnl Using DIR/libNAME.so during linking hardcodes DIR into the
3057                   dnl resulting binary.
3058                   LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
3059                 else
3060                   if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
3061                     dnl Use an explicit option to hardcode DIR into the resulting
3062                     dnl binary.
3063                     LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
3064                     dnl Potentially add DIR to rpathdirs.
3065                     dnl The rpathdirs will be appended to $LIBNAME at the end.
3066                     haveit=
3067                     for x in $rpathdirs; do
3068                       if test "X$x" = "X$found_dir"; then
3069                         haveit=yes
3070                         break
3071                       fi
3072                     done
3073                     if test -z "$haveit"; then
3074                       rpathdirs="$rpathdirs $found_dir"
3075                     fi
3076                   else
3077                     dnl Rely on "-L$found_dir".
3078                     dnl But don't add it if it's already contained in the LDFLAGS
3079                     dnl or the already constructed $LIBNAME
3080                     haveit=
3081                     for x in $LDFLAGS $LIB[]NAME; do
3082                       AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
3083                       if test "X$x" = "X-L$found_dir"; then
3084                         haveit=yes
3085                         break
3086                       fi
3087                     done
3088                     if test -z "$haveit"; then
3089                       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
3090                     fi
3091                     if test "$hardcode_minus_L" != no; then
3092                       dnl FIXME: Not sure whether we should use
3093                       dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
3094                       dnl here.
3095                       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
3096                     else
3097                       dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH
3098                       dnl here, because this doesn't fit in flags passed to the
3099                       dnl compiler. So give up. No hardcoding. This affects only
3100                       dnl very old systems.
3101                       dnl FIXME: Not sure whether we should use
3102                       dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
3103                       dnl here.
3104                       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
3105                     fi
3106                   fi
3107                 fi
3108               fi
3109             else
3110               if test "X$found_a" != "X"; then
3111                 dnl Linking with a static library.
3112                 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
3113               else
3114                 dnl We shouldn't come here, but anyway it's good to have a
3115                 dnl fallback.
3116                 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
3117               fi
3118             fi
3119             dnl Assume the include files are nearby.
3120             additional_includedir=
3121             case "$found_dir" in
3122               */lib | */lib/)
3123                 basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
3124                 additional_includedir="$basedir/include"
3125                 ;;
3126             esac
3127             if test "X$additional_includedir" != "X"; then
3128               dnl Potentially add $additional_includedir to $INCNAME.
3129               dnl But don't add it
3130               dnl   1. if it's the standard /usr/include,
3131               dnl   2. if it's /usr/local/include and we are using GCC on Linux,
3132               dnl   3. if it's already present in $CPPFLAGS or the already
3133               dnl      constructed $INCNAME,
3134               dnl   4. if it doesn't exist as a directory.
3135               if test "X$additional_includedir" != "X/usr/include"; then
3136                 haveit=
3137                 if test "X$additional_includedir" = "X/usr/local/include"; then
3138                   if test -n "$GCC"; then
3139                     case $host_os in
3140                       linux*) haveit=yes;;
3141                     esac
3142                   fi
3143                 fi
3144                 if test -z "$haveit"; then
3145                   for x in $CPPFLAGS $INC[]NAME; do
3146                     AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
3147                     if test "X$x" = "X-I$additional_includedir"; then
3148                       haveit=yes
3149                       break
3150                     fi
3151                   done
3152                   if test -z "$haveit"; then
3153                     if test -d "$additional_includedir"; then
3154                       dnl Really add $additional_includedir to $INCNAME.
3155                       INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
3156                     fi
3157                   fi
3158                 fi
3159               fi
3160             fi
3161             dnl Look for dependencies.
3162             if test -n "$found_la"; then
3163               dnl Read the .la file. It defines the variables
3164               dnl dlname, library_names, old_library, dependency_libs, current,
3165               dnl age, revision, installed, dlopen, dlpreopen, libdir.
3166               save_libdir="$libdir"
3167               case "$found_la" in
3168                 */* | *\\*) . "$found_la" ;;
3169                 *) . "./$found_la" ;;
3170               esac
3171               libdir="$save_libdir"
3172               dnl We use only dependency_libs.
3173               for dep in $dependency_libs; do
3174                 case "$dep" in
3175                   -L*)
3176                     additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
3177                     dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
3178                     dnl But don't add it
3179                     dnl   1. if it's the standard /usr/lib,
3180                     dnl   2. if it's /usr/local/lib and we are using GCC on Linux,
3181                     dnl   3. if it's already present in $LDFLAGS or the already
3182                     dnl      constructed $LIBNAME,
3183                     dnl   4. if it doesn't exist as a directory.
3184                     if test "X$additional_libdir" != "X/usr/lib"; then
3185                       haveit=
3186                       if test "X$additional_libdir" = "X/usr/local/lib"; then
3187                         if test -n "$GCC"; then
3188                           case $host_os in
3189                             linux*) haveit=yes;;
3190                           esac
3191                         fi
3192                       fi
3193                       if test -z "$haveit"; then
3194                         haveit=
3195                         for x in $LDFLAGS $LIB[]NAME; do
3196                           AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
3197                           if test "X$x" = "X-L$additional_libdir"; then
3198                             haveit=yes
3199                             break
3200                           fi
3201                         done
3202                         if test -z "$haveit"; then
3203                           if test -d "$additional_libdir"; then
3204                             dnl Really add $additional_libdir to $LIBNAME.
3205                             LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
3206                           fi
3207                         fi
3208                         haveit=
3209                         for x in $LDFLAGS $LTLIB[]NAME; do
3210                           AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
3211                           if test "X$x" = "X-L$additional_libdir"; then
3212                             haveit=yes
3213                             break
3214                           fi
3215                         done
3216                         if test -z "$haveit"; then
3217                           if test -d "$additional_libdir"; then
3218                             dnl Really add $additional_libdir to $LTLIBNAME.
3219                             LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
3220                           fi
3221                         fi
3222                       fi
3223                     fi
3224                     ;;
3225                   -R*)
3226                     dir=`echo "X$dep" | sed -e 's/^X-R//'`
3227                     if test "$enable_rpath" != no; then
3228                       dnl Potentially add DIR to rpathdirs.
3229                       dnl The rpathdirs will be appended to $LIBNAME at the end.
3230                       haveit=
3231                       for x in $rpathdirs; do
3232                         if test "X$x" = "X$dir"; then
3233                           haveit=yes
3234                           break
3235                         fi
3236                       done
3237                       if test -z "$haveit"; then
3238                         rpathdirs="$rpathdirs $dir"
3239                       fi
3240                       dnl Potentially add DIR to ltrpathdirs.
3241                       dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
3242                       haveit=
3243                       for x in $ltrpathdirs; do
3244                         if test "X$x" = "X$dir"; then
3245                           haveit=yes
3246                           break
3247                         fi
3248                       done
3249                       if test -z "$haveit"; then
3250                         ltrpathdirs="$ltrpathdirs $dir"
3251                       fi
3252                     fi
3253                     ;;
3254                   -l*)
3255                     dnl Handle this in the next round.
3256                     names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
3257                     ;;
3258                   *.la)
3259                     dnl Handle this in the next round. Throw away the .la's
3260                     dnl directory; it is already contained in a preceding -L
3261                     dnl option.
3262                     names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
3263                     ;;
3264                   *)
3265                     dnl Most likely an immediate library name.
3266                     LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
3267                     LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
3268                     ;;
3269                 esac
3270               done
3271             fi
3272           else
3273             dnl Didn't find the library; assume it is in the system directories
3274             dnl known to the linker and runtime loader. (All the system
3275             dnl directories known to the linker should also be known to the
3276             dnl runtime loader, otherwise the system is severely misconfigured.)
3277             LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
3278             LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
3279           fi
3280         fi
3281       fi
3282     done
3283   done
3284   if test "X$rpathdirs" != "X"; then
3285     if test -n "$hardcode_libdir_separator"; then
3286       dnl Weird platform: only the last -rpath option counts, the user must
3287       dnl pass all path elements in one option. We can arrange that for a
3288       dnl single library, but not when more than one $LIBNAMEs are used.
3289       alldirs=
3290       for found_dir in $rpathdirs; do
3291         alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
3292       done
3293       dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
3294       acl_save_libdir="$libdir"
3295       libdir="$alldirs"
3296       eval flag=\"$hardcode_libdir_flag_spec\"
3297       libdir="$acl_save_libdir"
3298       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
3299     else
3300       dnl The -rpath options are cumulative.
3301       for found_dir in $rpathdirs; do
3302         acl_save_libdir="$libdir"
3303         libdir="$found_dir"
3304         eval flag=\"$hardcode_libdir_flag_spec\"
3305         libdir="$acl_save_libdir"
3306         LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
3307       done
3308     fi
3309   fi
3310   if test "X$ltrpathdirs" != "X"; then
3311     dnl When using libtool, the option that works for both libraries and
3312     dnl executables is -R. The -R options are cumulative.
3313     for found_dir in $ltrpathdirs; do
3314       LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
3315     done
3316   fi
3317 ])
3318
3319 dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
3320 dnl unless already present in VAR.
3321 dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
3322 dnl contains two or three consecutive elements that belong together.
3323 AC_DEFUN([AC_LIB_APPENDTOVAR],
3324 [
3325   for element in [$2]; do
3326     haveit=
3327     for x in $[$1]; do
3328       AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
3329       if test "X$x" = "X$element"; then
3330         haveit=yes
3331         break
3332       fi
3333     done
3334     if test -z "$haveit"; then
3335       [$1]="${[$1]}${[$1]:+ }$element"
3336     fi
3337   done
3338 ])
3339 # lib-prefix.m4 serial 2 (gettext-0.12)
3340 dnl Copyright (C) 2001-2003 Free Software Foundation, Inc.
3341 dnl This file is free software, distributed under the terms of the GNU
3342 dnl General Public License.  As a special exception to the GNU General
3343 dnl Public License, this file may be distributed as part of a program
3344 dnl that contains a configuration script generated by Autoconf, under
3345 dnl the same distribution terms as the rest of that program.
3346
3347 dnl From Bruno Haible.
3348
3349 dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and
3350 dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't
3351 dnl require excessive bracketing.
3352 ifdef([AC_HELP_STRING],
3353 [AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])],
3354 [AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])])
3355
3356 dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
3357 dnl to access previously installed libraries. The basic assumption is that
3358 dnl a user will want packages to use other packages he previously installed
3359 dnl with the same --prefix option.
3360 dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
3361 dnl libraries, but is otherwise very convenient.
3362 AC_DEFUN([AC_LIB_PREFIX],
3363 [
3364   AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
3365   AC_REQUIRE([AC_PROG_CC])
3366   AC_REQUIRE([AC_CANONICAL_HOST])
3367   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
3368   dnl By default, look in $includedir and $libdir.
3369   use_additional=yes
3370   AC_LIB_WITH_FINAL_PREFIX([
3371     eval additional_includedir=\"$includedir\"
3372     eval additional_libdir=\"$libdir\"
3373   ])
3374   AC_LIB_ARG_WITH([lib-prefix],
3375 [  --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
3376   --without-lib-prefix    don't search for libraries in includedir and libdir],
3377 [
3378     if test "X$withval" = "Xno"; then
3379       use_additional=no
3380     else
3381       if test "X$withval" = "X"; then
3382         AC_LIB_WITH_FINAL_PREFIX([
3383           eval additional_includedir=\"$includedir\"
3384           eval additional_libdir=\"$libdir\"
3385         ])
3386       else
3387         additional_includedir="$withval/include"
3388         additional_libdir="$withval/lib"
3389       fi
3390     fi
3391 ])
3392   if test $use_additional = yes; then
3393     dnl Potentially add $additional_includedir to $CPPFLAGS.
3394     dnl But don't add it
3395     dnl   1. if it's the standard /usr/include,
3396     dnl   2. if it's already present in $CPPFLAGS,
3397     dnl   3. if it's /usr/local/include and we are using GCC on Linux,
3398     dnl   4. if it doesn't exist as a directory.
3399     if test "X$additional_includedir" != "X/usr/include"; then
3400       haveit=
3401       for x in $CPPFLAGS; do
3402         AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
3403         if test "X$x" = "X-I$additional_includedir"; then
3404           haveit=yes
3405           break
3406         fi
3407       done
3408       if test -z "$haveit"; then
3409         if test "X$additional_includedir" = "X/usr/local/include"; then
3410           if test -n "$GCC"; then
3411             case $host_os in
3412               linux*) haveit=yes;;
3413             esac
3414           fi
3415         fi
3416         if test -z "$haveit"; then
3417           if test -d "$additional_includedir"; then
3418             dnl Really add $additional_includedir to $CPPFLAGS.
3419             CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
3420           fi
3421         fi
3422       fi
3423     fi
3424     dnl Potentially add $additional_libdir to $LDFLAGS.
3425     dnl But don't add it
3426     dnl   1. if it's the standard /usr/lib,
3427     dnl   2. if it's already present in $LDFLAGS,
3428     dnl   3. if it's /usr/local/lib and we are using GCC on Linux,
3429     dnl   4. if it doesn't exist as a directory.
3430     if test "X$additional_libdir" != "X/usr/lib"; then
3431       haveit=
3432       for x in $LDFLAGS; do
3433         AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
3434         if test "X$x" = "X-L$additional_libdir"; then
3435           haveit=yes
3436           break
3437         fi
3438       done
3439       if test -z "$haveit"; then
3440         if test "X$additional_libdir" = "X/usr/local/lib"; then
3441           if test -n "$GCC"; then
3442             case $host_os in
3443               linux*) haveit=yes;;
3444             esac
3445           fi
3446         fi
3447         if test -z "$haveit"; then
3448           if test -d "$additional_libdir"; then
3449             dnl Really add $additional_libdir to $LDFLAGS.
3450             LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
3451           fi
3452         fi
3453       fi
3454     fi
3455   fi
3456 ])
3457
3458 dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
3459 dnl acl_final_exec_prefix, containing the values to which $prefix and
3460 dnl $exec_prefix will expand at the end of the configure script.
3461 AC_DEFUN([AC_LIB_PREPARE_PREFIX],
3462 [
3463   dnl Unfortunately, prefix and exec_prefix get only finally determined
3464   dnl at the end of configure.
3465   if test "X$prefix" = "XNONE"; then
3466     acl_final_prefix="$ac_default_prefix"
3467   else
3468     acl_final_prefix="$prefix"
3469   fi
3470   if test "X$exec_prefix" = "XNONE"; then
3471     acl_final_exec_prefix='${prefix}'
3472   else
3473     acl_final_exec_prefix="$exec_prefix"
3474   fi
3475   acl_save_prefix="$prefix"
3476   prefix="$acl_final_prefix"
3477   eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
3478   prefix="$acl_save_prefix"
3479 ])
3480
3481 dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
3482 dnl variables prefix and exec_prefix bound to the values they will have
3483 dnl at the end of the configure script.
3484 AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
3485 [
3486   acl_save_prefix="$prefix"
3487   prefix="$acl_final_prefix"
3488   acl_save_exec_prefix="$exec_prefix"
3489   exec_prefix="$acl_final_exec_prefix"
3490   $1
3491   exec_prefix="$acl_save_exec_prefix"
3492   prefix="$acl_save_prefix"
3493 ])
3494 # nls.m4 serial 1 (gettext-0.12)
3495 dnl Copyright (C) 1995-2003 Free Software Foundation, Inc.
3496 dnl This file is free software, distributed under the terms of the GNU
3497 dnl General Public License.  As a special exception to the GNU General
3498 dnl Public License, this file may be distributed as part of a program
3499 dnl that contains a configuration script generated by Autoconf, under
3500 dnl the same distribution terms as the rest of that program.
3501 dnl
3502 dnl This file can can be used in projects which are not available under
3503 dnl the GNU General Public License or the GNU Library General Public
3504 dnl License but which still want to provide support for the GNU gettext
3505 dnl functionality.
3506 dnl Please note that the actual code of the GNU gettext library is covered
3507 dnl by the GNU Library General Public License, and the rest of the GNU
3508 dnl gettext package package is covered by the GNU General Public License.
3509 dnl They are *not* in the public domain.
3510
3511 dnl Authors:
3512 dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
3513 dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
3514
3515 AC_DEFUN([AM_NLS],
3516 [
3517   AC_MSG_CHECKING([whether NLS is requested])
3518   dnl Default is enabled NLS
3519   AC_ARG_ENABLE(nls,
3520     [  --disable-nls           do not use Native Language Support],
3521     USE_NLS=$enableval, USE_NLS=yes)
3522   AC_MSG_RESULT($USE_NLS)
3523   AC_SUBST(USE_NLS)
3524 ])
3525
3526 AC_DEFUN([AM_MKINSTALLDIRS],
3527 [
3528   dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
3529   dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
3530   dnl Try to locate it.
3531   MKINSTALLDIRS=
3532   if test -n "$ac_aux_dir"; then
3533     case "$ac_aux_dir" in
3534       /*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;;
3535       *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;;
3536     esac
3537   fi
3538   if test -z "$MKINSTALLDIRS"; then
3539     MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
3540   fi
3541   AC_SUBST(MKINSTALLDIRS)
3542 ])
3543 # po.m4 serial 1 (gettext-0.12)
3544 dnl Copyright (C) 1995-2003 Free Software Foundation, Inc.
3545 dnl This file is free software, distributed under the terms of the GNU
3546 dnl General Public License.  As a special exception to the GNU General
3547 dnl Public License, this file may be distributed as part of a program
3548 dnl that contains a configuration script generated by Autoconf, under
3549 dnl the same distribution terms as the rest of that program.
3550 dnl
3551 dnl This file can can be used in projects which are not available under
3552 dnl the GNU General Public License or the GNU Library General Public
3553 dnl License but which still want to provide support for the GNU gettext
3554 dnl functionality.
3555 dnl Please note that the actual code of the GNU gettext library is covered
3556 dnl by the GNU Library General Public License, and the rest of the GNU
3557 dnl gettext package package is covered by the GNU General Public License.
3558 dnl They are *not* in the public domain.
3559
3560 dnl Authors:
3561 dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
3562 dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
3563
3564 dnl Checks for all prerequisites of the po subdirectory.
3565 AC_DEFUN([AM_PO_SUBDIRS],
3566 [
3567   AC_REQUIRE([AC_PROG_MAKE_SET])dnl
3568   AC_REQUIRE([AC_PROG_INSTALL])dnl
3569   AC_REQUIRE([AM_MKINSTALLDIRS])dnl
3570   AC_REQUIRE([AM_NLS])dnl
3571
3572   dnl Perform the following tests also if --disable-nls has been given,
3573   dnl because they are needed for "make dist" to work.
3574
3575   dnl Search for GNU msgfmt in the PATH.
3576   dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
3577   dnl The second test excludes FreeBSD msgfmt.
3578   AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
3579     [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
3580      (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
3581     :)
3582   AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
3583
3584   dnl Search for GNU xgettext 0.12 or newer in the PATH.
3585   dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
3586   dnl The second test excludes FreeBSD xgettext.
3587   AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
3588     [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
3589      (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
3590     :)
3591   dnl Remove leftover from FreeBSD xgettext call.
3592   rm -f messages.po
3593
3594   dnl Search for GNU msgmerge 0.11 or newer in the PATH.
3595   AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
3596     [$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1], :)
3597
3598   dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
3599   dnl Test whether we really found GNU msgfmt.
3600   if test "$GMSGFMT" != ":"; then
3601     dnl If it is no GNU msgfmt we define it as : so that the
3602     dnl Makefiles still can work.
3603     if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
3604        (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
3605       : ;
3606     else
3607       GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
3608       AC_MSG_RESULT(
3609         [found $GMSGFMT program is not GNU msgfmt; ignore it])
3610       GMSGFMT=":"
3611     fi
3612   fi
3613
3614   dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
3615   dnl Test whether we really found GNU xgettext.
3616   if test "$XGETTEXT" != ":"; then
3617     dnl If it is no GNU xgettext we define it as : so that the
3618     dnl Makefiles still can work.
3619     if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
3620        (if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
3621       : ;
3622     else
3623       AC_MSG_RESULT(
3624         [found xgettext program is not GNU xgettext; ignore it])
3625       XGETTEXT=":"
3626     fi
3627     dnl Remove leftover from FreeBSD xgettext call.
3628     rm -f messages.po
3629   fi
3630
3631   AC_OUTPUT_COMMANDS([
3632     for ac_file in $CONFIG_FILES; do
3633       # Support "outfile[:infile[:infile...]]"
3634       case "$ac_file" in
3635         *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
3636       esac
3637       # PO directories have a Makefile.in generated from Makefile.in.in.
3638       case "$ac_file" in */Makefile.in)
3639         # Adjust a relative srcdir.
3640         ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
3641         ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
3642         ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
3643         # In autoconf-2.13 it is called $ac_given_srcdir.
3644         # In autoconf-2.50 it is called $srcdir.
3645         test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
3646         case "$ac_given_srcdir" in
3647           .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
3648           /*) top_srcdir="$ac_given_srcdir" ;;
3649           *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
3650         esac
3651         if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
3652           rm -f "$ac_dir/POTFILES"
3653           test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
3654           cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[   ]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
3655           POMAKEFILEDEPS="POTFILES.in"
3656           # ALL_LINGUAS, POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES depend
3657           # on $ac_dir but don't depend on user-specified configuration
3658           # parameters.
3659           if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
3660             # The LINGUAS file contains the set of available languages.
3661             if test -n "$OBSOLETE_ALL_LINGUAS"; then
3662               test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
3663             fi
3664             ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"`
3665             # Hide the ALL_LINGUAS assigment from automake.
3666             eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
3667             POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
3668           else
3669             # The set of available languages was given in configure.in.
3670             eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
3671           fi
3672           case "$ac_given_srcdir" in
3673             .) srcdirpre= ;;
3674             *) srcdirpre='$(srcdir)/' ;;
3675           esac
3676           POFILES=
3677           GMOFILES=
3678           UPDATEPOFILES=
3679           DUMMYPOFILES=
3680           for lang in $ALL_LINGUAS; do
3681             POFILES="$POFILES $srcdirpre$lang.po"
3682             GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
3683             UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
3684             DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
3685           done
3686           # CATALOGS depends on both $ac_dir and the user's LINGUAS
3687           # environment variable.
3688           INST_LINGUAS=
3689           if test -n "$ALL_LINGUAS"; then
3690             for presentlang in $ALL_LINGUAS; do
3691               useit=no
3692               if test "%UNSET%" != "$LINGUAS"; then
3693                 desiredlanguages="$LINGUAS"
3694               else
3695                 desiredlanguages="$ALL_LINGUAS"
3696               fi
3697               for desiredlang in $desiredlanguages; do
3698                 # Use the presentlang catalog if desiredlang is
3699                 #   a. equal to presentlang, or
3700                 #   b. a variant of presentlang (because in this case,
3701                 #      presentlang can be used as a fallback for messages
3702                 #      which are not translated in the desiredlang catalog).
3703                 case "$desiredlang" in
3704                   "$presentlang"*) useit=yes;;
3705                 esac
3706               done
3707               if test $useit = yes; then
3708                 INST_LINGUAS="$INST_LINGUAS $presentlang"
3709               fi
3710             done
3711           fi
3712           CATALOGS=
3713           if test -n "$INST_LINGUAS"; then
3714             for lang in $INST_LINGUAS; do
3715               CATALOGS="$CATALOGS $lang.gmo"
3716             done
3717           fi
3718           test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
3719           sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
3720           for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
3721             if test -f "$f"; then
3722               case "$f" in
3723                 *.orig | *.bak | *~) ;;
3724                 *) cat "$f" >> "$ac_dir/Makefile" ;;
3725               esac
3726             fi
3727           done
3728         fi
3729         ;;
3730       esac
3731     done],
3732    [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
3733     # POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, CATALOGS. But hide it
3734     # from automake.
3735     eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
3736     # Capture the value of LINGUAS because we need it to compute CATALOGS.
3737     LINGUAS="${LINGUAS-%UNSET%}"
3738    ])
3739 ])
3740 # progtest.m4 serial 3 (gettext-0.12)
3741 dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
3742 dnl This file is free software, distributed under the terms of the GNU
3743 dnl General Public License.  As a special exception to the GNU General
3744 dnl Public License, this file may be distributed as part of a program
3745 dnl that contains a configuration script generated by Autoconf, under
3746 dnl the same distribution terms as the rest of that program.
3747 dnl
3748 dnl This file can can be used in projects which are not available under
3749 dnl the GNU General Public License or the GNU Library General Public
3750 dnl License but which still want to provide support for the GNU gettext
3751 dnl functionality.
3752 dnl Please note that the actual code of the GNU gettext library is covered
3753 dnl by the GNU Library General Public License, and the rest of the GNU
3754 dnl gettext package package is covered by the GNU General Public License.
3755 dnl They are *not* in the public domain.
3756
3757 dnl Authors:
3758 dnl   Ulrich Drepper <drepper@cygnus.com>, 1996.
3759
3760 # Search path for a program which passes the given test.
3761
3762 dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
3763 dnl   TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
3764 AC_DEFUN([AM_PATH_PROG_WITH_TEST],
3765 [
3766 # Prepare PATH_SEPARATOR.
3767 # The user is always right.
3768 if test "${PATH_SEPARATOR+set}" != set; then
3769   echo "#! /bin/sh" >conf$$.sh
3770   echo  "exit 0"   >>conf$$.sh
3771   chmod +x conf$$.sh
3772   if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
3773     PATH_SEPARATOR=';'
3774   else
3775     PATH_SEPARATOR=:
3776   fi
3777   rm -f conf$$.sh
3778 fi
3779
3780 # Find out how to test for executable files. Don't use a zero-byte file,
3781 # as systems may use methods other than mode bits to determine executability.
3782 cat >conf$$.file <<_ASEOF
3783 #! /bin/sh
3784 exit 0
3785 _ASEOF
3786 chmod +x conf$$.file
3787 if test -x conf$$.file >/dev/null 2>&1; then
3788   ac_executable_p="test -x"
3789 else
3790   ac_executable_p="test -f"
3791 fi
3792 rm -f conf$$.file
3793
3794 # Extract the first word of "$2", so it can be a program name with args.
3795 set dummy $2; ac_word=[$]2
3796 AC_MSG_CHECKING([for $ac_word])
3797 AC_CACHE_VAL(ac_cv_path_$1,
3798 [case "[$]$1" in
3799   [[\\/]]* | ?:[[\\/]]*)
3800     ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
3801     ;;
3802   *)
3803     ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
3804     for ac_dir in ifelse([$5], , $PATH, [$5]); do
3805       IFS="$ac_save_IFS"
3806       test -z "$ac_dir" && ac_dir=.
3807       for ac_exec_ext in '' $ac_executable_extensions; do
3808         if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
3809           if [$3]; then
3810             ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext"
3811             break 2
3812           fi
3813         fi
3814       done
3815     done
3816     IFS="$ac_save_IFS"
3817 dnl If no 4th arg is given, leave the cache variable unset,
3818 dnl so AC_PATH_PROGS will keep looking.
3819 ifelse([$4], , , [  test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
3820 ])dnl
3821     ;;
3822 esac])dnl
3823 $1="$ac_cv_path_$1"
3824 if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
3825   AC_MSG_RESULT([$]$1)
3826 else
3827   AC_MSG_RESULT(no)
3828 fi
3829 AC_SUBST($1)dnl
3830 ])
3831 # stdint_h.m4 serial 3 (gettext-0.12)
3832 dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.
3833 dnl This file is free software, distributed under the terms of the GNU
3834 dnl General Public License.  As a special exception to the GNU General
3835 dnl Public License, this file may be distributed as part of a program
3836 dnl that contains a configuration script generated by Autoconf, under
3837 dnl the same distribution terms as the rest of that program.
3838
3839 dnl From Paul Eggert.
3840
3841 # Define HAVE_STDINT_H_WITH_UINTMAX if <stdint.h> exists,
3842 # doesn't clash with <sys/types.h>, and declares uintmax_t.
3843
3844 AC_DEFUN([jm_AC_HEADER_STDINT_H],
3845 [
3846   AC_CACHE_CHECK([for stdint.h], jm_ac_cv_header_stdint_h,
3847   [AC_TRY_COMPILE(
3848     [#include <sys/types.h>
3849 #include <stdint.h>],
3850     [uintmax_t i = (uintmax_t) -1;],
3851     jm_ac_cv_header_stdint_h=yes,
3852     jm_ac_cv_header_stdint_h=no)])
3853   if test $jm_ac_cv_header_stdint_h = yes; then
3854     AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1,
3855       [Define if <stdint.h> exists, doesn't clash with <sys/types.h>,
3856        and declares uintmax_t. ])
3857   fi
3858 ])
3859 # uintmax_t.m4 serial 7 (gettext-0.12)
3860 dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.
3861 dnl This file is free software, distributed under the terms of the GNU
3862 dnl General Public License.  As a special exception to the GNU General
3863 dnl Public License, this file may be distributed as part of a program
3864 dnl that contains a configuration script generated by Autoconf, under
3865 dnl the same distribution terms as the rest of that program.
3866
3867 dnl From Paul Eggert.
3868
3869 AC_PREREQ(2.13)
3870
3871 # Define uintmax_t to 'unsigned long' or 'unsigned long long'
3872 # if it is not already defined in <stdint.h> or <inttypes.h>.
3873
3874 AC_DEFUN([jm_AC_TYPE_UINTMAX_T],
3875 [
3876   AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
3877   AC_REQUIRE([jm_AC_HEADER_STDINT_H])
3878   if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then
3879     AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
3880     test $ac_cv_type_unsigned_long_long = yes \
3881       && ac_type='unsigned long long' \
3882       || ac_type='unsigned long'
3883     AC_DEFINE_UNQUOTED(uintmax_t, $ac_type,
3884       [Define to unsigned long or unsigned long long
3885        if <stdint.h> and <inttypes.h> don't define.])
3886   else
3887     AC_DEFINE(HAVE_UINTMAX_T, 1,
3888       [Define if you have the 'uintmax_t' type in <stdint.h> or <inttypes.h>.])
3889   fi
3890 ])
3891 # ulonglong.m4 serial 2 (fileutils-4.0.32, gettext-0.10.40)
3892 dnl Copyright (C) 1999-2002 Free Software Foundation, Inc.
3893 dnl This file is free software, distributed under the terms of the GNU
3894 dnl General Public License.  As a special exception to the GNU General
3895 dnl Public License, this file may be distributed as part of a program
3896 dnl that contains a configuration script generated by Autoconf, under
3897 dnl the same distribution terms as the rest of that program.
3898
3899 dnl From Paul Eggert.
3900
3901 AC_DEFUN([jm_AC_TYPE_UNSIGNED_LONG_LONG],
3902 [
3903   AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long,
3904   [AC_TRY_LINK([unsigned long long ull = 1; int i = 63;],
3905     [unsigned long long ullmax = (unsigned long long) -1;
3906      return ull << i | ull >> i | ullmax / ull | ullmax % ull;],
3907     ac_cv_type_unsigned_long_long=yes,
3908     ac_cv_type_unsigned_long_long=no)])
3909   if test $ac_cv_type_unsigned_long_long = yes; then
3910     AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1,
3911       [Define if you have the unsigned long long type.])
3912   fi
3913 ])