OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gdb-7.1/] [readline/] [aclocal.m4] - Blame information for rev 853

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 227 jeremybenn
dnl
2
dnl Bash specific tests
3
dnl
4
dnl Some derived from PDKSH 5.1.3 autoconf tests
5
dnl
6
 
7
AC_DEFUN(BASH_C_LONG_LONG,
8
[AC_CACHE_CHECK(for long long, ac_cv_c_long_long,
9
[if test "$GCC" = yes; then
10
  ac_cv_c_long_long=yes
11
else
12
AC_TRY_RUN([
13
int
14
main()
15
{
16
long long foo = 0;
17
exit(sizeof(long long) < sizeof(long));
18
}
19
], ac_cv_c_long_long=yes, ac_cv_c_long_long=no)
20
fi])
21
if test $ac_cv_c_long_long = yes; then
22
  AC_DEFINE(HAVE_LONG_LONG, 1, [Define if the `long long' type works.])
23
fi
24
])
25
 
26
dnl
27
dnl This is very similar to AC_C_LONG_DOUBLE, with the fix for IRIX
28
dnl (< changed to <=) added.
29
dnl
30
AC_DEFUN(BASH_C_LONG_DOUBLE,
31
[AC_CACHE_CHECK(for long double, ac_cv_c_long_double,
32
[if test "$GCC" = yes; then
33
  ac_cv_c_long_double=yes
34
else
35
AC_TRY_RUN([
36
int
37
main()
38
{
39
  /* The Stardent Vistra knows sizeof(long double), but does not
40
     support it. */
41
  long double foo = 0.0;
42
  /* On Ultrix 4.3 cc, long double is 4 and double is 8.  */
43
  /* On IRIX 5.3, the compiler converts long double to double with a warning,
44
     but compiles this successfully. */
45
  exit(sizeof(long double) <= sizeof(double));
46
}
47
], ac_cv_c_long_double=yes, ac_cv_c_long_double=no)
48
fi])
49
if test $ac_cv_c_long_double = yes; then
50
  AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if the `long double' type works.])
51
fi
52
])
53
 
54
dnl
55
dnl Check for <inttypes.h>.  This is separated out so that it can be
56
dnl AC_REQUIREd.
57
dnl
58
dnl BASH_HEADER_INTTYPES
59
AC_DEFUN(BASH_HEADER_INTTYPES,
60
[
61
 AC_CHECK_HEADERS(inttypes.h)
62
])
63
 
64
dnl
65
dnl check for typedef'd symbols in header files, but allow the caller to
66
dnl specify the include files to be checked in addition to the default
67
dnl
68
dnl BASH_CHECK_TYPE(TYPE, HEADERS, DEFAULT[, VALUE-IF-FOUND])
69
AC_DEFUN(BASH_CHECK_TYPE,
70
[
71
AC_REQUIRE([AC_HEADER_STDC])dnl
72
AC_REQUIRE([BASH_HEADER_INTTYPES])
73
AC_MSG_CHECKING(for $1)
74
AC_CACHE_VAL(bash_cv_type_$1,
75
[AC_EGREP_CPP($1, [#include <sys/types.h>
76
#if STDC_HEADERS
77
#include <stdlib.h>
78
#include <stddef.h>
79
#endif
80
#if HAVE_INTTYPES_H
81
#include <inttypes.h>
82
#endif
83
$2
84
], bash_cv_type_$1=yes, bash_cv_type_$1=no)])
85
AC_MSG_RESULT($bash_cv_type_$1)
86
ifelse($#, 4, [if test $bash_cv_type_$1 = yes; then
87
        AC_DEFINE($4)
88
        fi])
89
if test $bash_cv_type_$1 = no; then
90
  AC_DEFINE_UNQUOTED($1, $3)
91
fi
92
])
93
 
94
dnl
95
dnl BASH_CHECK_DECL(FUNC)
96
dnl
97
dnl Check for a declaration of FUNC in stdlib.h and inttypes.h like
98
dnl AC_CHECK_DECL
99
dnl
100
AC_DEFUN(BASH_CHECK_DECL,
101
[
102
AC_REQUIRE([AC_HEADER_STDC])
103
AC_REQUIRE([BASH_HEADER_INTTYPES])
104
AC_CACHE_CHECK([for declaration of $1], bash_cv_decl_$1,
105
[AC_TRY_LINK(
106
[
107
#if STDC_HEADERS
108
#  include <stdlib.h>
109
#endif
110
#if HAVE_INTTYPES_H
111
#  include <inttypes.h>
112
#endif
113
],
114
[return !$1;],
115
bash_cv_decl_$1=yes, bash_cv_decl_$1=no)])
116
bash_tr_func=HAVE_DECL_`echo $1 | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
117
if test $bash_cv_decl_$1 = yes; then
118
  AC_DEFINE_UNQUOTED($bash_tr_func, 1)
119
else
120
  AC_DEFINE_UNQUOTED($bash_tr_func, 0)
121
fi
122
])
123
 
124
AC_DEFUN(BASH_DECL_PRINTF,
125
[AC_MSG_CHECKING(for declaration of printf in <stdio.h>)
126
AC_CACHE_VAL(bash_cv_printf_declared,
127
[AC_TRY_RUN([
128
#include <stdio.h>
129
#ifdef __STDC__
130
typedef int (*_bashfunc)(const char *, ...);
131
#else
132
typedef int (*_bashfunc)();
133
#endif
134
main()
135
{
136
_bashfunc pf;
137
pf = (_bashfunc) printf;
138
exit(pf == 0);
139
}
140
], bash_cv_printf_declared=yes, bash_cv_printf_declared=no,
141
   [AC_MSG_WARN(cannot check printf declaration if cross compiling -- defaulting to yes)
142
    bash_cv_printf_declared=yes]
143
)])
144
AC_MSG_RESULT($bash_cv_printf_declared)
145
if test $bash_cv_printf_declared = yes; then
146
AC_DEFINE(PRINTF_DECLARED)
147
fi
148
])
149
 
150
AC_DEFUN(BASH_DECL_SBRK,
151
[AC_MSG_CHECKING(for declaration of sbrk in <unistd.h>)
152
AC_CACHE_VAL(bash_cv_sbrk_declared,
153
[AC_EGREP_HEADER(sbrk, unistd.h,
154
 bash_cv_sbrk_declared=yes, bash_cv_sbrk_declared=no)])
155
AC_MSG_RESULT($bash_cv_sbrk_declared)
156
if test $bash_cv_sbrk_declared = yes; then
157
AC_DEFINE(SBRK_DECLARED)
158
fi
159
])
160
 
161
dnl
162
dnl Check for sys_siglist[] or _sys_siglist[]
163
dnl
164
AC_DEFUN(BASH_DECL_UNDER_SYS_SIGLIST,
165
[AC_MSG_CHECKING([for _sys_siglist in signal.h or unistd.h])
166
AC_CACHE_VAL(bash_cv_decl_under_sys_siglist,
167
[AC_TRY_COMPILE([
168
#include <sys/types.h>
169
#include <signal.h>
170
#ifdef HAVE_UNISTD_H
171
#include <unistd.h>
172
#endif], [ char *msg = _sys_siglist[2]; ],
173
  bash_cv_decl_under_sys_siglist=yes, bash_cv_decl_under_sys_siglist=no,
174
  [AC_MSG_WARN(cannot check for _sys_siglist[] if cross compiling -- defaulting to no)])])dnl
175
AC_MSG_RESULT($bash_cv_decl_under_sys_siglist)
176
if test $bash_cv_decl_under_sys_siglist = yes; then
177
AC_DEFINE(UNDER_SYS_SIGLIST_DECLARED)
178
fi
179
])
180
 
181
AC_DEFUN(BASH_UNDER_SYS_SIGLIST,
182
[AC_REQUIRE([BASH_DECL_UNDER_SYS_SIGLIST])
183
AC_MSG_CHECKING([for _sys_siglist in system C library])
184
AC_CACHE_VAL(bash_cv_under_sys_siglist,
185
[AC_TRY_RUN([
186
#include <sys/types.h>
187
#include <signal.h>
188
#ifdef HAVE_UNISTD_H
189
#include <unistd.h>
190
#endif
191
#ifndef UNDER_SYS_SIGLIST_DECLARED
192
extern char *_sys_siglist[];
193
#endif
194
main()
195
{
196
char *msg = (char *)_sys_siglist[2];
197
exit(msg == 0);
198
}],
199
        bash_cv_under_sys_siglist=yes, bash_cv_under_sys_siglist=no,
200
        [AC_MSG_WARN(cannot check for _sys_siglist[] if cross compiling -- defaulting to no)
201
         bash_cv_under_sys_siglist=no])])
202
AC_MSG_RESULT($bash_cv_under_sys_siglist)
203
if test $bash_cv_under_sys_siglist = yes; then
204
AC_DEFINE(HAVE_UNDER_SYS_SIGLIST)
205
fi
206
])
207
 
208
AC_DEFUN(BASH_SYS_SIGLIST,
209
[AC_REQUIRE([AC_DECL_SYS_SIGLIST])
210
AC_MSG_CHECKING([for sys_siglist in system C library])
211
AC_CACHE_VAL(bash_cv_sys_siglist,
212
[AC_TRY_RUN([
213
#include <sys/types.h>
214
#include <signal.h>
215
#ifdef HAVE_UNISTD_H
216
#include <unistd.h>
217
#endif
218
#ifndef SYS_SIGLIST_DECLARED
219
extern char *sys_siglist[];
220
#endif
221
main()
222
{
223
char *msg = sys_siglist[2];
224
exit(msg == 0);
225
}],
226
        bash_cv_sys_siglist=yes, bash_cv_sys_siglist=no,
227
        [AC_MSG_WARN(cannot check for sys_siglist if cross compiling -- defaulting to no)
228
         bash_cv_sys_siglist=no])])
229
AC_MSG_RESULT($bash_cv_sys_siglist)
230
if test $bash_cv_sys_siglist = yes; then
231
AC_DEFINE(HAVE_SYS_SIGLIST)
232
fi
233
])
234
 
235
dnl Check for the various permutations of sys_siglist and make sure we
236
dnl compile in siglist.o if they're not defined
237
AC_DEFUN(BASH_CHECK_SYS_SIGLIST, [
238
AC_REQUIRE([BASH_SYS_SIGLIST])
239
AC_REQUIRE([BASH_DECL_UNDER_SYS_SIGLIST])
240
AC_REQUIRE([BASH_FUNC_STRSIGNAL])
241
if test "$bash_cv_sys_siglist" = no && test "$bash_cv_under_sys_siglist" = no && test "$bash_cv_have_strsignal" = no; then
242
  SIGLIST_O=siglist.o
243
else
244
  SIGLIST_O=
245
fi
246
AC_SUBST([SIGLIST_O])
247
])
248
 
249
dnl Check for sys_errlist[] and sys_nerr, check for declaration
250
AC_DEFUN(BASH_SYS_ERRLIST,
251
[AC_MSG_CHECKING([for sys_errlist and sys_nerr])
252
AC_CACHE_VAL(bash_cv_sys_errlist,
253
[AC_TRY_LINK([#include <errno.h>],
254
[extern char *sys_errlist[];
255
 extern int sys_nerr;
256
 char *msg = sys_errlist[sys_nerr - 1];],
257
    bash_cv_sys_errlist=yes, bash_cv_sys_errlist=no)])dnl
258
AC_MSG_RESULT($bash_cv_sys_errlist)
259
if test $bash_cv_sys_errlist = yes; then
260
AC_DEFINE(HAVE_SYS_ERRLIST)
261
fi
262
])
263
 
264
dnl
265
dnl Check if dup2() does not clear the close on exec flag
266
dnl
267
AC_DEFUN(BASH_FUNC_DUP2_CLOEXEC_CHECK,
268
[AC_MSG_CHECKING(if dup2 fails to clear the close-on-exec flag)
269
AC_CACHE_VAL(bash_cv_dup2_broken,
270
[AC_TRY_RUN([
271
#include <sys/types.h>
272
#include <fcntl.h>
273
main()
274
{
275
  int fd1, fd2, fl;
276
  fd1 = open("/dev/null", 2);
277
  if (fcntl(fd1, 2, 1) < 0)
278
    exit(1);
279
  fd2 = dup2(fd1, 1);
280
  if (fd2 < 0)
281
    exit(2);
282
  fl = fcntl(fd2, 1, 0);
283
  /* fl will be 1 if dup2 did not reset the close-on-exec flag. */
284
  exit(fl != 1);
285
}
286
], bash_cv_dup2_broken=yes, bash_cv_dup2_broken=no,
287
    [AC_MSG_WARN(cannot check dup2 if cross compiling -- defaulting to no)
288
     bash_cv_dup2_broken=no])
289
])
290
AC_MSG_RESULT($bash_cv_dup2_broken)
291
if test $bash_cv_dup2_broken = yes; then
292
AC_DEFINE(DUP2_BROKEN)
293
fi
294
])
295
 
296
AC_DEFUN(BASH_FUNC_STRSIGNAL,
297
[AC_MSG_CHECKING([for the existence of strsignal])
298
AC_CACHE_VAL(bash_cv_have_strsignal,
299
[AC_TRY_LINK([#include <sys/types.h>
300
#include <signal.h>],
301
[char *s = (char *)strsignal(2);],
302
 bash_cv_have_strsignal=yes, bash_cv_have_strsignal=no)])
303
AC_MSG_RESULT($bash_cv_have_strsignal)
304
if test $bash_cv_have_strsignal = yes; then
305
AC_DEFINE(HAVE_STRSIGNAL)
306
fi
307
])
308
 
309
dnl Check to see if opendir will open non-directories (not a nice thing)
310
AC_DEFUN(BASH_FUNC_OPENDIR_CHECK,
311
[AC_REQUIRE([AC_HEADER_DIRENT])dnl
312
AC_MSG_CHECKING(if opendir() opens non-directories)
313
AC_CACHE_VAL(bash_cv_opendir_not_robust,
314
[AC_TRY_RUN([
315
#include <stdio.h>
316
#include <sys/types.h>
317
#include <fcntl.h>
318
#ifdef HAVE_UNISTD_H
319
# include <unistd.h>
320
#endif /* HAVE_UNISTD_H */
321
#if defined(HAVE_DIRENT_H)
322
# include <dirent.h>
323
#else
324
# define dirent direct
325
# ifdef HAVE_SYS_NDIR_H
326
#  include <sys/ndir.h>
327
# endif /* SYSNDIR */
328
# ifdef HAVE_SYS_DIR_H
329
#  include <sys/dir.h>
330
# endif /* SYSDIR */
331
# ifdef HAVE_NDIR_H
332
#  include <ndir.h>
333
# endif
334
#endif /* HAVE_DIRENT_H */
335
main()
336
{
337
DIR *dir;
338
int fd, err;
339
err = mkdir("/tmp/bash-aclocal", 0700);
340
if (err < 0) {
341
  perror("mkdir");
342
  exit(1);
343
}
344
unlink("/tmp/bash-aclocal/not_a_directory");
345
fd = open("/tmp/bash-aclocal/not_a_directory", O_WRONLY|O_CREAT|O_EXCL, 0666);
346
write(fd, "\n", 1);
347
close(fd);
348
dir = opendir("/tmp/bash-aclocal/not_a_directory");
349
unlink("/tmp/bash-aclocal/not_a_directory");
350
rmdir("/tmp/bash-aclocal");
351
exit (dir == 0);
352
}], bash_cv_opendir_not_robust=yes,bash_cv_opendir_not_robust=no,
353
    [AC_MSG_WARN(cannot check opendir if cross compiling -- defaulting to no)
354
     bash_cv_opendir_not_robust=no]
355
)])
356
AC_MSG_RESULT($bash_cv_opendir_not_robust)
357
if test $bash_cv_opendir_not_robust = yes; then
358
AC_DEFINE(OPENDIR_NOT_ROBUST)
359
fi
360
])
361
 
362
dnl
363
AC_DEFUN(BASH_TYPE_SIGHANDLER,
364
[AC_MSG_CHECKING([whether signal handlers are of type void])
365
AC_CACHE_VAL(bash_cv_void_sighandler,
366
[AC_TRY_COMPILE([#include <sys/types.h>
367
#include <signal.h>
368
#ifdef signal
369
#undef signal
370
#endif
371
#ifdef __cplusplus
372
extern "C"
373
#endif
374
void (*signal ()) ();],
375
[int i;], bash_cv_void_sighandler=yes, bash_cv_void_sighandler=no)])dnl
376
AC_MSG_RESULT($bash_cv_void_sighandler)
377
if test $bash_cv_void_sighandler = yes; then
378
AC_DEFINE(VOID_SIGHANDLER)
379
fi
380
])
381
 
382
dnl
383
dnl A signed 16-bit integer quantity
384
dnl
385
AC_DEFUN(BASH_TYPE_BITS16_T,
386
[
387
if test "$ac_cv_sizeof_short" = 2; then
388
  AC_CHECK_TYPE(bits16_t, short)
389
elif test "$ac_cv_sizeof_char" = 2; then
390
  AC_CHECK_TYPE(bits16_t, char)
391
else
392
  AC_CHECK_TYPE(bits16_t, short)
393
fi
394
])
395
 
396
dnl
397
dnl An unsigned 16-bit integer quantity
398
dnl
399
AC_DEFUN(BASH_TYPE_U_BITS16_T,
400
[
401
if test "$ac_cv_sizeof_short" = 2; then
402
  AC_CHECK_TYPE(u_bits16_t, unsigned short)
403
elif test "$ac_cv_sizeof_char" = 2; then
404
  AC_CHECK_TYPE(u_bits16_t, unsigned char)
405
else
406
  AC_CHECK_TYPE(u_bits16_t, unsigned short)
407
fi
408
])
409
 
410
dnl
411
dnl A signed 32-bit integer quantity
412
dnl
413
AC_DEFUN(BASH_TYPE_BITS32_T,
414
[
415
if test "$ac_cv_sizeof_int" = 4; then
416
  AC_CHECK_TYPE(bits32_t, int)
417
elif test "$ac_cv_sizeof_long" = 4; then
418
  AC_CHECK_TYPE(bits32_t, long)
419
else
420
  AC_CHECK_TYPE(bits32_t, int)
421
fi
422
])
423
 
424
dnl
425
dnl An unsigned 32-bit integer quantity
426
dnl
427
AC_DEFUN(BASH_TYPE_U_BITS32_T,
428
[
429
if test "$ac_cv_sizeof_int" = 4; then
430
  AC_CHECK_TYPE(u_bits32_t, unsigned int)
431
elif test "$ac_cv_sizeof_long" = 4; then
432
  AC_CHECK_TYPE(u_bits32_t, unsigned long)
433
else
434
  AC_CHECK_TYPE(u_bits32_t, unsigned int)
435
fi
436
])
437
 
438
AC_DEFUN(BASH_TYPE_PTRDIFF_T,
439
[
440
if test "$ac_cv_sizeof_int" = "$ac_cv_sizeof_char_p"; then
441
  AC_CHECK_TYPE(ptrdiff_t, int)
442
elif test "$ac_cv_sizeof_long" = "$ac_cv_sizeof_char_p"; then
443
  AC_CHECK_TYPE(ptrdiff_t, long)
444
elif test "$ac_cv_type_long_long" = yes && test "$ac_cv_sizeof_long_long" = "$ac_cv_sizeof_char_p"; then
445
  AC_CHECK_TYPE(ptrdiff_t, [long long])
446
else
447
  AC_CHECK_TYPE(ptrdiff_t, int)
448
fi
449
])
450
 
451
dnl
452
dnl A signed 64-bit quantity
453
dnl
454
AC_DEFUN(BASH_TYPE_BITS64_T,
455
[
456
if test "$ac_cv_sizeof_char_p" = 8; then
457
  AC_CHECK_TYPE(bits64_t, char *)
458
elif test "$ac_cv_sizeof_double" = 8; then
459
  AC_CHECK_TYPE(bits64_t, double)
460
elif test -n "$ac_cv_type_long_long" && test "$ac_cv_sizeof_long_long" = 8; then
461
  AC_CHECK_TYPE(bits64_t, [long long])
462
elif test "$ac_cv_sizeof_long" = 8; then
463
  AC_CHECK_TYPE(bits64_t, long)
464
else
465
  AC_CHECK_TYPE(bits64_t, double)
466
fi
467
])
468
 
469
AC_DEFUN(BASH_TYPE_LONG_LONG,
470
[
471
AC_CACHE_CHECK([for long long], bash_cv_type_long_long,
472
[AC_TRY_LINK([
473
long long ll = 1; int i = 63;],
474
[
475
long long llm = (long long) -1;
476
return ll << i | ll >> i | llm / ll | llm % ll;
477
], bash_cv_type_long_long='long long', bash_cv_type_long_long='long')])
478
if test "$bash_cv_type_long_long" = 'long long'; then
479
  AC_DEFINE(HAVE_LONG_LONG, 1)
480
fi
481
])
482
 
483
AC_DEFUN(BASH_TYPE_UNSIGNED_LONG_LONG,
484
[
485
AC_CACHE_CHECK([for unsigned long long], bash_cv_type_unsigned_long_long,
486
[AC_TRY_LINK([
487
unsigned long long ull = 1; int i = 63;],
488
[
489
unsigned long long ullmax = (unsigned long long) -1;
490
return ull << i | ull >> i | ullmax / ull | ullmax % ull;
491
], bash_cv_type_unsigned_long_long='unsigned long long',
492
   bash_cv_type_unsigned_long_long='unsigned long')])
493
if test "$bash_cv_type_unsigned_long_long" = 'unsigned long long'; then
494
  AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1)
495
fi
496
])
497
 
498
dnl
499
dnl Type of struct rlimit fields: some systems (OSF/1, NetBSD, RISC/os 5.0)
500
dnl have a rlim_t, others (4.4BSD based systems) use quad_t, others use
501
dnl long and still others use int (HP-UX 9.01, SunOS 4.1.3).  To simplify
502
dnl matters, this just checks for rlim_t, quad_t, or long.
503
dnl
504
AC_DEFUN(BASH_TYPE_RLIMIT,
505
[AC_MSG_CHECKING(for size and type of struct rlimit fields)
506
AC_CACHE_VAL(bash_cv_type_rlimit,
507
[AC_TRY_COMPILE([#include <sys/types.h>
508
#include <sys/resource.h>],
509
[rlim_t xxx;], bash_cv_type_rlimit=rlim_t,[
510
AC_TRY_RUN([
511
#include <sys/types.h>
512
#include <sys/time.h>
513
#include <sys/resource.h>
514
main()
515
{
516
#ifdef HAVE_QUAD_T
517
  struct rlimit rl;
518
  if (sizeof(rl.rlim_cur) == sizeof(quad_t))
519
    exit(0);
520
#endif
521
  exit(1);
522
}], bash_cv_type_rlimit=quad_t, bash_cv_type_rlimit=long,
523
        [AC_MSG_WARN(cannot check quad_t if cross compiling -- defaulting to long)
524
         bash_cv_type_rlimit=long])])
525
])
526
AC_MSG_RESULT($bash_cv_type_rlimit)
527
if test $bash_cv_type_rlimit = quad_t; then
528
AC_DEFINE(RLIMTYPE, quad_t)
529
elif test $bash_cv_type_rlimit = rlim_t; then
530
AC_DEFINE(RLIMTYPE, rlim_t)
531
fi
532
])
533
 
534
AC_DEFUN(BASH_FUNC_LSTAT,
535
[dnl Cannot use AC_CHECK_FUNCS(lstat) because Linux defines lstat() as an
536
dnl inline function in <sys/stat.h>.
537
AC_CACHE_CHECK([for lstat], bash_cv_func_lstat,
538
[AC_TRY_LINK([
539
#include <sys/types.h>
540
#include <sys/stat.h>
541
],[ lstat(".",(struct stat *)0); ],
542
bash_cv_func_lstat=yes, bash_cv_func_lstat=no)])
543
if test $bash_cv_func_lstat = yes; then
544
  AC_DEFINE(HAVE_LSTAT)
545
fi
546
])
547
 
548
AC_DEFUN(BASH_FUNC_INET_ATON,
549
[
550
AC_CACHE_CHECK([for inet_aton], bash_cv_func_inet_aton,
551
[AC_TRY_LINK([
552
#include <sys/types.h>
553
#include <netinet/in.h>
554
#include <arpa/inet.h>
555
struct in_addr ap;], [ inet_aton("127.0.0.1", &ap); ],
556
bash_cv_func_inet_aton=yes, bash_cv_func_inet_aton=no)])
557
if test $bash_cv_func_inet_aton = yes; then
558
  AC_DEFINE(HAVE_INET_ATON)
559
else
560
  AC_LIBOBJ(inet_aton)
561
fi
562
])
563
 
564
AC_DEFUN(BASH_FUNC_GETENV,
565
[AC_MSG_CHECKING(to see if getenv can be redefined)
566
AC_CACHE_VAL(bash_cv_getenv_redef,
567
[AC_TRY_RUN([
568
#ifdef HAVE_UNISTD_H
569
#  include <unistd.h>
570
#endif
571
#ifndef __STDC__
572
#  ifndef const
573
#    define const
574
#  endif
575
#endif
576
char *
577
getenv (name)
578
#if defined (__linux__) || defined (__bsdi__) || defined (convex)
579
     const char *name;
580
#else
581
     char const *name;
582
#endif /* !__linux__ && !__bsdi__ && !convex */
583
{
584
return "42";
585
}
586
main()
587
{
588
char *s;
589
/* The next allows this program to run, but does not allow bash to link
590
   when it redefines getenv.  I'm not really interested in figuring out
591
   why not. */
592
#if defined (NeXT)
593
exit(1);
594
#endif
595
s = getenv("ABCDE");
596
exit(s == 0);   /* force optimizer to leave getenv in */
597
}
598
], bash_cv_getenv_redef=yes, bash_cv_getenv_redef=no,
599
   [AC_MSG_WARN(cannot check getenv redefinition if cross compiling -- defaulting to yes)
600
    bash_cv_getenv_redef=yes]
601
)])
602
AC_MSG_RESULT($bash_cv_getenv_redef)
603
if test $bash_cv_getenv_redef = yes; then
604
AC_DEFINE(CAN_REDEFINE_GETENV)
605
fi
606
])
607
 
608
# We should check for putenv before calling this
609
AC_DEFUN(BASH_FUNC_STD_PUTENV,
610
[
611
AC_REQUIRE([AC_HEADER_STDC])
612
AC_REQUIRE([AC_C_PROTOTYPES])
613
AC_CACHE_CHECK([for standard-conformant putenv declaration], bash_cv_std_putenv,
614
[AC_TRY_LINK([
615
#if STDC_HEADERS
616
#include <stdlib.h>
617
#include <stddef.h>
618
#endif
619
#ifndef __STDC__
620
#  ifndef const
621
#    define const
622
#  endif
623
#endif
624
#ifdef PROTOTYPES
625
extern int putenv (char *);
626
#else
627
extern int putenv ();
628
#endif
629
],
630
[return (putenv == 0);],
631
bash_cv_std_putenv=yes, bash_cv_std_putenv=no
632
)])
633
if test $bash_cv_std_putenv = yes; then
634
AC_DEFINE(HAVE_STD_PUTENV)
635
fi
636
])
637
 
638
# We should check for unsetenv before calling this
639
AC_DEFUN(BASH_FUNC_STD_UNSETENV,
640
[
641
AC_REQUIRE([AC_HEADER_STDC])
642
AC_REQUIRE([AC_C_PROTOTYPES])
643
AC_CACHE_CHECK([for standard-conformant unsetenv declaration], bash_cv_std_unsetenv,
644
[AC_TRY_LINK([
645
#if STDC_HEADERS
646
#include <stdlib.h>
647
#include <stddef.h>
648
#endif
649
#ifndef __STDC__
650
#  ifndef const
651
#    define const
652
#  endif
653
#endif
654
#ifdef PROTOTYPES
655
extern int unsetenv (const char *);
656
#else
657
extern int unsetenv ();
658
#endif
659
],
660
[return (unsetenv == 0);],
661
bash_cv_std_unsetenv=yes, bash_cv_std_unsetenv=no
662
)])
663
if test $bash_cv_std_unsetenv = yes; then
664
AC_DEFINE(HAVE_STD_UNSETENV)
665
fi
666
])
667
 
668
AC_DEFUN(BASH_FUNC_ULIMIT_MAXFDS,
669
[AC_MSG_CHECKING(whether ulimit can substitute for getdtablesize)
670
AC_CACHE_VAL(bash_cv_ulimit_maxfds,
671
[AC_TRY_RUN([
672
main()
673
{
674
long maxfds = ulimit(4, 0L);
675
exit (maxfds == -1L);
676
}
677
], bash_cv_ulimit_maxfds=yes, bash_cv_ulimit_maxfds=no,
678
   [AC_MSG_WARN(cannot check ulimit if cross compiling -- defaulting to no)
679
    bash_cv_ulimit_maxfds=no]
680
)])
681
AC_MSG_RESULT($bash_cv_ulimit_maxfds)
682
if test $bash_cv_ulimit_maxfds = yes; then
683
AC_DEFINE(ULIMIT_MAXFDS)
684
fi
685
])
686
 
687
AC_DEFUN(BASH_FUNC_GETCWD,
688
[AC_MSG_CHECKING([if getcwd() will dynamically allocate memory])
689
AC_CACHE_VAL(bash_cv_getcwd_malloc,
690
[AC_TRY_RUN([
691
#include <stdio.h>
692
#ifdef HAVE_UNISTD_H
693
#include <unistd.h>
694
#endif
695
 
696
main()
697
{
698
        char    *xpwd;
699
        xpwd = getcwd(0, 0);
700
        exit (xpwd == 0);
701
}
702
], bash_cv_getcwd_malloc=yes, bash_cv_getcwd_malloc=no,
703
   [AC_MSG_WARN(cannot check whether getcwd allocates memory when cross-compiling -- defaulting to no)
704
    bash_cv_getcwd_malloc=no]
705
)])
706
AC_MSG_RESULT($bash_cv_getcwd_malloc)
707
if test $bash_cv_getcwd_malloc = no; then
708
AC_DEFINE(GETCWD_BROKEN)
709
AC_LIBOBJ(getcwd)
710
fi
711
])
712
 
713
dnl
714
dnl This needs BASH_CHECK_SOCKLIB, but since that's not called on every
715
dnl system, we can't use AC_PREREQ
716
dnl
717
AC_DEFUN(BASH_FUNC_GETHOSTBYNAME,
718
[if test "X$bash_cv_have_gethostbyname" = "X"; then
719
_bash_needmsg=yes
720
else
721
AC_MSG_CHECKING(for gethostbyname in socket library)
722
_bash_needmsg=
723
fi
724
AC_CACHE_VAL(bash_cv_have_gethostbyname,
725
[AC_TRY_LINK([#include <netdb.h>],
726
[ struct hostent *hp;
727
  hp = gethostbyname("localhost");
728
], bash_cv_have_gethostbyname=yes, bash_cv_have_gethostbyname=no)]
729
)
730
if test "X$_bash_needmsg" = Xyes; then
731
    AC_MSG_CHECKING(for gethostbyname in socket library)
732
fi
733
AC_MSG_RESULT($bash_cv_have_gethostbyname)
734
if test "$bash_cv_have_gethostbyname" = yes; then
735
AC_DEFINE(HAVE_GETHOSTBYNAME)
736
fi
737
])
738
 
739
AC_DEFUN(BASH_FUNC_FNMATCH_EXTMATCH,
740
[AC_MSG_CHECKING(if fnmatch does extended pattern matching with FNM_EXTMATCH)
741
AC_CACHE_VAL(bash_cv_fnm_extmatch,
742
[AC_TRY_RUN([
743
#include <fnmatch.h>
744
 
745
main()
746
{
747
#ifdef FNM_EXTMATCH
748
  exit (0);
749
#else
750
  exit (1);
751
#endif
752
}
753
], bash_cv_fnm_extmatch=yes, bash_cv_fnm_extmatch=no,
754
    [AC_MSG_WARN(cannot check FNM_EXTMATCH if cross compiling -- defaulting to no)
755
     bash_cv_fnm_extmatch=no])
756
])
757
AC_MSG_RESULT($bash_cv_fnm_extmatch)
758
if test $bash_cv_fnm_extmatch = yes; then
759
AC_DEFINE(HAVE_LIBC_FNM_EXTMATCH)
760
fi
761
])
762
 
763
AC_DEFUN(BASH_FUNC_POSIX_SETJMP,
764
[AC_REQUIRE([BASH_SYS_SIGNAL_VINTAGE])
765
AC_MSG_CHECKING(for presence of POSIX-style sigsetjmp/siglongjmp)
766
AC_CACHE_VAL(bash_cv_func_sigsetjmp,
767
[AC_TRY_RUN([
768
#ifdef HAVE_UNISTD_H
769
#include <unistd.h>
770
#endif
771
#include <sys/types.h>
772
#include <signal.h>
773
#include <setjmp.h>
774
 
775
main()
776
{
777
#if !defined (_POSIX_VERSION) || !defined (HAVE_POSIX_SIGNALS)
778
exit (1);
779
#else
780
 
781
int code;
782
sigset_t set, oset;
783
sigjmp_buf xx;
784
 
785
/* get the mask */
786
sigemptyset(&set);
787
sigemptyset(&oset);
788
sigprocmask(SIG_BLOCK, (sigset_t *)NULL, &set);
789
sigprocmask(SIG_BLOCK, (sigset_t *)NULL, &oset);
790
 
791
/* save it */
792
code = sigsetjmp(xx, 1);
793
if (code)
794
  exit(0);      /* could get sigmask and compare to oset here. */
795
 
796
/* change it */
797
sigaddset(&set, SIGINT);
798
sigprocmask(SIG_BLOCK, &set, (sigset_t *)NULL);
799
 
800
/* and siglongjmp */
801
siglongjmp(xx, 10);
802
exit(1);
803
#endif
804
}], bash_cv_func_sigsetjmp=present, bash_cv_func_sigsetjmp=missing,
805
    [AC_MSG_WARN(cannot check for sigsetjmp/siglongjmp if cross-compiling -- defaulting to missing)
806
     bash_cv_func_sigsetjmp=missing]
807
)])
808
AC_MSG_RESULT($bash_cv_func_sigsetjmp)
809
if test $bash_cv_func_sigsetjmp = present; then
810
AC_DEFINE(HAVE_POSIX_SIGSETJMP)
811
fi
812
])
813
 
814
AC_DEFUN(BASH_FUNC_STRCOLL,
815
[
816
AC_MSG_CHECKING(whether or not strcoll and strcmp differ)
817
AC_CACHE_VAL(bash_cv_func_strcoll_broken,
818
[AC_TRY_RUN([
819
#include <stdio.h>
820
#if defined (HAVE_LOCALE_H)
821
#include <locale.h>
822
#endif
823
 
824
main(c, v)
825
int     c;
826
char    *v[];
827
{
828
        int     r1, r2;
829
        char    *deflocale, *defcoll;
830
 
831
#ifdef HAVE_SETLOCALE
832
        deflocale = setlocale(LC_ALL, "");
833
        defcoll = setlocale(LC_COLLATE, "");
834
#endif
835
 
836
#ifdef HAVE_STRCOLL
837
        /* These two values are taken from tests/glob-test. */
838
        r1 = strcoll("abd", "aXd");
839
#else
840
        r1 = 0;
841
#endif
842
        r2 = strcmp("abd", "aXd");
843
 
844
        /* These two should both be greater than 0.  It is permissible for
845
           a system to return different values, as long as the sign is the
846
           same. */
847
 
848
        /* Exit with 1 (failure) if these two values are both > 0, since
849
           this tests whether strcoll(3) is broken with respect to strcmp(3)
850
           in the default locale. */
851
        exit (r1 > 0 && r2 > 0);
852
}
853
], bash_cv_func_strcoll_broken=yes, bash_cv_func_strcoll_broken=no,
854
   [AC_MSG_WARN(cannot check strcoll if cross compiling -- defaulting to no)
855
    bash_cv_func_strcoll_broken=no]
856
)])
857
AC_MSG_RESULT($bash_cv_func_strcoll_broken)
858
if test $bash_cv_func_strcoll_broken = yes; then
859
AC_DEFINE(STRCOLL_BROKEN)
860
fi
861
])
862
 
863
AC_DEFUN(BASH_FUNC_PRINTF_A_FORMAT,
864
[AC_MSG_CHECKING([for printf floating point output in hex notation])
865
AC_CACHE_VAL(bash_cv_printf_a_format,
866
[AC_TRY_RUN([
867
#include <stdio.h>
868
#include <string.h>
869
 
870
int
871
main()
872
{
873
        double y = 0.0;
874
        char abuf[1024];
875
 
876
        sprintf(abuf, "%A", y);
877
        exit(strchr(abuf, 'P') == (char *)0);
878
}
879
], bash_cv_printf_a_format=yes, bash_cv_printf_a_format=no,
880
   [AC_MSG_WARN(cannot check printf if cross compiling -- defaulting to no)
881
    bash_cv_printf_a_format=no]
882
)])
883
AC_MSG_RESULT($bash_cv_printf_a_format)
884
if test $bash_cv_printf_a_format = yes; then
885
AC_DEFINE(HAVE_PRINTF_A_FORMAT)
886
fi
887
])
888
 
889
AC_DEFUN(BASH_STRUCT_TERMIOS_LDISC,
890
[
891
AC_CHECK_MEMBER(struct termios.c_line, AC_DEFINE(TERMIOS_LDISC), ,[
892
#include <sys/types.h>
893
#include <termios.h>
894
])
895
])
896
 
897
AC_DEFUN(BASH_STRUCT_TERMIO_LDISC,
898
[
899
AC_CHECK_MEMBER(struct termio.c_line, AC_DEFINE(TERMIO_LDISC), ,[
900
#include <sys/types.h>
901
#include <termio.h>
902
])
903
])
904
 
905
dnl
906
dnl Like AC_STRUCT_ST_BLOCKS, but doesn't muck with LIBOBJS
907
dnl
908
dnl sets bash_cv_struct_stat_st_blocks
909
dnl
910
dnl unused for now; we'll see how AC_CHECK_MEMBERS works
911
dnl
912
AC_DEFUN(BASH_STRUCT_ST_BLOCKS,
913
[
914
AC_MSG_CHECKING([for struct stat.st_blocks])
915
AC_CACHE_VAL(bash_cv_struct_stat_st_blocks,
916
[AC_TRY_COMPILE(
917
[
918
#include <sys/types.h>
919
#include <sys/stat.h>
920
],
921
[
922
main()
923
{
924
static struct stat a;
925
if (a.st_blocks) return 0;
926
return 0;
927
}
928
], bash_cv_struct_stat_st_blocks=yes, bash_cv_struct_stat_st_blocks=no)
929
])
930
AC_MSG_RESULT($bash_cv_struct_stat_st_blocks)
931
if test "$bash_cv_struct_stat_st_blocks" = "yes"; then
932
AC_DEFINE(HAVE_STRUCT_STAT_ST_BLOCKS)
933
fi
934
])
935
 
936
AC_DEFUN(BASH_CHECK_LIB_TERMCAP,
937
[
938
if test "X$bash_cv_termcap_lib" = "X"; then
939
_bash_needmsg=yes
940
else
941
AC_MSG_CHECKING(which library has the termcap functions)
942
_bash_needmsg=
943
fi
944
AC_CACHE_VAL(bash_cv_termcap_lib,
945
[AC_CHECK_FUNC(tgetent, bash_cv_termcap_lib=libc,
946
  [AC_CHECK_LIB(termcap, tgetent, bash_cv_termcap_lib=libtermcap,
947
    [AC_CHECK_LIB(tinfo, tgetent, bash_cv_termcap_lib=libtinfo,
948
        [AC_CHECK_LIB(curses, tgetent, bash_cv_termcap_lib=libcurses,
949
            [AC_CHECK_LIB(ncurses, tgetent, bash_cv_termcap_lib=libncurses,
950
                bash_cv_termcap_lib=gnutermcap)])])])])])
951
if test "X$_bash_needmsg" = "Xyes"; then
952
AC_MSG_CHECKING(which library has the termcap functions)
953
fi
954
AC_MSG_RESULT(using $bash_cv_termcap_lib)
955
if test $bash_cv_termcap_lib = gnutermcap && test -z "$prefer_curses"; then
956
LDFLAGS="$LDFLAGS -L./lib/termcap"
957
TERMCAP_LIB="./lib/termcap/libtermcap.a"
958
TERMCAP_DEP="./lib/termcap/libtermcap.a"
959
elif test $bash_cv_termcap_lib = libtermcap && test -z "$prefer_curses"; then
960
TERMCAP_LIB=-ltermcap
961
TERMCAP_DEP=
962
elif test $bash_cv_termcap_lib = libtinfo; then
963
TERMCAP_LIB=-ltinfo
964
TERMCAP_DEP=
965
elif test $bash_cv_termcap_lib = libncurses; then
966
TERMCAP_LIB=-lncurses
967
TERMCAP_DEP=
968
elif test $bash_cv_termcap_lib = libc; then
969
TERMCAP_LIB=
970
TERMCAP_DEP=
971
else
972
TERMCAP_LIB=-lcurses
973
TERMCAP_DEP=
974
fi
975
])
976
 
977
dnl
978
dnl Check for the presence of getpeername in libsocket.
979
dnl If libsocket is present, check for libnsl and add it to LIBS if
980
dnl it's there, since most systems with libsocket require linking
981
dnl with libnsl as well.  This should only be called if getpeername
982
dnl was not found in libc.
983
dnl
984
dnl NOTE: IF WE FIND GETPEERNAME, WE ASSUME THAT WE HAVE BIND/CONNECT
985
dnl       AS WELL
986
dnl
987
AC_DEFUN(BASH_CHECK_LIB_SOCKET,
988
[
989
if test "X$bash_cv_have_socklib" = "X"; then
990
_bash_needmsg=
991
else
992
AC_MSG_CHECKING(for socket library)
993
_bash_needmsg=yes
994
fi
995
AC_CACHE_VAL(bash_cv_have_socklib,
996
[AC_CHECK_LIB(socket, getpeername,
997
        bash_cv_have_socklib=yes, bash_cv_have_socklib=no, -lnsl)])
998
if test "X$_bash_needmsg" = Xyes; then
999
  AC_MSG_RESULT($bash_cv_have_socklib)
1000
  _bash_needmsg=
1001
fi
1002
if test $bash_cv_have_socklib = yes; then
1003
  # check for libnsl, add it to LIBS if present
1004
  if test "X$bash_cv_have_libnsl" = "X"; then
1005
    _bash_needmsg=
1006
  else
1007
    AC_MSG_CHECKING(for libnsl)
1008
    _bash_needmsg=yes
1009
  fi
1010
  AC_CACHE_VAL(bash_cv_have_libnsl,
1011
           [AC_CHECK_LIB(nsl, t_open,
1012
                 bash_cv_have_libnsl=yes, bash_cv_have_libnsl=no)])
1013
  if test "X$_bash_needmsg" = Xyes; then
1014
    AC_MSG_RESULT($bash_cv_have_libnsl)
1015
    _bash_needmsg=
1016
  fi
1017
  if test $bash_cv_have_libnsl = yes; then
1018
    LIBS="-lsocket -lnsl $LIBS"
1019
  else
1020
    LIBS="-lsocket $LIBS"
1021
  fi
1022
  AC_DEFINE(HAVE_LIBSOCKET)
1023
  AC_DEFINE(HAVE_GETPEERNAME)
1024
fi
1025
])
1026
 
1027
AC_DEFUN(BASH_STRUCT_DIRENT_D_INO,
1028
[AC_REQUIRE([AC_HEADER_DIRENT])
1029
AC_MSG_CHECKING(for struct dirent.d_ino)
1030
AC_CACHE_VAL(bash_cv_dirent_has_dino,
1031
[AC_TRY_COMPILE([
1032
#include <stdio.h>
1033
#include <sys/types.h>
1034
#ifdef HAVE_UNISTD_H
1035
# include <unistd.h>
1036
#endif /* HAVE_UNISTD_H */
1037
#if defined(HAVE_DIRENT_H)
1038
# include <dirent.h>
1039
#else
1040
# define dirent direct
1041
# ifdef HAVE_SYS_NDIR_H
1042
#  include <sys/ndir.h>
1043
# endif /* SYSNDIR */
1044
# ifdef HAVE_SYS_DIR_H
1045
#  include <sys/dir.h>
1046
# endif /* SYSDIR */
1047
# ifdef HAVE_NDIR_H
1048
#  include <ndir.h>
1049
# endif
1050
#endif /* HAVE_DIRENT_H */
1051
],[
1052
struct dirent d; int z; z = d.d_ino;
1053
], bash_cv_dirent_has_dino=yes, bash_cv_dirent_has_dino=no)])
1054
AC_MSG_RESULT($bash_cv_dirent_has_dino)
1055
if test $bash_cv_dirent_has_dino = yes; then
1056
AC_DEFINE(HAVE_STRUCT_DIRENT_D_INO)
1057
fi
1058
])
1059
 
1060
AC_DEFUN(BASH_STRUCT_DIRENT_D_FILENO,
1061
[AC_REQUIRE([AC_HEADER_DIRENT])
1062
AC_MSG_CHECKING(for struct dirent.d_fileno)
1063
AC_CACHE_VAL(bash_cv_dirent_has_d_fileno,
1064
[AC_TRY_COMPILE([
1065
#include <stdio.h>
1066
#include <sys/types.h>
1067
#ifdef HAVE_UNISTD_H
1068
# include <unistd.h>
1069
#endif /* HAVE_UNISTD_H */
1070
#if defined(HAVE_DIRENT_H)
1071
# include <dirent.h>
1072
#else
1073
# define dirent direct
1074
# ifdef HAVE_SYS_NDIR_H
1075
#  include <sys/ndir.h>
1076
# endif /* SYSNDIR */
1077
# ifdef HAVE_SYS_DIR_H
1078
#  include <sys/dir.h>
1079
# endif /* SYSDIR */
1080
# ifdef HAVE_NDIR_H
1081
#  include <ndir.h>
1082
# endif
1083
#endif /* HAVE_DIRENT_H */
1084
],[
1085
struct dirent d; int z; z = d.d_fileno;
1086
], bash_cv_dirent_has_d_fileno=yes, bash_cv_dirent_has_d_fileno=no)])
1087
AC_MSG_RESULT($bash_cv_dirent_has_d_fileno)
1088
if test $bash_cv_dirent_has_d_fileno = yes; then
1089
AC_DEFINE(HAVE_STRUCT_DIRENT_D_FILENO)
1090
fi
1091
])
1092
 
1093
AC_DEFUN(BASH_STRUCT_DIRENT_D_NAMLEN,
1094
[AC_REQUIRE([AC_HEADER_DIRENT])
1095
AC_MSG_CHECKING(for struct dirent.d_namlen)
1096
AC_CACHE_VAL(bash_cv_dirent_has_d_namlen,
1097
[AC_TRY_COMPILE([
1098
#include <stdio.h>
1099
#include <sys/types.h>
1100
#ifdef HAVE_UNISTD_H
1101
# include <unistd.h>
1102
#endif /* HAVE_UNISTD_H */
1103
#if defined(HAVE_DIRENT_H)
1104
# include <dirent.h>
1105
#else
1106
# define dirent direct
1107
# ifdef HAVE_SYS_NDIR_H
1108
#  include <sys/ndir.h>
1109
# endif /* SYSNDIR */
1110
# ifdef HAVE_SYS_DIR_H
1111
#  include <sys/dir.h>
1112
# endif /* SYSDIR */
1113
# ifdef HAVE_NDIR_H
1114
#  include <ndir.h>
1115
# endif
1116
#endif /* HAVE_DIRENT_H */
1117
],[
1118
struct dirent d; int z; z = d.d_namlen;
1119
], bash_cv_dirent_has_d_namlen=yes, bash_cv_dirent_has_d_namlen=no)])
1120
AC_MSG_RESULT($bash_cv_dirent_has_d_namlen)
1121
if test $bash_cv_dirent_has_d_namlen = yes; then
1122
AC_DEFINE(HAVE_STRUCT_DIRENT_D_NAMLEN)
1123
fi
1124
])
1125
 
1126
AC_DEFUN(BASH_STRUCT_TIMEVAL,
1127
[AC_MSG_CHECKING(for struct timeval in sys/time.h and time.h)
1128
AC_CACHE_VAL(bash_cv_struct_timeval,
1129
[
1130
AC_EGREP_HEADER(struct timeval, sys/time.h,
1131
                bash_cv_struct_timeval=yes,
1132
                AC_EGREP_HEADER(struct timeval, time.h,
1133
                        bash_cv_struct_timeval=yes,
1134
                        bash_cv_struct_timeval=no))
1135
])
1136
AC_MSG_RESULT($bash_cv_struct_timeval)
1137
if test $bash_cv_struct_timeval = yes; then
1138
  AC_DEFINE(HAVE_TIMEVAL)
1139
fi
1140
])
1141
 
1142
AC_DEFUN(BASH_STRUCT_TIMEZONE,
1143
[AC_MSG_CHECKING(for struct timezone in sys/time.h and time.h)
1144
AC_CACHE_VAL(bash_cv_struct_timezone,
1145
[
1146
AC_EGREP_HEADER(struct timezone, sys/time.h,
1147
                bash_cv_struct_timezone=yes,
1148
                AC_EGREP_HEADER(struct timezone, time.h,
1149
                        bash_cv_struct_timezone=yes,
1150
                        bash_cv_struct_timezone=no))
1151
])
1152
AC_MSG_RESULT($bash_cv_struct_timezone)
1153
if test $bash_cv_struct_timezone = yes; then
1154
  AC_DEFINE(HAVE_STRUCT_TIMEZONE)
1155
fi
1156
])
1157
 
1158
AC_DEFUN(BASH_STRUCT_WINSIZE,
1159
[AC_MSG_CHECKING(for struct winsize in sys/ioctl.h and termios.h)
1160
AC_CACHE_VAL(bash_cv_struct_winsize_header,
1161
[AC_TRY_COMPILE([#include <sys/types.h>
1162
#include <sys/ioctl.h>], [struct winsize x;],
1163
  bash_cv_struct_winsize_header=ioctl_h,
1164
  [AC_TRY_COMPILE([#include <sys/types.h>
1165
#include <termios.h>], [struct winsize x;],
1166
  bash_cv_struct_winsize_header=termios_h, bash_cv_struct_winsize_header=other)
1167
])])
1168
if test $bash_cv_struct_winsize_header = ioctl_h; then
1169
  AC_MSG_RESULT(sys/ioctl.h)
1170
  AC_DEFINE(STRUCT_WINSIZE_IN_SYS_IOCTL)
1171
elif test $bash_cv_struct_winsize_header = termios_h; then
1172
  AC_MSG_RESULT(termios.h)
1173
  AC_DEFINE(STRUCT_WINSIZE_IN_TERMIOS)
1174
else
1175
  AC_MSG_RESULT(not found)
1176
fi
1177
])
1178
 
1179
dnl Check type of signal routines (posix, 4.2bsd, 4.1bsd or v7)
1180
AC_DEFUN(BASH_SYS_SIGNAL_VINTAGE,
1181
[AC_REQUIRE([AC_TYPE_SIGNAL])
1182
AC_MSG_CHECKING(for type of signal functions)
1183
AC_CACHE_VAL(bash_cv_signal_vintage,
1184
[
1185
  AC_TRY_LINK([#include <signal.h>],[
1186
    sigset_t ss;
1187
    struct sigaction sa;
1188
    sigemptyset(&ss); sigsuspend(&ss);
1189
    sigaction(SIGINT, &sa, (struct sigaction *) 0);
1190
    sigprocmask(SIG_BLOCK, &ss, (sigset_t *) 0);
1191
  ], bash_cv_signal_vintage=posix,
1192
  [
1193
    AC_TRY_LINK([#include <signal.h>], [
1194
        int mask = sigmask(SIGINT);
1195
        sigsetmask(mask); sigblock(mask); sigpause(mask);
1196
    ], bash_cv_signal_vintage=4.2bsd,
1197
    [
1198
      AC_TRY_LINK([
1199
        #include <signal.h>
1200
        RETSIGTYPE foo() { }], [
1201
                int mask = sigmask(SIGINT);
1202
                sigset(SIGINT, foo); sigrelse(SIGINT);
1203
                sighold(SIGINT); sigpause(SIGINT);
1204
        ], bash_cv_signal_vintage=svr3, bash_cv_signal_vintage=v7
1205
    )]
1206
  )]
1207
)
1208
])
1209
AC_MSG_RESULT($bash_cv_signal_vintage)
1210
if test "$bash_cv_signal_vintage" = posix; then
1211
AC_DEFINE(HAVE_POSIX_SIGNALS)
1212
elif test "$bash_cv_signal_vintage" = "4.2bsd"; then
1213
AC_DEFINE(HAVE_BSD_SIGNALS)
1214
elif test "$bash_cv_signal_vintage" = svr3; then
1215
AC_DEFINE(HAVE_USG_SIGHOLD)
1216
fi
1217
])
1218
 
1219
dnl Check if the pgrp of setpgrp() can't be the pid of a zombie process.
1220
AC_DEFUN(BASH_SYS_PGRP_SYNC,
1221
[AC_REQUIRE([AC_FUNC_GETPGRP])
1222
AC_MSG_CHECKING(whether pgrps need synchronization)
1223
AC_CACHE_VAL(bash_cv_pgrp_pipe,
1224
[AC_TRY_RUN([
1225
#ifdef HAVE_UNISTD_H
1226
#  include <unistd.h>
1227
#endif
1228
main()
1229
{
1230
# ifdef GETPGRP_VOID
1231
#  define getpgID()     getpgrp()
1232
# else
1233
#  define getpgID()     getpgrp(0)
1234
#  define setpgid(x,y)  setpgrp(x,y)
1235
# endif
1236
        int pid1, pid2, fds[2];
1237
        int status;
1238
        char ok;
1239
 
1240
        switch (pid1 = fork()) {
1241
          case -1:
1242
            exit(1);
1243
          case 0:
1244
            setpgid(0, getpid());
1245
            exit(0);
1246
        }
1247
        setpgid(pid1, pid1);
1248
 
1249
        sleep(2);       /* let first child die */
1250
 
1251
        if (pipe(fds) < 0)
1252
          exit(2);
1253
 
1254
        switch (pid2 = fork()) {
1255
          case -1:
1256
            exit(3);
1257
          case 0:
1258
            setpgid(0, pid1);
1259
            ok = getpgID() == pid1;
1260
            write(fds[1], &ok, 1);
1261
            exit(0);
1262
        }
1263
        setpgid(pid2, pid1);
1264
 
1265
        close(fds[1]);
1266
        if (read(fds[0], &ok, 1) != 1)
1267
          exit(4);
1268
        wait(&status);
1269
        wait(&status);
1270
        exit(ok ? 0 : 5);
1271
}
1272
], bash_cv_pgrp_pipe=no,bash_cv_pgrp_pipe=yes,
1273
   [AC_MSG_WARN(cannot check pgrp synchronization if cross compiling -- defaulting to no)
1274
    bash_cv_pgrp_pipe=no])
1275
])
1276
AC_MSG_RESULT($bash_cv_pgrp_pipe)
1277
if test $bash_cv_pgrp_pipe = yes; then
1278
AC_DEFINE(PGRP_PIPE)
1279
fi
1280
])
1281
 
1282
AC_DEFUN(BASH_SYS_REINSTALL_SIGHANDLERS,
1283
[AC_REQUIRE([AC_TYPE_SIGNAL])
1284
AC_REQUIRE([BASH_SYS_SIGNAL_VINTAGE])
1285
AC_MSG_CHECKING([if signal handlers must be reinstalled when invoked])
1286
AC_CACHE_VAL(bash_cv_must_reinstall_sighandlers,
1287
[AC_TRY_RUN([
1288
#include <signal.h>
1289
#ifdef HAVE_UNISTD_H
1290
#include <unistd.h>
1291
#endif
1292
 
1293
typedef RETSIGTYPE sigfunc();
1294
 
1295
int nsigint;
1296
 
1297
#ifdef HAVE_POSIX_SIGNALS
1298
sigfunc *
1299
set_signal_handler(sig, handler)
1300
     int sig;
1301
     sigfunc *handler;
1302
{
1303
  struct sigaction act, oact;
1304
  act.sa_handler = handler;
1305
  act.sa_flags = 0;
1306
  sigemptyset (&act.sa_mask);
1307
  sigemptyset (&oact.sa_mask);
1308
  sigaction (sig, &act, &oact);
1309
  return (oact.sa_handler);
1310
}
1311
#else
1312
#define set_signal_handler(s, h) signal(s, h)
1313
#endif
1314
 
1315
RETSIGTYPE
1316
sigint(s)
1317
int s;
1318
{
1319
  nsigint++;
1320
}
1321
 
1322
main()
1323
{
1324
        nsigint = 0;
1325
        set_signal_handler(SIGINT, sigint);
1326
        kill((int)getpid(), SIGINT);
1327
        kill((int)getpid(), SIGINT);
1328
        exit(nsigint != 2);
1329
}
1330
], bash_cv_must_reinstall_sighandlers=no, bash_cv_must_reinstall_sighandlers=yes,
1331
   [AC_MSG_WARN(cannot check signal handling if cross compiling -- defaulting to no)
1332
    bash_cv_must_reinstall_sighandlers=no]
1333
)])
1334
AC_MSG_RESULT($bash_cv_must_reinstall_sighandlers)
1335
if test $bash_cv_must_reinstall_sighandlers = yes; then
1336
AC_DEFINE(MUST_REINSTALL_SIGHANDLERS)
1337
fi
1338
])
1339
 
1340
dnl check that some necessary job control definitions are present
1341
AC_DEFUN(BASH_SYS_JOB_CONTROL_MISSING,
1342
[AC_REQUIRE([BASH_SYS_SIGNAL_VINTAGE])
1343
AC_MSG_CHECKING(for presence of necessary job control definitions)
1344
AC_CACHE_VAL(bash_cv_job_control_missing,
1345
[AC_TRY_RUN([
1346
#include <sys/types.h>
1347
#ifdef HAVE_SYS_WAIT_H
1348
#include <sys/wait.h>
1349
#endif
1350
#ifdef HAVE_UNISTD_H
1351
#include <unistd.h>
1352
#endif
1353
#include <signal.h>
1354
 
1355
/* Add more tests in here as appropriate. */
1356
main()
1357
{
1358
/* signal type */
1359
#if !defined (HAVE_POSIX_SIGNALS) && !defined (HAVE_BSD_SIGNALS)
1360
exit(1);
1361
#endif
1362
 
1363
/* signals and tty control. */
1364
#if !defined (SIGTSTP) || !defined (SIGSTOP) || !defined (SIGCONT)
1365
exit (1);
1366
#endif
1367
 
1368
/* process control */
1369
#if !defined (WNOHANG) || !defined (WUNTRACED)
1370
exit(1);
1371
#endif
1372
 
1373
/* Posix systems have tcgetpgrp and waitpid. */
1374
#if defined (_POSIX_VERSION) && !defined (HAVE_TCGETPGRP)
1375
exit(1);
1376
#endif
1377
 
1378
#if defined (_POSIX_VERSION) && !defined (HAVE_WAITPID)
1379
exit(1);
1380
#endif
1381
 
1382
/* Other systems have TIOCSPGRP/TIOCGPRGP and wait3. */
1383
#if !defined (_POSIX_VERSION) && !defined (HAVE_WAIT3)
1384
exit(1);
1385
#endif
1386
 
1387
exit(0);
1388
}], bash_cv_job_control_missing=present, bash_cv_job_control_missing=missing,
1389
    [AC_MSG_WARN(cannot check job control if cross-compiling -- defaulting to missing)
1390
     bash_cv_job_control_missing=missing]
1391
)])
1392
AC_MSG_RESULT($bash_cv_job_control_missing)
1393
if test $bash_cv_job_control_missing = missing; then
1394
AC_DEFINE(JOB_CONTROL_MISSING)
1395
fi
1396
])
1397
 
1398
dnl check whether named pipes are present
1399
dnl this requires a previous check for mkfifo, but that is awkward to specify
1400
AC_DEFUN(BASH_SYS_NAMED_PIPES,
1401
[AC_MSG_CHECKING(for presence of named pipes)
1402
AC_CACHE_VAL(bash_cv_sys_named_pipes,
1403
[AC_TRY_RUN([
1404
#include <sys/types.h>
1405
#include <sys/stat.h>
1406
#ifdef HAVE_UNISTD_H
1407
#include <unistd.h>
1408
#endif
1409
 
1410
/* Add more tests in here as appropriate. */
1411
main()
1412
{
1413
int fd, err;
1414
 
1415
#if defined (HAVE_MKFIFO)
1416
exit (0);
1417
#endif
1418
 
1419
#if !defined (S_IFIFO) && (defined (_POSIX_VERSION) && !defined (S_ISFIFO))
1420
exit (1);
1421
#endif
1422
 
1423
#if defined (NeXT)
1424
exit (1);
1425
#endif
1426
err = mkdir("/tmp/bash-aclocal", 0700);
1427
if (err < 0) {
1428
  perror ("mkdir");
1429
  exit(1);
1430
}
1431
fd = mknod ("/tmp/bash-aclocal/sh-np-autoconf", 0666 | S_IFIFO, 0);
1432
if (fd == -1) {
1433
  rmdir ("/tmp/bash-aclocal");
1434
  exit (1);
1435
}
1436
close(fd);
1437
unlink ("/tmp/bash-aclocal/sh-np-autoconf");
1438
rmdir ("/tmp/bash-aclocal");
1439
exit(0);
1440
}], bash_cv_sys_named_pipes=present, bash_cv_sys_named_pipes=missing,
1441
    [AC_MSG_WARN(cannot check for named pipes if cross-compiling -- defaulting to missing)
1442
     bash_cv_sys_named_pipes=missing]
1443
)])
1444
AC_MSG_RESULT($bash_cv_sys_named_pipes)
1445
if test $bash_cv_sys_named_pipes = missing; then
1446
AC_DEFINE(NAMED_PIPES_MISSING)
1447
fi
1448
])
1449
 
1450
AC_DEFUN(BASH_SYS_DEFAULT_MAIL_DIR,
1451
[AC_MSG_CHECKING(for default mail directory)
1452
AC_CACHE_VAL(bash_cv_mail_dir,
1453
[if test -d /var/mail; then
1454
   bash_cv_mail_dir=/var/mail
1455
 elif test -d /var/spool/mail; then
1456
   bash_cv_mail_dir=/var/spool/mail
1457
 elif test -d /usr/mail; then
1458
   bash_cv_mail_dir=/usr/mail
1459
 elif test -d /usr/spool/mail; then
1460
   bash_cv_mail_dir=/usr/spool/mail
1461
 else
1462
   bash_cv_mail_dir=unknown
1463
 fi
1464
])
1465
AC_MSG_RESULT($bash_cv_mail_dir)
1466
AC_DEFINE_UNQUOTED(DEFAULT_MAIL_DIRECTORY, "$bash_cv_mail_dir")
1467
])
1468
 
1469
AC_DEFUN(BASH_HAVE_TIOCGWINSZ,
1470
[AC_MSG_CHECKING(for TIOCGWINSZ in sys/ioctl.h)
1471
AC_CACHE_VAL(bash_cv_tiocgwinsz_in_ioctl,
1472
[AC_TRY_COMPILE([#include <sys/types.h>
1473
#include <sys/ioctl.h>], [int x = TIOCGWINSZ;],
1474
  bash_cv_tiocgwinsz_in_ioctl=yes,bash_cv_tiocgwinsz_in_ioctl=no)])
1475
AC_MSG_RESULT($bash_cv_tiocgwinsz_in_ioctl)
1476
if test $bash_cv_tiocgwinsz_in_ioctl = yes; then
1477
AC_DEFINE(GWINSZ_IN_SYS_IOCTL)
1478
fi
1479
])
1480
 
1481
AC_DEFUN(BASH_HAVE_TIOCSTAT,
1482
[AC_MSG_CHECKING(for TIOCSTAT in sys/ioctl.h)
1483
AC_CACHE_VAL(bash_cv_tiocstat_in_ioctl,
1484
[AC_TRY_COMPILE([#include <sys/types.h>
1485
#include <sys/ioctl.h>], [int x = TIOCSTAT;],
1486
  bash_cv_tiocstat_in_ioctl=yes,bash_cv_tiocstat_in_ioctl=no)])
1487
AC_MSG_RESULT($bash_cv_tiocstat_in_ioctl)
1488
if test $bash_cv_tiocstat_in_ioctl = yes; then
1489
AC_DEFINE(TIOCSTAT_IN_SYS_IOCTL)
1490
fi
1491
])
1492
 
1493
AC_DEFUN(BASH_HAVE_FIONREAD,
1494
[AC_MSG_CHECKING(for FIONREAD in sys/ioctl.h)
1495
AC_CACHE_VAL(bash_cv_fionread_in_ioctl,
1496
[AC_TRY_COMPILE([#include <sys/types.h>
1497
#include <sys/ioctl.h>], [int x = FIONREAD;],
1498
  bash_cv_fionread_in_ioctl=yes,bash_cv_fionread_in_ioctl=no)])
1499
AC_MSG_RESULT($bash_cv_fionread_in_ioctl)
1500
if test $bash_cv_fionread_in_ioctl = yes; then
1501
AC_DEFINE(FIONREAD_IN_SYS_IOCTL)
1502
fi
1503
])
1504
 
1505
dnl
1506
dnl See if speed_t is declared in <sys/types.h>.  Some versions of linux
1507
dnl require a definition of speed_t each time <termcap.h> is included,
1508
dnl but you can only get speed_t if you include <termios.h> (on some
1509
dnl versions) or <sys/types.h> (on others).
1510
dnl
1511
AC_DEFUN(BASH_CHECK_SPEED_T,
1512
[AC_MSG_CHECKING(for speed_t in sys/types.h)
1513
AC_CACHE_VAL(bash_cv_speed_t_in_sys_types,
1514
[AC_TRY_COMPILE([#include <sys/types.h>], [speed_t x;],
1515
  bash_cv_speed_t_in_sys_types=yes,bash_cv_speed_t_in_sys_types=no)])
1516
AC_MSG_RESULT($bash_cv_speed_t_in_sys_types)
1517
if test $bash_cv_speed_t_in_sys_types = yes; then
1518
AC_DEFINE(SPEED_T_IN_SYS_TYPES)
1519
fi
1520
])
1521
 
1522
AC_DEFUN(BASH_CHECK_GETPW_FUNCS,
1523
[AC_MSG_CHECKING(whether getpw functions are declared in pwd.h)
1524
AC_CACHE_VAL(bash_cv_getpw_declared,
1525
[AC_EGREP_CPP(getpwuid,
1526
[
1527
#include <sys/types.h>
1528
#ifdef HAVE_UNISTD_H
1529
#  include <unistd.h>
1530
#endif
1531
#include <pwd.h>
1532
],
1533
bash_cv_getpw_declared=yes,bash_cv_getpw_declared=no)])
1534
AC_MSG_RESULT($bash_cv_getpw_declared)
1535
if test $bash_cv_getpw_declared = yes; then
1536
AC_DEFINE(HAVE_GETPW_DECLS)
1537
fi
1538
])
1539
 
1540
AC_DEFUN(BASH_CHECK_DEV_FD,
1541
[AC_MSG_CHECKING(whether /dev/fd is available)
1542
AC_CACHE_VAL(bash_cv_dev_fd,
1543
[if test -d /dev/fd  && test -r /dev/fd/0 < /dev/null; then
1544
# check for systems like FreeBSD 5 that only provide /dev/fd/[012]
1545
   exec 3<&0
1546
   if test -r /dev/fd/3; then
1547
     bash_cv_dev_fd=standard
1548
   else
1549
     bash_cv_dev_fd=absent
1550
   fi
1551
   exec 3<&-
1552
 elif test -d /proc/self/fd && test -r /proc/self/fd/0 < /dev/null; then
1553
   bash_cv_dev_fd=whacky
1554
 else
1555
   bash_cv_dev_fd=absent
1556
 fi
1557
])
1558
AC_MSG_RESULT($bash_cv_dev_fd)
1559
if test $bash_cv_dev_fd = "standard"; then
1560
  AC_DEFINE(HAVE_DEV_FD)
1561
  AC_DEFINE(DEV_FD_PREFIX, "/dev/fd/")
1562
elif test $bash_cv_dev_fd = "whacky"; then
1563
  AC_DEFINE(HAVE_DEV_FD)
1564
  AC_DEFINE(DEV_FD_PREFIX, "/proc/self/fd/")
1565
fi
1566
])
1567
 
1568
AC_DEFUN(BASH_CHECK_DEV_STDIN,
1569
[AC_MSG_CHECKING(whether /dev/stdin stdout stderr are available)
1570
AC_CACHE_VAL(bash_cv_dev_stdin,
1571
[if test -d /dev/fd && test -r /dev/stdin < /dev/null; then
1572
   bash_cv_dev_stdin=present
1573
 elif test -d /proc/self/fd && test -r /dev/stdin < /dev/null; then
1574
   bash_cv_dev_stdin=present
1575
 else
1576
   bash_cv_dev_stdin=absent
1577
 fi
1578
])
1579
AC_MSG_RESULT($bash_cv_dev_stdin)
1580
if test $bash_cv_dev_stdin = "present"; then
1581
  AC_DEFINE(HAVE_DEV_STDIN)
1582
fi
1583
])
1584
 
1585
dnl
1586
dnl Check if HPUX needs _KERNEL defined for RLIMIT_* definitions
1587
dnl
1588
AC_DEFUN(BASH_CHECK_KERNEL_RLIMIT,
1589
[AC_MSG_CHECKING([whether $host_os needs _KERNEL for RLIMIT defines])
1590
AC_CACHE_VAL(bash_cv_kernel_rlimit,
1591
[AC_TRY_COMPILE([
1592
#include <sys/types.h>
1593
#include <sys/resource.h>
1594
],
1595
[
1596
  int f;
1597
  f = RLIMIT_DATA;
1598
], bash_cv_kernel_rlimit=no,
1599
[AC_TRY_COMPILE([
1600
#include <sys/types.h>
1601
#define _KERNEL
1602
#include <sys/resource.h>
1603
#undef _KERNEL
1604
],
1605
[
1606
        int f;
1607
        f = RLIMIT_DATA;
1608
], bash_cv_kernel_rlimit=yes, bash_cv_kernel_rlimit=no)]
1609
)])
1610
AC_MSG_RESULT($bash_cv_kernel_rlimit)
1611
if test $bash_cv_kernel_rlimit = yes; then
1612
AC_DEFINE(RLIMIT_NEEDS_KERNEL)
1613
fi
1614
])
1615
 
1616
dnl
1617
dnl Check for 64-bit off_t -- used for malloc alignment
1618
dnl
1619
dnl C does not allow duplicate case labels, so the compile will fail if
1620
dnl sizeof(off_t) is > 4.
1621
dnl
1622
AC_DEFUN(BASH_CHECK_OFF_T_64,
1623
[AC_CACHE_CHECK(for 64-bit off_t, bash_cv_off_t_64,
1624
AC_TRY_COMPILE([
1625
#ifdef HAVE_UNISTD_H
1626
#include <unistd.h>
1627
#endif
1628
#include <sys/types.h>
1629
],[
1630
switch (0) case 0: case (sizeof (off_t) <= 4):;
1631
], bash_cv_off_t_64=no, bash_cv_off_t_64=yes))
1632
if test $bash_cv_off_t_64 = yes; then
1633
        AC_DEFINE(HAVE_OFF_T_64)
1634
fi])
1635
 
1636
AC_DEFUN(BASH_CHECK_RTSIGS,
1637
[AC_MSG_CHECKING(for unusable real-time signals due to large values)
1638
AC_CACHE_VAL(bash_cv_unusable_rtsigs,
1639
[AC_TRY_RUN([
1640
#include <sys/types.h>
1641
#include <signal.h>
1642
 
1643
#ifndef NSIG
1644
#  define NSIG 64
1645
#endif
1646
 
1647
main ()
1648
{
1649
  int n_sigs = 2 * NSIG;
1650
#ifdef SIGRTMIN
1651
  int rtmin = SIGRTMIN;
1652
#else
1653
  int rtmin = 0;
1654
#endif
1655
 
1656
  exit(rtmin < n_sigs);
1657
}], bash_cv_unusable_rtsigs=yes, bash_cv_unusable_rtsigs=no,
1658
    [AC_MSG_WARN(cannot check real-time signals if cross compiling -- defaulting to yes)
1659
     bash_cv_unusable_rtsigs=yes]
1660
)])
1661
AC_MSG_RESULT($bash_cv_unusable_rtsigs)
1662
if test $bash_cv_unusable_rtsigs = yes; then
1663
AC_DEFINE(UNUSABLE_RT_SIGNALS)
1664
fi
1665
])
1666
 
1667
dnl
1668
dnl check for availability of multibyte characters and functions
1669
dnl
1670
AC_DEFUN(BASH_CHECK_MULTIBYTE,
1671
[
1672
AC_CHECK_HEADERS(wctype.h)
1673
AC_CHECK_HEADERS(wchar.h)
1674
AC_CHECK_HEADERS(langinfo.h)
1675
 
1676
AC_CHECK_FUNC(mbsrtowcs, AC_DEFINE(HAVE_MBSRTOWCS))
1677
AC_CHECK_FUNC(mbrtowc, AC_DEFINE(HAVE_MBRTOWC))
1678
AC_CHECK_FUNC(mbrlen, AC_DEFINE(HAVE_MBRLEN))
1679
AC_CHECK_FUNC(wctomb, AC_DEFINE(HAVE_WCTOMB))
1680
AC_CHECK_FUNC(wcwidth, AC_DEFINE(HAVE_WCWIDTH))
1681
AC_CHECK_FUNC(wcsdup, AC_DEFINE(HAVE_WCSDUP))
1682
 
1683
if test "$ac_cv_func_wcwidth" = no && test "$ac_cv_header_wchar_h" = yes; then
1684
  WCWIDTH_OBJ=wcwidth.o
1685
else
1686
  WCWIDTH_OBJ=
1687
fi
1688
AC_SUBST(WCWIDTH_OBJ)
1689
 
1690
AC_CACHE_CHECK([for mbstate_t], bash_cv_have_mbstate_t,
1691
[AC_TRY_COMPILE([
1692
#include <wchar.h>], [
1693
  mbstate_t ps;
1694
  mbstate_t *psp;
1695
  psp = (mbstate_t *)0;
1696
], bash_cv_have_mbstate_t=yes,  bash_cv_have_mbstate_t=no)])
1697
if test $bash_cv_have_mbstate_t = yes; then
1698
        AC_DEFINE(HAVE_MBSTATE_T)
1699
fi
1700
 
1701
AC_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);],
1705
bash_cv_langinfo_codeset=yes, bash_cv_langinfo_codeset=no)])
1706
if test $bash_cv_langinfo_codeset = yes; then
1707
  AC_DEFINE(HAVE_LANGINFO_CODESET)
1708
fi
1709
 
1710
])
1711
 
1712
dnl need: prefix exec_prefix libdir includedir CC TERMCAP_LIB
1713
dnl require:
1714
dnl     AC_PROG_CC
1715
dnl     BASH_CHECK_LIB_TERMCAP
1716
 
1717
AC_DEFUN(RL_LIB_READLINE_VERSION,
1718
[
1719
AC_REQUIRE([BASH_CHECK_LIB_TERMCAP])
1720
 
1721
AC_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
 
1734
if test -z "$ac_cv_rl_prefix"; then
1735
test "x$prefix" = xNONE && ac_cv_rl_prefix=$ac_default_prefix || ac_cv_rl_prefix=${prefix}
1736
fi
1737
 
1738
eval ac_cv_rl_includedir=${ac_cv_rl_prefix}/include
1739
eval ac_cv_rl_libdir=${ac_cv_rl_prefix}/lib
1740
 
1741
LIBS="$LIBS -lreadline ${TERMCAP_LIB}"
1742
CFLAGS="$CFLAGS -I${ac_cv_rl_includedir}"
1743
LDFLAGS="$LDFLAGS -L${ac_cv_rl_libdir}"
1744
 
1745
AC_CACHE_VAL(ac_cv_rl_version,
1746
[AC_TRY_RUN([
1747
#include <stdio.h>
1748
#include <readline/readline.h>
1749
 
1750
extern int rl_gnu_readline_p;
1751
 
1752
main()
1753
{
1754
        FILE *fp;
1755
        fp = fopen("conftest.rlv", "w");
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");
1762
        fclose(fp);
1763
        exit(0);
1764
}
1765
],
1766
ac_cv_rl_version=`cat conftest.rlv`,
1767
ac_cv_rl_version='0.0',
1768
ac_cv_rl_version='4.2')])
1769
 
1770
CFLAGS="$_save_CFLAGS"
1771
LDFLAGS="$_save_LDFLAGS"
1772
LIBS="$_save_LIBS"
1773
 
1774
RL_MAJOR=0
1775
RL_MINOR=0
1776
 
1777
# (
1778
case "$ac_cv_rl_version" in
1779
2*|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
        ;;
1783
esac
1784
 
1785
# (((
1786
case $RL_MAJOR in
1787
[[0-9][0-9]])   _RL_MAJOR=$RL_MAJOR ;;
1788
[[0-9]])        _RL_MAJOR=0$RL_MAJOR ;;
1789
*)              _RL_MAJOR=00 ;;
1790
esac
1791
 
1792
# (((
1793
case $RL_MINOR in
1794
[[0-9][0-9]])   _RL_MINOR=$RL_MINOR ;;
1795
[[0-9]])        _RL_MINOR=0$RL_MINOR ;;
1796
*)              _RL_MINOR=00 ;;
1797
esac
1798
 
1799
RL_VERSION="0x${_RL_MAJOR}${_RL_MINOR}"
1800
 
1801
# Readline versions greater than 4.2 have these defines in readline.h
1802
 
1803
if test $ac_cv_rl_version = '0.0' ; then
1804
        AC_MSG_WARN([Could not test version of installed readline library.])
1805
elif 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)
1811
else
1812
 
1813
AC_DEFINE_UNQUOTED(RL_READLINE_VERSION, $RL_VERSION, [encoded version of the installed readline library])
1814
AC_DEFINE_UNQUOTED(RL_VERSION_MAJOR, $RL_MAJOR, [major version of installed readline library])
1815
AC_DEFINE_UNQUOTED(RL_VERSION_MINOR, $RL_MINOR, [minor version of installed readline library])
1816
 
1817
AC_SUBST(RL_VERSION)
1818
AC_SUBST(RL_MAJOR)
1819
AC_SUBST(RL_MINOR)
1820
 
1821
# set these for use by the caller
1822
RL_PREFIX=$ac_cv_rl_prefix
1823
RL_LIBDIR=$ac_cv_rl_libdir
1824
RL_INCLUDEDIR=$ac_cv_rl_includedir
1825
 
1826
AC_MSG_RESULT($ac_cv_rl_version)
1827
 
1828
fi
1829
])
1830
 
1831
AC_DEFUN(BASH_FUNC_CTYPE_NONASCII,
1832
[
1833
AC_MSG_CHECKING(whether the ctype macros accept non-ascii characters)
1834
AC_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
 
1842
main(c, v)
1843
int     c;
1844
char    *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
)])
1869
AC_MSG_RESULT($bash_cv_func_ctype_nonascii)
1870
if test $bash_cv_func_ctype_nonascii = yes; then
1871
AC_DEFINE(CTYPE_NON_ASCII)
1872
fi
1873
])
1874
 
1875
AC_DEFUN(BASH_CHECK_WCONTINUED,
1876
[
1877
AC_MSG_CHECKING(whether WCONTINUED flag to waitpid is unavailable or available but broken)
1878
AC_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
1886
extern int errno;
1887
#endif
1888
main()
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
)])
1902
AC_MSG_RESULT($bash_cv_wcontinued_broken)
1903
if test $bash_cv_wcontinued_broken = yes; then
1904
AC_DEFINE(WCONTINUED_BROKEN)
1905
fi
1906
])
1907
 
1908
dnl
1909
dnl tests added for bashdb
1910
dnl
1911
 
1912
 
1913
AC_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
 
1938
dnl
1939
dnl tests added for gettext
1940
dnl
1941
# codeset.m4 serial AM1 (gettext-0.10.40)
1942
dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
1943
dnl This file is free software, distributed under the terms of the GNU
1944
dnl General Public License.  As a special exception to the GNU General
1945
dnl Public License, this file may be distributed as part of a program
1946
dnl that contains a configuration script generated by Autoconf, under
1947
dnl the same distribution terms as the rest of that program.
1948
 
1949
dnl From Bruno Haible.
1950
 
1951
AC_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)
1965
dnl Copyright (C) 1995-2003 Free Software Foundation, Inc.
1966
dnl This file is free software, distributed under the terms of the GNU
1967
dnl General Public License.  As a special exception to the GNU General
1968
dnl Public License, this file may be distributed as part of a program
1969
dnl that contains a configuration script generated by Autoconf, under
1970
dnl the same distribution terms as the rest of that program.
1971
dnl
1972
dnl This file can can be used in projects which are not available under
1973
dnl the GNU General Public License or the GNU Library General Public
1974
dnl License but which still want to provide support for the GNU gettext
1975
dnl functionality.
1976
dnl Please note that the actual code of the GNU gettext library is covered
1977
dnl by the GNU Library General Public License, and the rest of the GNU
1978
dnl gettext package package is covered by the GNU General Public License.
1979
dnl They are *not* in the public domain.
1980
 
1981
dnl Authors:
1982
dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
1983
dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
1984
 
1985
dnl Macro to add for using GNU gettext.
1986
 
1987
dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
1988
dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
1989
dnl    default (if it is not specified or empty) is 'no-libtool'.
1990
dnl    INTLSYMBOL should be 'external' for packages with no intl directory,
1991
dnl    and 'no-libtool' or 'use-libtool' for packages with an intl directory.
1992
dnl    If INTLSYMBOL is 'use-libtool', then a libtool library
1993
dnl    $(top_builddir)/intl/libintl.la will be created (shared and/or static,
1994
dnl    depending on --{enable,disable}-{shared,static} and on the presence of
1995
dnl    AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
1996
dnl    $(top_builddir)/intl/libintl.a will be created.
1997
dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
1998
dnl    implementations (in libc or libintl) without the ngettext() function
1999
dnl    will be ignored.  If NEEDSYMBOL is specified and is
2000
dnl    'need-formatstring-macros', then GNU gettext implementations that don't
2001
dnl    support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
2002
dnl INTLDIR is used to find the intl libraries.  If empty,
2003
dnl    the value `$(top_builddir)/intl/' is used.
2004
dnl
2005
dnl The result of the configuration is one of three cases:
2006
dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
2007
dnl    and used.
2008
dnl    Catalog format: GNU --> install in $(datadir)
2009
dnl    Catalog extension: .mo after installation, .gmo in source tree
2010
dnl 2) GNU gettext has been found in the system's C library.
2011
dnl    Catalog format: GNU --> install in $(datadir)
2012
dnl    Catalog extension: .mo after installation, .gmo in source tree
2013
dnl 3) No internationalization, always use English msgid.
2014
dnl    Catalog format: none
2015
dnl    Catalog extension: none
2016
dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
2017
dnl The use of .gmo is historical (it was needed to avoid overwriting the
2018
dnl GNU format catalogs when building on a platform with an X/Open gettext),
2019
dnl but we keep it in order not to force irrelevant filename changes on the
2020
dnl maintainers.
2021
dnl
2022
AC_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
2098
changequote(,)dnl
2099
typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
2100
changequote([,])dnl
2101
], [])[extern int _nl_msg_cat_cntr;
2102
extern int *_nl_domain_bindings;],
2103
            [bindtextdomain ("", "");
2104
return (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
2130
changequote(,)dnl
2131
typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
2132
changequote([,])dnl
2133
], [])[extern int _nl_msg_cat_cntr;
2134
extern
2135
#ifdef __cplusplus
2136
"C"
2137
#endif
2138
const char *_nl_expand_alias ();],
2139
              [bindtextdomain ("", "");
2140
return (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
2151
changequote(,)dnl
2152
typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
2153
changequote([,])dnl
2154
], [])[extern int _nl_msg_cat_cntr;
2155
extern
2156
#ifdef __cplusplus
2157
"C"
2158
#endif
2159
const char *_nl_expand_alias ();],
2160
                [bindtextdomain ("", "");
2161
return (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
 
2307
dnl Checks for all prerequisites of the intl subdirectory,
2308
dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS,
2309
dnl            USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
2310
AC_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 \
2332
stdlib.h string.h unistd.h sys/param.h])
2333
  AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \
