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