8a700845d5fadec758428e07603346ac4093781e
[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 # check for systems like FreeBSD 5 that only provide /dev/fd/[012]
1545    exec 3<&0
1546    if test -r /dev/fd/3; then
1547      bash_cv_dev_fd=standard
1548    else
1549      bash_cv_dev_fd=absent
1550    fi
1551    exec 3<&-
1552  elif test -d /proc/self/fd && test -r /proc/self/fd/0 < /dev/null; then
1553    bash_cv_dev_fd=whacky
1554  else
1555    bash_cv_dev_fd=absent
1556  fi
1557 ])
1558 AC_MSG_RESULT($bash_cv_dev_fd)
1559 if test $bash_cv_dev_fd = "standard"; then
1560   AC_DEFINE(HAVE_DEV_FD)
1561   AC_DEFINE(DEV_FD_PREFIX, "/dev/fd/")
1562 elif test $bash_cv_dev_fd = "whacky"; then
1563   AC_DEFINE(HAVE_DEV_FD)
1564   AC_DEFINE(DEV_FD_PREFIX, "/proc/self/fd/")
1565 fi
1566 ])
1567
1568 AC_DEFUN(BASH_CHECK_DEV_STDIN,
1569 [AC_MSG_CHECKING(whether /dev/stdin stdout stderr are available)
1570 AC_CACHE_VAL(bash_cv_dev_stdin,
1571 [if test -d /dev/fd && test -r /dev/stdin < /dev/null; then
1572    bash_cv_dev_stdin=present
1573  elif test -d /proc/self/fd && test -r /dev/stdin < /dev/null; then
1574    bash_cv_dev_stdin=present
1575  else
1576    bash_cv_dev_stdin=absent
1577  fi
1578 ])
1579 AC_MSG_RESULT($bash_cv_dev_stdin)
1580 if test $bash_cv_dev_stdin = "present"; then
1581   AC_DEFINE(HAVE_DEV_STDIN)
1582 fi
1583 ])
1584
1585 dnl
1586 dnl Check if HPUX needs _KERNEL defined for RLIMIT_* definitions
1587 dnl
1588 AC_DEFUN(BASH_CHECK_KERNEL_RLIMIT,
1589 [AC_MSG_CHECKING([whether $host_os needs _KERNEL for RLIMIT defines])
1590 AC_CACHE_VAL(bash_cv_kernel_rlimit,
1591 [AC_TRY_COMPILE([
1592 #include <sys/types.h>
1593 #include <sys/resource.h>
1594 ],
1595 [
1596   int f;
1597   f = RLIMIT_DATA;
1598 ], bash_cv_kernel_rlimit=no,
1599 [AC_TRY_COMPILE([
1600 #include <sys/types.h>
1601 #define _KERNEL
1602 #include <sys/resource.h>
1603 #undef _KERNEL
1604 ],
1605 [
1606         int f;
1607         f = RLIMIT_DATA;
1608 ], bash_cv_kernel_rlimit=yes, bash_cv_kernel_rlimit=no)]
1609 )])
1610 AC_MSG_RESULT($bash_cv_kernel_rlimit)
1611 if test $bash_cv_kernel_rlimit = yes; then
1612 AC_DEFINE(RLIMIT_NEEDS_KERNEL)
1613 fi
1614 ])
1615
1616 dnl
1617 dnl Check for 64-bit off_t -- used for malloc alignment
1618 dnl
1619 dnl C does not allow duplicate case labels, so the compile will fail if
1620 dnl sizeof(off_t) is > 4.
1621 dnl
1622 AC_DEFUN(BASH_CHECK_OFF_T_64,
1623 [AC_CACHE_CHECK(for 64-bit off_t, bash_cv_off_t_64,
1624 AC_TRY_COMPILE([
1625 #ifdef HAVE_UNISTD_H
1626 #include <unistd.h>
1627 #endif
1628 #include <sys/types.h>
1629 ],[
1630 switch (0) case 0: case (sizeof (off_t) <= 4):;
1631 ], bash_cv_off_t_64=no, bash_cv_off_t_64=yes))
1632 if test $bash_cv_off_t_64 = yes; then
1633         AC_DEFINE(HAVE_OFF_T_64)
1634 fi])
1635
1636 AC_DEFUN(BASH_CHECK_RTSIGS,
1637 [AC_MSG_CHECKING(for unusable real-time signals due to large values)
1638 AC_CACHE_VAL(bash_cv_unusable_rtsigs,
1639 [AC_TRY_RUN([
1640 #include <sys/types.h>
1641 #include <signal.h>
1642
1643 #ifndef NSIG
1644 #  define NSIG 64
1645 #endif
1646
1647 main ()
1648 {
1649   int n_sigs = 2 * NSIG;
1650 #ifdef SIGRTMIN
1651   int rtmin = SIGRTMIN;
1652 #else
1653   int rtmin = 0;
1654 #endif
1655
1656   exit(rtmin < n_sigs);
1657 }], bash_cv_unusable_rtsigs=yes, bash_cv_unusable_rtsigs=no,
1658     [AC_MSG_WARN(cannot check real-time signals if cross compiling -- defaulting to yes)
1659      bash_cv_unusable_rtsigs=yes]
1660 )])
1661 AC_MSG_RESULT($bash_cv_unusable_rtsigs)
1662 if test $bash_cv_unusable_rtsigs = yes; then
1663 AC_DEFINE(UNUSABLE_RT_SIGNALS)
1664 fi
1665 ])
1666
1667 dnl
1668 dnl check for availability of multibyte characters and functions
1669 dnl
1670 AC_DEFUN(BASH_CHECK_MULTIBYTE,
1671 [
1672 AC_CHECK_HEADERS(wctype.h)
1673 AC_CHECK_HEADERS(wchar.h)
1674 AC_CHECK_HEADERS(langinfo.h)
1675
1676 AC_CHECK_FUNC(mbsrtowcs, AC_DEFINE(HAVE_MBSRTOWCS))
1677 AC_CHECK_FUNC(mbrtowc, AC_DEFINE(HAVE_MBRTOWC))
1678 AC_CHECK_FUNC(mbrlen, AC_DEFINE(HAVE_MBRLEN))
1679 AC_CHECK_FUNC(wctomb, AC_DEFINE(HAVE_WCTOMB))
1680 AC_CHECK_FUNC(wcwidth, AC_DEFINE(HAVE_WCWIDTH))
1681 AC_CHECK_FUNC(wcsdup, AC_DEFINE(HAVE_WCSDUP))
1682
1683 AC_CACHE_CHECK([for mbstate_t], bash_cv_have_mbstate_t,
1684 [AC_TRY_COMPILE([
1685 #include <wchar.h>], [
1686   mbstate_t ps;
1687   mbstate_t *psp;
1688   psp = (mbstate_t *)0;
1689 ], bash_cv_have_mbstate_t=yes,  bash_cv_have_mbstate_t=no)])
1690 if test $bash_cv_have_mbstate_t = yes; then
1691         AC_DEFINE(HAVE_MBSTATE_T)
1692 fi
1693
1694 AC_CACHE_CHECK([for nl_langinfo and CODESET], bash_cv_langinfo_codeset,
1695 [AC_TRY_LINK(
1696 [#include <langinfo.h>],
1697 [char* cs = nl_langinfo(CODESET);],
1698 bash_cv_langinfo_codeset=yes, bash_cv_langinfo_codeset=no)])
1699 if test $bash_cv_langinfo_codeset = yes; then
1700   AC_DEFINE(HAVE_LANGINFO_CODESET)
1701 fi
1702
1703 ])
1704
1705 dnl need: prefix exec_prefix libdir includedir CC TERMCAP_LIB
1706 dnl require:
1707 dnl     AC_PROG_CC
1708 dnl     BASH_CHECK_LIB_TERMCAP
1709
1710 AC_DEFUN(RL_LIB_READLINE_VERSION,
1711 [
1712 AC_REQUIRE([BASH_CHECK_LIB_TERMCAP])
1713
1714 AC_MSG_CHECKING([version of installed readline library])
1715
1716 # What a pain in the ass this is.
1717
1718 # save cpp and ld options
1719 _save_CFLAGS="$CFLAGS"
1720 _save_LDFLAGS="$LDFLAGS"
1721 _save_LIBS="$LIBS"
1722
1723 # Don't set ac_cv_rl_prefix if the caller has already assigned a value.  This
1724 # allows the caller to do something like $_rl_prefix=$withval if the user
1725 # specifies --with-installed-readline=PREFIX as an argument to configure
1726
1727 if test -z "$ac_cv_rl_prefix"; then
1728 test "x$prefix" = xNONE && ac_cv_rl_prefix=$ac_default_prefix || ac_cv_rl_prefix=${prefix}
1729 fi
1730
1731 eval ac_cv_rl_includedir=${ac_cv_rl_prefix}/include
1732 eval ac_cv_rl_libdir=${ac_cv_rl_prefix}/lib
1733
1734 LIBS="$LIBS -lreadline ${TERMCAP_LIB}"
1735 CFLAGS="$CFLAGS -I${ac_cv_rl_includedir}"
1736 LDFLAGS="$LDFLAGS -L${ac_cv_rl_libdir}"
1737
1738 AC_CACHE_VAL(ac_cv_rl_version,
1739 [AC_TRY_RUN([
1740 #include <stdio.h>
1741 #include <readline/readline.h>
1742
1743 extern int rl_gnu_readline_p;
1744
1745 main()
1746 {
1747         FILE *fp;
1748         fp = fopen("conftest.rlv", "w");
1749         if (fp == 0)
1750                 exit(1);
1751         if (rl_gnu_readline_p != 1)
1752                 fprintf(fp, "0.0\n");
1753         else
1754                 fprintf(fp, "%s\n", rl_library_version ? rl_library_version : "0.0");
1755         fclose(fp);
1756         exit(0);
1757 }
1758 ],
1759 ac_cv_rl_version=`cat conftest.rlv`,
1760 ac_cv_rl_version='0.0',
1761 ac_cv_rl_version='4.2')])
1762
1763 CFLAGS="$_save_CFLAGS"
1764 LDFLAGS="$_save_LDFLAGS"
1765 LIBS="$_save_LIBS"
1766
1767 RL_MAJOR=0
1768 RL_MINOR=0
1769
1770 # (
1771 case "$ac_cv_rl_version" in
1772 2*|3*|4*|5*|6*|7*|8*|9*)
1773         RL_MAJOR=`echo $ac_cv_rl_version | sed 's:\..*$::'`
1774         RL_MINOR=`echo $ac_cv_rl_version | sed -e 's:^.*\.::' -e 's:[[a-zA-Z]]*$::'`
1775         ;;
1776 esac
1777
1778 # (((
1779 case $RL_MAJOR in
1780 [[0-9][0-9]])   _RL_MAJOR=$RL_MAJOR ;;
1781 [[0-9]])        _RL_MAJOR=0$RL_MAJOR ;;
1782 *)              _RL_MAJOR=00 ;;
1783 esac
1784
1785 # (((
1786 case $RL_MINOR in
1787 [[0-9][0-9]])   _RL_MINOR=$RL_MINOR ;;
1788 [[0-9]])        _RL_MINOR=0$RL_MINOR ;;
1789 *)              _RL_MINOR=00 ;;
1790 esac
1791
1792 RL_VERSION="0x${_RL_MAJOR}${_RL_MINOR}"
1793
1794 # Readline versions greater than 4.2 have these defines in readline.h
1795
1796 if test $ac_cv_rl_version = '0.0' ; then
1797         AC_MSG_WARN([Could not test version of installed readline library.])
1798 elif test $RL_MAJOR -gt 4 || { test $RL_MAJOR = 4 && test $RL_MINOR -gt 2 ; } ; then
1799         # set these for use by the caller
1800         RL_PREFIX=$ac_cv_rl_prefix
1801         RL_LIBDIR=$ac_cv_rl_libdir
1802         RL_INCLUDEDIR=$ac_cv_rl_includedir
1803         AC_MSG_RESULT($ac_cv_rl_version)
1804 else
1805
1806 AC_DEFINE_UNQUOTED(RL_READLINE_VERSION, $RL_VERSION, [encoded version of the installed readline library])
1807 AC_DEFINE_UNQUOTED(RL_VERSION_MAJOR, $RL_MAJOR, [major version of installed readline library])
1808 AC_DEFINE_UNQUOTED(RL_VERSION_MINOR, $RL_MINOR, [minor version of installed readline library])
1809
1810 AC_SUBST(RL_VERSION)
1811 AC_SUBST(RL_MAJOR)
1812 AC_SUBST(RL_MINOR)
1813
1814 # set these for use by the caller
1815 RL_PREFIX=$ac_cv_rl_prefix
1816 RL_LIBDIR=$ac_cv_rl_libdir
1817 RL_INCLUDEDIR=$ac_cv_rl_includedir
1818
1819 AC_MSG_RESULT($ac_cv_rl_version)
1820
1821 fi
1822 ])
1823
1824 AC_DEFUN(BASH_FUNC_CTYPE_NONASCII,
1825 [
1826 AC_MSG_CHECKING(whether the ctype macros accept non-ascii characters)
1827 AC_CACHE_VAL(bash_cv_func_ctype_nonascii,
1828 [AC_TRY_RUN([
1829 #ifdef HAVE_LOCALE_H
1830 #include <locale.h>
1831 #endif
1832 #include <stdio.h>
1833 #include <ctype.h>
1834
1835 main(c, v)
1836 int     c;
1837 char    *v[];
1838 {
1839         char    *deflocale;
1840         unsigned char x;
1841         int     r1, r2;
1842
1843 #ifdef HAVE_SETLOCALE
1844         /* We take a shot here.  If that locale is not known, try the
1845            system default.  We try this one because '\342' (226) is
1846            known to be a printable character in that locale. */
1847         deflocale = setlocale(LC_ALL, "en_US.ISO8859-1");
1848         if (deflocale == 0)
1849                 deflocale = setlocale(LC_ALL, "");
1850 #endif
1851
1852         x = '\342';
1853         r1 = isprint(x);
1854         x -= 128;
1855         r2 = isprint(x);
1856         exit (r1 == 0 || r2 == 0);
1857 }
1858 ], bash_cv_func_ctype_nonascii=yes, bash_cv_func_ctype_nonascii=no,
1859    [AC_MSG_WARN(cannot check ctype macros if cross compiling -- defaulting to no)
1860     bash_cv_func_ctype_nonascii=no]
1861 )])
1862 AC_MSG_RESULT($bash_cv_func_ctype_nonascii)
1863 if test $bash_cv_func_ctype_nonascii = yes; then
1864 AC_DEFINE(CTYPE_NON_ASCII)
1865 fi
1866 ])
1867
1868 AC_DEFUN(BASH_CHECK_WCONTINUED,
1869 [
1870 AC_MSG_CHECKING(whether WCONTINUED flag to waitpid is unavailable or available but broken)
1871 AC_CACHE_VAL(bash_cv_wcontinued_broken,
1872 [AC_TRY_RUN([
1873 #include <sys/types.h>
1874 #include <sys/wait.h>
1875 #include <unistd.h>
1876 #include <errno.h>
1877
1878 #ifndef errno
1879 extern int errno;
1880 #endif
1881 main()
1882 {
1883         int     x;
1884
1885         x = waitpid(-1, (int *)0, WNOHANG|WCONTINUED);
1886         if (x == -1 && errno == EINVAL)
1887                 exit (1);
1888         else
1889                 exit (0);
1890 }
1891 ], bash_cv_wcontinued_broken=no,bash_cv_wcontinued_broken=yes,
1892    [AC_MSG_WARN(cannot check WCONTINUED if cross compiling -- defaulting to no)
1893     bash_cv_wcontinued_broken=no]
1894 )])
1895 AC_MSG_RESULT($bash_cv_wcontinued_broken)
1896 if test $bash_cv_wcontinued_broken = yes; then
1897 AC_DEFINE(WCONTINUED_BROKEN)
1898 fi
1899 ])
1900
1901 dnl
1902 dnl tests added for bashdb
1903 dnl
1904
1905
1906 AC_DEFUN([AM_PATH_LISPDIR],
1907  [AC_ARG_WITH(lispdir, AC_HELP_STRING([--with-lispdir], [override the default lisp directory]),
1908   [ lispdir="$withval" 
1909     AC_MSG_CHECKING([where .elc files should go])
1910     AC_MSG_RESULT([$lispdir])],
1911   [
1912   # If set to t, that means we are running in a shell under Emacs.
1913   # If you have an Emacs named "t", then use the full path.
1914   test x"$EMACS" = xt && EMACS=
1915   AC_CHECK_PROGS(EMACS, emacs xemacs, no)
1916   if test $EMACS != "no"; then
1917     if test x${lispdir+set} != xset; then
1918       AC_CACHE_CHECK([where .elc files should go], [am_cv_lispdir], [dnl
1919         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;}'`
1920         if test -z "$am_cv_lispdir"; then
1921           am_cv_lispdir='${datadir}/emacs/site-lisp'
1922         fi
1923       ])
1924       lispdir="$am_cv_lispdir"
1925     fi
1926   fi
1927  ])
1928  AC_SUBST(lispdir)
1929 ])
1930
1931 dnl
1932 dnl tests added for gettext
1933 dnl
1934 # codeset.m4 serial AM1 (gettext-0.10.40)
1935 dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
1936 dnl This file is free software, distributed under the terms of the GNU
1937 dnl General Public License.  As a special exception to the GNU General
1938 dnl Public License, this file may be distributed as part of a program
1939 dnl that contains a configuration script generated by Autoconf, under
1940 dnl the same distribution terms as the rest of that program.
1941
1942 dnl From Bruno Haible.
1943
1944 AC_DEFUN([AM_LANGINFO_CODESET],
1945 [
1946   AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
1947     [AC_TRY_LINK([#include <langinfo.h>],
1948       [char* cs = nl_langinfo(CODESET);],
1949       am_cv_langinfo_codeset=yes,
1950       am_cv_langinfo_codeset=no)
1951     ])
1952   if test $am_cv_langinfo_codeset = yes; then
1953     AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
1954       [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
1955   fi
1956 ])
1957 # gettext.m4 serial 20 (gettext-0.12)
1958 dnl Copyright (C) 1995-2003 Free Software Foundation, Inc.
1959 dnl This file is free software, distributed under the terms of the GNU
1960 dnl General Public License.  As a special exception to the GNU General
1961 dnl Public License, this file may be distributed as part of a program
1962 dnl that contains a configuration script generated by Autoconf, under
1963 dnl the same distribution terms as the rest of that program.
1964 dnl
1965 dnl This file can can be used in projects which are not available under
1966 dnl the GNU General Public License or the GNU Library General Public
1967 dnl License but which still want to provide support for the GNU gettext
1968 dnl functionality.
1969 dnl Please note that the actual code of the GNU gettext library is covered
1970 dnl by the GNU Library General Public License, and the rest of the GNU
1971 dnl gettext package package is covered by the GNU General Public License.
1972 dnl They are *not* in the public domain.
1973
1974 dnl Authors:
1975 dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
1976 dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
1977
1978 dnl Macro to add for using GNU gettext.
1979
1980 dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
1981 dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
1982 dnl    default (if it is not specified or empty) is 'no-libtool'.
1983 dnl    INTLSYMBOL should be 'external' for packages with no intl directory,
1984 dnl    and 'no-libtool' or 'use-libtool' for packages with an intl directory.
1985 dnl    If INTLSYMBOL is 'use-libtool', then a libtool library
1986 dnl    $(top_builddir)/intl/libintl.la will be created (shared and/or static,
1987 dnl    depending on --{enable,disable}-{shared,static} and on the presence of
1988 dnl    AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
1989 dnl    $(top_builddir)/intl/libintl.a will be created.
1990 dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
1991 dnl    implementations (in libc or libintl) without the ngettext() function
1992 dnl    will be ignored.  If NEEDSYMBOL is specified and is
1993 dnl    'need-formatstring-macros', then GNU gettext implementations that don't
1994 dnl    support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
1995 dnl INTLDIR is used to find the intl libraries.  If empty,
1996 dnl    the value `$(top_builddir)/intl/' is used.
1997 dnl
1998 dnl The result of the configuration is one of three cases:
1999 dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
2000 dnl    and used.
2001 dnl    Catalog format: GNU --> install in $(datadir)
2002 dnl    Catalog extension: .mo after installation, .gmo in source tree
2003 dnl 2) GNU gettext has been found in the system's C library.
2004 dnl    Catalog format: GNU --> install in $(datadir)
2005 dnl    Catalog extension: .mo after installation, .gmo in source tree
2006 dnl 3) No internationalization, always use English msgid.
2007 dnl    Catalog format: none
2008 dnl    Catalog extension: none
2009 dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
2010 dnl The use of .gmo is historical (it was needed to avoid overwriting the
2011 dnl GNU format catalogs when building on a platform with an X/Open gettext),
2012 dnl but we keep it in order not to force irrelevant filename changes on the
2013 dnl maintainers.
2014 dnl
2015 AC_DEFUN([AM_GNU_GETTEXT],
2016 [
2017   dnl Argument checking.
2018   ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
2019     [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
2020 ])])])])])
2021   ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
2022     [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
2023 ])])])])
2024   define(gt_included_intl, ifelse([$1], [external], [no], [yes]))
2025   define(gt_libtool_suffix_prefix, ifelse([$1], [use-libtool], [l], []))
2026
2027   AC_REQUIRE([AM_PO_SUBDIRS])dnl
2028   ifelse(gt_included_intl, yes, [
2029     AC_REQUIRE([AM_INTL_SUBDIR])dnl
2030   ])
2031
2032   dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
2033   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
2034   AC_REQUIRE([AC_LIB_RPATH])
2035
2036   dnl Sometimes libintl requires libiconv, so first search for libiconv.
2037   dnl Ideally we would do this search only after the
2038   dnl      if test "$USE_NLS" = "yes"; then
2039   dnl        if test "$gt_cv_func_gnugettext_libc" != "yes"; then
2040   dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
2041   dnl the configure script would need to contain the same shell code
2042   dnl again, outside any 'if'. There are two solutions:
2043   dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
2044   dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
2045   dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
2046   dnl documented, we avoid it.
2047   ifelse(gt_included_intl, yes, , [
2048     AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
2049   ])
2050
2051   dnl Set USE_NLS.
2052   AM_NLS
2053
2054   ifelse(gt_included_intl, yes, [
2055     BUILD_INCLUDED_LIBINTL=no
2056     USE_INCLUDED_LIBINTL=no
2057   ])
2058   LIBINTL=
2059   LTLIBINTL=
2060   POSUB=
2061
2062   dnl If we use NLS figure out what method
2063   if test "$USE_NLS" = "yes"; then
2064     gt_use_preinstalled_gnugettext=no
2065     ifelse(gt_included_intl, yes, [
2066       AC_MSG_CHECKING([whether included gettext is requested])
2067       AC_ARG_WITH(included-gettext,
2068         [  --with-included-gettext use the GNU gettext library included here],
2069         nls_cv_force_use_gnu_gettext=$withval,
2070         nls_cv_force_use_gnu_gettext=no)
2071       AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
2072
2073       nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
2074       if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
2075     ])
2076         dnl User does not insist on using GNU NLS library.  Figure out what
2077         dnl to use.  If GNU gettext is available we use this.  Else we have
2078         dnl to fall back to GNU NLS library.
2079
2080         dnl Add a version number to the cache macros.
2081         define([gt_api_version], ifelse([$2], [need-formatstring-macros], 3, ifelse([$2], [need-ngettext], 2, 1)))
2082         define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc])
2083         define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl])
2084
2085         AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
2086          [AC_TRY_LINK([#include <libintl.h>
2087 ]ifelse([$2], [need-formatstring-macros],
2088 [#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
2089 #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
2090 #endif
2091 changequote(,)dnl
2092 typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
2093 changequote([,])dnl
2094 ], [])[extern int _nl_msg_cat_cntr;
2095 extern int *_nl_domain_bindings;],
2096             [bindtextdomain ("", "");
2097 return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings],
2098             gt_cv_func_gnugettext_libc=yes,
2099             gt_cv_func_gnugettext_libc=no)])
2100
2101         if test "$gt_cv_func_gnugettext_libc" != "yes"; then
2102           dnl Sometimes libintl requires libiconv, so first search for libiconv.
2103           ifelse(gt_included_intl, yes, , [
2104             AM_ICONV_LINK
2105           ])
2106           dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
2107           dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
2108           dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
2109           dnl even if libiconv doesn't exist.
2110           AC_LIB_LINKFLAGS_BODY([intl])
2111           AC_CACHE_CHECK([for GNU gettext in libintl],
2112             gt_cv_func_gnugettext_libintl,
2113            [gt_save_CPPFLAGS="$CPPFLAGS"
2114             CPPFLAGS="$CPPFLAGS $INCINTL"
2115             gt_save_LIBS="$LIBS"
2116             LIBS="$LIBS $LIBINTL"
2117             dnl Now see whether libintl exists and does not depend on libiconv.
2118             AC_TRY_LINK([#include <libintl.h>
2119 ]ifelse([$2], [need-formatstring-macros],
2120 [#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
2121 #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
2122 #endif
2123 changequote(,)dnl
2124 typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
2125 changequote([,])dnl
2126 ], [])[extern int _nl_msg_cat_cntr;
2127 extern
2128 #ifdef __cplusplus
2129 "C"
2130 #endif
2131 const char *_nl_expand_alias ();],
2132               [bindtextdomain ("", "");
2133 return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
2134               gt_cv_func_gnugettext_libintl=yes,
2135               gt_cv_func_gnugettext_libintl=no)
2136             dnl Now see whether libintl exists and depends on libiconv.
2137             if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then
2138               LIBS="$LIBS $LIBICONV"
2139               AC_TRY_LINK([#include <libintl.h>
2140 ]ifelse([$2], [need-formatstring-macros],
2141 [#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
2142 #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
2143 #endif
2144 changequote(,)dnl
2145 typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
2146 changequote([,])dnl
2147 ], [])[extern int _nl_msg_cat_cntr;
2148 extern
2149 #ifdef __cplusplus
2150 "C"
2151 #endif
2152 const char *_nl_expand_alias ();],
2153                 [bindtextdomain ("", "");
2154 return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
2155                [LIBINTL="$LIBINTL $LIBICONV"
2156                 LTLIBINTL="$LTLIBINTL $LTLIBICONV"
2157                 gt_cv_func_gnugettext_libintl=yes
2158                ])
2159             fi
2160             CPPFLAGS="$gt_save_CPPFLAGS"
2161             LIBS="$gt_save_LIBS"])
2162         fi
2163
2164         dnl If an already present or preinstalled GNU gettext() is found,
2165         dnl use it.  But if this macro is used in GNU gettext, and GNU
2166         dnl gettext is already preinstalled in libintl, we update this
2167         dnl libintl.  (Cf. the install rule in intl/Makefile.in.)
2168         if test "$gt_cv_func_gnugettext_libc" = "yes" \
2169            || { test "$gt_cv_func_gnugettext_libintl" = "yes" \
2170                 && test "$PACKAGE" != gettext-runtime \
2171                 && test "$PACKAGE" != gettext-tools; }; then
2172           gt_use_preinstalled_gnugettext=yes
2173         else
2174           dnl Reset the values set by searching for libintl.
2175           LIBINTL=
2176           LTLIBINTL=
2177           INCINTL=
2178         fi
2179
2180     ifelse(gt_included_intl, yes, [
2181         if test "$gt_use_preinstalled_gnugettext" != "yes"; then
2182           dnl GNU gettext is not found in the C library.
2183           dnl Fall back on included GNU gettext library.
2184           nls_cv_use_gnu_gettext=yes
2185         fi
2186       fi
2187
2188       if test "$nls_cv_use_gnu_gettext" = "yes"; then
2189         dnl Mark actions used to generate GNU NLS library.
2190         BUILD_INCLUDED_LIBINTL=yes
2191         USE_INCLUDED_LIBINTL=yes
2192         LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV"
2193         LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV"
2194         LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
2195       fi
2196
2197       if test "$gt_use_preinstalled_gnugettext" = "yes" \
2198          || test "$nls_cv_use_gnu_gettext" = "yes"; then
2199         dnl Mark actions to use GNU gettext tools.
2200         CATOBJEXT=.gmo
2201       fi
2202     ])
2203
2204     if test "$gt_use_preinstalled_gnugettext" = "yes" \
2205        || test "$nls_cv_use_gnu_gettext" = "yes"; then
2206       AC_DEFINE(ENABLE_NLS, 1,
2207         [Define to 1 if translation of program messages to the user's native language
2208    is requested.])
2209     else
2210       USE_NLS=no
2211     fi
2212   fi
2213
2214   AC_MSG_CHECKING([whether to use NLS])
2215   AC_MSG_RESULT([$USE_NLS])
2216   if test "$USE_NLS" = "yes"; then
2217     AC_MSG_CHECKING([where the gettext function comes from])
2218     if test "$gt_use_preinstalled_gnugettext" = "yes"; then
2219       if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
2220         gt_source="external libintl"
2221       else
2222         gt_source="libc"
2223       fi
2224     else
2225       gt_source="included intl directory"
2226     fi
2227     AC_MSG_RESULT([$gt_source])
2228   fi
2229
2230   if test "$USE_NLS" = "yes"; then
2231
2232     if test "$gt_use_preinstalled_gnugettext" = "yes"; then
2233       if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
2234         AC_MSG_CHECKING([how to link with libintl])
2235         AC_MSG_RESULT([$LIBINTL])
2236         AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
2237       fi
2238
2239       dnl For backward compatibility. Some packages may be using this.
2240       AC_DEFINE(HAVE_GETTEXT, 1,
2241        [Define if the GNU gettext() function is already present or preinstalled.])
2242       AC_DEFINE(HAVE_DCGETTEXT, 1,
2243        [Define if the GNU dcgettext() function is already present or preinstalled.])
2244     fi
2245
2246     dnl We need to process the po/ directory.
2247     POSUB=po
2248   fi
2249
2250   ifelse(gt_included_intl, yes, [
2251     dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
2252     dnl to 'yes' because some of the testsuite requires it.
2253     if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then
2254       BUILD_INCLUDED_LIBINTL=yes
2255     fi
2256
2257     dnl Make all variables we use known to autoconf.
2258     AC_SUBST(BUILD_INCLUDED_LIBINTL)
2259     AC_SUBST(USE_INCLUDED_LIBINTL)
2260     AC_SUBST(CATOBJEXT)
2261
2262     dnl For backward compatibility. Some configure.ins may be using this.
2263     nls_cv_header_intl=
2264     nls_cv_header_libgt=
2265
2266     dnl For backward compatibility. Some Makefiles may be using this.
2267     DATADIRNAME=share
2268     AC_SUBST(DATADIRNAME)
2269
2270     dnl For backward compatibility. Some Makefiles may be using this.
2271     INSTOBJEXT=.mo
2272     AC_SUBST(INSTOBJEXT)
2273
2274     dnl For backward compatibility. Some Makefiles may be using this.
2275     GENCAT=gencat
2276     AC_SUBST(GENCAT)
2277
2278     dnl For backward compatibility. Some Makefiles may be using this.
2279     if test "$USE_INCLUDED_LIBINTL" = yes; then
2280       INTLOBJS="\$(GETTOBJS)"
2281     fi
2282     AC_SUBST(INTLOBJS)
2283
2284     dnl Enable libtool support if the surrounding package wishes it.
2285     INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
2286     AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
2287   ])
2288
2289   dnl For backward compatibility. Some Makefiles may be using this.
2290   INTLLIBS="$LIBINTL"
2291   AC_SUBST(INTLLIBS)
2292
2293   dnl Make all documented variables known to autoconf.
2294   AC_SUBST(LIBINTL)
2295   AC_SUBST(LTLIBINTL)
2296   AC_SUBST(POSUB)
2297 ])
2298
2299
2300 dnl Checks for all prerequisites of the intl subdirectory,
2301 dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS,
2302 dnl            USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
2303 AC_DEFUN([AM_INTL_SUBDIR],
2304 [
2305   AC_REQUIRE([AC_PROG_INSTALL])dnl
2306   AC_REQUIRE([AM_MKINSTALLDIRS])dnl
2307   AC_REQUIRE([AC_PROG_CC])dnl
2308   AC_REQUIRE([AC_CANONICAL_HOST])dnl
2309   AC_REQUIRE([AC_PROG_RANLIB])dnl
2310   AC_REQUIRE([AC_ISC_POSIX])dnl
2311   AC_REQUIRE([AC_HEADER_STDC])dnl
2312   AC_REQUIRE([AC_C_CONST])dnl
2313   AC_REQUIRE([AC_C_INLINE])dnl
2314   AC_REQUIRE([AC_TYPE_OFF_T])dnl
2315   AC_REQUIRE([AC_TYPE_SIZE_T])dnl
2316   AC_REQUIRE([AC_FUNC_ALLOCA])dnl
2317   AC_REQUIRE([AC_FUNC_MMAP])dnl
2318   AC_REQUIRE([jm_GLIBC21])dnl
2319   AC_REQUIRE([gt_INTDIV0])dnl
2320   AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])dnl
2321   AC_REQUIRE([gt_HEADER_INTTYPES_H])dnl
2322   AC_REQUIRE([gt_INTTYPES_PRI])dnl
2323
2324   AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
2325 stdlib.h string.h unistd.h sys/param.h])
2326   AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \
2327 geteuid getgid getuid mempcpy munmap putenv setenv setlocale stpcpy \
2328 strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next \
2329 __fsetlocking])
2330
2331   AM_ICONV
2332   AM_LANGINFO_CODESET
2333   if test $ac_cv_header_locale_h = yes; then
2334     AM_LC_MESSAGES
2335   fi
2336
2337   dnl intl/plural.c is generated from intl/plural.y. It requires bison,
2338   dnl because plural.y uses bison specific features. It requires at least
2339   dnl bison-1.26 because earlier versions generate a plural.c that doesn't
2340   dnl compile.
2341   dnl bison is only needed for the maintainer (who touches plural.y). But in
2342   dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
2343   dnl the rule in general Makefile. Now, some people carelessly touch the
2344   dnl files or have a broken "make" program, hence the plural.c rule will
2345   dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
2346   dnl present or too old.
2347   AC_CHECK_PROGS([INTLBISON], [bison])
2348   if test -z "$INTLBISON"; then
2349     ac_verc_fail=yes
2350   else
2351     dnl Found it, now check the version.
2352     AC_MSG_CHECKING([version of bison])
2353 changequote(<<,>>)dnl
2354     ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
2355     case $ac_prog_version in
2356       '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
2357       1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
2358 changequote([,])dnl
2359          ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
2360       *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
2361     esac
2362     AC_MSG_RESULT([$ac_prog_version])
2363   fi
2364   if test $ac_verc_fail = yes; then
2365     INTLBISON=:
2366   fi
2367 ])
2368
2369
2370 dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
2371 AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
2372 # glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40)
2373 dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
2374 dnl This file is free software, distributed under the terms of the GNU
2375 dnl General Public License.  As a special exception to the GNU General
2376 dnl Public License, this file may be distributed as part of a program
2377 dnl that contains a configuration script generated by Autoconf, under
2378 dnl the same distribution terms as the rest of that program.
2379
2380 # Test for the GNU C Library, version 2.1 or newer.
2381 # From Bruno Haible.
2382
2383 AC_DEFUN([jm_GLIBC21],
2384   [
2385     AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
2386       ac_cv_gnu_library_2_1,
2387       [AC_EGREP_CPP([Lucky GNU user],
2388         [
2389 #include <features.h>
2390 #ifdef __GNU_LIBRARY__
2391  #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
2392   Lucky GNU user
2393  #endif
2394 #endif
2395         ],
2396         ac_cv_gnu_library_2_1=yes,
2397         ac_cv_gnu_library_2_1=no)
2398       ]
2399     )
2400     AC_SUBST(GLIBC21)
2401     GLIBC21="$ac_cv_gnu_library_2_1"
2402   ]
2403 )
2404 # iconv.m4 serial AM4 (gettext-0.11.3)
2405 dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
2406 dnl This file is free software, distributed under the terms of the GNU
2407 dnl General Public License.  As a special exception to the GNU General
2408 dnl Public License, this file may be distributed as part of a program
2409 dnl that contains a configuration script generated by Autoconf, under
2410 dnl the same distribution terms as the rest of that program.
2411
2412 dnl From Bruno Haible.
2413
2414 AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
2415 [
2416   dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
2417   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
2418   AC_REQUIRE([AC_LIB_RPATH])
2419
2420   dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
2421   dnl accordingly.
2422   AC_LIB_LINKFLAGS_BODY([iconv])
2423 ])
2424
2425 AC_DEFUN([AM_ICONV_LINK],
2426 [
2427   dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
2428   dnl those with the standalone portable GNU libiconv installed).
2429
2430   dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
2431   dnl accordingly.
2432   AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
2433
2434   dnl Add $INCICONV to CPPFLAGS before performing the following checks,
2435   dnl because if the user has installed libiconv and not disabled its use
2436   dnl via --without-libiconv-prefix, he wants to use it. The first
2437   dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
2438   am_save_CPPFLAGS="$CPPFLAGS"
2439   AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
2440
2441   AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
2442     am_cv_func_iconv="no, consider installing GNU libiconv"
2443     am_cv_lib_iconv=no
2444     AC_TRY_LINK([#include <stdlib.h>
2445 #include <iconv.h>],
2446       [iconv_t cd = iconv_open("","");
2447        iconv(cd,NULL,NULL,NULL,NULL);
2448        iconv_close(cd);],
2449       am_cv_func_iconv=yes)
2450     if test "$am_cv_func_iconv" != yes; then
2451       am_save_LIBS="$LIBS"
2452       LIBS="$LIBS $LIBICONV"
2453       AC_TRY_LINK([#include <stdlib.h>
2454 #include <iconv.h>],
2455         [iconv_t cd = iconv_open("","");
2456          iconv(cd,NULL,NULL,NULL,NULL);
2457          iconv_close(cd);],
2458         am_cv_lib_iconv=yes
2459         am_cv_func_iconv=yes)
2460       LIBS="$am_save_LIBS"
2461     fi
2462   ])
2463   if test "$am_cv_func_iconv" = yes; then
2464     AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
2465   fi
2466   if test "$am_cv_lib_iconv" = yes; then
2467     AC_MSG_CHECKING([how to link with libiconv])
2468     AC_MSG_RESULT([$LIBICONV])
2469   else
2470     dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
2471     dnl either.
2472     CPPFLAGS="$am_save_CPPFLAGS"
2473     LIBICONV=
2474     LTLIBICONV=
2475   fi
2476   AC_SUBST(LIBICONV)
2477   AC_SUBST(LTLIBICONV)
2478 ])
2479
2480 AC_DEFUN([AM_ICONV],
2481 [
2482   AM_ICONV_LINK
2483   if test "$am_cv_func_iconv" = yes; then
2484     AC_MSG_CHECKING([for iconv declaration])
2485     AC_CACHE_VAL(am_cv_proto_iconv, [
2486       AC_TRY_COMPILE([
2487 #include <stdlib.h>
2488 #include <iconv.h>
2489 extern
2490 #ifdef __cplusplus
2491 "C"
2492 #endif
2493 #if defined(__STDC__) || defined(__cplusplus)
2494 size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
2495 #else
2496 size_t iconv();
2497 #endif
2498 ], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
2499       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);"])
2500     am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
2501     AC_MSG_RESULT([$]{ac_t:-
2502          }[$]am_cv_proto_iconv)
2503     AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
2504       [Define as const if the declaration of iconv() needs const.])
2505   fi
2506 ])
2507 # intdiv0.m4 serial 1 (gettext-0.11.3)
2508 dnl Copyright (C) 2002 Free Software Foundation, Inc.
2509 dnl This file is free software, distributed under the terms of the GNU
2510 dnl General Public License.  As a special exception to the GNU General
2511 dnl Public License, this file may be distributed as part of a program
2512 dnl that contains a configuration script generated by Autoconf, under
2513 dnl the same distribution terms as the rest of that program.
2514
2515 dnl From Bruno Haible.
2516
2517 AC_DEFUN([gt_INTDIV0],
2518 [
2519   AC_REQUIRE([AC_PROG_CC])dnl
2520   AC_REQUIRE([AC_CANONICAL_HOST])dnl
2521
2522   AC_CACHE_CHECK([whether integer division by zero raises SIGFPE],
2523     gt_cv_int_divbyzero_sigfpe,
2524     [
2525       AC_TRY_RUN([
2526 #include <stdlib.h>
2527 #include <signal.h>
2528
2529 static void
2530 #ifdef __cplusplus
2531 sigfpe_handler (int sig)
2532 #else
2533 sigfpe_handler (sig) int sig;
2534 #endif
2535 {
2536   /* Exit with code 0 if SIGFPE, with code 1 if any other signal.  */
2537   exit (sig != SIGFPE);
2538 }
2539
2540 int x = 1;
2541 int y = 0;
2542 int z;
2543 int nan;
2544
2545 int main ()
2546 {
2547   signal (SIGFPE, sigfpe_handler);
2548 /* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP.  */
2549 #if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP)
2550   signal (SIGTRAP, sigfpe_handler);
2551 #endif
2552 /* Linux/SPARC yields signal SIGILL.  */
2553 #if defined (__sparc__) && defined (__linux__)
2554   signal (SIGILL, sigfpe_handler);
2555 #endif
2556
2557   z = x / y;
2558   nan = y / y;
2559   exit (1);
2560 }
2561 ], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no,
2562         [
2563           # Guess based on the CPU.
2564           case "$host_cpu" in
2565             alpha* | i[34567]86 | m68k | s390*)
2566               gt_cv_int_divbyzero_sigfpe="guessing yes";;
2567             *)
2568               gt_cv_int_divbyzero_sigfpe="guessing no";;
2569           esac
2570         ])
2571     ])
2572   case "$gt_cv_int_divbyzero_sigfpe" in
2573     *yes) value=1;;
2574     *) value=0;;
2575   esac
2576   AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value,
2577     [Define if integer division by zero raises signal SIGFPE.])
2578 ])
2579 # inttypes.m4 serial 1 (gettext-0.11.4)
2580 dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
2581 dnl This file is free software, distributed under the terms of the GNU
2582 dnl General Public License.  As a special exception to the GNU General
2583 dnl Public License, this file may be distributed as part of a program
2584 dnl that contains a configuration script generated by Autoconf, under
2585 dnl the same distribution terms as the rest of that program.
2586
2587 dnl From Paul Eggert.
2588
2589 # Define HAVE_INTTYPES_H if <inttypes.h> exists and doesn't clash with
2590 # <sys/types.h>.
2591
2592 AC_DEFUN([gt_HEADER_INTTYPES_H],
2593 [
2594   AC_CACHE_CHECK([for inttypes.h], gt_cv_header_inttypes_h,
2595   [
2596     AC_TRY_COMPILE(
2597       [#include <sys/types.h>
2598 #include <inttypes.h>],
2599       [], gt_cv_header_inttypes_h=yes, gt_cv_header_inttypes_h=no)
2600   ])
2601   if test $gt_cv_header_inttypes_h = yes; then
2602     AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1,
2603       [Define if <inttypes.h> exists and doesn't clash with <sys/types.h>.])
2604   fi
2605 ])
2606 # inttypes_h.m4 serial 5 (gettext-0.12)
2607 dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.
2608 dnl This file is free software, distributed under the terms of the GNU
2609 dnl General Public License.  As a special exception to the GNU General
2610 dnl Public License, this file may be distributed as part of a program
2611 dnl that contains a configuration script generated by Autoconf, under
2612 dnl the same distribution terms as the rest of that program.
2613
2614 dnl From Paul Eggert.
2615
2616 # Define HAVE_INTTYPES_H_WITH_UINTMAX if <inttypes.h> exists,
2617 # doesn't clash with <sys/types.h>, and declares uintmax_t.
2618
2619 AC_DEFUN([jm_AC_HEADER_INTTYPES_H],
2620 [
2621   AC_CACHE_CHECK([for inttypes.h], jm_ac_cv_header_inttypes_h,
2622   [AC_TRY_COMPILE(
2623     [#include <sys/types.h>
2624 #include <inttypes.h>],
2625     [uintmax_t i = (uintmax_t) -1;],
2626     jm_ac_cv_header_inttypes_h=yes,
2627     jm_ac_cv_header_inttypes_h=no)])
2628   if test $jm_ac_cv_header_inttypes_h = yes; then
2629     AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1,
2630       [Define if <inttypes.h> exists, doesn't clash with <sys/types.h>,
2631        and declares uintmax_t. ])
2632   fi
2633 ])
2634 # inttypes-pri.m4 serial 1 (gettext-0.11.4)
2635 dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
2636 dnl This file is free software, distributed under the terms of the GNU
2637 dnl General Public License.  As a special exception to the GNU General
2638 dnl Public License, this file may be distributed as part of a program
2639 dnl that contains a configuration script generated by Autoconf, under
2640 dnl the same distribution terms as the rest of that program.
2641
2642 dnl From Bruno Haible.
2643
2644 # Define PRI_MACROS_BROKEN if <inttypes.h> exists and defines the PRI*
2645 # macros to non-string values.  This is the case on AIX 4.3.3.
2646
2647 AC_DEFUN([gt_INTTYPES_PRI],
2648 [
2649   AC_REQUIRE([gt_HEADER_INTTYPES_H])
2650   if test $gt_cv_header_inttypes_h = yes; then
2651     AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken],
2652       gt_cv_inttypes_pri_broken,
2653       [
2654         AC_TRY_COMPILE([#include <inttypes.h>
2655 #ifdef PRId32
2656 char *p = PRId32;
2657 #endif
2658 ], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes)
2659       ])
2660   fi
2661   if test "$gt_cv_inttypes_pri_broken" = yes; then
2662     AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1,
2663       [Define if <inttypes.h> exists and defines unusable PRI* macros.])
2664   fi
2665 ])
2666 # isc-posix.m4 serial 2 (gettext-0.11.2)
2667 dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
2668 dnl This file is free software, distributed under the terms of the GNU
2669 dnl General Public License.  As a special exception to the GNU General
2670 dnl Public License, this file may be distributed as part of a program
2671 dnl that contains a configuration script generated by Autoconf, under
2672 dnl the same distribution terms as the rest of that program.
2673
2674 # This file is not needed with autoconf-2.53 and newer.  Remove it in 2005.
2675
2676 # This test replaces the one in autoconf.
2677 # Currently this macro should have the same name as the autoconf macro
2678 # because gettext's gettext.m4 (distributed in the automake package)
2679 # still uses it.  Otherwise, the use in gettext.m4 makes autoheader
2680 # give these diagnostics:
2681 #   configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX
2682 #   configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX
2683
2684 undefine([AC_ISC_POSIX])
2685
2686 AC_DEFUN([AC_ISC_POSIX],
2687   [
2688     dnl This test replaces the obsolescent AC_ISC_POSIX kludge.
2689     AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"])
2690   ]
2691 )
2692 # lcmessage.m4 serial 3 (gettext-0.11.3)
2693 dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
2694 dnl This file is free software, distributed under the terms of the GNU
2695 dnl General Public License.  As a special exception to the GNU General
2696 dnl Public License, this file may be distributed as part of a program
2697 dnl that contains a configuration script generated by Autoconf, under
2698 dnl the same distribution terms as the rest of that program.
2699 dnl
2700 dnl This file can can be used in projects which are not available under
2701 dnl the GNU General Public License or the GNU Library General Public
2702 dnl License but which still want to provide support for the GNU gettext
2703 dnl functionality.
2704 dnl Please note that the actual code of the GNU gettext library is covered
2705 dnl by the GNU Library General Public License, and the rest of the GNU
2706 dnl gettext package package is covered by the GNU General Public License.
2707 dnl They are *not* in the public domain.
2708
2709 dnl Authors:
2710 dnl   Ulrich Drepper <drepper@cygnus.com>, 1995.
2711
2712 # Check whether LC_MESSAGES is available in <locale.h>.
2713
2714 AC_DEFUN([AM_LC_MESSAGES],
2715 [
2716   AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
2717     [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
2718        am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
2719   if test $am_cv_val_LC_MESSAGES = yes; then
2720     AC_DEFINE(HAVE_LC_MESSAGES, 1,
2721       [Define if your <locale.h> file defines LC_MESSAGES.])
2722   fi
2723 ])
2724 # lib-ld.m4 serial 2 (gettext-0.12)
2725 dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
2726 dnl This file is free software, distributed under the terms of the GNU
2727 dnl General Public License.  As a special exception to the GNU General
2728 dnl Public License, this file may be distributed as part of a program
2729 dnl that contains a configuration script generated by Autoconf, under
2730 dnl the same distribution terms as the rest of that program.
2731
2732 dnl Subroutines of libtool.m4,
2733 dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
2734 dnl with libtool.m4.
2735
2736 dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
2737 AC_DEFUN([AC_LIB_PROG_LD_GNU],
2738 [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld,
2739 [# I'd rather use --version here, but apparently some GNU ld's only accept -v.
2740 if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
2741   acl_cv_prog_gnu_ld=yes
2742 else
2743   acl_cv_prog_gnu_ld=no
2744 fi])
2745 with_gnu_ld=$acl_cv_prog_gnu_ld
2746 ])
2747
2748 dnl From libtool-1.4. Sets the variable LD.
2749 AC_DEFUN([AC_LIB_PROG_LD],
2750 [AC_ARG_WITH(gnu-ld,
2751 [  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]],
2752 test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
2753 AC_REQUIRE([AC_PROG_CC])dnl
2754 AC_REQUIRE([AC_CANONICAL_HOST])dnl
2755 # Prepare PATH_SEPARATOR.
2756 # The user is always right.
2757 if test "${PATH_SEPARATOR+set}" != set; then
2758   echo "#! /bin/sh" >conf$$.sh
2759   echo  "exit 0"   >>conf$$.sh
2760   chmod +x conf$$.sh
2761   if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
2762     PATH_SEPARATOR=';'
2763   else
2764     PATH_SEPARATOR=:
2765   fi
2766   rm -f conf$$.sh
2767 fi
2768 ac_prog=ld
2769 if test "$GCC" = yes; then
2770   # Check if gcc -print-prog-name=ld gives a path.
2771   AC_MSG_CHECKING([for ld used by GCC])
2772   case $host in
2773   *-*-mingw*)
2774     # gcc leaves a trailing carriage return which upsets mingw
2775     ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
2776   *)
2777     ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
2778   esac
2779   case $ac_prog in
2780     # Accept absolute paths.
2781     [[\\/]* | [A-Za-z]:[\\/]*)]
2782       [re_direlt='/[^/][^/]*/\.\./']
2783       # Canonicalize the path of ld
2784       ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
2785       while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
2786         ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
2787       done
2788       test -z "$LD" && LD="$ac_prog"
2789       ;;
2790   "")
2791     # If it fails, then pretend we aren't using GCC.
2792     ac_prog=ld
2793     ;;
2794   *)
2795     # If it is relative, then search for the first ld in PATH.
2796     with_gnu_ld=unknown
2797     ;;
2798   esac
2799 elif test "$with_gnu_ld" = yes; then
2800   AC_MSG_CHECKING([for GNU ld])
2801 else
2802   AC_MSG_CHECKING([for non-GNU ld])
2803 fi
2804 AC_CACHE_VAL(acl_cv_path_LD,
2805 [if test -z "$LD"; then
2806   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
2807   for ac_dir in $PATH; do
2808     test -z "$ac_dir" && ac_dir=.
2809     if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
2810       acl_cv_path_LD="$ac_dir/$ac_prog"
2811       # Check to see if the program is GNU ld.  I'd rather use --version,
2812       # but apparently some GNU ld's only accept -v.
2813       # Break only if it was the GNU/non-GNU ld that we prefer.
2814       if "$acl_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
2815         test "$with_gnu_ld" != no && break
2816       else
2817         test "$with_gnu_ld" != yes && break
2818       fi
2819     fi
2820   done
2821   IFS="$ac_save_ifs"
2822 else
2823   acl_cv_path_LD="$LD" # Let the user override the test with a path.
2824 fi])
2825 LD="$acl_cv_path_LD"
2826 if test -n "$LD"; then
2827   AC_MSG_RESULT($LD)
2828 else
2829   AC_MSG_RESULT(no)
2830 fi
2831 test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
2832 AC_LIB_PROG_LD_GNU
2833 ])
2834 # lib-link.m4 serial 4 (gettext-0.12)
2835 dnl Copyright (C) 2001-2003 Free Software Foundation, Inc.
2836 dnl This file is free software, distributed under the terms of the GNU
2837 dnl General Public License.  As a special exception to the GNU General
2838 dnl Public License, this file may be distributed as part of a program
2839 dnl that contains a configuration script generated by Autoconf, under
2840 dnl the same distribution terms as the rest of that program.
2841
2842 dnl From Bruno Haible.
2843
2844 dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
2845 dnl the libraries corresponding to explicit and implicit dependencies.
2846 dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
2847 dnl augments the CPPFLAGS variable.
2848 AC_DEFUN([AC_LIB_LINKFLAGS],
2849 [
2850   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
2851   AC_REQUIRE([AC_LIB_RPATH])
2852   define([Name],[translit([$1],[./-], [___])])
2853   define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
2854                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
2855   AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
2856     AC_LIB_LINKFLAGS_BODY([$1], [$2])
2857     ac_cv_lib[]Name[]_libs="$LIB[]NAME"
2858     ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
2859     ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
2860   ])
2861   LIB[]NAME="$ac_cv_lib[]Name[]_libs"
2862   LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
2863   INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
2864   AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
2865   AC_SUBST([LIB]NAME)
2866   AC_SUBST([LTLIB]NAME)
2867   dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
2868   dnl results of this search when this library appears as a dependency.
2869   HAVE_LIB[]NAME=yes
2870   undefine([Name])
2871   undefine([NAME])
2872 ])
2873
2874 dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
2875 dnl searches for libname and the libraries corresponding to explicit and
2876 dnl implicit dependencies, together with the specified include files and
2877 dnl the ability to compile and link the specified testcode. If found, it
2878 dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
2879 dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
2880 dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
2881 dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
2882 AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
2883 [
2884   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
2885   AC_REQUIRE([AC_LIB_RPATH])
2886   define([Name],[translit([$1],[./-], [___])])
2887   define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
2888                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
2889
2890   dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
2891   dnl accordingly.
2892   AC_LIB_LINKFLAGS_BODY([$1], [$2])
2893
2894   dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
2895   dnl because if the user has installed lib[]Name and not disabled its use
2896   dnl via --without-lib[]Name-prefix, he wants to use it.
2897   ac_save_CPPFLAGS="$CPPFLAGS"
2898   AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
2899
2900   AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
2901     ac_save_LIBS="$LIBS"
2902     LIBS="$LIBS $LIB[]NAME"
2903     AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
2904     LIBS="$ac_save_LIBS"
2905   ])
2906   if test "$ac_cv_lib[]Name" = yes; then
2907     HAVE_LIB[]NAME=yes
2908     AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
2909     AC_MSG_CHECKING([how to link with lib[]$1])
2910     AC_MSG_RESULT([$LIB[]NAME])
2911   else
2912     HAVE_LIB[]NAME=no
2913     dnl If $LIB[]NAME didn't lead to a usable library, we don't need
2914     dnl $INC[]NAME either.
2915     CPPFLAGS="$ac_save_CPPFLAGS"
2916     LIB[]NAME=
2917     LTLIB[]NAME=
2918   fi
2919   AC_SUBST([HAVE_LIB]NAME)
2920   AC_SUBST([LIB]NAME)
2921   AC_SUBST([LTLIB]NAME)
2922   undefine([Name])
2923   undefine([NAME])
2924 ])
2925
2926 dnl Determine the platform dependent parameters needed to use rpath:
2927 dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
2928 dnl hardcode_direct, hardcode_minus_L.
2929 AC_DEFUN([AC_LIB_RPATH],
2930 [
2931   AC_REQUIRE([AC_PROG_CC])                dnl we use $CC, $GCC, $LDFLAGS
2932   AC_REQUIRE([AC_LIB_PROG_LD])            dnl we use $LD, $with_gnu_ld
2933   AC_REQUIRE([AC_CANONICAL_HOST])         dnl we use $host
2934   AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
2935   AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
2936     CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
2937     ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
2938     . ./conftest.sh
2939     rm -f ./conftest.sh
2940     acl_cv_rpath=done
2941   ])
2942   wl="$acl_cv_wl"
2943   libext="$acl_cv_libext"
2944   shlibext="$acl_cv_shlibext"
2945   hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
2946   hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
2947   hardcode_direct="$acl_cv_hardcode_direct"
2948   hardcode_minus_L="$acl_cv_hardcode_minus_L"
2949   dnl Determine whether the user wants rpath handling at all.
2950   AC_ARG_ENABLE(rpath,
2951     [  --disable-rpath         do not hardcode runtime library paths],
2952     :, enable_rpath=yes)
2953 ])
2954
2955 dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
2956 dnl the libraries corresponding to explicit and implicit dependencies.
2957 dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
2958 AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
2959 [
2960   define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
2961                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
2962   dnl By default, look in $includedir and $libdir.
2963   use_additional=yes
2964   AC_LIB_WITH_FINAL_PREFIX([
2965     eval additional_includedir=\"$includedir\"
2966     eval additional_libdir=\"$libdir\"
2967   ])
2968   AC_LIB_ARG_WITH([lib$1-prefix],
2969 [  --with-lib$1-prefix[=DIR]  search for lib$1 in DIR/include and DIR/lib
2970   --without-lib$1-prefix     don't search for lib$1 in includedir and libdir],
2971 [
2972     if test "X$withval" = "Xno"; then
2973       use_additional=no
2974     else
2975       if test "X$withval" = "X"; then
2976         AC_LIB_WITH_FINAL_PREFIX([
2977           eval additional_includedir=\"$includedir\"
2978           eval additional_libdir=\"$libdir\"
2979         ])
2980       else
2981         additional_includedir="$withval/include"
2982         additional_libdir="$withval/lib"
2983       fi
2984     fi
2985 ])
2986   dnl Search the library and its dependencies in $additional_libdir and
2987   dnl $LDFLAGS. Using breadth-first-seach.
2988   LIB[]NAME=
2989   LTLIB[]NAME=
2990   INC[]NAME=
2991   rpathdirs=
2992   ltrpathdirs=
2993   names_already_handled=
2994   names_next_round='$1 $2'
2995   while test -n "$names_next_round"; do
2996     names_this_round="$names_next_round"
2997     names_next_round=
2998     for name in $names_this_round; do
2999       already_handled=
3000       for n in $names_already_handled; do
3001         if test "$n" = "$name"; then
3002           already_handled=yes
3003           break
3004         fi
3005       done
3006       if test -z "$already_handled"; then
3007         names_already_handled="$names_already_handled $name"
3008         dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
3009         dnl or AC_LIB_HAVE_LINKFLAGS call.
3010         uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
3011         eval value=\"\$HAVE_LIB$uppername\"
3012         if test -n "$value"; then
3013           if test "$value" = yes; then
3014             eval value=\"\$LIB$uppername\"
3015             test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
3016             eval value=\"\$LTLIB$uppername\"
3017             test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
3018           else
3019             dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
3020             dnl that this library doesn't exist. So just drop it.
3021             :
3022           fi
3023         else
3024           dnl Search the library lib$name in $additional_libdir and $LDFLAGS
3025           dnl and the already constructed $LIBNAME/$LTLIBNAME.
3026           found_dir=
3027           found_la=
3028           found_so=
3029           found_a=
3030           if test $use_additional = yes; then
3031             if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
3032               found_dir="$additional_libdir"
3033               found_so="$additional_libdir/lib$name.$shlibext"
3034               if test -f "$additional_libdir/lib$name.la"; then
3035                 found_la="$additional_libdir/lib$name.la"
3036               fi
3037             else
3038               if test -f "$additional_libdir/lib$name.$libext"; then
3039                 found_dir="$additional_libdir"
3040                 found_a="$additional_libdir/lib$name.$libext"
3041                 if test -f "$additional_libdir/lib$name.la"; then
3042                   found_la="$additional_libdir/lib$name.la"
3043                 fi
3044               fi
3045             fi
3046           fi
3047           if test "X$found_dir" = "X"; then
3048             for x in $LDFLAGS $LTLIB[]NAME; do
3049               AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
3050               case "$x" in
3051                 -L*)
3052                   dir=`echo "X$x" | sed -e 's/^X-L//'`
3053                   if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
3054                     found_dir="$dir"
3055                     found_so="$dir/lib$name.$shlibext"
3056                     if test -f "$dir/lib$name.la"; then
3057                       found_la="$dir/lib$name.la"
3058                     fi
3059                   else
3060                     if test -f "$dir/lib$name.$libext"; then
3061                       found_dir="$dir"
3062                       found_a="$dir/lib$name.$libext"
3063                       if test -f "$dir/lib$name.la"; then
3064                         found_la="$dir/lib$name.la"
3065                       fi
3066                     fi
3067                   fi
3068                   ;;
3069               esac
3070               if test "X$found_dir" != "X"; then
3071                 break
3072               fi
3073             done
3074           fi
3075           if test "X$found_dir" != "X"; then
3076             dnl Found the library.
3077             LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
3078             if test "X$found_so" != "X"; then
3079               dnl Linking with a shared library. We attempt to hardcode its
3080               dnl directory into the executable's runpath, unless it's the
3081               dnl standard /usr/lib.
3082               if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
3083                 dnl No hardcoding is needed.
3084                 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
3085               else
3086                 dnl Use an explicit option to hardcode DIR into the resulting
3087                 dnl binary.
3088                 dnl Potentially add DIR to ltrpathdirs.
3089                 dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
3090                 haveit=
3091                 for x in $ltrpathdirs; do
3092                   if test "X$x" = "X$found_dir"; then
3093                     haveit=yes
3094                     break
3095                   fi
3096                 done
3097                 if test -z "$haveit"; then
3098                   ltrpathdirs="$ltrpathdirs $found_dir"
3099                 fi
3100                 dnl The hardcoding into $LIBNAME is system dependent.
3101                 if test "$hardcode_direct" = yes; then
3102                   dnl Using DIR/libNAME.so during linking hardcodes DIR into the
3103                   dnl resulting binary.
3104                   LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
3105                 else
3106                   if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
3107                     dnl Use an explicit option to hardcode DIR into the resulting
3108                     dnl binary.
3109                     LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
3110                     dnl Potentially add DIR to rpathdirs.
3111                     dnl The rpathdirs will be appended to $LIBNAME at the end.
3112                     haveit=
3113                     for x in $rpathdirs; do
3114                       if test "X$x" = "X$found_dir"; then
3115                         haveit=yes
3116                         break
3117                       fi
3118                     done
3119                     if test -z "$haveit"; then
3120                       rpathdirs="$rpathdirs $found_dir"
3121                     fi
3122                   else
3123                     dnl Rely on "-L$found_dir".
3124                     dnl But don't add it if it's already contained in the LDFLAGS
3125                     dnl or the already constructed $LIBNAME
3126                     haveit=
3127                     for x in $LDFLAGS $LIB[]NAME; do
3128                       AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
3129                       if test "X$x" = "X-L$found_dir"; then
3130                         haveit=yes
3131                         break
3132                       fi
3133                     done
3134                     if test -z "$haveit"; then
3135                       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
3136                     fi
3137                     if test "$hardcode_minus_L" != no; then
3138                       dnl FIXME: Not sure whether we should use
3139                       dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
3140                       dnl here.
3141                       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
3142                     else
3143                       dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH
3144                       dnl here, because this doesn't fit in flags passed to the
3145                       dnl compiler. So give up. No hardcoding. This affects only
3146                       dnl very old systems.
3147                       dnl FIXME: Not sure whether we should use
3148                       dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
3149                       dnl here.
3150                       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
3151                     fi
3152                   fi
3153                 fi
3154               fi
3155             else
3156               if test "X$found_a" != "X"; then
3157                 dnl Linking with a static library.
3158                 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
3159               else
3160                 dnl We shouldn't come here, but anyway it's good to have a
3161                 dnl fallback.
3162                 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
3163               fi
3164             fi
3165             dnl Assume the include files are nearby.
3166             additional_includedir=
3167             case "$found_dir" in
3168               */lib | */lib/)
3169                 basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
3170                 additional_includedir="$basedir/include"
3171                 ;;
3172             esac
3173             if test "X$additional_includedir" != "X"; then
3174               dnl Potentially add $additional_includedir to $INCNAME.
3175               dnl But don't add it
3176               dnl   1. if it's the standard /usr/include,
3177               dnl   2. if it's /usr/local/include and we are using GCC on Linux,
3178               dnl   3. if it's already present in $CPPFLAGS or the already
3179               dnl      constructed $INCNAME,
3180               dnl   4. if it doesn't exist as a directory.
3181               if test "X$additional_includedir" != "X/usr/include"; then
3182                 haveit=
3183                 if test "X$additional_includedir" = "X/usr/local/include"; then
3184                   if test -n "$GCC"; then
3185                     case $host_os in
3186                       linux*) haveit=yes;;
3187                     esac
3188                   fi
3189                 fi
3190                 if test -z "$haveit"; then
3191                   for x in $CPPFLAGS $INC[]NAME; do
3192                     AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
3193                     if test "X$x" = "X-I$additional_includedir"; then
3194                       haveit=yes
3195                       break
3196                     fi
3197                   done
3198                   if test -z "$haveit"; then
3199                     if test -d "$additional_includedir"; then
3200                       dnl Really add $additional_includedir to $INCNAME.
3201                       INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
3202                     fi
3203                   fi
3204                 fi
3205               fi
3206             fi
3207             dnl Look for dependencies.
3208             if test -n "$found_la"; then
3209               dnl Read the .la file. It defines the variables
3210               dnl dlname, library_names, old_library, dependency_libs, current,
3211               dnl age, revision, installed, dlopen, dlpreopen, libdir.
3212               save_libdir="$libdir"
3213               case "$found_la" in
3214                 */* | *\\*) . "$found_la" ;;
3215                 *) . "./$found_la" ;;
3216               esac
3217               libdir="$save_libdir"
3218               dnl We use only dependency_libs.
3219               for dep in $dependency_libs; do
3220                 case "$dep" in
3221                   -L*)
3222                     additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
3223                     dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
3224                     dnl But don't add it
3225                     dnl   1. if it's the standard /usr/lib,
3226                     dnl   2. if it's /usr/local/lib and we are using GCC on Linux,
3227                     dnl   3. if it's already present in $LDFLAGS or the already
3228                     dnl      constructed $LIBNAME,
3229                     dnl   4. if it doesn't exist as a directory.
3230                     if test "X$additional_libdir" != "X/usr/lib"; then
3231                       haveit=
3232                       if test "X$additional_libdir" = "X/usr/local/lib"; then
3233                         if test -n "$GCC"; then
3234                           case $host_os in
3235                             linux*) haveit=yes;;
3236                           esac
3237                         fi
3238                       fi
3239                       if test -z "$haveit"; then
3240                         haveit=
3241                         for x in $LDFLAGS $LIB[]NAME; do
3242                           AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
3243                           if test "X$x" = "X-L$additional_libdir"; then
3244                             haveit=yes
3245                             break
3246                           fi
3247                         done
3248                         if test -z "$haveit"; then
3249                           if test -d "$additional_libdir"; then
3250                             dnl Really add $additional_libdir to $LIBNAME.
3251                             LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
3252                           fi
3253                         fi
3254                         haveit=
3255                         for x in $LDFLAGS $LTLIB[]NAME; do
3256                           AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
3257                           if test "X$x" = "X-L$additional_libdir"; then
3258                             haveit=yes
3259                             break
3260                           fi
3261                         done
3262                         if test -z "$haveit"; then
3263                           if test -d "$additional_libdir"; then
3264                             dnl Really add $additional_libdir to $LTLIBNAME.
3265                             LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
3266                           fi
3267                         fi
3268                       fi
3269                     fi
3270                     ;;
3271                   -R*)
3272                     dir=`echo "X$dep" | sed -e 's/^X-R//'`
3273                     if test "$enable_rpath" != no; then
3274                       dnl Potentially add DIR to rpathdirs.
3275                       dnl The rpathdirs will be appended to $LIBNAME at the end.
3276                       haveit=
3277                       for x in $rpathdirs; do
3278                         if test "X$x" = "X$dir"; then
3279                           haveit=yes
3280                           break
3281                         fi
3282                       done
3283                       if test -z "$haveit"; then
3284                         rpathdirs="$rpathdirs $dir"
3285                       fi
3286                       dnl Potentially add DIR to ltrpathdirs.
3287                       dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
3288                       haveit=
3289                       for x in $ltrpathdirs; do
3290                         if test "X$x" = "X$dir"; then
3291                           haveit=yes
3292                           break
3293                         fi
3294                       done
3295                       if test -z "$haveit"; then
3296                         ltrpathdirs="$ltrpathdirs $dir"
3297                       fi
3298                     fi
3299                     ;;
3300                   -l*)
3301                     dnl Handle this in the next round.
3302                     names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
3303                     ;;
3304                   *.la)
3305                     dnl Handle this in the next round. Throw away the .la's
3306                     dnl directory; it is already contained in a preceding -L
3307                     dnl option.
3308                     names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
3309                     ;;
3310                   *)
3311                     dnl Most likely an immediate library name.
3312                     LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
3313                     LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
3314                     ;;
3315                 esac
3316               done
3317             fi
3318           else
3319             dnl Didn't find the library; assume it is in the system directories
3320             dnl known to the linker and runtime loader. (All the system
3321             dnl directories known to the linker should also be known to the
3322             dnl runtime loader, otherwise the system is severely misconfigured.)
3323             LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
3324             LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
3325           fi
3326         fi
3327       fi
3328     done
3329   done
3330   if test "X$rpathdirs" != "X"; then
3331     if test -n "$hardcode_libdir_separator"; then
3332       dnl Weird platform: only the last -rpath option counts, the user must
3333       dnl pass all path elements in one option. We can arrange that for a
3334       dnl single library, but not when more than one $LIBNAMEs are used.
3335       alldirs=
3336       for found_dir in $rpathdirs; do
3337         alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
3338       done
3339       dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
3340       acl_save_libdir="$libdir"
3341       libdir="$alldirs"
3342       eval flag=\"$hardcode_libdir_flag_spec\"
3343       libdir="$acl_save_libdir"
3344       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
3345     else
3346       dnl The -rpath options are cumulative.
3347       for found_dir in $rpathdirs; do
3348         acl_save_libdir="$libdir"
3349         libdir="$found_dir"
3350         eval flag=\"$hardcode_libdir_flag_spec\"
3351         libdir="$acl_save_libdir"
3352         LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
3353       done
3354     fi
3355   fi
3356   if test "X$ltrpathdirs" != "X"; then
3357     dnl When using libtool, the option that works for both libraries and
3358     dnl executables is -R. The -R options are cumulative.
3359     for found_dir in $ltrpathdirs; do
3360       LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
3361     done
3362   fi
3363 ])
3364
3365 dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
3366 dnl unless already present in VAR.
3367 dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
3368 dnl contains two or three consecutive elements that belong together.
3369 AC_DEFUN([AC_LIB_APPENDTOVAR],
3370 [
3371   for element in [$2]; do
3372     haveit=
3373     for x in $[$1]; do
3374       AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
3375       if test "X$x" = "X$element"; then
3376         haveit=yes
3377         break
3378       fi
3379     done
3380     if test -z "$haveit"; then
3381       [$1]="${[$1]}${[$1]:+ }$element"
3382     fi
3383   done
3384 ])
3385 # lib-prefix.m4 serial 2 (gettext-0.12)
3386 dnl Copyright (C) 2001-2003 Free Software Foundation, Inc.
3387 dnl This file is free software, distributed under the terms of the GNU
3388 dnl General Public License.  As a special exception to the GNU General
3389 dnl Public License, this file may be distributed as part of a program
3390 dnl that contains a configuration script generated by Autoconf, under
3391 dnl the same distribution terms as the rest of that program.
3392
3393 dnl From Bruno Haible.
3394
3395 dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and
3396 dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't
3397 dnl require excessive bracketing.
3398 ifdef([AC_HELP_STRING],
3399 [AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])],
3400 [AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])])
3401
3402 dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
3403 dnl to access previously installed libraries. The basic assumption is that
3404 dnl a user will want packages to use other packages he previously installed
3405 dnl with the same --prefix option.
3406 dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
3407 dnl libraries, but is otherwise very convenient.
3408 AC_DEFUN([AC_LIB_PREFIX],
3409 [
3410   AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
3411   AC_REQUIRE([AC_PROG_CC])
3412   AC_REQUIRE([AC_CANONICAL_HOST])
3413   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
3414   dnl By default, look in $includedir and $libdir.
3415   use_additional=yes
3416   AC_LIB_WITH_FINAL_PREFIX([
3417     eval additional_includedir=\"$includedir\"
3418     eval additional_libdir=\"$libdir\"
3419   ])
3420   AC_LIB_ARG_WITH([lib-prefix],
3421 [  --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
3422   --without-lib-prefix    don't search for libraries in includedir and libdir],
3423 [
3424     if test "X$withval" = "Xno"; then
3425       use_additional=no
3426     else
3427       if test "X$withval" = "X"; then
3428         AC_LIB_WITH_FINAL_PREFIX([
3429           eval additional_includedir=\"$includedir\"
3430           eval additional_libdir=\"$libdir\"
3431         ])
3432       else
3433         additional_includedir="$withval/include"
3434         additional_libdir="$withval/lib"
3435       fi
3436     fi
3437 ])
3438   if test $use_additional = yes; then
3439     dnl Potentially add $additional_includedir to $CPPFLAGS.
3440     dnl But don't add it
3441     dnl   1. if it's the standard /usr/include,
3442     dnl   2. if it's already present in $CPPFLAGS,
3443     dnl   3. if it's /usr/local/include and we are using GCC on Linux,
3444     dnl   4. if it doesn't exist as a directory.
3445     if test "X$additional_includedir" != "X/usr/include"; then
3446       haveit=
3447       for x in $CPPFLAGS; do
3448         AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
3449         if test "X$x" = "X-I$additional_includedir"; then
3450           haveit=yes
3451           break
3452         fi
3453       done
3454       if test -z "$haveit"; then
3455         if test "X$additional_includedir" = "X/usr/local/include"; then
3456           if test -n "$GCC"; then
3457             case $host_os in
3458               linux*) haveit=yes;;
3459             esac
3460           fi
3461         fi
3462         if test -z "$haveit"; then
3463           if test -d "$additional_includedir"; then
3464             dnl Really add $additional_includedir to $CPPFLAGS.
3465             CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
3466           fi
3467         fi
3468       fi
3469     fi
3470     dnl Potentially add $additional_libdir to $LDFLAGS.
3471     dnl But don't add it
3472     dnl   1. if it's the standard /usr/lib,
3473     dnl   2. if it's already present in $LDFLAGS,
3474     dnl   3. if it's /usr/local/lib and we are using GCC on Linux,
3475     dnl   4. if it doesn't exist as a directory.
3476     if test "X$additional_libdir" != "X/usr/lib"; then
3477       haveit=
3478       for x in $LDFLAGS; do
3479         AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
3480         if test "X$x" = "X-L$additional_libdir"; then
3481           haveit=yes
3482           break
3483         fi
3484       done
3485       if test -z "$haveit"; then
3486         if test "X$additional_libdir" = "X/usr/local/lib"; then
3487           if test -n "$GCC"; then
3488             case $host_os in
3489               linux*) haveit=yes;;
3490             esac
3491           fi
3492         fi
3493         if test -z "$haveit"; then
3494           if test -d "$additional_libdir"; then
3495             dnl Really add $additional_libdir to $LDFLAGS.
3496             LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
3497           fi
3498         fi
3499       fi
3500     fi
3501   fi
3502 ])
3503
3504 dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
3505 dnl acl_final_exec_prefix, containing the values to which $prefix and
3506 dnl $exec_prefix will expand at the end of the configure script.
3507 AC_DEFUN([AC_LIB_PREPARE_PREFIX],
3508 [
3509   dnl Unfortunately, prefix and exec_prefix get only finally determined
3510   dnl at the end of configure.
3511   if test "X$prefix" = "XNONE"; then
3512     acl_final_prefix="$ac_default_prefix"
3513   else
3514     acl_final_prefix="$prefix"
3515   fi
3516   if test "X$exec_prefix" = "XNONE"; then
3517     acl_final_exec_prefix='${prefix}'
3518   else
3519     acl_final_exec_prefix="$exec_prefix"
3520   fi
3521   acl_save_prefix="$prefix"
3522   prefix="$acl_final_prefix"
3523   eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
3524   prefix="$acl_save_prefix"
3525 ])
3526
3527 dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
3528 dnl variables prefix and exec_prefix bound to the values they will have
3529 dnl at the end of the configure script.
3530 AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
3531 [
3532   acl_save_prefix="$prefix"
3533   prefix="$acl_final_prefix"
3534   acl_save_exec_prefix="$exec_prefix"
3535   exec_prefix="$acl_final_exec_prefix"
3536   $1
3537   exec_prefix="$acl_save_exec_prefix"
3538   prefix="$acl_save_prefix"
3539 ])
3540 # nls.m4 serial 1 (gettext-0.12)
3541 dnl Copyright (C) 1995-2003 Free Software Foundation, Inc.
3542 dnl This file is free software, distributed under the terms of the GNU
3543 dnl General Public License.  As a special exception to the GNU General
3544 dnl Public License, this file may be distributed as part of a program
3545 dnl that contains a configuration script generated by Autoconf, under
3546 dnl the same distribution terms as the rest of that program.
3547 dnl
3548 dnl This file can can be used in projects which are not available under
3549 dnl the GNU General Public License or the GNU Library General Public
3550 dnl License but which still want to provide support for the GNU gettext
3551 dnl functionality.
3552 dnl Please note that the actual code of the GNU gettext library is covered
3553 dnl by the GNU Library General Public License, and the rest of the GNU
3554 dnl gettext package package is covered by the GNU General Public License.
3555 dnl They are *not* in the public domain.
3556
3557 dnl Authors:
3558 dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
3559 dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
3560
3561 AC_DEFUN([AM_NLS],
3562 [
3563   AC_MSG_CHECKING([whether NLS is requested])
3564   dnl Default is enabled NLS
3565   AC_ARG_ENABLE(nls,
3566     [  --disable-nls           do not use Native Language Support],
3567     USE_NLS=$enableval, USE_NLS=yes)
3568   AC_MSG_RESULT($USE_NLS)
3569   AC_SUBST(USE_NLS)
3570 ])
3571
3572 AC_DEFUN([AM_MKINSTALLDIRS],
3573 [
3574   dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
3575   dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
3576   dnl Try to locate it.
3577   MKINSTALLDIRS=
3578   if test -n "$ac_aux_dir"; then
3579     case "$ac_aux_dir" in
3580       /*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;;
3581       *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;;
3582     esac
3583   fi
3584   if test -z "$MKINSTALLDIRS"; then
3585     MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
3586   fi
3587   AC_SUBST(MKINSTALLDIRS)
3588 ])
3589 # po.m4 serial 1 (gettext-0.12)
3590 dnl Copyright (C) 1995-2003 Free Software Foundation, Inc.
3591 dnl This file is free software, distributed under the terms of the GNU
3592 dnl General Public License.  As a special exception to the GNU General
3593 dnl Public License, this file may be distributed as part of a program
3594 dnl that contains a configuration script generated by Autoconf, under
3595 dnl the same distribution terms as the rest of that program.
3596 dnl
3597 dnl This file can can be used in projects which are not available under
3598 dnl the GNU General Public License or the GNU Library General Public
3599 dnl License but which still want to provide support for the GNU gettext
3600 dnl functionality.
3601 dnl Please note that the actual code of the GNU gettext library is covered
3602 dnl by the GNU Library General Public License, and the rest of the GNU
3603 dnl gettext package package is covered by the GNU General Public License.
3604 dnl They are *not* in the public domain.
3605
3606 dnl Authors:
3607 dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
3608 dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
3609
3610 dnl Checks for all prerequisites of the po subdirectory.
3611 AC_DEFUN([AM_PO_SUBDIRS],
3612 [
3613   AC_REQUIRE([AC_PROG_MAKE_SET])dnl
3614   AC_REQUIRE([AC_PROG_INSTALL])dnl
3615   AC_REQUIRE([AM_MKINSTALLDIRS])dnl
3616   AC_REQUIRE([AM_NLS])dnl
3617
3618   dnl Perform the following tests also if --disable-nls has been given,
3619   dnl because they are needed for "make dist" to work.
3620
3621   dnl Search for GNU msgfmt in the PATH.
3622   dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
3623   dnl The second test excludes FreeBSD msgfmt.
3624   AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
3625     [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
3626      (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
3627     :)
3628   AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
3629
3630   dnl Search for GNU xgettext 0.12 or newer in the PATH.
3631   dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
3632   dnl The second test excludes FreeBSD xgettext.
3633   AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
3634     [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
3635      (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)],
3636     :)
3637   dnl Remove leftover from FreeBSD xgettext call.
3638   rm -f messages.po
3639
3640   dnl Search for GNU msgmerge 0.11 or newer in the PATH.
3641   AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
3642     [$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1], :)
3643
3644   dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
3645   dnl Test whether we really found GNU msgfmt.
3646   if test "$GMSGFMT" != ":"; then
3647     dnl If it is no GNU msgfmt we define it as : so that the
3648     dnl Makefiles still can work.
3649     if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
3650        (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
3651       : ;
3652     else
3653       GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
3654       AC_MSG_RESULT(
3655         [found $GMSGFMT program is not GNU msgfmt; ignore it])
3656       GMSGFMT=":"
3657     fi
3658   fi
3659
3660   dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
3661   dnl Test whether we really found GNU xgettext.
3662   if test "$XGETTEXT" != ":"; then
3663     dnl If it is no GNU xgettext we define it as : so that the
3664     dnl Makefiles still can work.
3665     if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
3666        (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
3667       : ;
3668     else
3669       AC_MSG_RESULT(
3670         [found xgettext program is not GNU xgettext; ignore it])
3671       XGETTEXT=":"
3672     fi
3673     dnl Remove leftover from FreeBSD xgettext call.
3674     rm -f messages.po
3675   fi
3676
3677   AC_OUTPUT_COMMANDS([
3678     for ac_file in $CONFIG_FILES; do
3679       # Support "outfile[:infile[:infile...]]"
3680       case "$ac_file" in
3681         *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
3682       esac
3683       # PO directories have a Makefile.in generated from Makefile.in.in.
3684       case "$ac_file" in */Makefile.in)
3685         # Adjust a relative srcdir.
3686         ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
3687         ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
3688         ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
3689         # In autoconf-2.13 it is called $ac_given_srcdir.
3690         # In autoconf-2.50 it is called $srcdir.
3691         test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
3692         case "$ac_given_srcdir" in
3693           .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
3694           /*) top_srcdir="$ac_given_srcdir" ;;
3695           *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
3696         esac
3697         if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
3698           rm -f "$ac_dir/POTFILES"
3699           test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
3700           cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[   ]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
3701           POMAKEFILEDEPS="POTFILES.in"
3702           # ALL_LINGUAS, POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES depend
3703           # on $ac_dir but don't depend on user-specified configuration
3704           # parameters.
3705           if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
3706             # The LINGUAS file contains the set of available languages.
3707             if test -n "$OBSOLETE_ALL_LINGUAS"; then
3708               test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
3709             fi
3710             ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"`
3711             # Hide the ALL_LINGUAS assigment from automake.
3712             eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
3713             POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
3714           else
3715             # The set of available languages was given in configure.in.
3716             eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
3717           fi
3718           case "$ac_given_srcdir" in
3719             .) srcdirpre= ;;
3720             *) srcdirpre='$(srcdir)/' ;;
3721           esac
3722           POFILES=
3723           GMOFILES=
3724           UPDATEPOFILES=
3725           DUMMYPOFILES=
3726           for lang in $ALL_LINGUAS; do
3727             POFILES="$POFILES $srcdirpre$lang.po"
3728             GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
3729             UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
3730             DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
3731           done
3732           # CATALOGS depends on both $ac_dir and the user's LINGUAS
3733           # environment variable.
3734           INST_LINGUAS=
3735           if test -n "$ALL_LINGUAS"; then
3736             for presentlang in $ALL_LINGUAS; do
3737               useit=no
3738               if test "%UNSET%" != "$LINGUAS"; then
3739                 desiredlanguages="$LINGUAS"
3740               else
3741                 desiredlanguages="$ALL_LINGUAS"
3742               fi
3743               for desiredlang in $desiredlanguages; do
3744                 # Use the presentlang catalog if desiredlang is
3745                 #   a. equal to presentlang, or
3746                 #   b. a variant of presentlang (because in this case,
3747                 #      presentlang can be used as a fallback for messages
3748                 #      which are not translated in the desiredlang catalog).
3749                 case "$desiredlang" in
3750                   "$presentlang"*) useit=yes;;
3751                 esac
3752               done
3753               if test $useit = yes; then
3754                 INST_LINGUAS="$INST_LINGUAS $presentlang"
3755               fi
3756             done
3757           fi
3758           CATALOGS=
3759           if test -n "$INST_LINGUAS"; then
3760             for lang in $INST_LINGUAS; do
3761               CATALOGS="$CATALOGS $lang.gmo"
3762             done
3763           fi
3764           test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
3765           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"
3766           for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
3767             if test -f "$f"; then
3768               case "$f" in
3769                 *.orig | *.bak | *~) ;;
3770                 *) cat "$f" >> "$ac_dir/Makefile" ;;
3771               esac
3772             fi
3773           done
3774         fi
3775         ;;
3776       esac
3777     done],
3778    [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
3779     # POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, CATALOGS. But hide it
3780     # from automake.
3781     eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
3782     # Capture the value of LINGUAS because we need it to compute CATALOGS.
3783     LINGUAS="${LINGUAS-%UNSET%}"
3784    ])
3785 ])
3786 # progtest.m4 serial 3 (gettext-0.12)
3787 dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
3788 dnl This file is free software, distributed under the terms of the GNU
3789 dnl General Public License.  As a special exception to the GNU General
3790 dnl Public License, this file may be distributed as part of a program
3791 dnl that contains a configuration script generated by Autoconf, under
3792 dnl the same distribution terms as the rest of that program.
3793 dnl
3794 dnl This file can can be used in projects which are not available under
3795 dnl the GNU General Public License or the GNU Library General Public
3796 dnl License but which still want to provide support for the GNU gettext
3797 dnl functionality.
3798 dnl Please note that the actual code of the GNU gettext library is covered
3799 dnl by the GNU Library General Public License, and the rest of the GNU
3800 dnl gettext package package is covered by the GNU General Public License.
3801 dnl They are *not* in the public domain.
3802
3803 dnl Authors:
3804 dnl   Ulrich Drepper <drepper@cygnus.com>, 1996.
3805
3806 # Search path for a program which passes the given test.
3807
3808 dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
3809 dnl   TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
3810 AC_DEFUN([AM_PATH_PROG_WITH_TEST],
3811 [
3812 # Prepare PATH_SEPARATOR.
3813 # The user is always right.
3814 if test "${PATH_SEPARATOR+set}" != set; then
3815   echo "#! /bin/sh" >conf$$.sh
3816   echo  "exit 0"   >>conf$$.sh
3817   chmod +x conf$$.sh
3818   if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
3819     PATH_SEPARATOR=';'
3820   else
3821     PATH_SEPARATOR=:
3822   fi
3823   rm -f conf$$.sh
3824 fi
3825
3826 # Find out how to test for executable files. Don't use a zero-byte file,
3827 # as systems may use methods other than mode bits to determine executability.
3828 cat >conf$$.file <<_ASEOF
3829 #! /bin/sh
3830 exit 0
3831 _ASEOF
3832 chmod +x conf$$.file
3833 if test -x conf$$.file >/dev/null 2>&1; then
3834   ac_executable_p="test -x"
3835 else
3836   ac_executable_p="test -f"
3837 fi
3838 rm -f conf$$.file
3839
3840 # Extract the first word of "$2", so it can be a program name with args.
3841 set dummy $2; ac_word=[$]2
3842 AC_MSG_CHECKING([for $ac_word])
3843 AC_CACHE_VAL(ac_cv_path_$1,
3844 [case "[$]$1" in
3845   [[\\/]]* | ?:[[\\/]]*)
3846     ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
3847     ;;
3848   *)
3849     ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
3850     for ac_dir in ifelse([$5], , $PATH, [$5]); do
3851       IFS="$ac_save_IFS"
3852       test -z "$ac_dir" && ac_dir=.
3853       for ac_exec_ext in '' $ac_executable_extensions; do
3854         if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
3855           if [$3]; then
3856             ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext"
3857             break 2
3858           fi
3859         fi
3860       done
3861     done
3862     IFS="$ac_save_IFS"
3863 dnl If no 4th arg is given, leave the cache variable unset,
3864 dnl so AC_PATH_PROGS will keep looking.
3865 ifelse([$4], , , [  test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
3866 ])dnl
3867     ;;
3868 esac])dnl
3869 $1="$ac_cv_path_$1"
3870 if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
3871   AC_MSG_RESULT([$]$1)
3872 else
3873   AC_MSG_RESULT(no)
3874 fi
3875 AC_SUBST($1)dnl
3876 ])
3877 # stdint_h.m4 serial 3 (gettext-0.12)
3878 dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.
3879 dnl This file is free software, distributed under the terms of the GNU
3880 dnl General Public License.  As a special exception to the GNU General
3881 dnl Public License, this file may be distributed as part of a program
3882 dnl that contains a configuration script generated by Autoconf, under
3883 dnl the same distribution terms as the rest of that program.
3884
3885 dnl From Paul Eggert.
3886
3887 # Define HAVE_STDINT_H_WITH_UINTMAX if <stdint.h> exists,
3888 # doesn't clash with <sys/types.h>, and declares uintmax_t.
3889
3890 AC_DEFUN([jm_AC_HEADER_STDINT_H],
3891 [
3892   AC_CACHE_CHECK([for stdint.h], jm_ac_cv_header_stdint_h,
3893   [AC_TRY_COMPILE(
3894     [#include <sys/types.h>
3895 #include <stdint.h>],
3896     [uintmax_t i = (uintmax_t) -1;],
3897     jm_ac_cv_header_stdint_h=yes,
3898     jm_ac_cv_header_stdint_h=no)])
3899   if test $jm_ac_cv_header_stdint_h = yes; then
3900     AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1,
3901       [Define if <stdint.h> exists, doesn't clash with <sys/types.h>,
3902        and declares uintmax_t. ])
3903   fi
3904 ])
3905 # uintmax_t.m4 serial 7 (gettext-0.12)
3906 dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.
3907 dnl This file is free software, distributed under the terms of the GNU
3908 dnl General Public License.  As a special exception to the GNU General
3909 dnl Public License, this file may be distributed as part of a program
3910 dnl that contains a configuration script generated by Autoconf, under
3911 dnl the same distribution terms as the rest of that program.
3912
3913 dnl From Paul Eggert.
3914
3915 AC_PREREQ(2.13)
3916
3917 # Define uintmax_t to 'unsigned long' or 'unsigned long long'
3918 # if it is not already defined in <stdint.h> or <inttypes.h>.
3919
3920 AC_DEFUN([jm_AC_TYPE_UINTMAX_T],
3921 [
3922   AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
3923   AC_REQUIRE([jm_AC_HEADER_STDINT_H])
3924   if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then
3925     AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
3926     test $ac_cv_type_unsigned_long_long = yes \
3927       && ac_type='unsigned long long' \
3928       || ac_type='unsigned long'
3929     AC_DEFINE_UNQUOTED(uintmax_t, $ac_type,
3930       [Define to unsigned long or unsigned long long
3931        if <stdint.h> and <inttypes.h> don't define.])
3932   else
3933     AC_DEFINE(HAVE_UINTMAX_T, 1,
3934       [Define if you have the 'uintmax_t' type in <stdint.h> or <inttypes.h>.])
3935   fi
3936 ])
3937 # ulonglong.m4 serial 2 (fileutils-4.0.32, gettext-0.10.40)
3938 dnl Copyright (C) 1999-2002 Free Software Foundation, Inc.
3939 dnl This file is free software, distributed under the terms of the GNU
3940 dnl General Public License.  As a special exception to the GNU General
3941 dnl Public License, this file may be distributed as part of a program
3942 dnl that contains a configuration script generated by Autoconf, under
3943 dnl the same distribution terms as the rest of that program.
3944
3945 dnl From Paul Eggert.
3946
3947 AC_DEFUN([jm_AC_TYPE_UNSIGNED_LONG_LONG],
3948 [
3949   AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long,
3950   [AC_TRY_LINK([unsigned long long ull = 1; int i = 63;],
3951     [unsigned long long ullmax = (unsigned long long) -1;
3952      return ull << i | ull >> i | ullmax / ull | ullmax % ull;],
3953     ac_cv_type_unsigned_long_long=yes,
3954     ac_cv_type_unsigned_long_long=no)])
3955   if test $ac_cv_type_unsigned_long_long = yes; then
3956     AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1,
3957       [Define if you have the unsigned long long type.])
3958   fi
3959 ])