2334
geteuid getgid getuid mempcpy munmap putenv setenv setlocale stpcpy \
2335
strcasecmp 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])
2360
changequote(<<,>>)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].*)
2365
changequote([,])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
 
2377
dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
2378
AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
2379
# glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40)
2380
dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
2381
dnl This file is free software, distributed under the terms of the GNU
2382
dnl General Public License.  As a special exception to the GNU General
2383
dnl Public License, this file may be distributed as part of a program
2384
dnl that contains a configuration script generated by Autoconf, under
2385
dnl 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
 
2390
AC_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)
2412
dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
2413
dnl This file is free software, distributed under the terms of the GNU
2414
dnl General Public License.  As a special exception to the GNU General
2415
dnl Public License, this file may be distributed as part of a program
2416
dnl that contains a configuration script generated by Autoconf, under
2417
dnl the same distribution terms as the rest of that program.
2418
 
2419
dnl From Bruno Haible.
2420
 
2421
AC_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
 
2432
AC_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
 
2487
AC_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>
2496
extern
2497
#ifdef __cplusplus
2498
"C"
2499
#endif
2500
#if defined(__STDC__) || defined(__cplusplus)
2501
size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
2502
#else
2503
size_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)
2515
dnl Copyright (C) 2002 Free Software Foundation, Inc.
2516
dnl This file is free software, distributed under the terms of the GNU
2517
dnl General Public License.  As a special exception to the GNU General
2518
dnl Public License, this file may be distributed as part of a program
2519
dnl that contains a configuration script generated by Autoconf, under
2520
dnl the same distribution terms as the rest of that program.
2521
 
2522
dnl From Bruno Haible.
2523
 
2524
AC_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
 
2536
static void
2537
#ifdef __cplusplus
2538
sigfpe_handler (int sig)
2539
#else
2540
sigfpe_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
 
2547
int x = 1;
2548
int y = 0;
2549
int z;
2550
int nan;
2551
 
2552
int 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)
2587
dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
2588
dnl This file is free software, distributed under the terms of the GNU
2589
dnl General Public License.  As a special exception to the GNU General
2590
dnl Public License, this file may be distributed as part of a program
2591
dnl that contains a configuration script generated by Autoconf, under
2592
dnl the same distribution terms as the rest of that program.
2593
 
2594
dnl From Paul Eggert.
2595
 
2596
# Define HAVE_INTTYPES_H if <inttypes.h> exists and doesn't clash with
2597
# <sys/types.h>.
2598
 
2599
AC_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)
2614
dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.
2615
dnl This file is free software, distributed under the terms of the GNU
2616
dnl General Public License.  As a special exception to the GNU General
2617
dnl Public License, this file may be distributed as part of a program
2618
dnl that contains a configuration script generated by Autoconf, under
2619
dnl the same distribution terms as the rest of that program.
2620
 
2621
dnl 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
 
2626
AC_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)
2642
dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
2643
dnl This file is free software, distributed under the terms of the GNU
2644
dnl General Public License.  As a special exception to the GNU General
2645
dnl Public License, this file may be distributed as part of a program
2646
dnl that contains a configuration script generated by Autoconf, under
2647
dnl the same distribution terms as the rest of that program.
2648
 
2649
dnl 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
 
2654
AC_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
2663
char *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)
2674
dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
2675
dnl This file is free software, distributed under the terms of the GNU
2676
dnl General Public License.  As a special exception to the GNU General
2677
dnl Public License, this file may be distributed as part of a program
2678
dnl that contains a configuration script generated by Autoconf, under
2679
dnl 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
 
2691
undefine([AC_ISC_POSIX])
2692
 
2693
AC_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)
2700
dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
2701
dnl This file is free software, distributed under the terms of the GNU
2702
dnl General Public License.  As a special exception to the GNU General
2703
dnl Public License, this file may be distributed as part of a program
2704
dnl that contains a configuration script generated by Autoconf, under
2705
dnl the same distribution terms as the rest of that program.
2706
dnl
2707
dnl This file can can be used in projects which are not available under
2708
dnl the GNU General Public License or the GNU Library General Public
2709
dnl License but which still want to provide support for the GNU gettext
2710
dnl functionality.
2711
dnl Please note that the actual code of the GNU gettext library is covered
2712
dnl by the GNU Library General Public License, and the rest of the GNU
2713
dnl gettext package package is covered by the GNU General Public License.
2714
dnl They are *not* in the public domain.
2715
 
2716
dnl Authors:
2717
dnl   Ulrich Drepper <drepper@cygnus.com>, 1995.
2718
 
2719
# Check whether LC_MESSAGES is available in <locale.h>.
2720
 
2721
AC_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)
2732
dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
2733
dnl This file is free software, distributed under the terms of the GNU
2734
dnl General Public License.  As a special exception to the GNU General
2735
dnl Public License, this file may be distributed as part of a program
2736
dnl that contains a configuration script generated by Autoconf, under
2737
dnl the same distribution terms as the rest of that program.
2738
 
2739
dnl Subroutines of libtool.m4,
2740
dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
2741
dnl with libtool.m4.
2742
 
2743
dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
2744
AC_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.
2747
if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
2748
  acl_cv_prog_gnu_ld=yes
2749
else
2750
  acl_cv_prog_gnu_ld=no
2751
fi])
2752
with_gnu_ld=$acl_cv_prog_gnu_ld
2753
])
2754
 
2755
dnl From libtool-1.4. Sets the variable LD.
2756
AC_DEFUN([AC_LIB_PROG_LD],
2757
[AC_ARG_WITH(gnu-ld,
2758
[  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]],
2759
test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
2760
AC_REQUIRE([AC_PROG_CC])dnl
2761
AC_REQUIRE([AC_CANONICAL_HOST])dnl
2762
# Prepare PATH_SEPARATOR.
2763
# The user is always right.
2764
if 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
2774
fi
2775
ac_prog=ld
2776
if 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
2806
elif test "$with_gnu_ld" = yes; then
2807
  AC_MSG_CHECKING([for GNU ld])
2808
else
2809
  AC_MSG_CHECKING([for non-GNU ld])
2810
fi
2811
AC_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"
2829
else
2830
  acl_cv_path_LD="$LD" # Let the user override the test with a path.
2831
fi])
2832
LD="$acl_cv_path_LD"
2833
if test -n "$LD"; then
2834
  AC_MSG_RESULT($LD)
2835
else
2836
  AC_MSG_RESULT(no)
2837
fi
2838
test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
2839
AC_LIB_PROG_LD_GNU
2840
])
2841
# lib-link.m4 serial 4 (gettext-0.12)
2842
dnl Copyright (C) 2001-2003 Free Software Foundation, Inc.
2843
dnl This file is free software, distributed under the terms of the GNU
2844
dnl General Public License.  As a special exception to the GNU General
2845
dnl Public License, this file may be distributed as part of a program
2846
dnl that contains a configuration script generated by Autoconf, under
2847
dnl the same distribution terms as the rest of that program.
2848
 
2849
dnl From Bruno Haible.
2850
 
2851
dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
2852
dnl the libraries corresponding to explicit and implicit dependencies.
2853
dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
2854
dnl augments the CPPFLAGS variable.
2855
AC_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
 
2881
dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
2882
dnl searches for libname and the libraries corresponding to explicit and
2883
dnl implicit dependencies, together with the specified include files and
2884
dnl the ability to compile and link the specified testcode. If found, it
2885
dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
2886
dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
2887
dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
2888
dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
2889
AC_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
 
2933
dnl Determine the platform dependent parameters needed to use rpath:
2934
dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
2935
dnl hardcode_direct, hardcode_minus_L.
2936
AC_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
 
2962
dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
2963
dnl the libraries corresponding to explicit and implicit dependencies.
2964
dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
2965
AC_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
 
3372
dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
3373
dnl unless already present in VAR.
3374
dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
3375
dnl contains two or three consecutive elements that belong together.
3376
AC_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)
3393
dnl Copyright (C) 2001-2003 Free Software Foundation, Inc.
3394
dnl This file is free software, distributed under the terms of the GNU
3395
dnl General Public License.  As a special exception to the GNU General
3396
dnl Public License, this file may be distributed as part of a program
3397
dnl that contains a configuration script generated by Autoconf, under
3398
dnl the same distribution terms as the rest of that program.
3399
 
3400
dnl From Bruno Haible.
3401
 
3402
dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and
3403
dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't
3404
dnl require excessive bracketing.
3405
ifdef([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
 
3409
dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
3410
dnl to access previously installed libraries. The basic assumption is that
3411
dnl a user will want packages to use other packages he previously installed
3412
dnl with the same --prefix option.
3413
dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
3414
dnl libraries, but is otherwise very convenient.
3415
AC_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
 
3511
dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
3512
dnl acl_final_exec_prefix, containing the values to which $prefix and
3513
dnl $exec_prefix will expand at the end of the configure script.
3514
AC_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
 
3534
dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
3535
dnl variables prefix and exec_prefix bound to the values they will have
3536
dnl at the end of the configure script.
3537
AC_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)
3548
dnl Copyright (C) 1995-2003 Free Software Foundation, Inc.
3549
dnl This file is free software, distributed under the terms of the GNU
3550
dnl General Public License.  As a special exception to the GNU General
3551
dnl Public License, this file may be distributed as part of a program
3552
dnl that contains a configuration script generated by Autoconf, under
3553
dnl the same distribution terms as the rest of that program.
3554
dnl
3555
dnl This file can can be used in projects which are not available under
3556
dnl the GNU General Public License or the GNU Library General Public
3557
dnl License but which still want to provide support for the GNU gettext
3558
dnl functionality.
3559
dnl Please note that the actual code of the GNU gettext library is covered
3560
dnl by the GNU Library General Public License, and the rest of the GNU
3561
dnl gettext package package is covered by the GNU General Public License.
3562
dnl They are *not* in the public domain.
3563
 
3564
dnl Authors:
3565
dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
3566
dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
3567
 
3568
AC_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
 
3579
AC_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)
3597
dnl Copyright (C) 1995-2003 Free Software Foundation, Inc.
3598
dnl This file is free software, distributed under the terms of the GNU
3599
dnl General Public License.  As a special exception to the GNU General
3600
dnl Public License, this file may be distributed as part of a program
3601
dnl that contains a configuration script generated by Autoconf, under
3602
dnl the same distribution terms as the rest of that program.
3603
dnl
3604
dnl This file can can be used in projects which are not available under
3605
dnl the GNU General Public License or the GNU Library General Public
3606
dnl License but which still want to provide support for the GNU gettext
3607
dnl functionality.
3608
dnl Please note that the actual code of the GNU gettext library is covered
3609
dnl by the GNU Library General Public License, and the rest of the GNU
3610
dnl gettext package package is covered by the GNU General Public License.
3611
dnl They are *not* in the public domain.
3612
 
3613
dnl Authors:
3614
dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
3615
dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
3616
 
3617
dnl Checks for all prerequisites of the po subdirectory.
3618
AC_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)
3794
dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
3795
dnl This file is free software, distributed under the terms of the GNU
3796
dnl General Public License.  As a special exception to the GNU General
3797
dnl Public License, this file may be distributed as part of a program
3798
dnl that contains a configuration script generated by Autoconf, under
3799
dnl the same distribution terms as the rest of that program.
3800
dnl
3801
dnl This file can can be used in projects which are not available under
3802
dnl the GNU General Public License or the GNU Library General Public
3803
dnl License but which still want to provide support for the GNU gettext
3804
dnl functionality.
3805
dnl Please note that the actual code of the GNU gettext library is covered
3806
dnl by the GNU Library General Public License, and the rest of the GNU
3807
dnl gettext package package is covered by the GNU General Public License.
3808
dnl They are *not* in the public domain.
3809
 
3810
dnl Authors:
3811
dnl   Ulrich Drepper <drepper@cygnus.com>, 1996.
3812
 
3813
# Search path for a program which passes the given test.
3814
 
3815
dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
3816
dnl   TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
3817
AC_DEFUN([AM_PATH_PROG_WITH_TEST],
3818
[
3819
# Prepare PATH_SEPARATOR.
3820
# The user is always right.
3821
if 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
3831
fi
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.
3835
cat >conf$$.file <<_ASEOF
3836
#! /bin/sh
3837
exit 0
3838
_ASEOF
3839
chmod +x conf$$.file
3840
if test -x conf$$.file >/dev/null 2>&1; then
3841
  ac_executable_p="test -x"
3842
else
3843
  ac_executable_p="test -f"
3844
fi
3845
rm -f conf$$.file
3846
 
3847
# Extract the first word of "$2", so it can be a program name with args.
3848
set dummy $2; ac_word=[$]2
3849
AC_MSG_CHECKING([for $ac_word])
3850
AC_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"
3870
dnl If no 4th arg is given, leave the cache variable unset,
3871
dnl so AC_PATH_PROGS will keep looking.
3872
ifelse([$4], , , [  test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
3873
])dnl
3874
    ;;
3875
esac])dnl
3876
$1="$ac_cv_path_$1"
3877
if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
3878
  AC_MSG_RESULT([$]$1)
3879
else
3880
  AC_MSG_RESULT(no)
3881
fi
3882
AC_SUBST($1)dnl
3883
])
3884
# stdint_h.m4 serial 3 (gettext-0.12)
3885
dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.
3886
dnl This file is free software, distributed under the terms of the GNU
3887
dnl General Public License.  As a special exception to the GNU General
3888
dnl Public License, this file may be distributed as part of a program
3889
dnl that contains a configuration script generated by Autoconf, under
3890
dnl the same distribution terms as the rest of that program.
3891
 
3892
dnl 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
 
3897
AC_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)
3913
dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.
3914
dnl This file is free software, distributed under the terms of the GNU
3915
dnl General Public License.  As a special exception to the GNU General
3916
dnl Public License, this file may be distributed as part of a program
3917
dnl that contains a configuration script generated by Autoconf, under
3918
dnl the same distribution terms as the rest of that program.
3919
 
3920
dnl From Paul Eggert.
3921
 
3922
AC_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
 
3927
AC_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)
3945
dnl Copyright (C) 1999-2002 Free Software Foundation, Inc.
3946
dnl This file is free software, distributed under the terms of the GNU
3947
dnl General Public License.  As a special exception to the GNU General
3948
dnl Public License, this file may be distributed as part of a program
3949
dnl that contains a configuration script generated by Autoconf, under
3950
dnl the same distribution terms as the rest of that program.
3951
 
3952
dnl From Paul Eggert.
3953
 
3954
AC_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
])

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.