diff options
Diffstat (limited to 'gl/m4')
91 files changed, 4509 insertions, 1116 deletions
diff --git a/gl/m4/absolute-header.m4 b/gl/m4/absolute-header.m4 deleted file mode 100644 index 5b7a2fc3..00000000 --- a/gl/m4/absolute-header.m4 +++ /dev/null | |||
@@ -1,49 +0,0 @@ | |||
1 | # absolute-header.m4 serial 7 | ||
2 | dnl Copyright (C) 2006, 2007 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | ||
4 | dnl gives unlimited permission to copy and/or distribute it, | ||
5 | dnl with or without modifications, as long as this notice is preserved. | ||
6 | |||
7 | dnl From Derek Price. | ||
8 | |||
9 | # gl_ABSOLUTE_HEADER(HEADER1 HEADER2 ...) | ||
10 | # --------------------------------------- | ||
11 | # Find the absolute name of a header file, assuming the header exists. | ||
12 | # If the header were sys/inttypes.h, this macro would define | ||
13 | # ABSOLUTE_SYS_INTTYPES_H to the `""' quoted absolute name of sys/inttypes.h | ||
14 | # in config.h | ||
15 | # (e.g. `#define ABSOLUTE_SYS_INTTYPES_H "///usr/include/sys/inttypes.h"'). | ||
16 | # The three "///" are to pacify Sun C 5.8, which otherwise would say | ||
17 | # "warning: #include of /usr/include/... may be non-portable". | ||
18 | # Use `""', not `<>', so that the /// cannot be confused with a C99 comment. | ||
19 | AC_DEFUN([gl_ABSOLUTE_HEADER], | ||
20 | [AC_LANG_PREPROC_REQUIRE()dnl | ||
21 | AC_FOREACH([gl_HEADER_NAME], [$1], | ||
22 | [AS_VAR_PUSHDEF([gl_absolute_header], | ||
23 | [gl_cv_absolute_]m4_quote(m4_defn([gl_HEADER_NAME])))dnl | ||
24 | AC_CACHE_CHECK([absolute name of <]m4_quote(m4_defn([gl_HEADER_NAME]))[>], | ||
25 | m4_quote(m4_defn([gl_absolute_header])), | ||
26 | [AS_VAR_PUSHDEF([ac_header_exists], | ||
27 | [ac_cv_header_]m4_quote(m4_defn([gl_HEADER_NAME])))dnl | ||
28 | AC_CHECK_HEADERS_ONCE(m4_quote(m4_defn([gl_HEADER_NAME])))dnl | ||
29 | if test AS_VAR_GET(ac_header_exists) = yes; then | ||
30 | AC_LANG_CONFTEST([AC_LANG_SOURCE([[#include <]]m4_dquote(m4_defn([gl_HEADER_NAME]))[[>]])]) | ||
31 | dnl eval is necessary to expand ac_cpp. | ||
32 | dnl Ultrix and Pyramid sh refuse to redirect output of eval, so use subshell. | ||
33 | AS_VAR_SET(gl_absolute_header, | ||
34 | [`(eval "$ac_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | | ||
35 | sed -n '\#/]m4_quote(m4_defn([gl_HEADER_NAME]))[#{ | ||
36 | s#.*"\(.*/]m4_quote(m4_defn([gl_HEADER_NAME]))[\)".*#\1# | ||
37 | s#^/[^/]#//&# | ||
38 | p | ||
39 | q | ||
40 | }'`]) | ||
41 | fi | ||
42 | AS_VAR_POPDEF([ac_header_exists])dnl | ||
43 | ])dnl | ||
44 | AC_DEFINE_UNQUOTED(AS_TR_CPP([ABSOLUTE_]m4_quote(m4_defn([gl_HEADER_NAME]))), | ||
45 | ["AS_VAR_GET(gl_absolute_header)"], | ||
46 | [Define this to an absolute name of <]m4_quote(m4_defn([gl_HEADER_NAME]))[>.]) | ||
47 | AS_VAR_POPDEF([gl_absolute_header])dnl | ||
48 | ])dnl | ||
49 | ])# gl_ABSOLUTE_HEADER | ||
diff --git a/gl/m4/alloca.m4 b/gl/m4/alloca.m4 index 95f54a6d..4b978e13 100644 --- a/gl/m4/alloca.m4 +++ b/gl/m4/alloca.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # alloca.m4 serial 8 | 1 | # alloca.m4 serial 9 |
2 | dnl Copyright (C) 2002-2004, 2006, 2007 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2004, 2006, 2007, 2009 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -26,7 +26,7 @@ AC_DEFUN([gl_FUNC_ALLOCA], | |||
26 | ]) | 26 | ]) |
27 | if test $gl_cv_rpl_alloca = yes; then | 27 | if test $gl_cv_rpl_alloca = yes; then |
28 | dnl OK, alloca can be implemented through a compiler built-in. | 28 | dnl OK, alloca can be implemented through a compiler built-in. |
29 | AC_DEFINE([HAVE_ALLOCA], 1, | 29 | AC_DEFINE([HAVE_ALLOCA], [1], |
30 | [Define to 1 if you have 'alloca' after including <alloca.h>, | 30 | [Define to 1 if you have 'alloca' after including <alloca.h>, |
31 | a header that may be supplied by this distribution.]) | 31 | a header that may be supplied by this distribution.]) |
32 | ALLOCA_H=alloca.h | 32 | ALLOCA_H=alloca.h |
diff --git a/gl/m4/arpa_inet_h.m4 b/gl/m4/arpa_inet_h.m4 index d01d0984..a6e63df0 100644 --- a/gl/m4/arpa_inet_h.m4 +++ b/gl/m4/arpa_inet_h.m4 | |||
@@ -1,18 +1,50 @@ | |||
1 | # arpa_inet_h.m4 serial 1 | 1 | # arpa_inet_h.m4 serial 5 |
2 | dnl Copyright (C) 2006 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2006, 2008 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
6 | 6 | ||
7 | dnl Written by Simon Josefsson | 7 | dnl Written by Simon Josefsson and Bruno Haible |
8 | 8 | ||
9 | AC_DEFUN([gl_HEADER_ARPA_INET], | 9 | AC_DEFUN([gl_HEADER_ARPA_INET], |
10 | [ | 10 | [ |
11 | dnl Use AC_REQUIRE here, so that the default behavior below is expanded | ||
12 | dnl once only, before all statements that occur in other macros. | ||
13 | AC_REQUIRE([gl_ARPA_INET_H_DEFAULTS]) | ||
14 | |||
11 | AC_CHECK_HEADERS_ONCE([arpa/inet.h]) | 15 | AC_CHECK_HEADERS_ONCE([arpa/inet.h]) |
12 | if test $ac_cv_header_arpa_inet_h = yes; then | 16 | if test $ac_cv_header_arpa_inet_h = yes; then |
13 | ARPA_INET_H='' | 17 | HAVE_ARPA_INET_H=1 |
14 | else | 18 | else |
15 | ARPA_INET_H='arpa/inet.h' | 19 | ARPA_INET_H='arpa/inet.h' |
20 | HAVE_ARPA_INET_H=0 | ||
16 | fi | 21 | fi |
17 | AC_SUBST(ARPA_INET_H) | 22 | AC_SUBST([HAVE_ARPA_INET_H]) |
23 | dnl Execute this unconditionally, because ARPA_INET_H may be set by other | ||
24 | dnl modules, after this code is executed. | ||
25 | gl_CHECK_NEXT_HEADERS([arpa/inet.h]) | ||
26 | ]) | ||
27 | |||
28 | dnl Unconditionally enables the replacement of <arpa/inet.h>. | ||
29 | AC_DEFUN([gl_REPLACE_ARPA_INET_H], | ||
30 | [ | ||
31 | AC_REQUIRE([gl_ARPA_INET_H_DEFAULTS]) | ||
32 | ARPA_INET_H='arpa/inet.h' | ||
33 | ]) | ||
34 | |||
35 | AC_DEFUN([gl_ARPA_INET_MODULE_INDICATOR], | ||
36 | [ | ||
37 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. | ||
38 | AC_REQUIRE([gl_ARPA_INET_H_DEFAULTS]) | ||
39 | GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 | ||
40 | ]) | ||
41 | |||
42 | AC_DEFUN([gl_ARPA_INET_H_DEFAULTS], | ||
43 | [ | ||
44 | GNULIB_INET_NTOP=0; AC_SUBST([GNULIB_INET_NTOP]) | ||
45 | GNULIB_INET_PTON=0; AC_SUBST([GNULIB_INET_PTON]) | ||
46 | dnl Assume proper GNU behavior unless another module says otherwise. | ||
47 | HAVE_DECL_INET_NTOP=1; AC_SUBST([HAVE_DECL_INET_NTOP]) | ||
48 | HAVE_DECL_INET_PTON=1; AC_SUBST([HAVE_DECL_INET_PTON]) | ||
49 | ARPA_INET_H=''; AC_SUBST([ARPA_INET_H]) | ||
18 | ]) | 50 | ]) |
diff --git a/gl/m4/btowc.m4 b/gl/m4/btowc.m4 new file mode 100644 index 00000000..64ff8290 --- /dev/null +++ b/gl/m4/btowc.m4 | |||
@@ -0,0 +1,68 @@ | |||
1 | # btowc.m4 serial 3 | ||
2 | dnl Copyright (C) 2008 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | ||
4 | dnl gives unlimited permission to copy and/or distribute it, | ||
5 | dnl with or without modifications, as long as this notice is preserved. | ||
6 | |||
7 | AC_DEFUN([gl_FUNC_BTOWC], | ||
8 | [ | ||
9 | AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) | ||
10 | |||
11 | AC_CHECK_FUNCS_ONCE([btowc]) | ||
12 | if test $ac_cv_func_btowc = no; then | ||
13 | HAVE_BTOWC=0 | ||
14 | else | ||
15 | |||
16 | dnl IRIX 6.5 btowc(EOF) is 0xFF, not WEOF. | ||
17 | AC_REQUIRE([AC_PROG_CC]) | ||
18 | AC_REQUIRE([gt_LOCALE_FR]) | ||
19 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
20 | AC_CACHE_CHECK([whether btowc(EOF) is correct], | ||
21 | [gl_cv_func_btowc_eof], | ||
22 | [ | ||
23 | dnl Initial guess, used when cross-compiling or when no suitable locale | ||
24 | dnl is present. | ||
25 | changequote(,)dnl | ||
26 | case "$host_os" in | ||
27 | # Guess no on IRIX. | ||
28 | irix*) gl_cv_func_btowc_eof="guessing no" ;; | ||
29 | # Guess yes otherwise. | ||
30 | *) gl_cv_func_btowc_eof="guessing yes" ;; | ||
31 | esac | ||
32 | changequote([,])dnl | ||
33 | if test $LOCALE_FR != none; then | ||
34 | AC_TRY_RUN([ | ||
35 | #include <locale.h> | ||
36 | #include <stdio.h> | ||
37 | #include <string.h> | ||
38 | #include <wchar.h> | ||
39 | int main () | ||
40 | { | ||
41 | if (setlocale (LC_ALL, "$LOCALE_FR") != NULL) | ||
42 | { | ||
43 | if (btowc (EOF) != WEOF) | ||
44 | return 1; | ||
45 | } | ||
46 | return 0; | ||
47 | }], | ||
48 | [gl_cv_func_btowc_eof=yes], | ||
49 | [gl_cv_func_btowc_eof=no], | ||
50 | []) | ||
51 | fi | ||
52 | ]) | ||
53 | case "$gl_cv_func_btowc_eof" in | ||
54 | *yes) ;; | ||
55 | *) REPLACE_BTOWC=1 ;; | ||
56 | esac | ||
57 | fi | ||
58 | if test $HAVE_BTOWC = 0 || test $REPLACE_BTOWC = 1; then | ||
59 | gl_REPLACE_WCHAR_H | ||
60 | AC_LIBOBJ([btowc]) | ||
61 | gl_PREREQ_BTOWC | ||
62 | fi | ||
63 | ]) | ||
64 | |||
65 | # Prerequisites of lib/btowc.c. | ||
66 | AC_DEFUN([gl_PREREQ_BTOWC], [ | ||
67 | : | ||
68 | ]) | ||
diff --git a/gl/m4/c-strtod.m4 b/gl/m4/c-strtod.m4 index 7f206c71..0514f2d4 100644 --- a/gl/m4/c-strtod.m4 +++ b/gl/m4/c-strtod.m4 | |||
@@ -1,6 +1,6 @@ | |||
1 | # c-strtod.m4 serial 9 | 1 | # c-strtod.m4 serial 10 |
2 | 2 | ||
3 | # Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc. | 3 | # Copyright (C) 2004, 2005, 2006, 2009 Free Software Foundation, Inc. |
4 | # This file is free software; the Free Software Foundation | 4 | # This file is free software; the Free Software Foundation |
5 | # gives unlimited permission to copy and/or distribute it, | 5 | # gives unlimited permission to copy and/or distribute it, |
6 | # with or without modifications, as long as this notice is preserved. | 6 | # with or without modifications, as long as this notice is preserved. |
@@ -29,7 +29,7 @@ AC_DEFUN([gl_C99_STRTOLD], | |||
29 | [gl_cv_func_c99_strtold=yes], | 29 | [gl_cv_func_c99_strtold=yes], |
30 | [gl_cv_func_c99_strtold=no])]) | 30 | [gl_cv_func_c99_strtold=no])]) |
31 | if test $gl_cv_func_c99_strtold = yes; then | 31 | if test $gl_cv_func_c99_strtold = yes; then |
32 | AC_DEFINE([HAVE_C99_STRTOLD], 1, [Define to 1 if strtold conforms to C99.]) | 32 | AC_DEFINE([HAVE_C99_STRTOLD], [1], [Define to 1 if strtold conforms to C99.]) |
33 | fi | 33 | fi |
34 | ]) | 34 | ]) |
35 | 35 | ||
diff --git a/gl/m4/codeset.m4 b/gl/m4/codeset.m4 index 223955b4..413217bd 100644 --- a/gl/m4/codeset.m4 +++ b/gl/m4/codeset.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # codeset.m4 serial 2 (gettext-0.16) | 1 | # codeset.m4 serial 4 (gettext-0.18) |
2 | dnl Copyright (C) 2000-2002, 2006 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2000-2002, 2006, 2008, 2009 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -8,14 +8,14 @@ dnl From Bruno Haible. | |||
8 | 8 | ||
9 | AC_DEFUN([AM_LANGINFO_CODESET], | 9 | AC_DEFUN([AM_LANGINFO_CODESET], |
10 | [ | 10 | [ |
11 | AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset, | 11 | AC_CACHE_CHECK([for nl_langinfo and CODESET], [am_cv_langinfo_codeset], |
12 | [AC_TRY_LINK([#include <langinfo.h>], | 12 | [AC_TRY_LINK([#include <langinfo.h>], |
13 | [char* cs = nl_langinfo(CODESET); return !cs;], | 13 | [char* cs = nl_langinfo(CODESET); return !cs;], |
14 | am_cv_langinfo_codeset=yes, | 14 | [am_cv_langinfo_codeset=yes], |
15 | am_cv_langinfo_codeset=no) | 15 | [am_cv_langinfo_codeset=no]) |
16 | ]) | 16 | ]) |
17 | if test $am_cv_langinfo_codeset = yes; then | 17 | if test $am_cv_langinfo_codeset = yes; then |
18 | AC_DEFINE(HAVE_LANGINFO_CODESET, 1, | 18 | AC_DEFINE([HAVE_LANGINFO_CODESET], [1], |
19 | [Define if you have <langinfo.h> and nl_langinfo(CODESET).]) | 19 | [Define if you have <langinfo.h> and nl_langinfo(CODESET).]) |
20 | fi | 20 | fi |
21 | ]) | 21 | ]) |
diff --git a/gl/m4/double-slash-root.m4 b/gl/m4/double-slash-root.m4 index 69d60d01..8c6841bc 100644 --- a/gl/m4/double-slash-root.m4 +++ b/gl/m4/double-slash-root.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # double-slash-root.m4 serial 2 -*- Autoconf -*- | 1 | # double-slash-root.m4 serial 4 -*- Autoconf -*- |
2 | dnl Copyright (C) 2006 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2006, 2008, 2009 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -24,15 +24,15 @@ AC_DEFUN([gl_DOUBLE_SLASH_ROOT], | |||
24 | gl_cv_double_slash_root='unknown, assuming no' ;; | 24 | gl_cv_double_slash_root='unknown, assuming no' ;; |
25 | esac | 25 | esac |
26 | else | 26 | else |
27 | set x `ls -di / //` | 27 | set x `ls -di / // 2>/dev/null` |
28 | if test $[2] = $[4] && wc //dev/null >/dev/null 2>&1; then | 28 | if test "$[2]" = "$[4]" && wc //dev/null >/dev/null 2>&1; then |
29 | gl_cv_double_slash_root=no | 29 | gl_cv_double_slash_root=no |
30 | else | 30 | else |
31 | gl_cv_double_slash_root=yes | 31 | gl_cv_double_slash_root=yes |
32 | fi | 32 | fi |
33 | fi]) | 33 | fi]) |
34 | if test "$gl_cv_double_slash_root" = yes; then | 34 | if test "$gl_cv_double_slash_root" = yes; then |
35 | AC_DEFINE([DOUBLE_SLASH_IS_DISTINCT_ROOT], 1, | 35 | AC_DEFINE([DOUBLE_SLASH_IS_DISTINCT_ROOT], [1], |
36 | [Define to 1 if // is a file system root distinct from /.]) | 36 | [Define to 1 if // is a file system root distinct from /.]) |
37 | fi | 37 | fi |
38 | ]) | 38 | ]) |
diff --git a/gl/m4/eoverflow.m4 b/gl/m4/eoverflow.m4 deleted file mode 100644 index 3bffd10e..00000000 --- a/gl/m4/eoverflow.m4 +++ /dev/null | |||
@@ -1,70 +0,0 @@ | |||
1 | # eoverflow.m4 serial 2 | ||
2 | dnl Copyright (C) 2004, 2006 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | ||
4 | dnl gives unlimited permission to copy and/or distribute it, | ||
5 | dnl with or without modifications, as long as this notice is preserved. | ||
6 | |||
7 | dnl From Bruno Haible. | ||
8 | |||
9 | # The EOVERFLOW errno value ought to be defined in <errno.h>, according to | ||
10 | # POSIX. But some systems (like AIX 3) don't define it, and some systems | ||
11 | # (like OSF/1) define it when _XOPEN_SOURCE_EXTENDED is defined. | ||
12 | |||
13 | # Define EOVERFLOW as a C macro and as a substituted macro in such a way that | ||
14 | # 1. on all systems, after inclusion of <errno.h>, EOVERFLOW is usable, | ||
15 | # 2. on systems where EOVERFLOW is defined elsewhere, we use the same numeric | ||
16 | # value. | ||
17 | |||
18 | AC_DEFUN([gl_EOVERFLOW], | ||
19 | [ | ||
20 | AC_REQUIRE([AC_PROG_CC])dnl | ||
21 | |||
22 | AC_CACHE_CHECK([for EOVERFLOW], ac_cv_decl_EOVERFLOW, [ | ||
23 | AC_EGREP_CPP(yes,[ | ||
24 | #include <errno.h> | ||
25 | #ifdef EOVERFLOW | ||
26 | yes | ||
27 | #endif | ||
28 | ], have_eoverflow=1) | ||
29 | if test -n "$have_eoverflow"; then | ||
30 | dnl EOVERFLOW exists in <errno.h>. Don't need to define EOVERFLOW ourselves. | ||
31 | ac_cv_decl_EOVERFLOW=yes | ||
32 | else | ||
33 | AC_EGREP_CPP(yes,[ | ||
34 | #define _XOPEN_SOURCE_EXTENDED 1 | ||
35 | #include <errno.h> | ||
36 | #ifdef EOVERFLOW | ||
37 | yes | ||
38 | #endif | ||
39 | ], have_eoverflow=1) | ||
40 | if test -n "$have_eoverflow"; then | ||
41 | dnl EOVERFLOW exists but is hidden. | ||
42 | dnl Define it to the same value. | ||
43 | AC_COMPUTE_INT([ac_cv_decl_EOVERFLOW], [EOVERFLOW], [ | ||
44 | #define _XOPEN_SOURCE_EXTENDED 1 | ||
45 | #include <errno.h> | ||
46 | /* The following two lines are a workaround against an autoconf-2.52 bug. */ | ||
47 | #include <stdio.h> | ||
48 | #include <stdlib.h> | ||
49 | ]) | ||
50 | else | ||
51 | dnl EOVERFLOW isn't defined by the system. Define EOVERFLOW ourselves, but | ||
52 | dnl don't define it as EINVAL, because snprintf() callers want to | ||
53 | dnl distinguish EINVAL and EOVERFLOW. | ||
54 | ac_cv_decl_EOVERFLOW=E2BIG | ||
55 | fi | ||
56 | fi | ||
57 | ]) | ||
58 | if test "$ac_cv_decl_EOVERFLOW" != yes; then | ||
59 | AC_DEFINE_UNQUOTED([EOVERFLOW], [$ac_cv_decl_EOVERFLOW], | ||
60 | [Define as good substitute value for EOVERFLOW.]) | ||
61 | EOVERFLOW="$ac_cv_decl_EOVERFLOW" | ||
62 | AC_SUBST(EOVERFLOW) | ||
63 | fi | ||
64 | ]) | ||
65 | |||
66 | dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in. | ||
67 | dnl Remove this when we can assume autoconf >= 2.61. | ||
68 | m4_ifdef([AC_COMPUTE_INT], [], [ | ||
69 | AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])]) | ||
70 | ]) | ||
diff --git a/gl/m4/errno_h.m4 b/gl/m4/errno_h.m4 new file mode 100644 index 00000000..0682d1ab --- /dev/null +++ b/gl/m4/errno_h.m4 | |||
@@ -0,0 +1,119 @@ | |||
1 | # errno_h.m4 serial 3 | ||
2 | dnl Copyright (C) 2004, 2006, 2008, 2009 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | ||
4 | dnl gives unlimited permission to copy and/or distribute it, | ||
5 | dnl with or without modifications, as long as this notice is preserved. | ||
6 | |||
7 | AC_DEFUN([gl_HEADER_ERRNO_H], | ||
8 | [ | ||
9 | dnl Use AC_REQUIRE here, so that the default behavior below is expanded | ||
10 | dnl once only, before all statements that occur in other macros. | ||
11 | AC_REQUIRE([gl_HEADER_ERRNO_H_BODY]) | ||
12 | ]) | ||
13 | |||
14 | AC_DEFUN([gl_HEADER_ERRNO_H_BODY], | ||
15 | [ | ||
16 | AC_REQUIRE([AC_PROG_CC]) | ||
17 | AC_CACHE_CHECK([for complete errno.h], [gl_cv_header_errno_h_complete], [ | ||
18 | AC_EGREP_CPP([booboo],[ | ||
19 | #include <errno.h> | ||
20 | #if !defined ENOMSG | ||
21 | booboo | ||
22 | #endif | ||
23 | #if !defined EIDRM | ||
24 | booboo | ||
25 | #endif | ||
26 | #if !defined ENOLINK | ||
27 | booboo | ||
28 | #endif | ||
29 | #if !defined EPROTO | ||
30 | booboo | ||
31 | #endif | ||
32 | #if !defined EMULTIHOP | ||
33 | booboo | ||
34 | #endif | ||
35 | #if !defined EBADMSG | ||
36 | booboo | ||
37 | #endif | ||
38 | #if !defined EOVERFLOW | ||
39 | booboo | ||
40 | #endif | ||
41 | #if !defined ENOTSUP | ||
42 | booboo | ||
43 | #endif | ||
44 | #if !defined ECANCELED | ||
45 | booboo | ||
46 | #endif | ||
47 | ], | ||
48 | [gl_cv_header_errno_h_complete=no], | ||
49 | [gl_cv_header_errno_h_complete=yes]) | ||
50 | ]) | ||
51 | if test $gl_cv_header_errno_h_complete = yes; then | ||
52 | ERRNO_H='' | ||
53 | else | ||
54 | gl_CHECK_NEXT_HEADERS([errno.h]) | ||
55 | ERRNO_H='errno.h' | ||
56 | fi | ||
57 | AC_SUBST([ERRNO_H]) | ||
58 | gl_REPLACE_ERRNO_VALUE([EMULTIHOP]) | ||
59 | gl_REPLACE_ERRNO_VALUE([ENOLINK]) | ||
60 | gl_REPLACE_ERRNO_VALUE([EOVERFLOW]) | ||
61 | ]) | ||
62 | |||
63 | # Assuming $1 = EOVERFLOW. | ||
64 | # The EOVERFLOW errno value ought to be defined in <errno.h>, according to | ||
65 | # POSIX. But some systems (like OpenBSD 4.0 or AIX 3) don't define it, and | ||
66 | # some systems (like OSF/1) define it when _XOPEN_SOURCE_EXTENDED is defined. | ||
67 | # Check for the value of EOVERFLOW. | ||
68 | # Set the variables EOVERFLOW_HIDDEN and EOVERFLOW_VALUE. | ||
69 | AC_DEFUN([gl_REPLACE_ERRNO_VALUE], | ||
70 | [ | ||
71 | if test -n "$ERRNO_H"; then | ||
72 | AC_CACHE_CHECK([for ]$1[ value], [gl_cv_header_errno_h_]$1, [ | ||
73 | AC_EGREP_CPP([yes],[ | ||
74 | #include <errno.h> | ||
75 | #ifdef ]$1[ | ||
76 | yes | ||
77 | #endif | ||
78 | ], | ||
79 | [gl_cv_header_errno_h_]$1[=yes], | ||
80 | [gl_cv_header_errno_h_]$1[=no]) | ||
81 | if test $gl_cv_header_errno_h_]$1[ = no; then | ||
82 | AC_EGREP_CPP([yes],[ | ||
83 | #define _XOPEN_SOURCE_EXTENDED 1 | ||
84 | #include <errno.h> | ||
85 | #ifdef ]$1[ | ||
86 | yes | ||
87 | #endif | ||
88 | ], [gl_cv_header_errno_h_]$1[=hidden]) | ||
89 | if test $gl_cv_header_errno_h_]$1[ = hidden; then | ||
90 | dnl The macro exists but is hidden. | ||
91 | dnl Define it to the same value. | ||
92 | AC_COMPUTE_INT([gl_cv_header_errno_h_]$1, $1, [ | ||
93 | #define _XOPEN_SOURCE_EXTENDED 1 | ||
94 | #include <errno.h> | ||
95 | /* The following two lines are a workaround against an autoconf-2.52 bug. */ | ||
96 | #include <stdio.h> | ||
97 | #include <stdlib.h> | ||
98 | ]) | ||
99 | fi | ||
100 | fi | ||
101 | ]) | ||
102 | case $gl_cv_header_errno_h_]$1[ in | ||
103 | yes | no) | ||
104 | ]$1[_HIDDEN=0; ]$1[_VALUE= | ||
105 | ;; | ||
106 | *) | ||
107 | ]$1[_HIDDEN=1; ]$1[_VALUE="$gl_cv_header_errno_h_]$1[" | ||
108 | ;; | ||
109 | esac | ||
110 | AC_SUBST($1[_HIDDEN]) | ||
111 | AC_SUBST($1[_VALUE]) | ||
112 | fi | ||
113 | ]) | ||
114 | |||
115 | dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in. | ||
116 | dnl Remove this when we can assume autoconf >= 2.61. | ||
117 | m4_ifdef([AC_COMPUTE_INT], [], [ | ||
118 | AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])]) | ||
119 | ]) | ||
diff --git a/gl/m4/extensions.m4 b/gl/m4/extensions.m4 index bcbb3cee..611fcfdb 100644 --- a/gl/m4/extensions.m4 +++ b/gl/m4/extensions.m4 | |||
@@ -1,7 +1,7 @@ | |||
1 | # serial 5 -*- Autoconf -*- | 1 | # serial 6 -*- Autoconf -*- |
2 | # Enable extensions on systems that normally disable them. | 2 | # Enable extensions on systems that normally disable them. |
3 | 3 | ||
4 | # Copyright (C) 2003, 2006, 2007 Free Software Foundation, Inc. | 4 | # Copyright (C) 2003, 2006-2008 Free Software Foundation, Inc. |
5 | # This file is free software; the Free Software Foundation | 5 | # This file is free software; the Free Software Foundation |
6 | # gives unlimited permission to copy and/or distribute it, | 6 | # gives unlimited permission to copy and/or distribute it, |
7 | # with or without modifications, as long as this notice is preserved. | 7 | # with or without modifications, as long as this notice is preserved. |
@@ -24,6 +24,8 @@ AC_DEFUN([AC_USE_SYSTEM_EXTENSIONS], | |||
24 | [AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl | 24 | [AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl |
25 | AC_BEFORE([$0], [AC_RUN_IFELSE])dnl | 25 | AC_BEFORE([$0], [AC_RUN_IFELSE])dnl |
26 | 26 | ||
27 | AC_REQUIRE([AC_CANONICAL_HOST]) | ||
28 | |||
27 | AC_CHECK_HEADER([minix/config.h], [MINIX=yes], [MINIX=]) | 29 | AC_CHECK_HEADER([minix/config.h], [MINIX=yes], [MINIX=]) |
28 | if test "$MINIX" = yes; then | 30 | if test "$MINIX" = yes; then |
29 | AC_DEFINE([_POSIX_SOURCE], [1], | 31 | AC_DEFINE([_POSIX_SOURCE], [1], |
@@ -36,6 +38,16 @@ AC_BEFORE([$0], [AC_RUN_IFELSE])dnl | |||
36 | [Define to 1 if on MINIX.]) | 38 | [Define to 1 if on MINIX.]) |
37 | fi | 39 | fi |
38 | 40 | ||
41 | dnl HP-UX 11.11 defines mbstate_t only if _XOPEN_SOURCE is defined to 500, | ||
42 | dnl regardless of whether the flags -Ae or _D_HPUX_SOURCE=1 are already | ||
43 | dnl provided. | ||
44 | case "$host_os" in | ||
45 | hpux*) | ||
46 | AC_DEFINE([_XOPEN_SOURCE], [500], | ||
47 | [Define to 500 only on HP-UX.]) | ||
48 | ;; | ||
49 | esac | ||
50 | |||
39 | AH_VERBATIM([__EXTENSIONS__], | 51 | AH_VERBATIM([__EXTENSIONS__], |
40 | [/* Enable extensions on AIX 3, Interix. */ | 52 | [/* Enable extensions on AIX 3, Interix. */ |
41 | #ifndef _ALL_SOURCE | 53 | #ifndef _ALL_SOURCE |
@@ -61,9 +73,9 @@ AC_BEFORE([$0], [AC_RUN_IFELSE])dnl | |||
61 | AC_CACHE_CHECK([whether it is safe to define __EXTENSIONS__], | 73 | AC_CACHE_CHECK([whether it is safe to define __EXTENSIONS__], |
62 | [ac_cv_safe_to_define___extensions__], | 74 | [ac_cv_safe_to_define___extensions__], |
63 | [AC_COMPILE_IFELSE( | 75 | [AC_COMPILE_IFELSE( |
64 | [AC_LANG_PROGRAM([ | 76 | [AC_LANG_PROGRAM([[ |
65 | # define __EXTENSIONS__ 1 | 77 | # define __EXTENSIONS__ 1 |
66 | AC_INCLUDES_DEFAULT])], | 78 | ]AC_INCLUDES_DEFAULT])], |
67 | [ac_cv_safe_to_define___extensions__=yes], | 79 | [ac_cv_safe_to_define___extensions__=yes], |
68 | [ac_cv_safe_to_define___extensions__=no])]) | 80 | [ac_cv_safe_to_define___extensions__=no])]) |
69 | test $ac_cv_safe_to_define___extensions__ = yes && | 81 | test $ac_cv_safe_to_define___extensions__ = yes && |
diff --git a/gl/m4/fcntl_h.m4 b/gl/m4/fcntl_h.m4 new file mode 100644 index 00000000..4a7fc42b --- /dev/null +++ b/gl/m4/fcntl_h.m4 | |||
@@ -0,0 +1,94 @@ | |||
1 | # Configure fcntl.h. | ||
2 | dnl Copyright (C) 2006, 2007, 2009 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | ||
4 | dnl gives unlimited permission to copy and/or distribute it, | ||
5 | dnl with or without modifications, as long as this notice is preserved. | ||
6 | |||
7 | dnl Written by Paul Eggert. | ||
8 | |||
9 | AC_DEFUN([gl_FCNTL_H], | ||
10 | [ | ||
11 | AC_REQUIRE([gl_FCNTL_H_DEFAULTS]) | ||
12 | AC_CACHE_CHECK([for working fcntl.h], [gl_cv_header_working_fcntl_h], | ||
13 | [AC_RUN_IFELSE( | ||
14 | [AC_LANG_PROGRAM( | ||
15 | [[#include <sys/types.h> | ||
16 | #include <sys/stat.h> | ||
17 | #include <unistd.h> | ||
18 | #include <fcntl.h> | ||
19 | #ifndef O_NOATIME | ||
20 | #define O_NOATIME 0 | ||
21 | #endif | ||
22 | #ifndef O_NOFOLLOW | ||
23 | #define O_NOFOLLOW 0 | ||
24 | #endif | ||
25 | static int const constants[] = | ||
26 | { | ||
27 | O_CREAT, O_EXCL, O_NOCTTY, O_TRUNC, O_APPEND, | ||
28 | O_NONBLOCK, O_SYNC, O_ACCMODE, O_RDONLY, O_RDWR, O_WRONLY | ||
29 | }; | ||
30 | ]], | ||
31 | [[ | ||
32 | int status = !constants; | ||
33 | { | ||
34 | static char const sym[] = "conftest.sym"; | ||
35 | if (symlink (".", sym) != 0 | ||
36 | || close (open (sym, O_RDONLY | O_NOFOLLOW)) == 0) | ||
37 | status |= 32; | ||
38 | } | ||
39 | { | ||
40 | static char const file[] = "confdefs.h"; | ||
41 | int fd = open (file, O_RDONLY | O_NOATIME); | ||
42 | char c; | ||
43 | struct stat st0, st1; | ||
44 | if (fd < 0 | ||
45 | || fstat (fd, &st0) != 0 | ||
46 | || sleep (1) != 0 | ||
47 | || read (fd, &c, 1) != 1 | ||
48 | || close (fd) != 0 | ||
49 | || stat (file, &st1) != 0 | ||
50 | || st0.st_atime != st1.st_atime) | ||
51 | status |= 64; | ||
52 | } | ||
53 | return status;]])], | ||
54 | [gl_cv_header_working_fcntl_h=yes], | ||
55 | [case $? in #( | ||
56 | 32) gl_cv_header_working_fcntl_h='no (bad O_NOFOLLOW)';; #( | ||
57 | 64) gl_cv_header_working_fcntl_h='no (bad O_NOATIME)';; #( | ||
58 | 96) gl_cv_header_working_fcntl_h='no (bad O_NOATIME, O_NOFOLLOW)';; #( | ||
59 | *) gl_cv_header_working_fcntl_h='no';; | ||
60 | esac], | ||
61 | [gl_cv_header_working_fcntl_h=cross-compiling])]) | ||
62 | |||
63 | case $gl_cv_header_working_fcntl_h in #( | ||
64 | *O_NOATIME* | no | cross-compiling) ac_val=0;; #( | ||
65 | *) ac_val=1;; | ||
66 | esac | ||
67 | AC_DEFINE_UNQUOTED([HAVE_WORKING_O_NOATIME], [$ac_val], | ||
68 | [Define to 1 if O_NOATIME works.]) | ||
69 | |||
70 | case $gl_cv_header_working_fcntl_h in #( | ||
71 | *O_NOFOLLOW* | no | cross-compiling) ac_val=0;; #( | ||
72 | *) ac_val=1;; | ||
73 | esac | ||
74 | AC_DEFINE_UNQUOTED([HAVE_WORKING_O_NOFOLLOW], [$ac_val], | ||
75 | [Define to 1 if O_NOFOLLOW works.]) | ||
76 | |||
77 | gl_CHECK_NEXT_HEADERS([fcntl.h]) | ||
78 | FCNTL_H='fcntl.h' | ||
79 | AC_SUBST([FCNTL_H]) | ||
80 | ]) | ||
81 | |||
82 | AC_DEFUN([gl_FCNTL_MODULE_INDICATOR], | ||
83 | [ | ||
84 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. | ||
85 | AC_REQUIRE([gl_FCNTL_H_DEFAULTS]) | ||
86 | GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 | ||
87 | ]) | ||
88 | |||
89 | AC_DEFUN([gl_FCNTL_H_DEFAULTS], | ||
90 | [ | ||
91 | GNULIB_OPEN=0; AC_SUBST([GNULIB_OPEN]) | ||
92 | dnl Assume proper GNU behavior unless another module says otherwise. | ||
93 | REPLACE_OPEN=0; AC_SUBST([REPLACE_OPEN]) | ||
94 | ]) | ||
diff --git a/gl/m4/fsusage.m4 b/gl/m4/fsusage.m4 index 18eedbca..8b8cbf72 100644 --- a/gl/m4/fsusage.m4 +++ b/gl/m4/fsusage.m4 | |||
@@ -1,7 +1,7 @@ | |||
1 | #serial 23 | 1 | # serial 24 |
2 | # Obtaining file system usage information. | 2 | # Obtaining file system usage information. |
3 | 3 | ||
4 | # Copyright (C) 1997, 1998, 2000, 2001, 2003-2007 Free Software Foundation, Inc. | 4 | # Copyright (C) 1997-1998, 2000-2001, 2003-2009 Free Software Foundation, Inc. |
5 | # | 5 | # |
6 | # This file is free software; the Free Software Foundation | 6 | # This file is free software; the Free Software Foundation |
7 | # gives unlimited permission to copy and/or distribute it, | 7 | # gives unlimited permission to copy and/or distribute it, |
@@ -11,16 +11,16 @@ | |||
11 | 11 | ||
12 | AC_DEFUN([gl_FSUSAGE], | 12 | AC_DEFUN([gl_FSUSAGE], |
13 | [ | 13 | [ |
14 | AC_CHECK_HEADERS_ONCE(sys/param.h) | 14 | AC_CHECK_HEADERS_ONCE([sys/param.h]) |
15 | AC_CHECK_HEADERS_ONCE(sys/vfs.h sys/fs_types.h) | 15 | AC_CHECK_HEADERS_ONCE([sys/vfs.h sys/fs_types.h]) |
16 | AC_CHECK_HEADERS(sys/mount.h, [], [], | 16 | AC_CHECK_HEADERS([sys/mount.h], [], [], |
17 | [AC_INCLUDES_DEFAULT | 17 | [AC_INCLUDES_DEFAULT |
18 | [#if HAVE_SYS_PARAM_H | 18 | [#if HAVE_SYS_PARAM_H |
19 | #include <sys/param.h> | 19 | #include <sys/param.h> |
20 | #endif]]) | 20 | #endif]]) |
21 | gl_FILE_SYSTEM_USAGE([gl_cv_fs_space=yes], [gl_cv_fs_space=no]) | 21 | gl_FILE_SYSTEM_USAGE([gl_cv_fs_space=yes], [gl_cv_fs_space=no]) |
22 | if test $gl_cv_fs_space = yes; then | 22 | if test $gl_cv_fs_space = yes; then |
23 | AC_LIBOBJ(fsusage) | 23 | AC_LIBOBJ([fsusage]) |
24 | gl_PREREQ_FSUSAGE_EXTRA | 24 | gl_PREREQ_FSUSAGE_EXTRA |
25 | fi | 25 | fi |
26 | ]) | 26 | ]) |
@@ -38,21 +38,21 @@ AC_MSG_NOTICE([checking how to get file system space usage]) | |||
38 | ac_fsusage_space=no | 38 | ac_fsusage_space=no |
39 | 39 | ||
40 | # Perform only the link test since it seems there are no variants of the | 40 | # Perform only the link test since it seems there are no variants of the |
41 | # statvfs function. This check is more than just AC_CHECK_FUNCS(statvfs) | 41 | # statvfs function. This check is more than just AC_CHECK_FUNCS([statvfs]) |
42 | # because that got a false positive on SCO OSR5. Adding the declaration | 42 | # because that got a false positive on SCO OSR5. Adding the declaration |
43 | # of a `struct statvfs' causes this test to fail (as it should) on such | 43 | # of a `struct statvfs' causes this test to fail (as it should) on such |
44 | # systems. That system is reported to work fine with STAT_STATFS4 which | 44 | # systems. That system is reported to work fine with STAT_STATFS4 which |
45 | # is what it gets when this test fails. | 45 | # is what it gets when this test fails. |
46 | if test $ac_fsusage_space = no; then | 46 | if test $ac_fsusage_space = no; then |
47 | # SVR4 | 47 | # SVR4 |
48 | AC_CACHE_CHECK([for statvfs function (SVR4)], fu_cv_sys_stat_statvfs, | 48 | AC_CACHE_CHECK([for statvfs function (SVR4)], [fu_cv_sys_stat_statvfs], |
49 | [AC_TRY_LINK([#include <sys/types.h> | 49 | [AC_TRY_LINK([#include <sys/types.h> |
50 | #if defined __GLIBC__ && !defined __BEOS__ | 50 | #if defined __GLIBC__ && defined __linux__ |
51 | Do not use statvfs on systems with GNU libc, because that function stats | 51 | Do not use statvfs on systems with GNU libc on Linux, because that function |
52 | all preceding entries in /proc/mounts, and that makes df hang if even | 52 | stats all preceding entries in /proc/mounts, and that makes df hang if even |
53 | one of the corresponding file systems is hard-mounted, but not available. | 53 | one of the corresponding file systems is hard-mounted, but not available. |
54 | statvfs in GNU libc on BeOS operates differently: it only makes a system | 54 | statvfs in GNU libc on Hurd, BeOS, Haiku operates differently: it only makes |
55 | call. | 55 | a system call. |
56 | #endif | 56 | #endif |
57 | 57 | ||
58 | #ifdef __osf__ | 58 | #ifdef __osf__ |
@@ -65,7 +65,7 @@ call. | |||
65 | fu_cv_sys_stat_statvfs=no)]) | 65 | fu_cv_sys_stat_statvfs=no)]) |
66 | if test $fu_cv_sys_stat_statvfs = yes; then | 66 | if test $fu_cv_sys_stat_statvfs = yes; then |
67 | ac_fsusage_space=yes | 67 | ac_fsusage_space=yes |
68 | AC_DEFINE(STAT_STATVFS, 1, | 68 | AC_DEFINE([STAT_STATVFS], [1], |
69 | [ Define if there is a function named statvfs. (SVR4)]) | 69 | [ Define if there is a function named statvfs. (SVR4)]) |
70 | fi | 70 | fi |
71 | fi | 71 | fi |
@@ -73,7 +73,7 @@ fi | |||
73 | if test $ac_fsusage_space = no; then | 73 | if test $ac_fsusage_space = no; then |
74 | # DEC Alpha running OSF/1 | 74 | # DEC Alpha running OSF/1 |
75 | AC_MSG_CHECKING([for 3-argument statfs function (DEC OSF/1)]) | 75 | AC_MSG_CHECKING([for 3-argument statfs function (DEC OSF/1)]) |
76 | AC_CACHE_VAL(fu_cv_sys_stat_statfs3_osf1, | 76 | AC_CACHE_VAL([fu_cv_sys_stat_statfs3_osf1], |
77 | [AC_TRY_RUN([ | 77 | [AC_TRY_RUN([ |
78 | #include <sys/param.h> | 78 | #include <sys/param.h> |
79 | #include <sys/types.h> | 79 | #include <sys/types.h> |
@@ -88,10 +88,10 @@ if test $ac_fsusage_space = no; then | |||
88 | fu_cv_sys_stat_statfs3_osf1=yes, | 88 | fu_cv_sys_stat_statfs3_osf1=yes, |
89 | fu_cv_sys_stat_statfs3_osf1=no, | 89 | fu_cv_sys_stat_statfs3_osf1=no, |
90 | fu_cv_sys_stat_statfs3_osf1=no)]) | 90 | fu_cv_sys_stat_statfs3_osf1=no)]) |
91 | AC_MSG_RESULT($fu_cv_sys_stat_statfs3_osf1) | 91 | AC_MSG_RESULT([$fu_cv_sys_stat_statfs3_osf1]) |
92 | if test $fu_cv_sys_stat_statfs3_osf1 = yes; then | 92 | if test $fu_cv_sys_stat_statfs3_osf1 = yes; then |
93 | ac_fsusage_space=yes | 93 | ac_fsusage_space=yes |
94 | AC_DEFINE(STAT_STATFS3_OSF1, 1, | 94 | AC_DEFINE([STAT_STATFS3_OSF1], [1], |
95 | [ Define if statfs takes 3 args. (DEC Alpha running OSF/1)]) | 95 | [ Define if statfs takes 3 args. (DEC Alpha running OSF/1)]) |
96 | fi | 96 | fi |
97 | fi | 97 | fi |
@@ -100,7 +100,7 @@ if test $ac_fsusage_space = no; then | |||
100 | # AIX | 100 | # AIX |
101 | AC_MSG_CHECKING([for two-argument statfs with statfs.bsize dnl | 101 | AC_MSG_CHECKING([for two-argument statfs with statfs.bsize dnl |
102 | member (AIX, 4.3BSD)]) | 102 | member (AIX, 4.3BSD)]) |
103 | AC_CACHE_VAL(fu_cv_sys_stat_statfs2_bsize, | 103 | AC_CACHE_VAL([fu_cv_sys_stat_statfs2_bsize], |
104 | [AC_TRY_RUN([ | 104 | [AC_TRY_RUN([ |
105 | #ifdef HAVE_SYS_PARAM_H | 105 | #ifdef HAVE_SYS_PARAM_H |
106 | #include <sys/param.h> | 106 | #include <sys/param.h> |
@@ -121,10 +121,10 @@ member (AIX, 4.3BSD)]) | |||
121 | fu_cv_sys_stat_statfs2_bsize=yes, | 121 | fu_cv_sys_stat_statfs2_bsize=yes, |
122 | fu_cv_sys_stat_statfs2_bsize=no, | 122 | fu_cv_sys_stat_statfs2_bsize=no, |
123 | fu_cv_sys_stat_statfs2_bsize=no)]) | 123 | fu_cv_sys_stat_statfs2_bsize=no)]) |
124 | AC_MSG_RESULT($fu_cv_sys_stat_statfs2_bsize) | 124 | AC_MSG_RESULT([$fu_cv_sys_stat_statfs2_bsize]) |
125 | if test $fu_cv_sys_stat_statfs2_bsize = yes; then | 125 | if test $fu_cv_sys_stat_statfs2_bsize = yes; then |
126 | ac_fsusage_space=yes | 126 | ac_fsusage_space=yes |
127 | AC_DEFINE(STAT_STATFS2_BSIZE, 1, | 127 | AC_DEFINE([STAT_STATFS2_BSIZE], [1], |
128 | [ Define if statfs takes 2 args and struct statfs has a field named f_bsize. | 128 | [ Define if statfs takes 2 args and struct statfs has a field named f_bsize. |
129 | (4.3BSD, SunOS 4, HP-UX, AIX PS/2)]) | 129 | (4.3BSD, SunOS 4, HP-UX, AIX PS/2)]) |
130 | fi | 130 | fi |
@@ -133,7 +133,7 @@ fi | |||
133 | if test $ac_fsusage_space = no; then | 133 | if test $ac_fsusage_space = no; then |
134 | # SVR3 | 134 | # SVR3 |
135 | AC_MSG_CHECKING([for four-argument statfs (AIX-3.2.5, SVR3)]) | 135 | AC_MSG_CHECKING([for four-argument statfs (AIX-3.2.5, SVR3)]) |
136 | AC_CACHE_VAL(fu_cv_sys_stat_statfs4, | 136 | AC_CACHE_VAL([fu_cv_sys_stat_statfs4], |
137 | [AC_TRY_RUN([#include <sys/types.h> | 137 | [AC_TRY_RUN([#include <sys/types.h> |
138 | #include <sys/statfs.h> | 138 | #include <sys/statfs.h> |
139 | int | 139 | int |
@@ -145,10 +145,10 @@ if test $ac_fsusage_space = no; then | |||
145 | fu_cv_sys_stat_statfs4=yes, | 145 | fu_cv_sys_stat_statfs4=yes, |
146 | fu_cv_sys_stat_statfs4=no, | 146 | fu_cv_sys_stat_statfs4=no, |
147 | fu_cv_sys_stat_statfs4=no)]) | 147 | fu_cv_sys_stat_statfs4=no)]) |
148 | AC_MSG_RESULT($fu_cv_sys_stat_statfs4) | 148 | AC_MSG_RESULT([$fu_cv_sys_stat_statfs4]) |
149 | if test $fu_cv_sys_stat_statfs4 = yes; then | 149 | if test $fu_cv_sys_stat_statfs4 = yes; then |
150 | ac_fsusage_space=yes | 150 | ac_fsusage_space=yes |
151 | AC_DEFINE(STAT_STATFS4, 1, | 151 | AC_DEFINE([STAT_STATFS4], [1], |
152 | [ Define if statfs takes 4 args. (SVR3, Dynix, Irix, Dolphin)]) | 152 | [ Define if statfs takes 4 args. (SVR3, Dynix, Irix, Dolphin)]) |
153 | fi | 153 | fi |
154 | fi | 154 | fi |
@@ -157,7 +157,7 @@ if test $ac_fsusage_space = no; then | |||
157 | # 4.4BSD and NetBSD | 157 | # 4.4BSD and NetBSD |
158 | AC_MSG_CHECKING([for two-argument statfs with statfs.fsize dnl | 158 | AC_MSG_CHECKING([for two-argument statfs with statfs.fsize dnl |
159 | member (4.4BSD and NetBSD)]) | 159 | member (4.4BSD and NetBSD)]) |
160 | AC_CACHE_VAL(fu_cv_sys_stat_statfs2_fsize, | 160 | AC_CACHE_VAL([fu_cv_sys_stat_statfs2_fsize], |
161 | [AC_TRY_RUN([#include <sys/types.h> | 161 | [AC_TRY_RUN([#include <sys/types.h> |
162 | #ifdef HAVE_SYS_PARAM_H | 162 | #ifdef HAVE_SYS_PARAM_H |
163 | #include <sys/param.h> | 163 | #include <sys/param.h> |
@@ -175,10 +175,10 @@ member (4.4BSD and NetBSD)]) | |||
175 | fu_cv_sys_stat_statfs2_fsize=yes, | 175 | fu_cv_sys_stat_statfs2_fsize=yes, |
176 | fu_cv_sys_stat_statfs2_fsize=no, | 176 | fu_cv_sys_stat_statfs2_fsize=no, |
177 | fu_cv_sys_stat_statfs2_fsize=no)]) | 177 | fu_cv_sys_stat_statfs2_fsize=no)]) |
178 | AC_MSG_RESULT($fu_cv_sys_stat_statfs2_fsize) | 178 | AC_MSG_RESULT([$fu_cv_sys_stat_statfs2_fsize]) |
179 | if test $fu_cv_sys_stat_statfs2_fsize = yes; then | 179 | if test $fu_cv_sys_stat_statfs2_fsize = yes; then |
180 | ac_fsusage_space=yes | 180 | ac_fsusage_space=yes |
181 | AC_DEFINE(STAT_STATFS2_FSIZE, 1, | 181 | AC_DEFINE([STAT_STATFS2_FSIZE], [1], |
182 | [ Define if statfs takes 2 args and struct statfs has a field named f_fsize. | 182 | [ Define if statfs takes 2 args and struct statfs has a field named f_fsize. |
183 | (4.4BSD, NetBSD)]) | 183 | (4.4BSD, NetBSD)]) |
184 | fi | 184 | fi |
@@ -187,7 +187,7 @@ fi | |||
187 | if test $ac_fsusage_space = no; then | 187 | if test $ac_fsusage_space = no; then |
188 | # Ultrix | 188 | # Ultrix |
189 | AC_MSG_CHECKING([for two-argument statfs with struct fs_data (Ultrix)]) | 189 | AC_MSG_CHECKING([for two-argument statfs with struct fs_data (Ultrix)]) |
190 | AC_CACHE_VAL(fu_cv_sys_stat_fs_data, | 190 | AC_CACHE_VAL([fu_cv_sys_stat_fs_data], |
191 | [AC_TRY_RUN([#include <sys/types.h> | 191 | [AC_TRY_RUN([#include <sys/types.h> |
192 | #ifdef HAVE_SYS_PARAM_H | 192 | #ifdef HAVE_SYS_PARAM_H |
193 | #include <sys/param.h> | 193 | #include <sys/param.h> |
@@ -209,10 +209,10 @@ if test $ac_fsusage_space = no; then | |||
209 | fu_cv_sys_stat_fs_data=yes, | 209 | fu_cv_sys_stat_fs_data=yes, |
210 | fu_cv_sys_stat_fs_data=no, | 210 | fu_cv_sys_stat_fs_data=no, |
211 | fu_cv_sys_stat_fs_data=no)]) | 211 | fu_cv_sys_stat_fs_data=no)]) |
212 | AC_MSG_RESULT($fu_cv_sys_stat_fs_data) | 212 | AC_MSG_RESULT([$fu_cv_sys_stat_fs_data]) |
213 | if test $fu_cv_sys_stat_fs_data = yes; then | 213 | if test $fu_cv_sys_stat_fs_data = yes; then |
214 | ac_fsusage_space=yes | 214 | ac_fsusage_space=yes |
215 | AC_DEFINE(STAT_STATFS2_FS_DATA, 1, | 215 | AC_DEFINE([STAT_STATFS2_FS_DATA], [1], |
216 | [ Define if statfs takes 2 args and the second argument has | 216 | [ Define if statfs takes 2 args and the second argument has |
217 | type struct fs_data. (Ultrix)]) | 217 | type struct fs_data. (Ultrix)]) |
218 | fi | 218 | fi |
@@ -222,7 +222,7 @@ if test $ac_fsusage_space = no; then | |||
222 | # SVR2 | 222 | # SVR2 |
223 | AC_TRY_CPP([#include <sys/filsys.h> | 223 | AC_TRY_CPP([#include <sys/filsys.h> |
224 | ], | 224 | ], |
225 | AC_DEFINE(STAT_READ_FILSYS, 1, | 225 | AC_DEFINE([STAT_READ_FILSYS], [1], |
226 | [Define if there is no specific function for reading file systems usage | 226 | [Define if there is no specific function for reading file systems usage |
227 | information and you have the <sys/filsys.h> header file. (SVR2)]) | 227 | information and you have the <sys/filsys.h> header file. (SVR2)]) |
228 | ac_fsusage_space=yes) | 228 | ac_fsusage_space=yes) |
@@ -239,7 +239,7 @@ AS_IF([test $ac_fsusage_space = yes], [$1], [$2]) | |||
239 | AC_DEFUN([gl_STATFS_TRUNCATES], | 239 | AC_DEFUN([gl_STATFS_TRUNCATES], |
240 | [ | 240 | [ |
241 | AC_MSG_CHECKING([for statfs that truncates block counts]) | 241 | AC_MSG_CHECKING([for statfs that truncates block counts]) |
242 | AC_CACHE_VAL(fu_cv_sys_truncating_statfs, | 242 | AC_CACHE_VAL([fu_cv_sys_truncating_statfs], |
243 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | 243 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
244 | #if !defined(sun) && !defined(__sun) | 244 | #if !defined(sun) && !defined(__sun) |
245 | choke -- this is a workaround for a Sun-specific problem | 245 | choke -- this is a workaround for a Sun-specific problem |
@@ -251,19 +251,19 @@ choke -- this is a workaround for a Sun-specific problem | |||
251 | [fu_cv_sys_truncating_statfs=yes], | 251 | [fu_cv_sys_truncating_statfs=yes], |
252 | [fu_cv_sys_truncating_statfs=no])]) | 252 | [fu_cv_sys_truncating_statfs=no])]) |
253 | if test $fu_cv_sys_truncating_statfs = yes; then | 253 | if test $fu_cv_sys_truncating_statfs = yes; then |
254 | AC_DEFINE(STATFS_TRUNCATES_BLOCK_COUNTS, 1, | 254 | AC_DEFINE([STATFS_TRUNCATES_BLOCK_COUNTS], [1], |
255 | [Define if the block counts reported by statfs may be truncated to 2GB | 255 | [Define if the block counts reported by statfs may be truncated to 2GB |
256 | and the correct values may be stored in the f_spare array. | 256 | and the correct values may be stored in the f_spare array. |
257 | (SunOS 4.1.2, 4.1.3, and 4.1.3_U1 are reported to have this problem. | 257 | (SunOS 4.1.2, 4.1.3, and 4.1.3_U1 are reported to have this problem. |
258 | SunOS 4.1.1 seems not to be affected.)]) | 258 | SunOS 4.1.1 seems not to be affected.)]) |
259 | fi | 259 | fi |
260 | AC_MSG_RESULT($fu_cv_sys_truncating_statfs) | 260 | AC_MSG_RESULT([$fu_cv_sys_truncating_statfs]) |
261 | ]) | 261 | ]) |
262 | 262 | ||
263 | 263 | ||
264 | # Prerequisites of lib/fsusage.c not done by gl_FILE_SYSTEM_USAGE. | 264 | # Prerequisites of lib/fsusage.c not done by gl_FILE_SYSTEM_USAGE. |
265 | AC_DEFUN([gl_PREREQ_FSUSAGE_EXTRA], | 265 | AC_DEFUN([gl_PREREQ_FSUSAGE_EXTRA], |
266 | [ | 266 | [ |
267 | AC_CHECK_HEADERS(dustat.h sys/fs/s5param.h sys/filsys.h sys/statfs.h) | 267 | AC_CHECK_HEADERS([dustat.h sys/fs/s5param.h sys/filsys.h sys/statfs.h]) |
268 | gl_STATFS_TRUNCATES | 268 | gl_STATFS_TRUNCATES |
269 | ]) | 269 | ]) |
diff --git a/gl/m4/getaddrinfo.m4 b/gl/m4/getaddrinfo.m4 index 5d36c195..40886719 100644 --- a/gl/m4/getaddrinfo.m4 +++ b/gl/m4/getaddrinfo.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # getaddrinfo.m4 serial 15 | 1 | # getaddrinfo.m4 serial 20 |
2 | dnl Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2004-2009 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -7,11 +7,23 @@ dnl with or without modifications, as long as this notice is preserved. | |||
7 | AC_DEFUN([gl_GETADDRINFO], | 7 | AC_DEFUN([gl_GETADDRINFO], |
8 | [ | 8 | [ |
9 | AC_REQUIRE([gl_HEADER_SYS_SOCKET])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H | 9 | AC_REQUIRE([gl_HEADER_SYS_SOCKET])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H |
10 | AC_REQUIRE([gl_HEADER_NETDB])dnl for HAVE_NETDB_H | ||
10 | AC_MSG_NOTICE([checking how to do getaddrinfo, freeaddrinfo and getnameinfo]) | 11 | AC_MSG_NOTICE([checking how to do getaddrinfo, freeaddrinfo and getnameinfo]) |
12 | GETADDRINFO_LIB= | ||
13 | gai_saved_LIBS="$LIBS" | ||
11 | 14 | ||
12 | AC_CHECK_HEADERS_ONCE(netdb.h) | 15 | dnl Where is getaddrinfo()? |
16 | dnl - On Solaris, it is in libsocket. | ||
17 | dnl - On Haiku, it is in libnetwork. | ||
18 | dnl - On BeOS, it is in libnet. | ||
19 | dnl - On native Windows, it is in ws2_32.dll. | ||
20 | dnl - Otherwise it is in libc. | ||
21 | AC_SEARCH_LIBS([getaddrinfo], [socket network net], | ||
22 | [if test "$ac_cv_search_getaddrinfo" != "none required"; then | ||
23 | GETADDRINFO_LIB="$ac_cv_search_getaddrinfo" | ||
24 | fi]) | ||
25 | LIBS="$gai_saved_LIBS $GETADDRINFO_LIB" | ||
13 | 26 | ||
14 | AC_SEARCH_LIBS(getaddrinfo, [nsl socket]) | ||
15 | AC_CACHE_CHECK([for getaddrinfo], [gl_cv_func_getaddrinfo], [ | 27 | AC_CACHE_CHECK([for getaddrinfo], [gl_cv_func_getaddrinfo], [ |
16 | AC_TRY_LINK([ | 28 | AC_TRY_LINK([ |
17 | #include <sys/types.h> | 29 | #include <sys/types.h> |
@@ -26,7 +38,7 @@ AC_DEFUN([gl_GETADDRINFO], | |||
26 | [gl_cv_func_getaddrinfo=yes], | 38 | [gl_cv_func_getaddrinfo=yes], |
27 | [gl_cv_func_getaddrinfo=no])]) | 39 | [gl_cv_func_getaddrinfo=no])]) |
28 | if test $gl_cv_func_getaddrinfo = no; then | 40 | if test $gl_cv_func_getaddrinfo = no; then |
29 | AC_CACHE_CHECK(for getaddrinfo in ws2tcpip.h and -lws2_32, | 41 | AC_CACHE_CHECK([for getaddrinfo in ws2tcpip.h and -lws2_32], |
30 | gl_cv_w32_getaddrinfo, [ | 42 | gl_cv_w32_getaddrinfo, [ |
31 | gl_cv_w32_getaddrinfo=no | 43 | gl_cv_w32_getaddrinfo=no |
32 | am_save_LIBS="$LIBS" | 44 | am_save_LIBS="$LIBS" |
@@ -37,11 +49,13 @@ AC_DEFUN([gl_GETADDRINFO], | |||
37 | #endif | 49 | #endif |
38 | #include <stddef.h> | 50 | #include <stddef.h> |
39 | ], [getaddrinfo(NULL, NULL, NULL, NULL);], gl_cv_w32_getaddrinfo=yes) | 51 | ], [getaddrinfo(NULL, NULL, NULL, NULL);], gl_cv_w32_getaddrinfo=yes) |
40 | LIBS="$am_save_LIBS"]) | 52 | LIBS="$am_save_LIBS" |
53 | ]) | ||
41 | if test "$gl_cv_w32_getaddrinfo" = "yes"; then | 54 | if test "$gl_cv_w32_getaddrinfo" = "yes"; then |
42 | LIBS="$LIBS -lws2_32" | 55 | GETADDRINFO_LIB="-lws2_32" |
56 | LIBS="$gai_saved_LIBS $GETADDRINFO_LIB" | ||
43 | else | 57 | else |
44 | AC_LIBOBJ(getaddrinfo) | 58 | AC_LIBOBJ([getaddrinfo]) |
45 | fi | 59 | fi |
46 | fi | 60 | fi |
47 | 61 | ||
@@ -66,40 +80,34 @@ AC_DEFUN([gl_GETADDRINFO], | |||
66 | [gl_cv_func_gai_strerror=yes], | 80 | [gl_cv_func_gai_strerror=yes], |
67 | [gl_cv_func_gai_strerror=no])]) | 81 | [gl_cv_func_gai_strerror=no])]) |
68 | if test $gl_cv_func_gai_strerror = no; then | 82 | if test $gl_cv_func_gai_strerror = no; then |
69 | AC_LIBOBJ(gai_strerror) | 83 | AC_LIBOBJ([gai_strerror]) |
70 | fi | 84 | fi |
71 | 85 | ||
86 | LIBS="$gai_saved_LIBS" | ||
87 | |||
72 | gl_PREREQ_GETADDRINFO | 88 | gl_PREREQ_GETADDRINFO |
89 | |||
90 | AC_SUBST([GETADDRINFO_LIB]) | ||
73 | ]) | 91 | ]) |
74 | 92 | ||
75 | # Prerequisites of lib/getaddrinfo.h and lib/getaddrinfo.c. | 93 | # Prerequisites of lib/netdb.in.h and lib/getaddrinfo.c. |
76 | AC_DEFUN([gl_PREREQ_GETADDRINFO], [ | 94 | AC_DEFUN([gl_PREREQ_GETADDRINFO], [ |
95 | AC_REQUIRE([gl_NETDB_H_DEFAULTS]) | ||
77 | AC_REQUIRE([gl_HEADER_SYS_SOCKET])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H | 96 | AC_REQUIRE([gl_HEADER_SYS_SOCKET])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H |
78 | AC_SEARCH_LIBS(gethostbyname, [inet nsl]) | 97 | AC_REQUIRE([gl_HOSTENT]) dnl for HOSTENT_LIB |
79 | AC_SEARCH_LIBS(getservbyname, [inet nsl socket xnet]) | 98 | AC_REQUIRE([gl_SERVENT]) dnl for SERVENT_LIB |
80 | AC_CHECK_FUNCS(gethostbyname,, [ | ||
81 | AC_CACHE_CHECK(for gethostbyname in winsock2.h and -lws2_32, | ||
82 | gl_cv_w32_gethostbyname, [ | ||
83 | gl_cv_w32_gethostbyname=no | ||
84 | am_save_LIBS="$LIBS" | ||
85 | LIBS="$LIBS -lws2_32" | ||
86 | AC_TRY_LINK([ | ||
87 | #ifdef HAVE_WINSOCK2_H | ||
88 | #include <winsock2.h> | ||
89 | #endif | ||
90 | #include <stddef.h> | ||
91 | ], [gethostbyname(NULL);], gl_cv_w32_gethostbyname=yes) | ||
92 | LIBS="$am_save_LIBS"]) | ||
93 | if test "$gl_cv_w32_gethostbyname" = "yes"; then | ||
94 | LIBS="$LIBS -lws2_32" | ||
95 | fi | ||
96 | ]) | ||
97 | AC_REQUIRE([AC_C_RESTRICT]) | 99 | AC_REQUIRE([AC_C_RESTRICT]) |
98 | AC_REQUIRE([gl_SOCKET_FAMILIES]) | 100 | AC_REQUIRE([gl_SOCKET_FAMILIES]) |
99 | AC_REQUIRE([gl_HEADER_SYS_SOCKET]) | 101 | AC_REQUIRE([gl_HEADER_SYS_SOCKET]) |
100 | AC_REQUIRE([AC_C_INLINE]) | 102 | AC_REQUIRE([AC_C_INLINE]) |
101 | AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) | 103 | AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) |
102 | AC_CHECK_HEADERS_ONCE(netinet/in.h netdb.h) | 104 | |
105 | dnl Including sys/socket.h is wrong for Windows, but Windows does not | ||
106 | dnl have sa_len so the result is correct anyway. | ||
107 | AC_CHECK_MEMBERS([struct sockaddr.sa_len], , , [#include <sys/socket.h>]) | ||
108 | |||
109 | AC_CHECK_HEADERS_ONCE([netinet/in.h]) | ||
110 | |||
103 | AC_CHECK_DECLS([getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo],,,[ | 111 | AC_CHECK_DECLS([getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo],,,[ |
104 | /* sys/types.h is not needed according to POSIX, but the | 112 | /* sys/types.h is not needed according to POSIX, but the |
105 | sys/socket.h in i386-unknown-freebsd4.10 and | 113 | sys/socket.h in i386-unknown-freebsd4.10 and |
@@ -115,6 +123,19 @@ AC_DEFUN([gl_PREREQ_GETADDRINFO], [ | |||
115 | #include <ws2tcpip.h> | 123 | #include <ws2tcpip.h> |
116 | #endif | 124 | #endif |
117 | ]) | 125 | ]) |
126 | if test $ac_cv_have_decl_getaddrinfo = no; then | ||
127 | HAVE_DECL_GETADDRINFO=0 | ||
128 | fi | ||
129 | if test $ac_cv_have_decl_freeaddrinfo = no; then | ||
130 | HAVE_DECL_FREEADDRINFO=0 | ||
131 | fi | ||
132 | if test $ac_cv_have_decl_gai_strerror = no; then | ||
133 | HAVE_DECL_GAI_STRERROR=0 | ||
134 | fi | ||
135 | if test $ac_cv_have_decl_getnameinfo = no; then | ||
136 | HAVE_DECL_GETNAMEINFO=0 | ||
137 | fi | ||
138 | |||
118 | AC_CHECK_TYPES([struct addrinfo],,,[ | 139 | AC_CHECK_TYPES([struct addrinfo],,,[ |
119 | #include <sys/types.h> | 140 | #include <sys/types.h> |
120 | #ifdef HAVE_SYS_SOCKET_H | 141 | #ifdef HAVE_SYS_SOCKET_H |
@@ -127,4 +148,19 @@ AC_DEFUN([gl_PREREQ_GETADDRINFO], [ | |||
127 | #include <ws2tcpip.h> | 148 | #include <ws2tcpip.h> |
128 | #endif | 149 | #endif |
129 | ]) | 150 | ]) |
151 | if test $ac_cv_type_struct_addrinfo = no; then | ||
152 | HAVE_STRUCT_ADDRINFO=0 | ||
153 | fi | ||
154 | |||
155 | dnl Append $HOSTENT_LIB to GETADDRINFO_LIB, avoiding gratuitous duplicates. | ||
156 | case " $GETADDRINFO_LIB " in | ||
157 | *" $HOSTENT_LIB "*) ;; | ||
158 | *) GETADDRINFO_LIB="$GETADDRINFO_LIB $HOSTENT_LIB" ;; | ||
159 | esac | ||
160 | |||
161 | dnl Append $SERVENT_LIB to GETADDRINFO_LIB, avoiding gratuitous duplicates. | ||
162 | case " $GETADDRINFO_LIB " in | ||
163 | *" $SERVENT_LIB "*) ;; | ||
164 | *) GETADDRINFO_LIB="$GETADDRINFO_LIB $SERVENT_LIB" ;; | ||
165 | esac | ||
130 | ]) | 166 | ]) |
diff --git a/gl/m4/gethostname.m4 b/gl/m4/gethostname.m4 index 1e9749d3..6b6fca95 100644 --- a/gl/m4/gethostname.m4 +++ b/gl/m4/gethostname.m4 | |||
@@ -1,18 +1,21 @@ | |||
1 | # gethostname.m4 serial 2 | 1 | # gethostname.m4 serial 5 |
2 | dnl Copyright (C) 2002 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002, 2008, 2009 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
6 | 6 | ||
7 | AC_DEFUN([gl_FUNC_GETHOSTNAME], | 7 | AC_DEFUN([gl_FUNC_GETHOSTNAME], |
8 | [ | 8 | [ |
9 | AC_REPLACE_FUNCS(gethostname) | 9 | AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) |
10 | gl_PREREQ_SYS_H_WINSOCK2 | ||
11 | AC_REPLACE_FUNCS([gethostname]) | ||
10 | if test $ac_cv_func_gethostname = no; then | 12 | if test $ac_cv_func_gethostname = no; then |
13 | HAVE_GETHOSTNAME=0 | ||
11 | gl_PREREQ_GETHOSTNAME | 14 | gl_PREREQ_GETHOSTNAME |
12 | fi | 15 | fi |
13 | ]) | 16 | ]) |
14 | 17 | ||
15 | # Prerequisites of lib/gethostname.c. | 18 | # Prerequisites of lib/gethostname.c. |
16 | AC_DEFUN([gl_PREREQ_GETHOSTNAME], [ | 19 | AC_DEFUN([gl_PREREQ_GETHOSTNAME], [ |
17 | AC_CHECK_FUNCS(uname) | 20 | AC_CHECK_FUNCS([uname]) |
18 | ]) | 21 | ]) |
diff --git a/gl/m4/getloadavg.m4 b/gl/m4/getloadavg.m4 index c1547c74..015bcac2 100644 --- a/gl/m4/getloadavg.m4 +++ b/gl/m4/getloadavg.m4 | |||
@@ -1,7 +1,7 @@ | |||
1 | # Check for getloadavg. | 1 | # Check for getloadavg. |
2 | 2 | ||
3 | # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1999, 2000, 2002, 2003, | 3 | # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1999, 2000, 2002, 2003, |
4 | # 2006 Free Software Foundation, Inc. | 4 | # 2006, 2008, 2009 Free Software Foundation, Inc. |
5 | 5 | ||
6 | # This file is free software; the Free Software Foundation | 6 | # This file is free software; the Free Software Foundation |
7 | # gives unlimited permission to copy and/or distribute it, | 7 | # gives unlimited permission to copy and/or distribute it, |
@@ -13,7 +13,12 @@ | |||
13 | # gl_GETLOADAVG(LIBOBJDIR) | 13 | # gl_GETLOADAVG(LIBOBJDIR) |
14 | # ------------------------ | 14 | # ------------------------ |
15 | AC_DEFUN([gl_GETLOADAVG], | 15 | AC_DEFUN([gl_GETLOADAVG], |
16 | [gl_have_func=no # yes means we've found a way to get the load average. | 16 | [AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) |
17 | |||
18 | # Persuade glibc <stdlib.h> to declare getloadavg(). | ||
19 | AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) | ||
20 | |||
21 | gl_have_func=no # yes means we've found a way to get the load average. | ||
17 | 22 | ||
18 | # Make sure getloadavg.c is where it belongs, at configure-time. | 23 | # Make sure getloadavg.c is where it belongs, at configure-time. |
19 | test -f "$srcdir/$1/getloadavg.c" || | 24 | test -f "$srcdir/$1/getloadavg.c" || |
@@ -22,17 +27,17 @@ test -f "$srcdir/$1/getloadavg.c" || | |||
22 | gl_save_LIBS=$LIBS | 27 | gl_save_LIBS=$LIBS |
23 | 28 | ||
24 | # Check for getloadavg, but be sure not to touch the cache variable. | 29 | # Check for getloadavg, but be sure not to touch the cache variable. |
25 | (AC_CHECK_FUNC(getloadavg, exit 0, exit 1)) && gl_have_func=yes | 30 | (AC_CHECK_FUNC([getloadavg], [exit 0], [exit 1])) && gl_have_func=yes |
26 | 31 | ||
27 | # On HPUX9, an unprivileged user can get load averages through this function. | 32 | # On HPUX9, an unprivileged user can get load averages through this function. |
28 | AC_CHECK_FUNCS(pstat_getdynamic) | 33 | AC_CHECK_FUNCS([pstat_getdynamic]) |
29 | 34 | ||
30 | # Solaris has libkstat which does not require root. | 35 | # Solaris has libkstat which does not require root. |
31 | AC_CHECK_LIB(kstat, kstat_open) | 36 | AC_CHECK_LIB([kstat], [kstat_open]) |
32 | test $ac_cv_lib_kstat_kstat_open = yes && gl_have_func=yes | 37 | test $ac_cv_lib_kstat_kstat_open = yes && gl_have_func=yes |
33 | 38 | ||
34 | # AIX has libperfstat which does not require root | 39 | # AIX has libperfstat which does not require root |
35 | AC_CHECK_LIB(perfstat, perfstat_cpu_total) | 40 | AC_CHECK_LIB([perfstat], [perfstat_cpu_total]) |
36 | test $ac_cv_lib_perfstat_perfstat_cpu_total = yes && gl_have_func=yes | 41 | test $ac_cv_lib_perfstat_perfstat_cpu_total = yes && gl_have_func=yes |
37 | 42 | ||
38 | # Some systems with -lutil have (and need) -lkvm as well, some do not. | 43 | # Some systems with -lutil have (and need) -lkvm as well, some do not. |
@@ -40,12 +45,12 @@ test $ac_cv_lib_perfstat_perfstat_cpu_total = yes && gl_have_func=yes | |||
40 | # to get the right answer into the cache. | 45 | # to get the right answer into the cache. |
41 | # For kstat on solaris, we need libelf to force the definition of SVR4 below. | 46 | # For kstat on solaris, we need libelf to force the definition of SVR4 below. |
42 | if test $gl_have_func = no; then | 47 | if test $gl_have_func = no; then |
43 | AC_CHECK_LIB(elf, elf_begin, LIBS="-lelf $LIBS") | 48 | AC_CHECK_LIB([elf], [elf_begin], [LIBS="-lelf $LIBS"]) |
44 | fi | 49 | fi |
45 | if test $gl_have_func = no; then | 50 | if test $gl_have_func = no; then |
46 | AC_CHECK_LIB(kvm, kvm_open, LIBS="-lkvm $LIBS") | 51 | AC_CHECK_LIB([kvm], [kvm_open], [LIBS="-lkvm $LIBS"]) |
47 | # Check for the 4.4BSD definition of getloadavg. | 52 | # Check for the 4.4BSD definition of getloadavg. |
48 | AC_CHECK_LIB(util, getloadavg, | 53 | AC_CHECK_LIB([util], [getloadavg], |
49 | [LIBS="-lutil $LIBS" gl_have_func=yes gl_cv_func_getloadavg_setgid=yes]) | 54 | [LIBS="-lutil $LIBS" gl_have_func=yes gl_cv_func_getloadavg_setgid=yes]) |
50 | fi | 55 | fi |
51 | 56 | ||
@@ -54,17 +59,17 @@ if test $gl_have_func = no; then | |||
54 | # Since it is not a standard part of AIX, it might be installed locally. | 59 | # Since it is not a standard part of AIX, it might be installed locally. |
55 | gl_getloadavg_LIBS=$LIBS | 60 | gl_getloadavg_LIBS=$LIBS |
56 | LIBS="-L/usr/local/lib $LIBS" | 61 | LIBS="-L/usr/local/lib $LIBS" |
57 | AC_CHECK_LIB(getloadavg, getloadavg, | 62 | AC_CHECK_LIB([getloadavg], [getloadavg], |
58 | [LIBS="-lgetloadavg $LIBS"], [LIBS=$gl_getloadavg_LIBS]) | 63 | [LIBS="-lgetloadavg $LIBS"], [LIBS=$gl_getloadavg_LIBS]) |
59 | fi | 64 | fi |
60 | 65 | ||
61 | # Make sure it is really in the library, if we think we found it, | 66 | # Make sure it is really in the library, if we think we found it, |
62 | # otherwise set up the replacement function. | 67 | # otherwise set up the replacement function. |
63 | AC_CHECK_FUNCS(getloadavg, [], | 68 | AC_CHECK_FUNCS([getloadavg], [], |
64 | [gl_PREREQ_GETLOADAVG]) | 69 | [gl_PREREQ_GETLOADAVG]) |
65 | 70 | ||
66 | # Some definitions of getloadavg require that the program be installed setgid. | 71 | # Some definitions of getloadavg require that the program be installed setgid. |
67 | AC_CACHE_CHECK(whether getloadavg requires setgid, | 72 | AC_CACHE_CHECK([whether getloadavg requires setgid], |
68 | gl_cv_func_getloadavg_setgid, | 73 | gl_cv_func_getloadavg_setgid, |
69 | [AC_EGREP_CPP([Yowza Am I SETGID yet], | 74 | [AC_EGREP_CPP([Yowza Am I SETGID yet], |
70 | [#define CONFIGURING_GETLOADAVG | 75 | [#define CONFIGURING_GETLOADAVG |
@@ -77,16 +82,16 @@ Yowza Am I SETGID yet | |||
77 | gl_cv_func_getloadavg_setgid=no)]) | 82 | gl_cv_func_getloadavg_setgid=no)]) |
78 | if test $gl_cv_func_getloadavg_setgid = yes; then | 83 | if test $gl_cv_func_getloadavg_setgid = yes; then |
79 | NEED_SETGID=true | 84 | NEED_SETGID=true |
80 | AC_DEFINE(GETLOADAVG_PRIVILEGED, 1, | 85 | AC_DEFINE([GETLOADAVG_PRIVILEGED], [1], |
81 | [Define to 1 if the `getloadavg' function needs to be run setuid | 86 | [Define to 1 if the `getloadavg' function needs to be run setuid |
82 | or setgid.]) | 87 | or setgid.]) |
83 | else | 88 | else |
84 | NEED_SETGID=false | 89 | NEED_SETGID=false |
85 | fi | 90 | fi |
86 | AC_SUBST(NEED_SETGID)dnl | 91 | AC_SUBST([NEED_SETGID])dnl |
87 | 92 | ||
88 | if test $gl_cv_func_getloadavg_setgid = yes; then | 93 | if test $gl_cv_func_getloadavg_setgid = yes; then |
89 | AC_CACHE_CHECK(group of /dev/kmem, gl_cv_group_kmem, | 94 | AC_CACHE_CHECK([group of /dev/kmem], [gl_cv_group_kmem], |
90 | [ # On Solaris, /dev/kmem is a symlink. Get info on the real file. | 95 | [ # On Solaris, /dev/kmem is a symlink. Get info on the real file. |
91 | ac_ls_output=`ls -lgL /dev/kmem 2>/dev/null` | 96 | ac_ls_output=`ls -lgL /dev/kmem 2>/dev/null` |
92 | # If we got an error (system does not support symlinks), try without -L. | 97 | # If we got an error (system does not support symlinks), try without -L. |
@@ -96,7 +101,7 @@ if test $gl_cv_func_getloadavg_setgid = yes; then | |||
96 | s/^.[sSrwx-]* *[0-9]* *\([^0-9]*\) *.*/\1/ | 101 | s/^.[sSrwx-]* *[0-9]* *\([^0-9]*\) *.*/\1/ |
97 | / /s/.* //;p']` | 102 | / /s/.* //;p']` |
98 | ]) | 103 | ]) |
99 | AC_SUBST(KMEM_GROUP, $gl_cv_group_kmem)dnl | 104 | AC_SUBST([KMEM_GROUP], [$gl_cv_group_kmem])dnl |
100 | fi | 105 | fi |
101 | if test "x$gl_save_LIBS" = x; then | 106 | if test "x$gl_save_LIBS" = x; then |
102 | GETLOADAVG_LIBS=$LIBS | 107 | GETLOADAVG_LIBS=$LIBS |
@@ -105,7 +110,21 @@ else | |||
105 | fi | 110 | fi |
106 | LIBS=$gl_save_LIBS | 111 | LIBS=$gl_save_LIBS |
107 | 112 | ||
108 | AC_SUBST(GETLOADAVG_LIBS)dnl | 113 | AC_SUBST([GETLOADAVG_LIBS])dnl |
114 | |||
115 | # Test whether the system declares getloadavg. Solaris has the function | ||
116 | # but declares it in <sys/loadavg.h>, not <stdlib.h>. | ||
117 | AC_CHECK_HEADERS([sys/loadavg.h]) | ||
118 | if test $ac_cv_header_sys_loadavg_h = yes; then | ||
119 | HAVE_SYS_LOADAVG_H=1 | ||
120 | else | ||
121 | HAVE_SYS_LOADAVG_H=0 | ||
122 | fi | ||
123 | AC_CHECK_DECL([getloadavg], [], [HAVE_DECL_GETLOADAVG=0], | ||
124 | [#if HAVE_SYS_LOADAVG_H | ||
125 | # include <sys/loadavg.h> | ||
126 | #endif | ||
127 | #include <stdlib.h>]) | ||
109 | ])# gl_GETLOADAVG | 128 | ])# gl_GETLOADAVG |
110 | 129 | ||
111 | 130 | ||
@@ -113,44 +132,44 @@ AC_SUBST(GETLOADAVG_LIBS)dnl | |||
113 | # -------------------- | 132 | # -------------------- |
114 | # Set up the AC_LIBOBJ replacement of `getloadavg'. | 133 | # Set up the AC_LIBOBJ replacement of `getloadavg'. |
115 | AC_DEFUN([gl_PREREQ_GETLOADAVG], | 134 | AC_DEFUN([gl_PREREQ_GETLOADAVG], |
116 | [AC_LIBOBJ(getloadavg) | 135 | [AC_LIBOBJ([getloadavg]) |
117 | AC_DEFINE(C_GETLOADAVG, 1, [Define to 1 if using `getloadavg.c'.]) | 136 | AC_DEFINE([C_GETLOADAVG], [1], [Define to 1 if using `getloadavg.c'.]) |
118 | # Figure out what our getloadavg.c needs. | 137 | # Figure out what our getloadavg.c needs. |
119 | gl_have_func=no | 138 | gl_have_func=no |
120 | AC_CHECK_HEADER(sys/dg_sys_info.h, | 139 | AC_CHECK_HEADER([sys/dg_sys_info.h], |
121 | [gl_have_func=yes | 140 | [gl_have_func=yes |
122 | AC_DEFINE(DGUX, 1, [Define to 1 for DGUX with <sys/dg_sys_info.h>.]) | 141 | AC_DEFINE([DGUX], [1], [Define to 1 for DGUX with <sys/dg_sys_info.h>.]) |
123 | AC_CHECK_LIB(dgc, dg_sys_info)]) | 142 | AC_CHECK_LIB([dgc], [dg_sys_info])]) |
124 | 143 | ||
125 | # We cannot check for <dwarf.h>, because Solaris 2 does not use dwarf (it | 144 | # We cannot check for <dwarf.h>, because Solaris 2 does not use dwarf (it |
126 | # uses stabs), but it is still SVR4. We cannot check for <elf.h> because | 145 | # uses stabs), but it is still SVR4. We cannot check for <elf.h> because |
127 | # Irix 4.0.5F has the header but not the library. | 146 | # Irix 4.0.5F has the header but not the library. |
128 | if test $gl_have_func = no && test "$ac_cv_lib_elf_elf_begin" = yes; then | 147 | if test $gl_have_func = no && test "$ac_cv_lib_elf_elf_begin" = yes; then |
129 | gl_have_func=yes | 148 | gl_have_func=yes |
130 | AC_DEFINE(SVR4, 1, [Define to 1 on System V Release 4.]) | 149 | AC_DEFINE([SVR4], [1], [Define to 1 on System V Release 4.]) |
131 | fi | 150 | fi |
132 | 151 | ||
133 | if test $gl_have_func = no; then | 152 | if test $gl_have_func = no; then |
134 | AC_CHECK_HEADER(inq_stats/cpustats.h, | 153 | AC_CHECK_HEADER([inq_stats/cpustats.h], |
135 | [gl_have_func=yes | 154 | [gl_have_func=yes |
136 | AC_DEFINE(UMAX, 1, [Define to 1 for Encore UMAX.]) | 155 | AC_DEFINE([UMAX], [1], [Define to 1 for Encore UMAX.]) |
137 | AC_DEFINE(UMAX4_3, 1, | 156 | AC_DEFINE([UMAX4_3], [1], |
138 | [Define to 1 for Encore UMAX 4.3 that has <inq_status/cpustats.h> | 157 | [Define to 1 for Encore UMAX 4.3 that has <inq_status/cpustats.h> |
139 | instead of <sys/cpustats.h>.])]) | 158 | instead of <sys/cpustats.h>.])]) |
140 | fi | 159 | fi |
141 | 160 | ||
142 | if test $gl_have_func = no; then | 161 | if test $gl_have_func = no; then |
143 | AC_CHECK_HEADER(sys/cpustats.h, | 162 | AC_CHECK_HEADER([sys/cpustats.h], |
144 | [gl_have_func=yes; AC_DEFINE(UMAX)]) | 163 | [gl_have_func=yes; AC_DEFINE([UMAX])]) |
145 | fi | 164 | fi |
146 | 165 | ||
147 | if test $gl_have_func = no; then | 166 | if test $gl_have_func = no; then |
148 | AC_CHECK_HEADERS(mach/mach.h) | 167 | AC_CHECK_HEADERS([mach/mach.h]) |
149 | fi | 168 | fi |
150 | 169 | ||
151 | AC_CHECK_HEADERS(nlist.h, | 170 | AC_CHECK_HEADERS([nlist.h], |
152 | [AC_CHECK_MEMBERS([struct nlist.n_un.n_name], | 171 | [AC_CHECK_MEMBERS([struct nlist.n_un.n_name], |
153 | [AC_DEFINE(NLIST_NAME_UNION, 1, | 172 | [AC_DEFINE([NLIST_NAME_UNION], [1], |
154 | [Define to 1 if your `struct nlist' has an | 173 | [Define to 1 if your `struct nlist' has an |
155 | `n_un' member. Obsolete, depend on | 174 | `n_un' member. Obsolete, depend on |
156 | `HAVE_STRUCT_NLIST_N_UN_N_NAME])], [], | 175 | `HAVE_STRUCT_NLIST_N_UN_N_NAME])], [], |
diff --git a/gl/m4/getopt.m4 b/gl/m4/getopt.m4 index c0a73b2c..9b683c2f 100644 --- a/gl/m4/getopt.m4 +++ b/gl/m4/getopt.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # getopt.m4 serial 13 | 1 | # getopt.m4 serial 14 |
2 | dnl Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2006, 2008 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -46,7 +46,7 @@ AC_DEFUN([gl_GETOPT_CHECK_HEADERS], | |||
46 | if test -z "$GETOPT_H"; then | 46 | if test -z "$GETOPT_H"; then |
47 | AC_CACHE_CHECK([for working GNU getopt function], [gl_cv_func_gnu_getopt], | 47 | AC_CACHE_CHECK([for working GNU getopt function], [gl_cv_func_gnu_getopt], |
48 | [AC_RUN_IFELSE( | 48 | [AC_RUN_IFELSE( |
49 | [AC_LANG_PROGRAM([#include <getopt.h>], | 49 | [AC_LANG_PROGRAM([[#include <getopt.h>]], |
50 | [[ | 50 | [[ |
51 | char *myargv[3]; | 51 | char *myargv[3]; |
52 | myargv[0] = "conftest"; | 52 | myargv[0] = "conftest"; |
diff --git a/gl/m4/gettext.m4 b/gl/m4/gettext.m4 index c9ae1f7d..d90c8500 100644 --- a/gl/m4/gettext.m4 +++ b/gl/m4/gettext.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # gettext.m4 serial 60 (gettext-0.17) | 1 | # gettext.m4 serial 62 (gettext-0.18) |
2 | dnl Copyright (C) 1995-2007 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1995-2009 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -123,11 +123,11 @@ AC_DEFUN([AM_GNU_GETTEXT], | |||
123 | gt_use_preinstalled_gnugettext=no | 123 | gt_use_preinstalled_gnugettext=no |
124 | ifelse(gt_included_intl, yes, [ | 124 | ifelse(gt_included_intl, yes, [ |
125 | AC_MSG_CHECKING([whether included gettext is requested]) | 125 | AC_MSG_CHECKING([whether included gettext is requested]) |
126 | AC_ARG_WITH(included-gettext, | 126 | AC_ARG_WITH([included-gettext], |
127 | [ --with-included-gettext use the GNU gettext library included here], | 127 | [ --with-included-gettext use the GNU gettext library included here], |
128 | nls_cv_force_use_gnu_gettext=$withval, | 128 | nls_cv_force_use_gnu_gettext=$withval, |
129 | nls_cv_force_use_gnu_gettext=no) | 129 | nls_cv_force_use_gnu_gettext=no) |
130 | AC_MSG_RESULT($nls_cv_force_use_gnu_gettext) | 130 | AC_MSG_RESULT([$nls_cv_force_use_gnu_gettext]) |
131 | 131 | ||
132 | nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" | 132 | nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" |
133 | if test "$nls_cv_force_use_gnu_gettext" != "yes"; then | 133 | if test "$nls_cv_force_use_gnu_gettext" != "yes"; then |
@@ -267,7 +267,7 @@ return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_a | |||
267 | 267 | ||
268 | if test "$gt_use_preinstalled_gnugettext" = "yes" \ | 268 | if test "$gt_use_preinstalled_gnugettext" = "yes" \ |
269 | || test "$nls_cv_use_gnu_gettext" = "yes"; then | 269 | || test "$nls_cv_use_gnu_gettext" = "yes"; then |
270 | AC_DEFINE(ENABLE_NLS, 1, | 270 | AC_DEFINE([ENABLE_NLS], [1], |
271 | [Define to 1 if translation of program messages to the user's native language | 271 | [Define to 1 if translation of program messages to the user's native language |
272 | is requested.]) | 272 | is requested.]) |
273 | else | 273 | else |
@@ -301,9 +301,9 @@ return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_a | |||
301 | fi | 301 | fi |
302 | 302 | ||
303 | dnl For backward compatibility. Some packages may be using this. | 303 | dnl For backward compatibility. Some packages may be using this. |
304 | AC_DEFINE(HAVE_GETTEXT, 1, | 304 | AC_DEFINE([HAVE_GETTEXT], [1], |
305 | [Define if the GNU gettext() function is already present or preinstalled.]) | 305 | [Define if the GNU gettext() function is already present or preinstalled.]) |
306 | AC_DEFINE(HAVE_DCGETTEXT, 1, | 306 | AC_DEFINE([HAVE_DCGETTEXT], [1], |
307 | [Define if the GNU dcgettext() function is already present or preinstalled.]) | 307 | [Define if the GNU dcgettext() function is already present or preinstalled.]) |
308 | fi | 308 | fi |
309 | 309 | ||
@@ -319,9 +319,9 @@ return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_a | |||
319 | fi | 319 | fi |
320 | 320 | ||
321 | dnl Make all variables we use known to autoconf. | 321 | dnl Make all variables we use known to autoconf. |
322 | AC_SUBST(BUILD_INCLUDED_LIBINTL) | 322 | AC_SUBST([BUILD_INCLUDED_LIBINTL]) |
323 | AC_SUBST(USE_INCLUDED_LIBINTL) | 323 | AC_SUBST([USE_INCLUDED_LIBINTL]) |
324 | AC_SUBST(CATOBJEXT) | 324 | AC_SUBST([CATOBJEXT]) |
325 | 325 | ||
326 | dnl For backward compatibility. Some configure.ins may be using this. | 326 | dnl For backward compatibility. Some configure.ins may be using this. |
327 | nls_cv_header_intl= | 327 | nls_cv_header_intl= |
@@ -329,36 +329,36 @@ return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_a | |||
329 | 329 | ||
330 | dnl For backward compatibility. Some Makefiles may be using this. | 330 | dnl For backward compatibility. Some Makefiles may be using this. |
331 | DATADIRNAME=share | 331 | DATADIRNAME=share |
332 | AC_SUBST(DATADIRNAME) | 332 | AC_SUBST([DATADIRNAME]) |
333 | 333 | ||
334 | dnl For backward compatibility. Some Makefiles may be using this. | 334 | dnl For backward compatibility. Some Makefiles may be using this. |
335 | INSTOBJEXT=.mo | 335 | INSTOBJEXT=.mo |
336 | AC_SUBST(INSTOBJEXT) | 336 | AC_SUBST([INSTOBJEXT]) |
337 | 337 | ||
338 | dnl For backward compatibility. Some Makefiles may be using this. | 338 | dnl For backward compatibility. Some Makefiles may be using this. |
339 | GENCAT=gencat | 339 | GENCAT=gencat |
340 | AC_SUBST(GENCAT) | 340 | AC_SUBST([GENCAT]) |
341 | 341 | ||
342 | dnl For backward compatibility. Some Makefiles may be using this. | 342 | dnl For backward compatibility. Some Makefiles may be using this. |
343 | INTLOBJS= | 343 | INTLOBJS= |
344 | if test "$USE_INCLUDED_LIBINTL" = yes; then | 344 | if test "$USE_INCLUDED_LIBINTL" = yes; then |
345 | INTLOBJS="\$(GETTOBJS)" | 345 | INTLOBJS="\$(GETTOBJS)" |
346 | fi | 346 | fi |
347 | AC_SUBST(INTLOBJS) | 347 | AC_SUBST([INTLOBJS]) |
348 | 348 | ||
349 | dnl Enable libtool support if the surrounding package wishes it. | 349 | dnl Enable libtool support if the surrounding package wishes it. |
350 | INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix | 350 | INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix |
351 | AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX) | 351 | AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX]) |
352 | ]) | 352 | ]) |
353 | 353 | ||
354 | dnl For backward compatibility. Some Makefiles may be using this. | 354 | dnl For backward compatibility. Some Makefiles may be using this. |
355 | INTLLIBS="$LIBINTL" | 355 | INTLLIBS="$LIBINTL" |
356 | AC_SUBST(INTLLIBS) | 356 | AC_SUBST([INTLLIBS]) |
357 | 357 | ||
358 | dnl Make all documented variables known to autoconf. | 358 | dnl Make all documented variables known to autoconf. |
359 | AC_SUBST(LIBINTL) | 359 | AC_SUBST([LIBINTL]) |
360 | AC_SUBST(LTLIBINTL) | 360 | AC_SUBST([LTLIBINTL]) |
361 | AC_SUBST(POSUB) | 361 | AC_SUBST([POSUB]) |
362 | ]) | 362 | ]) |
363 | 363 | ||
364 | 364 | ||
diff --git a/gl/m4/glibc2.m4 b/gl/m4/glibc2.m4 index e8f5bfe6..fe58a0f3 100644 --- a/gl/m4/glibc2.m4 +++ b/gl/m4/glibc2.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # glibc2.m4 serial 1 | 1 | # glibc2.m4 serial 2 |
2 | dnl Copyright (C) 2000-2002, 2004 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2000-2002, 2004, 2008 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -9,8 +9,8 @@ dnl with or without modifications, as long as this notice is preserved. | |||
9 | 9 | ||
10 | AC_DEFUN([gt_GLIBC2], | 10 | AC_DEFUN([gt_GLIBC2], |
11 | [ | 11 | [ |
12 | AC_CACHE_CHECK(whether we are using the GNU C Library 2 or newer, | 12 | AC_CACHE_CHECK([whether we are using the GNU C Library 2 or newer], |
13 | ac_cv_gnu_library_2, | 13 | [ac_cv_gnu_library_2], |
14 | [AC_EGREP_CPP([Lucky GNU user], | 14 | [AC_EGREP_CPP([Lucky GNU user], |
15 | [ | 15 | [ |
16 | #include <features.h> | 16 | #include <features.h> |
@@ -20,11 +20,11 @@ AC_DEFUN([gt_GLIBC2], | |||
20 | #endif | 20 | #endif |
21 | #endif | 21 | #endif |
22 | ], | 22 | ], |
23 | ac_cv_gnu_library_2=yes, | 23 | [ac_cv_gnu_library_2=yes], |
24 | ac_cv_gnu_library_2=no) | 24 | [ac_cv_gnu_library_2=no]) |
25 | ] | 25 | ] |
26 | ) | 26 | ) |
27 | AC_SUBST(GLIBC2) | 27 | AC_SUBST([GLIBC2]) |
28 | GLIBC2="$ac_cv_gnu_library_2" | 28 | GLIBC2="$ac_cv_gnu_library_2" |
29 | ] | 29 | ] |
30 | ) | 30 | ) |
diff --git a/gl/m4/glibc21.m4 b/gl/m4/glibc21.m4 index d95fd986..93fbf474 100644 --- a/gl/m4/glibc21.m4 +++ b/gl/m4/glibc21.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # glibc21.m4 serial 3 | 1 | # glibc21.m4 serial 4 |
2 | dnl Copyright (C) 2000-2002, 2004 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2000-2002, 2004, 2008 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -9,8 +9,8 @@ dnl with or without modifications, as long as this notice is preserved. | |||
9 | 9 | ||
10 | AC_DEFUN([gl_GLIBC21], | 10 | AC_DEFUN([gl_GLIBC21], |
11 | [ | 11 | [ |
12 | AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer, | 12 | AC_CACHE_CHECK([whether we are using the GNU C Library 2.1 or newer], |
13 | ac_cv_gnu_library_2_1, | 13 | [ac_cv_gnu_library_2_1], |
14 | [AC_EGREP_CPP([Lucky GNU user], | 14 | [AC_EGREP_CPP([Lucky GNU user], |
15 | [ | 15 | [ |
16 | #include <features.h> | 16 | #include <features.h> |
@@ -20,11 +20,11 @@ AC_DEFUN([gl_GLIBC21], | |||
20 | #endif | 20 | #endif |
21 | #endif | 21 | #endif |
22 | ], | 22 | ], |
23 | ac_cv_gnu_library_2_1=yes, | 23 | [ac_cv_gnu_library_2_1=yes], |
24 | ac_cv_gnu_library_2_1=no) | 24 | [ac_cv_gnu_library_2_1=no]) |
25 | ] | 25 | ] |
26 | ) | 26 | ) |
27 | AC_SUBST(GLIBC21) | 27 | AC_SUBST([GLIBC21]) |
28 | GLIBC21="$ac_cv_gnu_library_2_1" | 28 | GLIBC21="$ac_cv_gnu_library_2_1" |
29 | ] | 29 | ] |
30 | ) | 30 | ) |
diff --git a/gl/m4/gnulib-cache.m4 b/gl/m4/gnulib-cache.m4 index 302dc191..eb471340 100644 --- a/gl/m4/gnulib-cache.m4 +++ b/gl/m4/gnulib-cache.m4 | |||
@@ -1,4 +1,4 @@ | |||
1 | # Copyright (C) 2004-2007 Free Software Foundation, Inc. | 1 | # Copyright (C) 2002-2009 Free Software Foundation, Inc. |
2 | # | 2 | # |
3 | # This file is free software, distributed under the terms of the GNU | 3 | # This file is free software, distributed under the terms of the GNU |
4 | # General Public License. As a special exception to the GNU General | 4 | # General Public License. As a special exception to the GNU General |
@@ -15,11 +15,25 @@ | |||
15 | 15 | ||
16 | 16 | ||
17 | # Specification in the form of a command-line invocation: | 17 | # Specification in the form of a command-line invocation: |
18 | # gnulib-tool --import --dir=. --lib=libgnu --source-base=gl --m4-base=gl/m4 --doc-base=doc --aux-dir=build-aux --no-libtool --macro-prefix=gl base64 dirname floorf fsusage getaddrinfo gethostname getloadavg getopt gettext mountlist regex vasprintf vsnprintf | 18 | # gnulib-tool --import --dir=. --lib=libgnu --source-base=gl --m4-base=gl/m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --no-libtool --macro-prefix=gl base64 dirname floorf fsusage getaddrinfo gethostname getloadavg getopt gettext mountlist regex vasprintf vsnprintf |
19 | 19 | ||
20 | # Specification in the form of a few gnulib-tool.m4 macro invocations: | 20 | # Specification in the form of a few gnulib-tool.m4 macro invocations: |
21 | gl_LOCAL_DIR([]) | 21 | gl_LOCAL_DIR([]) |
22 | gl_MODULES([base64 dirname floorf fsusage getaddrinfo gethostname getloadavg getopt gettext mountlist regex vasprintf vsnprintf]) | 22 | gl_MODULES([ |
23 | base64 | ||
24 | dirname | ||
25 | floorf | ||
26 | fsusage | ||
27 | getaddrinfo | ||
28 | gethostname | ||
29 | getloadavg | ||
30 | getopt | ||
31 | gettext | ||
32 | mountlist | ||
33 | regex | ||
34 | vasprintf | ||
35 | vsnprintf | ||
36 | ]) | ||
23 | gl_AVOID([]) | 37 | gl_AVOID([]) |
24 | gl_SOURCE_BASE([gl]) | 38 | gl_SOURCE_BASE([gl]) |
25 | gl_M4_BASE([gl/m4]) | 39 | gl_M4_BASE([gl/m4]) |
diff --git a/gl/m4/gnulib-common.m4 b/gl/m4/gnulib-common.m4 index 9336d726..5804eb9b 100644 --- a/gl/m4/gnulib-common.m4 +++ b/gl/m4/gnulib-common.m4 | |||
@@ -1,9 +1,38 @@ | |||
1 | # gnulib-common.m4 serial 3 | 1 | # gnulib-common.m4 serial 7 |
2 | dnl Copyright (C) 2007 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007-2009 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
6 | 6 | ||
7 | # gl_COMMON | ||
8 | # is expanded unconditionally through gnulib-tool magic. | ||
9 | AC_DEFUN([gl_COMMON], [ | ||
10 | dnl Use AC_REQUIRE here, so that the code is expanded once only. | ||
11 | AC_REQUIRE([gl_COMMON_BODY]) | ||
12 | ]) | ||
13 | AC_DEFUN([gl_COMMON_BODY], [ | ||
14 | AH_VERBATIM([isoc99_inline], | ||
15 | [/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports | ||
16 | the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of | ||
17 | earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. | ||
18 | __APPLE__ && __MACH__ test for MacOS X. | ||
19 | __APPLE_CC__ tests for the Apple compiler and its version. | ||
20 | __STDC_VERSION__ tests for the C99 mode. */ | ||
21 | #if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ | ||
22 | # define __GNUC_STDC_INLINE__ 1 | ||
23 | #endif]) | ||
24 | AH_VERBATIM([unused_parameter], | ||
25 | [/* Define as a marker that can be attached to function parameter declarations | ||
26 | for parameters that are not used. This helps to reduce warnings, such as | ||
27 | from GCC -Wunused-parameter. */ | ||
28 | #if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) | ||
29 | # define _UNUSED_PARAMETER_ __attribute__ ((__unused__)) | ||
30 | #else | ||
31 | # define _UNUSED_PARAMETER_ | ||
32 | #endif | ||
33 | ]) | ||
34 | ]) | ||
35 | |||
7 | # gl_MODULE_INDICATOR([modulename]) | 36 | # gl_MODULE_INDICATOR([modulename]) |
8 | # defines a C macro indicating the presence of the given module. | 37 | # defines a C macro indicating the presence of the given module. |
9 | AC_DEFUN([gl_MODULE_INDICATOR], | 38 | AC_DEFUN([gl_MODULE_INDICATOR], |
@@ -12,6 +41,13 @@ AC_DEFUN([gl_MODULE_INDICATOR], | |||
12 | [Define to 1 when using the gnulib module ]$1[.]) | 41 | [Define to 1 when using the gnulib module ]$1[.]) |
13 | ]) | 42 | ]) |
14 | 43 | ||
44 | # m4_foreach_w | ||
45 | # is a backport of autoconf-2.59c's m4_foreach_w. | ||
46 | # Remove this macro when we can assume autoconf >= 2.60. | ||
47 | m4_ifndef([m4_foreach_w], | ||
48 | [m4_define([m4_foreach_w], | ||
49 | [m4_foreach([$1], m4_split(m4_normalize([$2]), [ ]), [$3])])]) | ||
50 | |||
15 | # AC_PROG_MKDIR_P | 51 | # AC_PROG_MKDIR_P |
16 | # is a backport of autoconf-2.60's AC_PROG_MKDIR_P. | 52 | # is a backport of autoconf-2.60's AC_PROG_MKDIR_P. |
17 | # Remove this macro when we can assume autoconf >= 2.60. | 53 | # Remove this macro when we can assume autoconf >= 2.60. |
@@ -27,7 +63,7 @@ m4_ifdef([AC_PROG_MKDIR_P], [], [ | |||
27 | # works. | 63 | # works. |
28 | # This definition can be removed once autoconf >= 2.62 can be assumed. | 64 | # This definition can be removed once autoconf >= 2.62 can be assumed. |
29 | AC_DEFUN([AC_C_RESTRICT], | 65 | AC_DEFUN([AC_C_RESTRICT], |
30 | [AC_CACHE_CHECK([for C/C++ restrict keyword], ac_cv_c_restrict, | 66 | [AC_CACHE_CHECK([for C/C++ restrict keyword], [ac_cv_c_restrict], |
31 | [ac_cv_c_restrict=no | 67 | [ac_cv_c_restrict=no |
32 | # The order here caters to the fact that C++ does not require restrict. | 68 | # The order here caters to the fact that C++ does not require restrict. |
33 | for ac_kw in __restrict __restrict__ _Restrict restrict; do | 69 | for ac_kw in __restrict __restrict__ _Restrict restrict; do |
diff --git a/gl/m4/gnulib-comp.m4 b/gl/m4/gnulib-comp.m4 index 85ad2e9d..99fa45dc 100644 --- a/gl/m4/gnulib-comp.m4 +++ b/gl/m4/gnulib-comp.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # DO NOT EDIT! GENERATED AUTOMATICALLY! | 1 | # DO NOT EDIT! GENERATED AUTOMATICALLY! |
2 | # Copyright (C) 2004-2007 Free Software Foundation, Inc. | 2 | # Copyright (C) 2002-2009 Free Software Foundation, Inc. |
3 | # | 3 | # |
4 | # This file is free software, distributed under the terms of the GNU | 4 | # This file is free software, distributed under the terms of the GNU |
5 | # General Public License. As a special exception to the GNU General | 5 | # General Public License. As a special exception to the GNU General |
@@ -40,20 +40,27 @@ AC_DEFUN([gl_INIT], | |||
40 | m4_pushdef([AC_LIBOBJ], m4_defn([gl_LIBOBJ])) | 40 | m4_pushdef([AC_LIBOBJ], m4_defn([gl_LIBOBJ])) |
41 | m4_pushdef([AC_REPLACE_FUNCS], m4_defn([gl_REPLACE_FUNCS])) | 41 | m4_pushdef([AC_REPLACE_FUNCS], m4_defn([gl_REPLACE_FUNCS])) |
42 | m4_pushdef([AC_LIBSOURCES], m4_defn([gl_LIBSOURCES])) | 42 | m4_pushdef([AC_LIBSOURCES], m4_defn([gl_LIBSOURCES])) |
43 | m4_pushdef([gl_LIBSOURCES_LIST], []) | ||
44 | m4_pushdef([gl_LIBSOURCES_DIR], []) | ||
45 | gl_COMMON | ||
43 | gl_source_base='gl' | 46 | gl_source_base='gl' |
44 | gl_FUNC_ALLOCA | 47 | gl_FUNC_ALLOCA |
45 | gl_HEADER_ARPA_INET | 48 | gl_HEADER_ARPA_INET |
46 | AC_PROG_MKDIR_P | 49 | AC_PROG_MKDIR_P |
47 | gl_FUNC_BASE64 | 50 | gl_FUNC_BASE64 |
51 | gl_FUNC_BTOWC | ||
52 | gl_WCHAR_MODULE_INDICATOR([btowc]) | ||
48 | gl_C_STRTOD | 53 | gl_C_STRTOD |
49 | gl_CLOEXEC | 54 | gl_CLOEXEC |
50 | gl_DIRNAME | 55 | gl_DIRNAME |
51 | gl_DOUBLE_SLASH_ROOT | 56 | gl_DOUBLE_SLASH_ROOT |
57 | gl_HEADER_ERRNO_H | ||
52 | gl_ERROR | 58 | gl_ERROR |
53 | m4_ifdef([AM_XGETTEXT_OPTION], | 59 | m4_ifdef([AM_XGETTEXT_OPTION], |
54 | [AM_XGETTEXT_OPTION([--flag=error:3:c-format]) | 60 | [AM_XGETTEXT_OPTION([--flag=error:3:c-format]) |
55 | AM_XGETTEXT_OPTION([--flag=error_at_line:5:c-format])]) | 61 | AM_XGETTEXT_OPTION([--flag=error_at_line:5:c-format])]) |
56 | gl_EXITFAIL | 62 | gl_EXITFAIL |
63 | gl_FCNTL_H | ||
57 | gl_FCNTL_SAFER | 64 | gl_FCNTL_SAFER |
58 | gl_MODULE_INDICATOR([fcntl-safer]) | 65 | gl_MODULE_INDICATOR([fcntl-safer]) |
59 | gl_FLOAT_H | 66 | gl_FLOAT_H |
@@ -61,14 +68,19 @@ AC_DEFUN([gl_INIT], | |||
61 | gl_MATH_MODULE_INDICATOR([floorf]) | 68 | gl_MATH_MODULE_INDICATOR([floorf]) |
62 | gl_FSUSAGE | 69 | gl_FSUSAGE |
63 | gl_GETADDRINFO | 70 | gl_GETADDRINFO |
71 | gl_NETDB_MODULE_INDICATOR([getaddrinfo]) | ||
64 | gl_FUNC_GETHOSTNAME | 72 | gl_FUNC_GETHOSTNAME |
73 | gl_UNISTD_MODULE_INDICATOR([gethostname]) | ||
65 | gl_GETLOADAVG([$gl_source_base]) | 74 | gl_GETLOADAVG([$gl_source_base]) |
75 | gl_STDLIB_MODULE_INDICATOR([getloadavg]) | ||
66 | gl_GETOPT | 76 | gl_GETOPT |
67 | dnl you must add AM_GNU_GETTEXT([external]) or similar to configure.ac. | 77 | dnl you must add AM_GNU_GETTEXT([external]) or similar to configure.ac. |
68 | AM_GNU_GETTEXT_VERSION([0.17]) | 78 | AM_GNU_GETTEXT_VERSION([0.17]) |
69 | AC_SUBST([LIBINTL]) | 79 | AC_SUBST([LIBINTL]) |
70 | AC_SUBST([LTLIBINTL]) | 80 | AC_SUBST([LTLIBINTL]) |
81 | gl_HOSTENT | ||
71 | gl_INET_NTOP | 82 | gl_INET_NTOP |
83 | gl_ARPA_INET_MODULE_INDICATOR([inet_ntop]) | ||
72 | gl_INLINE | 84 | gl_INLINE |
73 | gl_LOCALCHARSET | 85 | gl_LOCALCHARSET |
74 | LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(top_builddir)/$gl_source_base\"" | 86 | LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(top_builddir)/$gl_source_base\"" |
@@ -78,12 +90,22 @@ AC_DEFUN([gl_INIT], | |||
78 | gl_FUNC_MALLOC_POSIX | 90 | gl_FUNC_MALLOC_POSIX |
79 | gl_STDLIB_MODULE_INDICATOR([malloc-posix]) | 91 | gl_STDLIB_MODULE_INDICATOR([malloc-posix]) |
80 | gl_MATH_H | 92 | gl_MATH_H |
93 | gl_FUNC_MBRTOWC | ||
94 | gl_WCHAR_MODULE_INDICATOR([mbrtowc]) | ||
95 | gl_FUNC_MBSINIT | ||
96 | gl_WCHAR_MODULE_INDICATOR([mbsinit]) | ||
81 | gl_MOUNTLIST | 97 | gl_MOUNTLIST |
98 | gl_MULTIARCH | ||
99 | gl_HEADER_NETDB | ||
82 | gl_HEADER_NETINET_IN | 100 | gl_HEADER_NETINET_IN |
83 | AC_PROG_MKDIR_P | 101 | AC_PROG_MKDIR_P |
102 | gl_FUNC_OPEN | ||
103 | gl_MODULE_INDICATOR([open]) | ||
104 | gl_FCNTL_MODULE_INDICATOR([open]) | ||
84 | gl_REGEX | 105 | gl_REGEX |
85 | gl_SAFE_READ | 106 | gl_SAFE_READ |
86 | gl_SAFE_WRITE | 107 | gl_SAFE_WRITE |
108 | gl_SERVENT | ||
87 | gl_SIZE_MAX | 109 | gl_SIZE_MAX |
88 | gl_FUNC_SNPRINTF | 110 | gl_FUNC_SNPRINTF |
89 | gl_STDIO_MODULE_INDICATOR([snprintf]) | 111 | gl_STDIO_MODULE_INDICATOR([snprintf]) |
@@ -93,8 +115,6 @@ AC_DEFUN([gl_INIT], | |||
93 | gl_STDINT_H | 115 | gl_STDINT_H |
94 | gl_STDIO_H | 116 | gl_STDIO_H |
95 | gl_STDLIB_H | 117 | gl_STDLIB_H |
96 | gl_FUNC_STRDUP | ||
97 | gl_STRING_MODULE_INDICATOR([strdup]) | ||
98 | gl_FUNC_STRERROR | 118 | gl_FUNC_STRERROR |
99 | gl_STRING_MODULE_INDICATOR([strerror]) | 119 | gl_STRING_MODULE_INDICATOR([strerror]) |
100 | gl_HEADER_STRING_H | 120 | gl_HEADER_STRING_H |
@@ -103,6 +123,7 @@ AC_DEFUN([gl_INIT], | |||
103 | gl_FUNC_STRNLEN | 123 | gl_FUNC_STRNLEN |
104 | gl_STRING_MODULE_INDICATOR([strnlen]) | 124 | gl_STRING_MODULE_INDICATOR([strnlen]) |
105 | gl_HEADER_SYS_SOCKET | 125 | gl_HEADER_SYS_SOCKET |
126 | gl_MODULE_INDICATOR([sys_socket]) | ||
106 | AC_PROG_MKDIR_P | 127 | AC_PROG_MKDIR_P |
107 | gl_UNISTD_H | 128 | gl_UNISTD_H |
108 | gl_UNISTD_SAFER | 129 | gl_UNISTD_SAFER |
@@ -115,10 +136,27 @@ AC_DEFUN([gl_INIT], | |||
115 | gl_FUNC_VSNPRINTF | 136 | gl_FUNC_VSNPRINTF |
116 | gl_STDIO_MODULE_INDICATOR([vsnprintf]) | 137 | gl_STDIO_MODULE_INDICATOR([vsnprintf]) |
117 | gl_WCHAR_H | 138 | gl_WCHAR_H |
139 | gl_FUNC_WCRTOMB | ||
140 | gl_WCHAR_MODULE_INDICATOR([wcrtomb]) | ||
118 | gl_WCTYPE_H | 141 | gl_WCTYPE_H |
142 | gl_FUNC_WRITE | ||
143 | gl_UNISTD_MODULE_INDICATOR([write]) | ||
119 | gl_XALLOC | 144 | gl_XALLOC |
120 | gl_XSIZE | 145 | gl_XSIZE |
121 | gl_XSTRNDUP | 146 | gl_XSTRNDUP |
147 | m4_ifval(gl_LIBSOURCES_LIST, [ | ||
148 | m4_syscmd([test ! -d ]m4_defn([gl_LIBSOURCES_DIR])[ || | ||
149 | for gl_file in ]gl_LIBSOURCES_LIST[ ; do | ||
150 | if test ! -r ]m4_defn([gl_LIBSOURCES_DIR])[/$gl_file ; then | ||
151 | echo "missing file ]m4_defn([gl_LIBSOURCES_DIR])[/$gl_file" >&2 | ||
152 | exit 1 | ||
153 | fi | ||
154 | done])dnl | ||
155 | m4_if(m4_sysval, [0], [], | ||
156 | [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])]) | ||
157 | ]) | ||
158 | m4_popdef([gl_LIBSOURCES_DIR]) | ||
159 | m4_popdef([gl_LIBSOURCES_LIST]) | ||
122 | m4_popdef([AC_LIBSOURCES]) | 160 | m4_popdef([AC_LIBSOURCES]) |
123 | m4_popdef([AC_REPLACE_FUNCS]) | 161 | m4_popdef([AC_REPLACE_FUNCS]) |
124 | m4_popdef([AC_LIBOBJ]) | 162 | m4_popdef([AC_LIBOBJ]) |
@@ -141,7 +179,23 @@ AC_DEFUN([gl_INIT], | |||
141 | m4_pushdef([AC_LIBOBJ], m4_defn([gltests_LIBOBJ])) | 179 | m4_pushdef([AC_LIBOBJ], m4_defn([gltests_LIBOBJ])) |
142 | m4_pushdef([AC_REPLACE_FUNCS], m4_defn([gltests_REPLACE_FUNCS])) | 180 | m4_pushdef([AC_REPLACE_FUNCS], m4_defn([gltests_REPLACE_FUNCS])) |
143 | m4_pushdef([AC_LIBSOURCES], m4_defn([gltests_LIBSOURCES])) | 181 | m4_pushdef([AC_LIBSOURCES], m4_defn([gltests_LIBSOURCES])) |
182 | m4_pushdef([gltests_LIBSOURCES_LIST], []) | ||
183 | m4_pushdef([gltests_LIBSOURCES_DIR], []) | ||
184 | gl_COMMON | ||
144 | gl_source_base='tests' | 185 | gl_source_base='tests' |
186 | m4_ifval(gltests_LIBSOURCES_LIST, [ | ||
187 | m4_syscmd([test ! -d ]m4_defn([gltests_LIBSOURCES_DIR])[ || | ||
188 | for gl_file in ]gltests_LIBSOURCES_LIST[ ; do | ||
189 | if test ! -r ]m4_defn([gltests_LIBSOURCES_DIR])[/$gl_file ; then | ||
190 | echo "missing file ]m4_defn([gltests_LIBSOURCES_DIR])[/$gl_file" >&2 | ||
191 | exit 1 | ||
192 | fi | ||
193 | done])dnl | ||
194 | m4_if(m4_sysval, [0], [], | ||
195 | [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])]) | ||
196 | ]) | ||
197 | m4_popdef([gltests_LIBSOURCES_DIR]) | ||
198 | m4_popdef([gltests_LIBSOURCES_LIST]) | ||
145 | m4_popdef([AC_LIBSOURCES]) | 199 | m4_popdef([AC_LIBSOURCES]) |
146 | m4_popdef([AC_REPLACE_FUNCS]) | 200 | m4_popdef([AC_REPLACE_FUNCS]) |
147 | m4_popdef([AC_LIBOBJ]) | 201 | m4_popdef([AC_LIBOBJ]) |
@@ -172,13 +226,6 @@ AC_DEFUN([gl_LIBOBJ], [ | |||
172 | gl_LIBOBJS="$gl_LIBOBJS $1.$ac_objext" | 226 | gl_LIBOBJS="$gl_LIBOBJS $1.$ac_objext" |
173 | ]) | 227 | ]) |
174 | 228 | ||
175 | # m4_foreach_w is provided by autoconf-2.59c and later. | ||
176 | # This definition is to accommodate developers using versions | ||
177 | # of autoconf older than that. | ||
178 | m4_ifndef([m4_foreach_w], | ||
179 | [m4_define([m4_foreach_w], | ||
180 | [m4_foreach([$1], m4_split(m4_normalize([$2]), [ ]), [$3])])]) | ||
181 | |||
182 | # Like AC_REPLACE_FUNCS, except that the module name goes | 229 | # Like AC_REPLACE_FUNCS, except that the module name goes |
183 | # into gl_LIBOBJS instead of into LIBOBJS. | 230 | # into gl_LIBOBJS instead of into LIBOBJS. |
184 | AC_DEFUN([gl_REPLACE_FUNCS], [ | 231 | AC_DEFUN([gl_REPLACE_FUNCS], [ |
@@ -187,15 +234,14 @@ AC_DEFUN([gl_REPLACE_FUNCS], [ | |||
187 | ]) | 234 | ]) |
188 | 235 | ||
189 | # Like AC_LIBSOURCES, except the directory where the source file is | 236 | # Like AC_LIBSOURCES, except the directory where the source file is |
190 | # expected is derived from the gnulib-tool parametrization, | 237 | # expected is derived from the gnulib-tool parameterization, |
191 | # and alloca is special cased (for the alloca-opt module). | 238 | # and alloca is special cased (for the alloca-opt module). |
192 | # We could also entirely rely on EXTRA_lib..._SOURCES. | 239 | # We could also entirely rely on EXTRA_lib..._SOURCES. |
193 | AC_DEFUN([gl_LIBSOURCES], [ | 240 | AC_DEFUN([gl_LIBSOURCES], [ |
194 | m4_foreach([_gl_NAME], [$1], [ | 241 | m4_foreach([_gl_NAME], [$1], [ |
195 | m4_if(_gl_NAME, [alloca.c], [], [ | 242 | m4_if(_gl_NAME, [alloca.c], [], [ |
196 | m4_syscmd([test -r gl/]_gl_NAME[ || test ! -d gl])dnl | 243 | m4_define([gl_LIBSOURCES_DIR], [gl]) |
197 | m4_if(m4_sysval, [0], [], | 244 | m4_append([gl_LIBSOURCES_LIST], _gl_NAME, [ ]) |
198 | [AC_FATAL([missing gl/]_gl_NAME)]) | ||
199 | ]) | 245 | ]) |
200 | ]) | 246 | ]) |
201 | ]) | 247 | ]) |
@@ -207,13 +253,6 @@ AC_DEFUN([gltests_LIBOBJ], [ | |||
207 | gltests_LIBOBJS="$gltests_LIBOBJS $1.$ac_objext" | 253 | gltests_LIBOBJS="$gltests_LIBOBJS $1.$ac_objext" |
208 | ]) | 254 | ]) |
209 | 255 | ||
210 | # m4_foreach_w is provided by autoconf-2.59c and later. | ||
211 | # This definition is to accommodate developers using versions | ||
212 | # of autoconf older than that. | ||
213 | m4_ifndef([m4_foreach_w], | ||
214 | [m4_define([m4_foreach_w], | ||
215 | [m4_foreach([$1], m4_split(m4_normalize([$2]), [ ]), [$3])])]) | ||
216 | |||
217 | # Like AC_REPLACE_FUNCS, except that the module name goes | 256 | # Like AC_REPLACE_FUNCS, except that the module name goes |
218 | # into gltests_LIBOBJS instead of into LIBOBJS. | 257 | # into gltests_LIBOBJS instead of into LIBOBJS. |
219 | AC_DEFUN([gltests_REPLACE_FUNCS], [ | 258 | AC_DEFUN([gltests_REPLACE_FUNCS], [ |
@@ -222,15 +261,14 @@ AC_DEFUN([gltests_REPLACE_FUNCS], [ | |||
222 | ]) | 261 | ]) |
223 | 262 | ||
224 | # Like AC_LIBSOURCES, except the directory where the source file is | 263 | # Like AC_LIBSOURCES, except the directory where the source file is |
225 | # expected is derived from the gnulib-tool parametrization, | 264 | # expected is derived from the gnulib-tool parameterization, |
226 | # and alloca is special cased (for the alloca-opt module). | 265 | # and alloca is special cased (for the alloca-opt module). |
227 | # We could also entirely rely on EXTRA_lib..._SOURCES. | 266 | # We could also entirely rely on EXTRA_lib..._SOURCES. |
228 | AC_DEFUN([gltests_LIBSOURCES], [ | 267 | AC_DEFUN([gltests_LIBSOURCES], [ |
229 | m4_foreach([_gl_NAME], [$1], [ | 268 | m4_foreach([_gl_NAME], [$1], [ |
230 | m4_if(_gl_NAME, [alloca.c], [], [ | 269 | m4_if(_gl_NAME, [alloca.c], [], [ |
231 | m4_syscmd([test -r tests/]_gl_NAME[ || test ! -d tests])dnl | 270 | m4_define([gltests_LIBSOURCES_DIR], [tests]) |
232 | m4_if(m4_sysval, [0], [], | 271 | m4_append([gltests_LIBSOURCES_LIST], _gl_NAME, [ ]) |
233 | [AC_FATAL([missing tests/]_gl_NAME)]) | ||
234 | ]) | 272 | ]) |
235 | ]) | 273 | ]) |
236 | ]) | 274 | ]) |
@@ -242,11 +280,13 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
242 | build-aux/link-warning.h | 280 | build-aux/link-warning.h |
243 | lib/alloca.c | 281 | lib/alloca.c |
244 | lib/alloca.in.h | 282 | lib/alloca.in.h |
283 | lib/arpa_inet.in.h | ||
245 | lib/asnprintf.c | 284 | lib/asnprintf.c |
246 | lib/asprintf.c | 285 | lib/asprintf.c |
247 | lib/base64.c | 286 | lib/base64.c |
248 | lib/base64.h | 287 | lib/base64.h |
249 | lib/basename.c | 288 | lib/basename.c |
289 | lib/btowc.c | ||
250 | lib/c-strtod.c | 290 | lib/c-strtod.c |
251 | lib/c-strtod.h | 291 | lib/c-strtod.h |
252 | lib/cloexec.c | 292 | lib/cloexec.c |
@@ -256,12 +296,14 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
256 | lib/dirname.c | 296 | lib/dirname.c |
257 | lib/dirname.h | 297 | lib/dirname.h |
258 | lib/dup-safer.c | 298 | lib/dup-safer.c |
299 | lib/errno.in.h | ||
259 | lib/error.c | 300 | lib/error.c |
260 | lib/error.h | 301 | lib/error.h |
261 | lib/exitfail.c | 302 | lib/exitfail.c |
262 | lib/exitfail.h | 303 | lib/exitfail.h |
263 | lib/fcntl--.h | 304 | lib/fcntl--.h |
264 | lib/fcntl-safer.h | 305 | lib/fcntl-safer.h |
306 | lib/fcntl.in.h | ||
265 | lib/fd-safer.c | 307 | lib/fd-safer.c |
266 | lib/float+.h | 308 | lib/float+.h |
267 | lib/float.in.h | 309 | lib/float.in.h |
@@ -275,7 +317,6 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
275 | lib/full-write.h | 317 | lib/full-write.h |
276 | lib/gai_strerror.c | 318 | lib/gai_strerror.c |
277 | lib/getaddrinfo.c | 319 | lib/getaddrinfo.c |
278 | lib/getaddrinfo.h | ||
279 | lib/gethostname.c | 320 | lib/gethostname.c |
280 | lib/getloadavg.c | 321 | lib/getloadavg.c |
281 | lib/getopt.c | 322 | lib/getopt.c |
@@ -284,16 +325,19 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
284 | lib/getopt_int.h | 325 | lib/getopt_int.h |
285 | lib/gettext.h | 326 | lib/gettext.h |
286 | lib/inet_ntop.c | 327 | lib/inet_ntop.c |
287 | lib/inet_ntop.h | ||
288 | lib/intprops.h | 328 | lib/intprops.h |
289 | lib/localcharset.c | 329 | lib/localcharset.c |
290 | lib/localcharset.h | 330 | lib/localcharset.h |
291 | lib/malloc.c | 331 | lib/malloc.c |
292 | lib/math.in.h | 332 | lib/math.in.h |
333 | lib/mbrtowc.c | ||
334 | lib/mbsinit.c | ||
293 | lib/mountlist.c | 335 | lib/mountlist.c |
294 | lib/mountlist.h | 336 | lib/mountlist.h |
337 | lib/netdb.in.h | ||
295 | lib/netinet_in.in.h | 338 | lib/netinet_in.in.h |
296 | lib/open-safer.c | 339 | lib/open-safer.c |
340 | lib/open.c | ||
297 | lib/pipe-safer.c | 341 | lib/pipe-safer.c |
298 | lib/printf-args.c | 342 | lib/printf-args.c |
299 | lib/printf-args.h | 343 | lib/printf-args.h |
@@ -315,9 +359,10 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
315 | lib/snprintf.c | 359 | lib/snprintf.c |
316 | lib/stdbool.in.h | 360 | lib/stdbool.in.h |
317 | lib/stdint.in.h | 361 | lib/stdint.in.h |
362 | lib/stdio-write.c | ||
318 | lib/stdio.in.h | 363 | lib/stdio.in.h |
319 | lib/stdlib.in.h | 364 | lib/stdlib.in.h |
320 | lib/strdup.c | 365 | lib/streq.h |
321 | lib/strerror.c | 366 | lib/strerror.c |
322 | lib/string.in.h | 367 | lib/string.in.h |
323 | lib/stripslash.c | 368 | lib/stripslash.c |
@@ -330,30 +375,34 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
330 | lib/vasnprintf.c | 375 | lib/vasnprintf.c |
331 | lib/vasnprintf.h | 376 | lib/vasnprintf.h |
332 | lib/vasprintf.c | 377 | lib/vasprintf.c |
378 | lib/verify.h | ||
333 | lib/vsnprintf.c | 379 | lib/vsnprintf.c |
334 | lib/wchar.in.h | 380 | lib/wchar.in.h |
381 | lib/wcrtomb.c | ||
335 | lib/wctype.in.h | 382 | lib/wctype.in.h |
383 | lib/write.c | ||
336 | lib/xalloc-die.c | 384 | lib/xalloc-die.c |
337 | lib/xalloc.h | 385 | lib/xalloc.h |
338 | lib/xmalloc.c | 386 | lib/xmalloc.c |
339 | lib/xsize.h | 387 | lib/xsize.h |
340 | lib/xstrndup.c | 388 | lib/xstrndup.c |
341 | lib/xstrndup.h | 389 | lib/xstrndup.h |
342 | m4/absolute-header.m4 | ||
343 | m4/alloca.m4 | 390 | m4/alloca.m4 |
344 | m4/arpa_inet_h.m4 | 391 | m4/arpa_inet_h.m4 |
345 | m4/base64.m4 | 392 | m4/base64.m4 |
393 | m4/btowc.m4 | ||
346 | m4/c-strtod.m4 | 394 | m4/c-strtod.m4 |
347 | m4/cloexec.m4 | 395 | m4/cloexec.m4 |
348 | m4/codeset.m4 | 396 | m4/codeset.m4 |
349 | m4/dirname.m4 | 397 | m4/dirname.m4 |
350 | m4/dos.m4 | 398 | m4/dos.m4 |
351 | m4/double-slash-root.m4 | 399 | m4/double-slash-root.m4 |
352 | m4/eoverflow.m4 | 400 | m4/errno_h.m4 |
353 | m4/error.m4 | 401 | m4/error.m4 |
354 | m4/exitfail.m4 | 402 | m4/exitfail.m4 |
355 | m4/extensions.m4 | 403 | m4/extensions.m4 |
356 | m4/fcntl-safer.m4 | 404 | m4/fcntl-safer.m4 |
405 | m4/fcntl_h.m4 | ||
357 | m4/float_h.m4 | 406 | m4/float_h.m4 |
358 | m4/floorf.m4 | 407 | m4/floorf.m4 |
359 | m4/fstypename.m4 | 408 | m4/fstypename.m4 |
@@ -366,6 +415,7 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
366 | m4/glibc2.m4 | 415 | m4/glibc2.m4 |
367 | m4/glibc21.m4 | 416 | m4/glibc21.m4 |
368 | m4/gnulib-common.m4 | 417 | m4/gnulib-common.m4 |
418 | m4/hostent.m4 | ||
369 | m4/iconv.m4 | 419 | m4/iconv.m4 |
370 | m4/include_next.m4 | 420 | m4/include_next.m4 |
371 | m4/inet_ntop.m4 | 421 | m4/inet_ntop.m4 |
@@ -383,21 +433,32 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
383 | m4/lib-link.m4 | 433 | m4/lib-link.m4 |
384 | m4/lib-prefix.m4 | 434 | m4/lib-prefix.m4 |
385 | m4/localcharset.m4 | 435 | m4/localcharset.m4 |
436 | m4/locale-fr.m4 | ||
437 | m4/locale-ja.m4 | ||
438 | m4/locale-zh.m4 | ||
386 | m4/lock.m4 | 439 | m4/lock.m4 |
387 | m4/longlong.m4 | 440 | m4/longlong.m4 |
388 | m4/ls-mntd-fs.m4 | 441 | m4/ls-mntd-fs.m4 |
389 | m4/malloc.m4 | 442 | m4/malloc.m4 |
390 | m4/math_h.m4 | 443 | m4/math_h.m4 |
444 | m4/mbrtowc.m4 | ||
445 | m4/mbsinit.m4 | ||
446 | m4/mbstate_t.m4 | ||
391 | m4/mountlist.m4 | 447 | m4/mountlist.m4 |
448 | m4/multiarch.m4 | ||
449 | m4/netdb_h.m4 | ||
392 | m4/netinet_in_h.m4 | 450 | m4/netinet_in_h.m4 |
393 | m4/nls.m4 | 451 | m4/nls.m4 |
394 | m4/onceonly_2_57.m4 | 452 | m4/onceonly.m4 |
453 | m4/open.m4 | ||
395 | m4/po.m4 | 454 | m4/po.m4 |
396 | m4/printf-posix.m4 | 455 | m4/printf-posix.m4 |
456 | m4/printf.m4 | ||
397 | m4/progtest.m4 | 457 | m4/progtest.m4 |
398 | m4/regex.m4 | 458 | m4/regex.m4 |
399 | m4/safe-read.m4 | 459 | m4/safe-read.m4 |
400 | m4/safe-write.m4 | 460 | m4/safe-write.m4 |
461 | m4/servent.m4 | ||
401 | m4/size_max.m4 | 462 | m4/size_max.m4 |
402 | m4/snprintf.m4 | 463 | m4/snprintf.m4 |
403 | m4/socklen.m4 | 464 | m4/socklen.m4 |
@@ -408,12 +469,12 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
408 | m4/stdint_h.m4 | 469 | m4/stdint_h.m4 |
409 | m4/stdio_h.m4 | 470 | m4/stdio_h.m4 |
410 | m4/stdlib_h.m4 | 471 | m4/stdlib_h.m4 |
411 | m4/strdup.m4 | ||
412 | m4/strerror.m4 | 472 | m4/strerror.m4 |
413 | m4/string_h.m4 | 473 | m4/string_h.m4 |
414 | m4/strndup.m4 | 474 | m4/strndup.m4 |
415 | m4/strnlen.m4 | 475 | m4/strnlen.m4 |
416 | m4/sys_socket_h.m4 | 476 | m4/sys_socket_h.m4 |
477 | m4/threadlib.m4 | ||
417 | m4/uintmax_t.m4 | 478 | m4/uintmax_t.m4 |
418 | m4/unistd-safer.m4 | 479 | m4/unistd-safer.m4 |
419 | m4/unistd_h.m4 | 480 | m4/unistd_h.m4 |
@@ -423,8 +484,10 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
423 | m4/vsnprintf.m4 | 484 | m4/vsnprintf.m4 |
424 | m4/wchar.m4 | 485 | m4/wchar.m4 |
425 | m4/wchar_t.m4 | 486 | m4/wchar_t.m4 |
487 | m4/wcrtomb.m4 | ||
426 | m4/wctype.m4 | 488 | m4/wctype.m4 |
427 | m4/wint_t.m4 | 489 | m4/wint_t.m4 |
490 | m4/write.m4 | ||
428 | m4/xalloc.m4 | 491 | m4/xalloc.m4 |
429 | m4/xsize.m4 | 492 | m4/xsize.m4 |
430 | m4/xstrndup.m4 | 493 | m4/xstrndup.m4 |
diff --git a/gl/m4/gnulib-tool.m4 b/gl/m4/gnulib-tool.m4 index ef593203..4438d488 100644 --- a/gl/m4/gnulib-tool.m4 +++ b/gl/m4/gnulib-tool.m4 | |||
@@ -1,4 +1,4 @@ | |||
1 | # gnulib-tool.m4 serial 1 | 1 | # gnulib-tool.m4 serial 2 |
2 | dnl Copyright (C) 2004-2005 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2004-2005 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
@@ -8,6 +8,9 @@ dnl The following macros need not be invoked explicitly. | |||
8 | dnl Invoking them does nothing except to declare default arguments | 8 | dnl Invoking them does nothing except to declare default arguments |
9 | dnl for "gnulib-tool --import". | 9 | dnl for "gnulib-tool --import". |
10 | 10 | ||
11 | dnl Usage: gl_LOCAL_DIR([DIR]) | ||
12 | AC_DEFUN([gl_LOCAL_DIR], []) | ||
13 | |||
11 | dnl Usage: gl_MODULES([module1 module2 ...]) | 14 | dnl Usage: gl_MODULES([module1 module2 ...]) |
12 | AC_DEFUN([gl_MODULES], []) | 15 | AC_DEFUN([gl_MODULES], []) |
13 | 16 | ||
@@ -20,14 +23,35 @@ AC_DEFUN([gl_SOURCE_BASE], []) | |||
20 | dnl Usage: gl_M4_BASE([DIR]) | 23 | dnl Usage: gl_M4_BASE([DIR]) |
21 | AC_DEFUN([gl_M4_BASE], []) | 24 | AC_DEFUN([gl_M4_BASE], []) |
22 | 25 | ||
26 | dnl Usage: gl_PO_BASE([DIR]) | ||
27 | AC_DEFUN([gl_PO_BASE], []) | ||
28 | |||
29 | dnl Usage: gl_DOC_BASE([DIR]) | ||
30 | AC_DEFUN([gl_DOC_BASE], []) | ||
31 | |||
32 | dnl Usage: gl_TESTS_BASE([DIR]) | ||
33 | AC_DEFUN([gl_TESTS_BASE], []) | ||
34 | |||
35 | dnl Usage: gl_WITH_TESTS | ||
36 | AC_DEFUN([gl_WITH_TESTS], []) | ||
37 | |||
23 | dnl Usage: gl_LIB([LIBNAME]) | 38 | dnl Usage: gl_LIB([LIBNAME]) |
24 | AC_DEFUN([gl_LIB], []) | 39 | AC_DEFUN([gl_LIB], []) |
25 | 40 | ||
26 | dnl Usage: gl_LGPL | 41 | dnl Usage: gl_LGPL or gl_LGPL([VERSION]) |
27 | AC_DEFUN([gl_LGPL], []) | 42 | AC_DEFUN([gl_LGPL], []) |
28 | 43 | ||
44 | dnl Usage: gl_MAKEFILE_NAME([FILENAME]) | ||
45 | AC_DEFUN([gl_MAKEFILE_NAME], []) | ||
46 | |||
29 | dnl Usage: gl_LIBTOOL | 47 | dnl Usage: gl_LIBTOOL |
30 | AC_DEFUN([gl_LIBTOOL], []) | 48 | AC_DEFUN([gl_LIBTOOL], []) |
31 | 49 | ||
32 | dnl Usage: gl_MACRO_PREFIX([PREFIX]) | 50 | dnl Usage: gl_MACRO_PREFIX([PREFIX]) |
33 | AC_DEFUN([gl_MACRO_PREFIX], []) | 51 | AC_DEFUN([gl_MACRO_PREFIX], []) |
52 | |||
53 | dnl Usage: gl_PO_DOMAIN([DOMAIN]) | ||
54 | AC_DEFUN([gl_PO_DOMAIN], []) | ||
55 | |||
56 | dnl Usage: gl_VC_FILES([BOOLEAN]) | ||
57 | AC_DEFUN([gl_VC_FILES], []) | ||
diff --git a/gl/m4/hostent.m4 b/gl/m4/hostent.m4 new file mode 100644 index 00000000..4a96af7a --- /dev/null +++ b/gl/m4/hostent.m4 | |||
@@ -0,0 +1,45 @@ | |||
1 | # hostent.m4 serial 1 | ||
2 | dnl Copyright (C) 2008 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | ||
4 | dnl gives unlimited permission to copy and/or distribute it, | ||
5 | dnl with or without modifications, as long as this notice is preserved. | ||
6 | |||
7 | AC_DEFUN([gl_HOSTENT], | ||
8 | [ | ||
9 | dnl Where are gethostent(), sethostent(), endhostent(), gethostbyname(), | ||
10 | dnl gethostbyaddr() defined? | ||
11 | dnl - On Solaris, they are in libnsl. Ignore libxnet. | ||
12 | dnl - On Haiku, they are in libnetwork. | ||
13 | dnl - On BeOS, they are in libnet. | ||
14 | dnl - On native Windows, they are in ws2_32.dll. | ||
15 | dnl - Otherwise they are in libc. | ||
16 | AC_REQUIRE([gl_HEADER_SYS_SOCKET])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H | ||
17 | HOSTENT_LIB= | ||
18 | gl_saved_libs="$LIBS" | ||
19 | AC_SEARCH_LIBS([gethostbyname], [nsl network net], | ||
20 | [if test "$ac_cv_search_gethostbyname" != "none required"; then | ||
21 | HOSTENT_LIB="$ac_cv_search_gethostbyname" | ||
22 | fi]) | ||
23 | LIBS="$gl_saved_libs" | ||
24 | if test -z "$HOSTENT_LIB"; then | ||
25 | AC_CHECK_FUNCS([gethostbyname], , [ | ||
26 | AC_CACHE_CHECK([for gethostbyname in winsock2.h and -lws2_32], | ||
27 | [gl_cv_w32_gethostbyname], | ||
28 | [gl_cv_w32_gethostbyname=no | ||
29 | gl_save_LIBS="$LIBS" | ||
30 | LIBS="$LIBS -lws2_32" | ||
31 | AC_TRY_LINK([ | ||
32 | #ifdef HAVE_WINSOCK2_H | ||
33 | #include <winsock2.h> | ||
34 | #endif | ||
35 | #include <stddef.h> | ||
36 | ], [gethostbyname(NULL);], [gl_cv_w32_gethostbyname=yes]) | ||
37 | LIBS="$gl_save_LIBS" | ||
38 | ]) | ||
39 | if test "$gl_cv_w32_gethostbyname" = "yes"; then | ||
40 | HOSTENT_LIB="-lws2_32" | ||
41 | fi | ||
42 | ]) | ||
43 | fi | ||
44 | AC_SUBST([HOSTENT_LIB]) | ||
45 | ]) | ||
diff --git a/gl/m4/iconv.m4 b/gl/m4/iconv.m4 index 66bc76f4..3cc62682 100644 --- a/gl/m4/iconv.m4 +++ b/gl/m4/iconv.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # iconv.m4 serial AM6 (gettext-0.17) | 1 | # iconv.m4 serial AM7 (gettext-0.18) |
2 | dnl Copyright (C) 2000-2002, 2007 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2000-2002, 2007-2009 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -34,7 +34,7 @@ AC_DEFUN([AM_ICONV_LINK], | |||
34 | am_save_CPPFLAGS="$CPPFLAGS" | 34 | am_save_CPPFLAGS="$CPPFLAGS" |
35 | AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) | 35 | AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) |
36 | 36 | ||
37 | AC_CACHE_CHECK([for iconv], am_cv_func_iconv, [ | 37 | AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [ |
38 | am_cv_func_iconv="no, consider installing GNU libiconv" | 38 | am_cv_func_iconv="no, consider installing GNU libiconv" |
39 | am_cv_lib_iconv=no | 39 | am_cv_lib_iconv=no |
40 | AC_TRY_LINK([#include <stdlib.h> | 40 | AC_TRY_LINK([#include <stdlib.h> |
@@ -42,7 +42,7 @@ AC_DEFUN([AM_ICONV_LINK], | |||
42 | [iconv_t cd = iconv_open("",""); | 42 | [iconv_t cd = iconv_open("",""); |
43 | iconv(cd,NULL,NULL,NULL,NULL); | 43 | iconv(cd,NULL,NULL,NULL,NULL); |
44 | iconv_close(cd);], | 44 | iconv_close(cd);], |
45 | am_cv_func_iconv=yes) | 45 | [am_cv_func_iconv=yes]) |
46 | if test "$am_cv_func_iconv" != yes; then | 46 | if test "$am_cv_func_iconv" != yes; then |
47 | am_save_LIBS="$LIBS" | 47 | am_save_LIBS="$LIBS" |
48 | LIBS="$LIBS $LIBICONV" | 48 | LIBS="$LIBS $LIBICONV" |
@@ -51,13 +51,13 @@ AC_DEFUN([AM_ICONV_LINK], | |||
51 | [iconv_t cd = iconv_open("",""); | 51 | [iconv_t cd = iconv_open("",""); |
52 | iconv(cd,NULL,NULL,NULL,NULL); | 52 | iconv(cd,NULL,NULL,NULL,NULL); |
53 | iconv_close(cd);], | 53 | iconv_close(cd);], |
54 | am_cv_lib_iconv=yes | 54 | [am_cv_lib_iconv=yes] |
55 | am_cv_func_iconv=yes) | 55 | [am_cv_func_iconv=yes]) |
56 | LIBS="$am_save_LIBS" | 56 | LIBS="$am_save_LIBS" |
57 | fi | 57 | fi |
58 | ]) | 58 | ]) |
59 | if test "$am_cv_func_iconv" = yes; then | 59 | if test "$am_cv_func_iconv" = yes; then |
60 | AC_CACHE_CHECK([for working iconv], am_cv_func_iconv_works, [ | 60 | AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [ |
61 | dnl This tests against bugs in AIX 5.1 and HP-UX 11.11. | 61 | dnl This tests against bugs in AIX 5.1 and HP-UX 11.11. |
62 | am_save_LIBS="$LIBS" | 62 | am_save_LIBS="$LIBS" |
63 | if test $am_cv_lib_iconv = yes; then | 63 | if test $am_cv_lib_iconv = yes; then |
@@ -134,7 +134,7 @@ int main () | |||
134 | am_func_iconv=no am_cv_lib_iconv=no | 134 | am_func_iconv=no am_cv_lib_iconv=no |
135 | fi | 135 | fi |
136 | if test "$am_func_iconv" = yes; then | 136 | if test "$am_func_iconv" = yes; then |
137 | AC_DEFINE(HAVE_ICONV, 1, | 137 | AC_DEFINE([HAVE_ICONV], [1], |
138 | [Define if you have the iconv() function and it works.]) | 138 | [Define if you have the iconv() function and it works.]) |
139 | fi | 139 | fi |
140 | if test "$am_cv_lib_iconv" = yes; then | 140 | if test "$am_cv_lib_iconv" = yes; then |
@@ -147,8 +147,8 @@ int main () | |||
147 | LIBICONV= | 147 | LIBICONV= |
148 | LTLIBICONV= | 148 | LTLIBICONV= |
149 | fi | 149 | fi |
150 | AC_SUBST(LIBICONV) | 150 | AC_SUBST([LIBICONV]) |
151 | AC_SUBST(LTLIBICONV) | 151 | AC_SUBST([LTLIBICONV]) |
152 | ]) | 152 | ]) |
153 | 153 | ||
154 | AC_DEFUN([AM_ICONV], | 154 | AC_DEFUN([AM_ICONV], |
@@ -156,7 +156,7 @@ AC_DEFUN([AM_ICONV], | |||
156 | AM_ICONV_LINK | 156 | AM_ICONV_LINK |
157 | if test "$am_cv_func_iconv" = yes; then | 157 | if test "$am_cv_func_iconv" = yes; then |
158 | AC_MSG_CHECKING([for iconv declaration]) | 158 | AC_MSG_CHECKING([for iconv declaration]) |
159 | AC_CACHE_VAL(am_cv_proto_iconv, [ | 159 | AC_CACHE_VAL([am_cv_proto_iconv], [ |
160 | AC_TRY_COMPILE([ | 160 | AC_TRY_COMPILE([ |
161 | #include <stdlib.h> | 161 | #include <stdlib.h> |
162 | #include <iconv.h> | 162 | #include <iconv.h> |
@@ -169,12 +169,12 @@ size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, si | |||
169 | #else | 169 | #else |
170 | size_t iconv(); | 170 | size_t iconv(); |
171 | #endif | 171 | #endif |
172 | ], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const") | 172 | ], [], [am_cv_proto_iconv_arg1=""], [am_cv_proto_iconv_arg1="const"]) |
173 | 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);"]) | 173 | 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);"]) |
174 | am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` | 174 | am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` |
175 | AC_MSG_RESULT([$]{ac_t:- | 175 | AC_MSG_RESULT([${ac_t:- |
176 | }[$]am_cv_proto_iconv) | 176 | }$am_cv_proto_iconv]) |
177 | AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, | 177 | AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1], |
178 | [Define as const if the declaration of iconv() needs const.]) | 178 | [Define as const if the declaration of iconv() needs const.]) |
179 | fi | 179 | fi |
180 | ]) | 180 | ]) |
diff --git a/gl/m4/include_next.m4 b/gl/m4/include_next.m4 index 7ce472bc..062753c5 100644 --- a/gl/m4/include_next.m4 +++ b/gl/m4/include_next.m4 | |||
@@ -1,19 +1,46 @@ | |||
1 | # include_next.m4 serial 4 | 1 | # include_next.m4 serial 10 |
2 | dnl Copyright (C) 2006, 2007 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2006-2008 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
6 | 6 | ||
7 | dnl From Paul Eggert and Derek Price. | 7 | dnl From Paul Eggert and Derek Price. |
8 | 8 | ||
9 | dnl Sets INCLUDE_NEXT and PRAGMA_SYSTEM_HEADER. | ||
10 | dnl | ||
11 | dnl INCLUDE_NEXT expands to 'include_next' if the compiler supports it, or to | ||
12 | dnl 'include' otherwise. | ||
13 | dnl | ||
14 | dnl INCLUDE_NEXT_AS_FIRST_DIRECTIVE expands to 'include_next' if the compiler | ||
15 | dnl supports it in the special case that it is the first include directive in | ||
16 | dnl the given file, or to 'include' otherwise. | ||
17 | dnl | ||
18 | dnl PRAGMA_SYSTEM_HEADER can be used in files that contain #include_next, | ||
19 | dnl so as to avoid GCC warnings when the gcc option -pedantic is used. | ||
20 | dnl '#pragma GCC system_header' has the same effect as if the file was found | ||
21 | dnl through the include search path specified with '-isystem' options (as | ||
22 | dnl opposed to the search path specified with '-I' options). Namely, gcc | ||
23 | dnl does not warn about some things, and on some systems (Solaris and Interix) | ||
24 | dnl __STDC__ evaluates to 0 instead of to 1. The latter is an undesired side | ||
25 | dnl effect; we are therefore careful to use 'defined __STDC__' or '1' instead | ||
26 | dnl of plain '__STDC__'. | ||
27 | |||
9 | AC_DEFUN([gl_INCLUDE_NEXT], | 28 | AC_DEFUN([gl_INCLUDE_NEXT], |
10 | [ | 29 | [ |
11 | AC_LANG_PREPROC_REQUIRE() | 30 | AC_LANG_PREPROC_REQUIRE() |
12 | AC_CACHE_CHECK([whether the preprocessor supports include_next], | 31 | AC_CACHE_CHECK([whether the preprocessor supports include_next], |
13 | [gl_cv_have_include_next], | 32 | [gl_cv_have_include_next], |
14 | [rm -rf conftestd1 conftestd2 | 33 | [rm -rf conftestd1a conftestd1b conftestd2 |
15 | mkdir conftestd1 conftestd2 | 34 | mkdir conftestd1a conftestd1b conftestd2 |
16 | cat <<EOF > conftestd1/conftest.h | 35 | dnl The include of <stdio.h> is because IBM C 9.0 on AIX 6.1 supports |
36 | dnl include_next when used as first preprocessor directive in a file, | ||
37 | dnl but not when preceded by another include directive. Additionally, | ||
38 | dnl with this same compiler, include_next is a no-op when used in a | ||
39 | dnl header file that was included by specifying its absolute file name. | ||
40 | dnl Despite these two bugs, include_next is used in the compiler's | ||
41 | dnl <math.h>. By virtue of the second bug, we need to use include_next | ||
42 | dnl as well in this case. | ||
43 | cat <<EOF > conftestd1a/conftest.h | ||
17 | #define DEFINED_IN_CONFTESTD1 | 44 | #define DEFINED_IN_CONFTESTD1 |
18 | #include_next <conftest.h> | 45 | #include_next <conftest.h> |
19 | #ifdef DEFINED_IN_CONFTESTD2 | 46 | #ifdef DEFINED_IN_CONFTESTD2 |
@@ -22,32 +49,53 @@ int foo; | |||
22 | #error "include_next doesn't work" | 49 | #error "include_next doesn't work" |
23 | #endif | 50 | #endif |
24 | EOF | 51 | EOF |
52 | cat <<EOF > conftestd1b/conftest.h | ||
53 | #define DEFINED_IN_CONFTESTD1 | ||
54 | #include <stdio.h> | ||
55 | #include_next <conftest.h> | ||
56 | #ifdef DEFINED_IN_CONFTESTD2 | ||
57 | int foo; | ||
58 | #else | ||
59 | #error "include_next doesn't work" | ||
60 | #endif | ||
61 | EOF | ||
25 | cat <<EOF > conftestd2/conftest.h | 62 | cat <<EOF > conftestd2/conftest.h |
26 | #ifndef DEFINED_IN_CONFTESTD1 | 63 | #ifndef DEFINED_IN_CONFTESTD1 |
27 | #error "include_next test doesn't work" | 64 | #error "include_next test doesn't work" |
28 | #endif | 65 | #endif |
29 | #define DEFINED_IN_CONFTESTD2 | 66 | #define DEFINED_IN_CONFTESTD2 |
30 | EOF | 67 | EOF |
31 | save_CPPFLAGS="$CPPFLAGS" | 68 | gl_save_CPPFLAGS="$CPPFLAGS" |
32 | CPPFLAGS="$CPPFLAGS -Iconftestd1 -Iconftestd2" | 69 | CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1b -Iconftestd2" |
33 | AC_COMPILE_IFELSE([#include <conftest.h>], | 70 | AC_COMPILE_IFELSE([#include <conftest.h>], |
34 | [gl_cv_have_include_next=yes], | 71 | [gl_cv_have_include_next=yes], |
35 | [gl_cv_have_include_next=no]) | 72 | [CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1a -Iconftestd2" |
36 | CPPFLAGS="$save_CPPFLAGS" | 73 | AC_COMPILE_IFELSE([#include <conftest.h>], |
37 | rm -rf conftestd1 conftestd2 | 74 | [gl_cv_have_include_next=buggy], |
75 | [gl_cv_have_include_next=no]) | ||
76 | ]) | ||
77 | CPPFLAGS="$gl_save_CPPFLAGS" | ||
78 | rm -rf conftestd1a conftestd1b conftestd2 | ||
38 | ]) | 79 | ]) |
80 | PRAGMA_SYSTEM_HEADER= | ||
39 | if test $gl_cv_have_include_next = yes; then | 81 | if test $gl_cv_have_include_next = yes; then |
40 | |||
41 | dnl FIXME: Remove HAVE_INCLUDE_NEXT and update everything that uses it | ||
42 | dnl to use @INCLUDE_NEXT@ instead. | ||
43 | AC_DEFINE([HAVE_INCLUDE_NEXT], 1, | ||
44 | [Define if your compiler supports the #include_next directive.]) | ||
45 | |||
46 | INCLUDE_NEXT=include_next | 82 | INCLUDE_NEXT=include_next |
83 | INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next | ||
84 | if test -n "$GCC"; then | ||
85 | PRAGMA_SYSTEM_HEADER='#pragma GCC system_header' | ||
86 | fi | ||
47 | else | 87 | else |
48 | INCLUDE_NEXT=include | 88 | if test $gl_cv_have_include_next = buggy; then |
89 | INCLUDE_NEXT=include | ||
90 | INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next | ||
91 | else | ||
92 | INCLUDE_NEXT=include | ||
93 | INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include | ||
94 | fi | ||
49 | fi | 95 | fi |
50 | AC_SUBST([INCLUDE_NEXT]) | 96 | AC_SUBST([INCLUDE_NEXT]) |
97 | AC_SUBST([INCLUDE_NEXT_AS_FIRST_DIRECTIVE]) | ||
98 | AC_SUBST([PRAGMA_SYSTEM_HEADER]) | ||
51 | ]) | 99 | ]) |
52 | 100 | ||
53 | # gl_CHECK_NEXT_HEADERS(HEADER1 HEADER2 ...) | 101 | # gl_CHECK_NEXT_HEADERS(HEADER1 HEADER2 ...) |
@@ -63,12 +111,16 @@ EOF | |||
63 | # The three "///" are to pacify Sun C 5.8, which otherwise would say | 111 | # The three "///" are to pacify Sun C 5.8, which otherwise would say |
64 | # "warning: #include of /usr/include/... may be non-portable". | 112 | # "warning: #include of /usr/include/... may be non-portable". |
65 | # Use `""', not `<>', so that the /// cannot be confused with a C99 comment. | 113 | # Use `""', not `<>', so that the /// cannot be confused with a C99 comment. |
114 | # Note: This macro assumes that the header file is not empty after | ||
115 | # preprocessing, i.e. it does not only define preprocessor macros but also | ||
116 | # provides some type/enum definitions or function/variable declarations. | ||
66 | AC_DEFUN([gl_CHECK_NEXT_HEADERS], | 117 | AC_DEFUN([gl_CHECK_NEXT_HEADERS], |
67 | [ | 118 | [ |
68 | AC_REQUIRE([gl_INCLUDE_NEXT]) | 119 | AC_REQUIRE([gl_INCLUDE_NEXT]) |
120 | AC_REQUIRE([AC_CANONICAL_HOST]) | ||
69 | AC_CHECK_HEADERS_ONCE([$1]) | 121 | AC_CHECK_HEADERS_ONCE([$1]) |
70 | 122 | ||
71 | AC_FOREACH([gl_HEADER_NAME], [$1], | 123 | m4_foreach_w([gl_HEADER_NAME], [$1], |
72 | [AS_VAR_PUSHDEF([gl_next_header], | 124 | [AS_VAR_PUSHDEF([gl_next_header], |
73 | [gl_cv_next_]m4_quote(m4_defn([gl_HEADER_NAME]))) | 125 | [gl_cv_next_]m4_quote(m4_defn([gl_HEADER_NAME]))) |
74 | if test $gl_cv_have_include_next = yes; then | 126 | if test $gl_cv_have_include_next = yes; then |
@@ -84,11 +136,22 @@ AC_DEFUN([gl_CHECK_NEXT_HEADERS], | |||
84 | [AC_LANG_SOURCE( | 136 | [AC_LANG_SOURCE( |
85 | [[#include <]]m4_dquote(m4_defn([gl_HEADER_NAME]))[[>]] | 137 | [[#include <]]m4_dquote(m4_defn([gl_HEADER_NAME]))[[>]] |
86 | )]) | 138 | )]) |
87 | dnl eval is necessary to expand ac_cpp. | 139 | dnl AIX "xlc -E" and "cc -E" omit #line directives for header files |
140 | dnl that contain only a #include of other header files and no | ||
141 | dnl non-comment tokens of their own. This leads to a failure to | ||
142 | dnl detect the absolute name of <dirent.h>, <signal.h>, <poll.h> | ||
143 | dnl and others. The workaround is to force preservation of comments | ||
144 | dnl through option -C. This ensures all necessary #line directives | ||
145 | dnl are present. GCC supports option -C as well. | ||
146 | case "$host_os" in | ||
147 | aix*) gl_absname_cpp="$ac_cpp -C" ;; | ||
148 | *) gl_absname_cpp="$ac_cpp" ;; | ||
149 | esac | ||
150 | dnl eval is necessary to expand gl_absname_cpp. | ||
88 | dnl Ultrix and Pyramid sh refuse to redirect output of eval, | 151 | dnl Ultrix and Pyramid sh refuse to redirect output of eval, |
89 | dnl so use subshell. | 152 | dnl so use subshell. |
90 | AS_VAR_SET([gl_next_header], | 153 | AS_VAR_SET([gl_next_header], |
91 | ['"'`(eval "$ac_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | | 154 | ['"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | |
92 | sed -n '\#/]m4_quote(m4_defn([gl_HEADER_NAME]))[#{ | 155 | sed -n '\#/]m4_quote(m4_defn([gl_HEADER_NAME]))[#{ |
93 | s#.*"\(.*/]m4_quote(m4_defn([gl_HEADER_NAME]))[\)".*#\1# | 156 | s#.*"\(.*/]m4_quote(m4_defn([gl_HEADER_NAME]))[\)".*#\1# |
94 | s#^/[^/]#//&# | 157 | s#^/[^/]#//&# |
diff --git a/gl/m4/inet_ntop.m4 b/gl/m4/inet_ntop.m4 index bb02d229..42bfc5e4 100644 --- a/gl/m4/inet_ntop.m4 +++ b/gl/m4/inet_ntop.m4 | |||
@@ -1,19 +1,26 @@ | |||
1 | # inet_ntop.m4 serial 3 | 1 | # inet_ntop.m4 serial 8 |
2 | dnl Copyright (C) 2005, 2006 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2005, 2006, 2008, 2009 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
6 | 6 | ||
7 | AC_DEFUN([gl_INET_NTOP], | 7 | AC_DEFUN([gl_INET_NTOP], |
8 | [ | 8 | [ |
9 | AC_REPLACE_FUNCS(inet_ntop) | 9 | dnl Persuade Solaris <arpa/inet.h> to declare inet_ntop. |
10 | AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) | ||
11 | |||
12 | gl_REPLACE_ARPA_INET_H | ||
13 | |||
14 | AC_REPLACE_FUNCS([inet_ntop]) | ||
10 | gl_PREREQ_INET_NTOP | 15 | gl_PREREQ_INET_NTOP |
11 | ]) | 16 | ]) |
12 | 17 | ||
13 | # Prerequisites of lib/inet_ntop.h and lib/inet_ntop.c. | 18 | # Prerequisites of lib/inet_ntop.c. |
14 | AC_DEFUN([gl_PREREQ_INET_NTOP], [ | 19 | AC_DEFUN([gl_PREREQ_INET_NTOP], [ |
15 | AC_CHECK_HEADERS_ONCE([netinet/in.h arpa/inet.h]) | ||
16 | AC_CHECK_DECLS([inet_ntop],,,[#include <arpa/inet.h>]) | 20 | AC_CHECK_DECLS([inet_ntop],,,[#include <arpa/inet.h>]) |
21 | if test $ac_cv_have_decl_inet_ntop = no; then | ||
22 | HAVE_DECL_INET_NTOP=0 | ||
23 | fi | ||
17 | AC_REQUIRE([gl_SOCKET_FAMILIES]) | 24 | AC_REQUIRE([gl_SOCKET_FAMILIES]) |
18 | AC_REQUIRE([AC_C_RESTRICT]) | 25 | AC_REQUIRE([AC_C_RESTRICT]) |
19 | ]) | 26 | ]) |
diff --git a/gl/m4/inline.m4 b/gl/m4/inline.m4 index a07076cd..cee51099 100644 --- a/gl/m4/inline.m4 +++ b/gl/m4/inline.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # inline.m4 serial 3 | 1 | # inline.m4 serial 4 |
2 | dnl Copyright (C) 2006 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2006, 2009 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -32,7 +32,7 @@ AC_DEFUN([gl_INLINE], | |||
32 | fi | 32 | fi |
33 | ]) | 33 | ]) |
34 | if test $gl_cv_c_inline_effective = yes; then | 34 | if test $gl_cv_c_inline_effective = yes; then |
35 | AC_DEFINE([HAVE_INLINE], 1, | 35 | AC_DEFINE([HAVE_INLINE], [1], |
36 | [Define to 1 if the compiler supports one of the keywords | 36 | [Define to 1 if the compiler supports one of the keywords |
37 | 'inline', '__inline__', '__inline' and effectively inlines | 37 | 'inline', '__inline__', '__inline' and effectively inlines |
38 | functions marked as such.]) | 38 | functions marked as such.]) |
diff --git a/gl/m4/intdiv0.m4 b/gl/m4/intdiv0.m4 index 8c8a6708..29e6e0aa 100644 --- a/gl/m4/intdiv0.m4 +++ b/gl/m4/intdiv0.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # intdiv0.m4 serial 2 (gettext-0.17) | 1 | # intdiv0.m4 serial 3 (gettext-0.18) |
2 | dnl Copyright (C) 2002, 2007 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002, 2007-2008 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -61,7 +61,7 @@ int main () | |||
61 | nan = y / y; | 61 | nan = y / y; |
62 | exit (1); | 62 | exit (1); |
63 | } | 63 | } |
64 | ], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no, | 64 | ], [gt_cv_int_divbyzero_sigfpe=yes], [gt_cv_int_divbyzero_sigfpe=no], |
65 | [ | 65 | [ |
66 | # Guess based on the CPU. | 66 | # Guess based on the CPU. |
67 | changequote(,)dnl | 67 | changequote(,)dnl |
@@ -79,6 +79,6 @@ changequote([,])dnl | |||
79 | *yes) value=1;; | 79 | *yes) value=1;; |
80 | *) value=0;; | 80 | *) value=0;; |
81 | esac | 81 | esac |
82 | AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value, | 82 | AC_DEFINE_UNQUOTED([INTDIV0_RAISES_SIGFPE], [$value], |
83 | [Define if integer division by zero raises signal SIGFPE.]) | 83 | [Define if integer division by zero raises signal SIGFPE.]) |
84 | ]) | 84 | ]) |
diff --git a/gl/m4/intldir.m4 b/gl/m4/intldir.m4 index 7a28843f..0980e6f2 100644 --- a/gl/m4/intldir.m4 +++ b/gl/m4/intldir.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # intldir.m4 serial 1 (gettext-0.16) | 1 | # intldir.m4 serial 2 (gettext-0.18) |
2 | dnl Copyright (C) 2006 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2006, 2009 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -13,7 +13,7 @@ dnl by the GNU Library General Public License, and the rest of the GNU | |||
13 | dnl gettext package package is covered by the GNU General Public License. | 13 | dnl gettext package package is covered by the GNU General Public License. |
14 | dnl They are *not* in the public domain. | 14 | dnl They are *not* in the public domain. |
15 | 15 | ||
16 | AC_PREREQ(2.52) | 16 | AC_PREREQ([2.52]) |
17 | 17 | ||
18 | dnl Tells the AM_GNU_GETTEXT macro to consider an intl/ directory. | 18 | dnl Tells the AM_GNU_GETTEXT macro to consider an intl/ directory. |
19 | AC_DEFUN([AM_GNU_GETTEXT_INTL_SUBDIR], []) | 19 | AC_DEFUN([AM_GNU_GETTEXT_INTL_SUBDIR], []) |
diff --git a/gl/m4/intlmacosx.m4 b/gl/m4/intlmacosx.m4 index d3f0d904..c24837c4 100644 --- a/gl/m4/intlmacosx.m4 +++ b/gl/m4/intlmacosx.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # intlmacosx.m4 serial 1 (gettext-0.17) | 1 | # intlmacosx.m4 serial 3 (gettext-0.18) |
2 | dnl Copyright (C) 2004-2007 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2004-2009 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -19,7 +19,7 @@ AC_DEFUN([gt_INTL_MACOSX], | |||
19 | [ | 19 | [ |
20 | dnl Check for API introduced in MacOS X 10.2. | 20 | dnl Check for API introduced in MacOS X 10.2. |
21 | AC_CACHE_CHECK([for CFPreferencesCopyAppValue], | 21 | AC_CACHE_CHECK([for CFPreferencesCopyAppValue], |
22 | gt_cv_func_CFPreferencesCopyAppValue, | 22 | [gt_cv_func_CFPreferencesCopyAppValue], |
23 | [gt_save_LIBS="$LIBS" | 23 | [gt_save_LIBS="$LIBS" |
24 | LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" | 24 | LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" |
25 | AC_TRY_LINK([#include <CoreFoundation/CFPreferences.h>], | 25 | AC_TRY_LINK([#include <CoreFoundation/CFPreferences.h>], |
@@ -28,11 +28,11 @@ AC_DEFUN([gt_INTL_MACOSX], | |||
28 | [gt_cv_func_CFPreferencesCopyAppValue=no]) | 28 | [gt_cv_func_CFPreferencesCopyAppValue=no]) |
29 | LIBS="$gt_save_LIBS"]) | 29 | LIBS="$gt_save_LIBS"]) |
30 | if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then | 30 | if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then |
31 | AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], 1, | 31 | AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1], |
32 | [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) | 32 | [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) |
33 | fi | 33 | fi |
34 | dnl Check for API introduced in MacOS X 10.3. | 34 | dnl Check for API introduced in MacOS X 10.3. |
35 | AC_CACHE_CHECK([for CFLocaleCopyCurrent], gt_cv_func_CFLocaleCopyCurrent, | 35 | AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent], |
36 | [gt_save_LIBS="$LIBS" | 36 | [gt_save_LIBS="$LIBS" |
37 | LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" | 37 | LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" |
38 | AC_TRY_LINK([#include <CoreFoundation/CFLocale.h>], [CFLocaleCopyCurrent();], | 38 | AC_TRY_LINK([#include <CoreFoundation/CFLocale.h>], [CFLocaleCopyCurrent();], |
@@ -40,7 +40,7 @@ AC_DEFUN([gt_INTL_MACOSX], | |||
40 | [gt_cv_func_CFLocaleCopyCurrent=no]) | 40 | [gt_cv_func_CFLocaleCopyCurrent=no]) |
41 | LIBS="$gt_save_LIBS"]) | 41 | LIBS="$gt_save_LIBS"]) |
42 | if test $gt_cv_func_CFLocaleCopyCurrent = yes; then | 42 | if test $gt_cv_func_CFLocaleCopyCurrent = yes; then |
43 | AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], 1, | 43 | AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1], |
44 | [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) | 44 | [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) |
45 | fi | 45 | fi |
46 | INTL_MACOSX_LIBS= | 46 | INTL_MACOSX_LIBS= |
diff --git a/gl/m4/intmax.m4 b/gl/m4/intmax.m4 index ce7a8a49..a3785e99 100644 --- a/gl/m4/intmax.m4 +++ b/gl/m4/intmax.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # intmax.m4 serial 3 (gettext-0.16) | 1 | # intmax.m4 serial 5 (gettext-0.18) |
2 | dnl Copyright (C) 2002-2005 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2005, 2008, 2009 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -12,7 +12,7 @@ AC_DEFUN([gt_TYPE_INTMAX_T], | |||
12 | [ | 12 | [ |
13 | AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) | 13 | AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) |
14 | AC_REQUIRE([gl_AC_HEADER_STDINT_H]) | 14 | AC_REQUIRE([gl_AC_HEADER_STDINT_H]) |
15 | AC_CACHE_CHECK(for intmax_t, gt_cv_c_intmax_t, | 15 | AC_CACHE_CHECK([for intmax_t], [gt_cv_c_intmax_t], |
16 | [AC_TRY_COMPILE([ | 16 | [AC_TRY_COMPILE([ |
17 | #include <stddef.h> | 17 | #include <stddef.h> |
18 | #include <stdlib.h> | 18 | #include <stdlib.h> |
@@ -24,10 +24,10 @@ AC_DEFUN([gt_TYPE_INTMAX_T], | |||
24 | #endif | 24 | #endif |
25 | ], [intmax_t x = -1; | 25 | ], [intmax_t x = -1; |
26 | return !x;], | 26 | return !x;], |
27 | gt_cv_c_intmax_t=yes, | 27 | [gt_cv_c_intmax_t=yes], |
28 | gt_cv_c_intmax_t=no)]) | 28 | [gt_cv_c_intmax_t=no])]) |
29 | if test $gt_cv_c_intmax_t = yes; then | 29 | if test $gt_cv_c_intmax_t = yes; then |
30 | AC_DEFINE(HAVE_INTMAX_T, 1, | 30 | AC_DEFINE([HAVE_INTMAX_T], [1], |
31 | [Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>.]) | 31 | [Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>.]) |
32 | fi | 32 | fi |
33 | ]) | 33 | ]) |
diff --git a/gl/m4/intmax_t.m4 b/gl/m4/intmax_t.m4 index 50ae35d2..264cb571 100644 --- a/gl/m4/intmax_t.m4 +++ b/gl/m4/intmax_t.m4 | |||
@@ -1,12 +1,12 @@ | |||
1 | # intmax_t.m4 serial 6 | 1 | # intmax_t.m4 serial 7 |
2 | dnl Copyright (C) 1997-2004, 2006-2007 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1997-2004, 2006-2007, 2009 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
6 | 6 | ||
7 | dnl From Paul Eggert. | 7 | dnl From Paul Eggert. |
8 | 8 | ||
9 | AC_PREREQ(2.13) | 9 | AC_PREREQ([2.13]) |
10 | 10 | ||
11 | # Define intmax_t to 'long' or 'long long' | 11 | # Define intmax_t to 'long' or 'long long' |
12 | # if it is not already defined in <stdint.h> or <inttypes.h>. | 12 | # if it is not already defined in <stdint.h> or <inttypes.h>. |
@@ -22,10 +22,10 @@ AC_DEFUN([gl_AC_TYPE_INTMAX_T], | |||
22 | test $ac_cv_type_long_long_int = yes \ | 22 | test $ac_cv_type_long_long_int = yes \ |
23 | && ac_type='long long' \ | 23 | && ac_type='long long' \ |
24 | || ac_type='long' | 24 | || ac_type='long' |
25 | AC_DEFINE_UNQUOTED(intmax_t, $ac_type, | 25 | AC_DEFINE_UNQUOTED([intmax_t], [$ac_type], |
26 | [Define to long or long long if <inttypes.h> and <stdint.h> don't define.]) | 26 | [Define to long or long long if <inttypes.h> and <stdint.h> don't define.]) |
27 | else | 27 | else |
28 | AC_DEFINE(HAVE_INTMAX_T, 1, | 28 | AC_DEFINE([HAVE_INTMAX_T], [1], |
29 | [Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>.]) | 29 | [Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>.]) |
30 | fi | 30 | fi |
31 | ]) | 31 | ]) |
@@ -36,7 +36,7 @@ AC_DEFUN([gt_AC_TYPE_INTMAX_T], | |||
36 | [ | 36 | [ |
37 | AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) | 37 | AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) |
38 | AC_REQUIRE([gl_AC_HEADER_STDINT_H]) | 38 | AC_REQUIRE([gl_AC_HEADER_STDINT_H]) |
39 | AC_CACHE_CHECK(for intmax_t, gt_cv_c_intmax_t, | 39 | AC_CACHE_CHECK([for intmax_t], [gt_cv_c_intmax_t], |
40 | [AC_TRY_COMPILE([ | 40 | [AC_TRY_COMPILE([ |
41 | #include <stddef.h> | 41 | #include <stddef.h> |
42 | #include <stdlib.h> | 42 | #include <stdlib.h> |
@@ -48,14 +48,14 @@ AC_DEFUN([gt_AC_TYPE_INTMAX_T], | |||
48 | #endif | 48 | #endif |
49 | ], [intmax_t x = -1; return !x;], gt_cv_c_intmax_t=yes, gt_cv_c_intmax_t=no)]) | 49 | ], [intmax_t x = -1; return !x;], gt_cv_c_intmax_t=yes, gt_cv_c_intmax_t=no)]) |
50 | if test $gt_cv_c_intmax_t = yes; then | 50 | if test $gt_cv_c_intmax_t = yes; then |
51 | AC_DEFINE(HAVE_INTMAX_T, 1, | 51 | AC_DEFINE([HAVE_INTMAX_T], [1], |
52 | [Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>.]) | 52 | [Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>.]) |
53 | else | 53 | else |
54 | AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) | 54 | AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) |
55 | test $ac_cv_type_long_long_int = yes \ | 55 | test $ac_cv_type_long_long_int = yes \ |
56 | && ac_type='long long' \ | 56 | && ac_type='long long' \ |
57 | || ac_type='long' | 57 | || ac_type='long' |
58 | AC_DEFINE_UNQUOTED(intmax_t, $ac_type, | 58 | AC_DEFINE_UNQUOTED([intmax_t], [$ac_type], |
59 | [Define to long or long long if <stdint.h> and <inttypes.h> don't define.]) | 59 | [Define to long or long long if <stdint.h> and <inttypes.h> don't define.]) |
60 | fi | 60 | fi |
61 | ]) | 61 | ]) |
diff --git a/gl/m4/inttypes-pri.m4 b/gl/m4/inttypes-pri.m4 index 7c7f8940..98fec7bc 100644 --- a/gl/m4/inttypes-pri.m4 +++ b/gl/m4/inttypes-pri.m4 | |||
@@ -1,12 +1,12 @@ | |||
1 | # inttypes-pri.m4 serial 4 (gettext-0.16) | 1 | # inttypes-pri.m4 serial 6 (gettext-0.18) |
2 | dnl Copyright (C) 1997-2002, 2006 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1997-2002, 2006, 2008, 2009 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
6 | 6 | ||
7 | dnl From Bruno Haible. | 7 | dnl From Bruno Haible. |
8 | 8 | ||
9 | AC_PREREQ(2.52) | 9 | AC_PREREQ([2.52]) |
10 | 10 | ||
11 | # Define PRI_MACROS_BROKEN if <inttypes.h> exists and defines the PRI* | 11 | # Define PRI_MACROS_BROKEN if <inttypes.h> exists and defines the PRI* |
12 | # macros to non-string values. This is the case on AIX 4.3.3. | 12 | # macros to non-string values. This is the case on AIX 4.3.3. |
@@ -16,17 +16,17 @@ AC_DEFUN([gt_INTTYPES_PRI], | |||
16 | AC_CHECK_HEADERS([inttypes.h]) | 16 | AC_CHECK_HEADERS([inttypes.h]) |
17 | if test $ac_cv_header_inttypes_h = yes; then | 17 | if test $ac_cv_header_inttypes_h = yes; then |
18 | AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken], | 18 | AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken], |
19 | gt_cv_inttypes_pri_broken, | 19 | [gt_cv_inttypes_pri_broken], |
20 | [ | 20 | [ |
21 | AC_TRY_COMPILE([#include <inttypes.h> | 21 | AC_TRY_COMPILE([#include <inttypes.h> |
22 | #ifdef PRId32 | 22 | #ifdef PRId32 |
23 | char *p = PRId32; | 23 | char *p = PRId32; |
24 | #endif | 24 | #endif |
25 | ], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes) | 25 | ], [], [gt_cv_inttypes_pri_broken=no], [gt_cv_inttypes_pri_broken=yes]) |
26 | ]) | 26 | ]) |
27 | fi | 27 | fi |
28 | if test "$gt_cv_inttypes_pri_broken" = yes; then | 28 | if test "$gt_cv_inttypes_pri_broken" = yes; then |
29 | AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1, | 29 | AC_DEFINE_UNQUOTED([PRI_MACROS_BROKEN], [1], |
30 | [Define if <inttypes.h> exists and defines unusable PRI* macros.]) | 30 | [Define if <inttypes.h> exists and defines unusable PRI* macros.]) |
31 | PRI_MACROS_BROKEN=1 | 31 | PRI_MACROS_BROKEN=1 |
32 | else | 32 | else |
diff --git a/gl/m4/inttypes_h.m4 b/gl/m4/inttypes_h.m4 index edc8ecb2..f4ca1602 100644 --- a/gl/m4/inttypes_h.m4 +++ b/gl/m4/inttypes_h.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # inttypes_h.m4 serial 7 | 1 | # inttypes_h.m4 serial 9 |
2 | dnl Copyright (C) 1997-2004, 2006 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1997-2004, 2006, 2008, 2009 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -11,15 +11,15 @@ dnl From Paul Eggert. | |||
11 | 11 | ||
12 | AC_DEFUN([gl_AC_HEADER_INTTYPES_H], | 12 | AC_DEFUN([gl_AC_HEADER_INTTYPES_H], |
13 | [ | 13 | [ |
14 | AC_CACHE_CHECK([for inttypes.h], gl_cv_header_inttypes_h, | 14 | AC_CACHE_CHECK([for inttypes.h], [gl_cv_header_inttypes_h], |
15 | [AC_TRY_COMPILE( | 15 | [AC_TRY_COMPILE( |
16 | [#include <sys/types.h> | 16 | [#include <sys/types.h> |
17 | #include <inttypes.h>], | 17 | #include <inttypes.h>], |
18 | [uintmax_t i = (uintmax_t) -1; return !i;], | 18 | [uintmax_t i = (uintmax_t) -1; return !i;], |
19 | gl_cv_header_inttypes_h=yes, | 19 | [gl_cv_header_inttypes_h=yes], |
20 | gl_cv_header_inttypes_h=no)]) | 20 | [gl_cv_header_inttypes_h=no])]) |
21 | if test $gl_cv_header_inttypes_h = yes; then | 21 | if test $gl_cv_header_inttypes_h = yes; then |
22 | AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1, | 22 | AC_DEFINE_UNQUOTED([HAVE_INTTYPES_H_WITH_UINTMAX], [1], |
23 | [Define if <inttypes.h> exists, doesn't clash with <sys/types.h>, | 23 | [Define if <inttypes.h> exists, doesn't clash with <sys/types.h>, |
24 | and declares uintmax_t. ]) | 24 | and declares uintmax_t. ]) |
25 | fi | 25 | fi |
diff --git a/gl/m4/lcmessage.m4 b/gl/m4/lcmessage.m4 index 19aa77e4..fa8e4167 100644 --- a/gl/m4/lcmessage.m4 +++ b/gl/m4/lcmessage.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # lcmessage.m4 serial 4 (gettext-0.14.2) | 1 | # lcmessage.m4 serial 6 (gettext-0.18) |
2 | dnl Copyright (C) 1995-2002, 2004-2005 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1995-2002, 2004-2005, 2008, 2009 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -20,11 +20,11 @@ dnl Ulrich Drepper <drepper@cygnus.com>, 1995. | |||
20 | 20 | ||
21 | AC_DEFUN([gt_LC_MESSAGES], | 21 | AC_DEFUN([gt_LC_MESSAGES], |
22 | [ | 22 | [ |
23 | AC_CACHE_CHECK([for LC_MESSAGES], gt_cv_val_LC_MESSAGES, | 23 | AC_CACHE_CHECK([for LC_MESSAGES], [gt_cv_val_LC_MESSAGES], |
24 | [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES], | 24 | [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES], |
25 | gt_cv_val_LC_MESSAGES=yes, gt_cv_val_LC_MESSAGES=no)]) | 25 | [gt_cv_val_LC_MESSAGES=yes], [gt_cv_val_LC_MESSAGES=no])]) |
26 | if test $gt_cv_val_LC_MESSAGES = yes; then | 26 | if test $gt_cv_val_LC_MESSAGES = yes; then |
27 | AC_DEFINE(HAVE_LC_MESSAGES, 1, | 27 | AC_DEFINE([HAVE_LC_MESSAGES], [1], |
28 | [Define if your <locale.h> file defines LC_MESSAGES.]) | 28 | [Define if your <locale.h> file defines LC_MESSAGES.]) |
29 | fi | 29 | fi |
30 | ]) | 30 | ]) |
diff --git a/gl/m4/lib-ld.m4 b/gl/m4/lib-ld.m4 index 96c4e2c3..e4863f2c 100644 --- a/gl/m4/lib-ld.m4 +++ b/gl/m4/lib-ld.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # lib-ld.m4 serial 3 (gettext-0.13) | 1 | # lib-ld.m4 serial 4 (gettext-0.18) |
2 | dnl Copyright (C) 1996-2003 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1996-2003, 2009 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -10,7 +10,7 @@ dnl with libtool.m4. | |||
10 | 10 | ||
11 | dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. | 11 | dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. |
12 | AC_DEFUN([AC_LIB_PROG_LD_GNU], | 12 | AC_DEFUN([AC_LIB_PROG_LD_GNU], |
13 | [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld, | 13 | [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld], |
14 | [# I'd rather use --version here, but apparently some GNU ld's only accept -v. | 14 | [# I'd rather use --version here, but apparently some GNU ld's only accept -v. |
15 | case `$LD -v 2>&1 </dev/null` in | 15 | case `$LD -v 2>&1 </dev/null` in |
16 | *GNU* | *'with BFD'*) | 16 | *GNU* | *'with BFD'*) |
@@ -23,7 +23,7 @@ with_gnu_ld=$acl_cv_prog_gnu_ld | |||
23 | 23 | ||
24 | dnl From libtool-1.4. Sets the variable LD. | 24 | dnl From libtool-1.4. Sets the variable LD. |
25 | AC_DEFUN([AC_LIB_PROG_LD], | 25 | AC_DEFUN([AC_LIB_PROG_LD], |
26 | [AC_ARG_WITH(gnu-ld, | 26 | [AC_ARG_WITH([gnu-ld], |
27 | [ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], | 27 | [ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], |
28 | test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) | 28 | test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) |
29 | AC_REQUIRE([AC_PROG_CC])dnl | 29 | AC_REQUIRE([AC_PROG_CC])dnl |
@@ -77,7 +77,7 @@ elif test "$with_gnu_ld" = yes; then | |||
77 | else | 77 | else |
78 | AC_MSG_CHECKING([for non-GNU ld]) | 78 | AC_MSG_CHECKING([for non-GNU ld]) |
79 | fi | 79 | fi |
80 | AC_CACHE_VAL(acl_cv_path_LD, | 80 | AC_CACHE_VAL([acl_cv_path_LD], |
81 | [if test -z "$LD"; then | 81 | [if test -z "$LD"; then |
82 | IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" | 82 | IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" |
83 | for ac_dir in $PATH; do | 83 | for ac_dir in $PATH; do |
@@ -101,9 +101,9 @@ else | |||
101 | fi]) | 101 | fi]) |
102 | LD="$acl_cv_path_LD" | 102 | LD="$acl_cv_path_LD" |
103 | if test -n "$LD"; then | 103 | if test -n "$LD"; then |
104 | AC_MSG_RESULT($LD) | 104 | AC_MSG_RESULT([$LD]) |
105 | else | 105 | else |
106 | AC_MSG_RESULT(no) | 106 | AC_MSG_RESULT([no]) |
107 | fi | 107 | fi |
108 | test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) | 108 | test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) |
109 | AC_LIB_PROG_LD_GNU | 109 | AC_LIB_PROG_LD_GNU |
diff --git a/gl/m4/lib-link.m4 b/gl/m4/lib-link.m4 index e3d26fc4..fcd3391b 100644 --- a/gl/m4/lib-link.m4 +++ b/gl/m4/lib-link.m4 | |||
@@ -1,12 +1,12 @@ | |||
1 | # lib-link.m4 serial 13 (gettext-0.17) | 1 | # lib-link.m4 serial 18 (gettext-0.18) |
2 | dnl Copyright (C) 2001-2007 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2001-2009 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
6 | 6 | ||
7 | dnl From Bruno Haible. | 7 | dnl From Bruno Haible. |
8 | 8 | ||
9 | AC_PREREQ(2.54) | 9 | AC_PREREQ([2.54]) |
10 | 10 | ||
11 | dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and | 11 | dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and |
12 | dnl the libraries corresponding to explicit and implicit dependencies. | 12 | dnl the libraries corresponding to explicit and implicit dependencies. |
@@ -18,9 +18,9 @@ AC_DEFUN([AC_LIB_LINKFLAGS], | |||
18 | [ | 18 | [ |
19 | AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) | 19 | AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) |
20 | AC_REQUIRE([AC_LIB_RPATH]) | 20 | AC_REQUIRE([AC_LIB_RPATH]) |
21 | define([Name],[translit([$1],[./-], [___])]) | 21 | pushdef([Name],[translit([$1],[./-], [___])]) |
22 | define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], | 22 | pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], |
23 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) | 23 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) |
24 | AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ | 24 | AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ |
25 | AC_LIB_LINKFLAGS_BODY([$1], [$2]) | 25 | AC_LIB_LINKFLAGS_BODY([$1], [$2]) |
26 | ac_cv_lib[]Name[]_libs="$LIB[]NAME" | 26 | ac_cv_lib[]Name[]_libs="$LIB[]NAME" |
@@ -39,8 +39,8 @@ AC_DEFUN([AC_LIB_LINKFLAGS], | |||
39 | dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the | 39 | dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the |
40 | dnl results of this search when this library appears as a dependency. | 40 | dnl results of this search when this library appears as a dependency. |
41 | HAVE_LIB[]NAME=yes | 41 | HAVE_LIB[]NAME=yes |
42 | undefine([Name]) | 42 | popdef([NAME]) |
43 | undefine([NAME]) | 43 | popdef([Name]) |
44 | ]) | 44 | ]) |
45 | 45 | ||
46 | dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode) | 46 | dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode) |
@@ -57,9 +57,9 @@ AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], | |||
57 | [ | 57 | [ |
58 | AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) | 58 | AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) |
59 | AC_REQUIRE([AC_LIB_RPATH]) | 59 | AC_REQUIRE([AC_LIB_RPATH]) |
60 | define([Name],[translit([$1],[./-], [___])]) | 60 | pushdef([Name],[translit([$1],[./-], [___])]) |
61 | define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], | 61 | pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], |
62 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) | 62 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) |
63 | 63 | ||
64 | dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME | 64 | dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME |
65 | dnl accordingly. | 65 | dnl accordingly. |
@@ -95,8 +95,8 @@ AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], | |||
95 | AC_SUBST([LIB]NAME) | 95 | AC_SUBST([LIB]NAME) |
96 | AC_SUBST([LTLIB]NAME) | 96 | AC_SUBST([LTLIB]NAME) |
97 | AC_SUBST([LIB]NAME[_PREFIX]) | 97 | AC_SUBST([LIB]NAME[_PREFIX]) |
98 | undefine([Name]) | 98 | popdef([NAME]) |
99 | undefine([NAME]) | 99 | popdef([Name]) |
100 | ]) | 100 | ]) |
101 | 101 | ||
102 | dnl Determine the platform dependent parameters needed to use rpath: | 102 | dnl Determine the platform dependent parameters needed to use rpath: |
@@ -114,7 +114,7 @@ AC_DEFUN([AC_LIB_RPATH], | |||
114 | AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld | 114 | AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld |
115 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host | 115 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host |
116 | AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir | 116 | AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir |
117 | AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [ | 117 | AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [ |
118 | CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ | 118 | CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ |
119 | ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh | 119 | ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh |
120 | . ./conftest.sh | 120 | . ./conftest.sh |
@@ -131,11 +131,32 @@ AC_DEFUN([AC_LIB_RPATH], | |||
131 | acl_hardcode_direct="$acl_cv_hardcode_direct" | 131 | acl_hardcode_direct="$acl_cv_hardcode_direct" |
132 | acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" | 132 | acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" |
133 | dnl Determine whether the user wants rpath handling at all. | 133 | dnl Determine whether the user wants rpath handling at all. |
134 | AC_ARG_ENABLE(rpath, | 134 | AC_ARG_ENABLE([rpath], |
135 | [ --disable-rpath do not hardcode runtime library paths], | 135 | [ --disable-rpath do not hardcode runtime library paths], |
136 | :, enable_rpath=yes) | 136 | :, enable_rpath=yes) |
137 | ]) | 137 | ]) |
138 | 138 | ||
139 | dnl AC_LIB_FROMPACKAGE(name, package) | ||
140 | dnl declares that libname comes from the given package. The configure file | ||
141 | dnl will then not have a --with-libname-prefix option but a | ||
142 | dnl --with-package-prefix option. Several libraries can come from the same | ||
143 | dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar | ||
144 | dnl macro call that searches for libname. | ||
145 | AC_DEFUN([AC_LIB_FROMPACKAGE], | ||
146 | [ | ||
147 | pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], | ||
148 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) | ||
149 | define([acl_frompackage_]NAME, [$2]) | ||
150 | popdef([NAME]) | ||
151 | pushdef([PACK],[$2]) | ||
152 | pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-], | ||
153 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) | ||
154 | define([acl_libsinpackage_]PACKUP, | ||
155 | m4_ifdef([acl_libsinpackage_]PACKUP, [acl_libsinpackage_]PACKUP[[, ]],)[lib$1]) | ||
156 | popdef([PACKUP]) | ||
157 | popdef([PACK]) | ||
158 | ]) | ||
159 | |||
139 | dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and | 160 | dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and |
140 | dnl the libraries corresponding to explicit and implicit dependencies. | 161 | dnl the libraries corresponding to explicit and implicit dependencies. |
141 | dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. | 162 | dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. |
@@ -144,19 +165,23 @@ dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem. | |||
144 | AC_DEFUN([AC_LIB_LINKFLAGS_BODY], | 165 | AC_DEFUN([AC_LIB_LINKFLAGS_BODY], |
145 | [ | 166 | [ |
146 | AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) | 167 | AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) |
147 | define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], | 168 | pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], |
148 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) | 169 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) |
170 | pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])]) | ||
171 | pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-], | ||
172 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) | ||
173 | pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])]) | ||
149 | dnl Autoconf >= 2.61 supports dots in --with options. | 174 | dnl Autoconf >= 2.61 supports dots in --with options. |
150 | define([N_A_M_E],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit([$1],[.],[_])],[$1])]) | 175 | pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit(PACK,[.],[_])],PACK)]) |
151 | dnl By default, look in $includedir and $libdir. | 176 | dnl By default, look in $includedir and $libdir. |
152 | use_additional=yes | 177 | use_additional=yes |
153 | AC_LIB_WITH_FINAL_PREFIX([ | 178 | AC_LIB_WITH_FINAL_PREFIX([ |
154 | eval additional_includedir=\"$includedir\" | 179 | eval additional_includedir=\"$includedir\" |
155 | eval additional_libdir=\"$libdir\" | 180 | eval additional_libdir=\"$libdir\" |
156 | ]) | 181 | ]) |
157 | AC_LIB_ARG_WITH([lib]N_A_M_E[-prefix], | 182 | AC_ARG_WITH(P_A_C_K[-prefix], |
158 | [ --with-lib]N_A_M_E[-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib | 183 | [[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib |
159 | --without-lib]N_A_M_E[-prefix don't search for lib$1 in includedir and libdir], | 184 | --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]], |
160 | [ | 185 | [ |
161 | if test "X$withval" = "Xno"; then | 186 | if test "X$withval" = "Xno"; then |
162 | use_additional=no | 187 | use_additional=no |
@@ -169,6 +194,10 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], | |||
169 | else | 194 | else |
170 | additional_includedir="$withval/include" | 195 | additional_includedir="$withval/include" |
171 | additional_libdir="$withval/$acl_libdirstem" | 196 | additional_libdir="$withval/$acl_libdirstem" |
197 | if test "$acl_libdirstem2" != "$acl_libdirstem" \ | ||
198 | && ! test -d "$withval/$acl_libdirstem"; then | ||
199 | additional_libdir="$withval/$acl_libdirstem2" | ||
200 | fi | ||
172 | fi | 201 | fi |
173 | fi | 202 | fi |
174 | ]) | 203 | ]) |
@@ -327,7 +356,9 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], | |||
327 | dnl Linking with a shared library. We attempt to hardcode its | 356 | dnl Linking with a shared library. We attempt to hardcode its |
328 | dnl directory into the executable's runpath, unless it's the | 357 | dnl directory into the executable's runpath, unless it's the |
329 | dnl standard /usr/lib. | 358 | dnl standard /usr/lib. |
330 | if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then | 359 | if test "$enable_rpath" = no \ |
360 | || test "X$found_dir" = "X/usr/$acl_libdirstem" \ | ||
361 | || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then | ||
331 | dnl No hardcoding is needed. | 362 | dnl No hardcoding is needed. |
332 | LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" | 363 | LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" |
333 | else | 364 | else |
@@ -415,7 +446,16 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], | |||
415 | case "$found_dir" in | 446 | case "$found_dir" in |
416 | */$acl_libdirstem | */$acl_libdirstem/) | 447 | */$acl_libdirstem | */$acl_libdirstem/) |
417 | basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` | 448 | basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` |
418 | LIB[]NAME[]_PREFIX="$basedir" | 449 | if test "$name" = '$1'; then |
450 | LIB[]NAME[]_PREFIX="$basedir" | ||
451 | fi | ||
452 | additional_includedir="$basedir/include" | ||
453 | ;; | ||
454 | */$acl_libdirstem2 | */$acl_libdirstem2/) | ||
455 | basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` | ||
456 | if test "$name" = '$1'; then | ||
457 | LIB[]NAME[]_PREFIX="$basedir" | ||
458 | fi | ||
419 | additional_includedir="$basedir/include" | 459 | additional_includedir="$basedir/include" |
420 | ;; | 460 | ;; |
421 | esac | 461 | esac |
@@ -476,9 +516,11 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], | |||
476 | dnl 3. if it's already present in $LDFLAGS or the already | 516 | dnl 3. if it's already present in $LDFLAGS or the already |
477 | dnl constructed $LIBNAME, | 517 | dnl constructed $LIBNAME, |
478 | dnl 4. if it doesn't exist as a directory. | 518 | dnl 4. if it doesn't exist as a directory. |
479 | if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then | 519 | if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ |
520 | && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then | ||
480 | haveit= | 521 | haveit= |
481 | if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then | 522 | if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ |
523 | || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then | ||
482 | if test -n "$GCC"; then | 524 | if test -n "$GCC"; then |
483 | case $host_os in | 525 | case $host_os in |
484 | linux* | gnu* | k*bsd*-gnu) haveit=yes;; | 526 | linux* | gnu* | k*bsd*-gnu) haveit=yes;; |
@@ -609,6 +651,11 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], | |||
609 | LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" | 651 | LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" |
610 | done | 652 | done |
611 | fi | 653 | fi |
654 | popdef([P_A_C_K]) | ||
655 | popdef([PACKLIBS]) | ||
656 | popdef([PACKUP]) | ||
657 | popdef([PACK]) | ||
658 | popdef([NAME]) | ||
612 | ]) | 659 | ]) |
613 | 660 | ||
614 | dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, | 661 | dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, |
@@ -654,7 +701,8 @@ AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], | |||
654 | if test -n "$next"; then | 701 | if test -n "$next"; then |
655 | dir="$next" | 702 | dir="$next" |
656 | dnl No need to hardcode the standard /usr/lib. | 703 | dnl No need to hardcode the standard /usr/lib. |
657 | if test "X$dir" != "X/usr/$acl_libdirstem"; then | 704 | if test "X$dir" != "X/usr/$acl_libdirstem" \ |
705 | && test "X$dir" != "X/usr/$acl_libdirstem2"; then | ||
658 | rpathdirs="$rpathdirs $dir" | 706 | rpathdirs="$rpathdirs $dir" |
659 | fi | 707 | fi |
660 | next= | 708 | next= |
@@ -663,7 +711,8 @@ AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], | |||
663 | -L) next=yes ;; | 711 | -L) next=yes ;; |
664 | -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` | 712 | -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` |
665 | dnl No need to hardcode the standard /usr/lib. | 713 | dnl No need to hardcode the standard /usr/lib. |
666 | if test "X$dir" != "X/usr/$acl_libdirstem"; then | 714 | if test "X$dir" != "X/usr/$acl_libdirstem" \ |
715 | && test "X$dir" != "X/usr/$acl_libdirstem2"; then | ||
667 | rpathdirs="$rpathdirs $dir" | 716 | rpathdirs="$rpathdirs $dir" |
668 | fi | 717 | fi |
669 | next= ;; | 718 | next= ;; |
diff --git a/gl/m4/lib-prefix.m4 b/gl/m4/lib-prefix.m4 index a8684e17..3bdc0fc5 100644 --- a/gl/m4/lib-prefix.m4 +++ b/gl/m4/lib-prefix.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # lib-prefix.m4 serial 5 (gettext-0.15) | 1 | # lib-prefix.m4 serial 6 (gettext-0.18) |
2 | dnl Copyright (C) 2001-2005 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2001-2005, 2008 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -153,33 +153,69 @@ AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], | |||
153 | prefix="$acl_save_prefix" | 153 | prefix="$acl_save_prefix" |
154 | ]) | 154 | ]) |
155 | 155 | ||
156 | dnl AC_LIB_PREPARE_MULTILIB creates a variable acl_libdirstem, containing | 156 | dnl AC_LIB_PREPARE_MULTILIB creates |
157 | dnl the basename of the libdir, either "lib" or "lib64". | 157 | dnl - a variable acl_libdirstem, containing the basename of the libdir, either |
158 | dnl "lib" or "lib64" or "lib/64", | ||
159 | dnl - a variable acl_libdirstem2, as a secondary possible value for | ||
160 | dnl acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or | ||
161 | dnl "lib/amd64". | ||
158 | AC_DEFUN([AC_LIB_PREPARE_MULTILIB], | 162 | AC_DEFUN([AC_LIB_PREPARE_MULTILIB], |
159 | [ | 163 | [ |
160 | dnl There is no formal standard regarding lib and lib64. The current | 164 | dnl There is no formal standard regarding lib and lib64. |
161 | dnl practice is that on a system supporting 32-bit and 64-bit instruction | 165 | dnl On glibc systems, the current practice is that on a system supporting |
162 | dnl sets or ABIs, 64-bit libraries go under $prefix/lib64 and 32-bit | 166 | dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under |
163 | dnl libraries go under $prefix/lib. We determine the compiler's default | 167 | dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine |
164 | dnl mode by looking at the compiler's library search path. If at least | 168 | dnl the compiler's default mode by looking at the compiler's library search |
165 | dnl of its elements ends in /lib64 or points to a directory whose absolute | 169 | dnl path. If at least one of its elements ends in /lib64 or points to a |
166 | dnl pathname ends in /lib64, we assume a 64-bit ABI. Otherwise we use the | 170 | dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI. |
167 | dnl default, namely "lib". | 171 | dnl Otherwise we use the default, namely "lib". |
172 | dnl On Solaris systems, the current practice is that on a system supporting | ||
173 | dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under | ||
174 | dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or | ||
175 | dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib. | ||
176 | AC_REQUIRE([AC_CANONICAL_HOST]) | ||
168 | acl_libdirstem=lib | 177 | acl_libdirstem=lib |
169 | searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` | 178 | acl_libdirstem2= |
170 | if test -n "$searchpath"; then | 179 | case "$host_os" in |
171 | acl_save_IFS="${IFS= }"; IFS=":" | 180 | solaris*) |
172 | for searchdir in $searchpath; do | 181 | dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment |
173 | if test -d "$searchdir"; then | 182 | dnl <http://docs.sun.com/app/docs/doc/816-5138/dev-env?l=en&a=view>. |
174 | case "$searchdir" in | 183 | dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link." |
175 | */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; | 184 | dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the |
176 | *) searchdir=`cd "$searchdir" && pwd` | 185 | dnl symlink is missing, so we set acl_libdirstem2 too. |
177 | case "$searchdir" in | 186 | AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit], |
178 | */lib64 ) acl_libdirstem=lib64 ;; | 187 | [AC_EGREP_CPP([sixtyfour bits], [ |
179 | esac ;; | 188 | #ifdef _LP64 |
189 | sixtyfour bits | ||
190 | #endif | ||
191 | ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no]) | ||
192 | ]) | ||
193 | if test $gl_cv_solaris_64bit = yes; then | ||
194 | acl_libdirstem=lib/64 | ||
195 | case "$host_cpu" in | ||
196 | sparc*) acl_libdirstem2=lib/sparcv9 ;; | ||
197 | i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; | ||
180 | esac | 198 | esac |
181 | fi | 199 | fi |
182 | done | 200 | ;; |
183 | IFS="$acl_save_IFS" | 201 | *) |
184 | fi | 202 | searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` |
203 | if test -n "$searchpath"; then | ||
204 | acl_save_IFS="${IFS= }"; IFS=":" | ||
205 | for searchdir in $searchpath; do | ||
206 | if test -d "$searchdir"; then | ||
207 | case "$searchdir" in | ||
208 | */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; | ||
209 | *) searchdir=`cd "$searchdir" && pwd` | ||
210 | case "$searchdir" in | ||
211 | */lib64 ) acl_libdirstem=lib64 ;; | ||
212 | esac ;; | ||
213 | esac | ||
214 | fi | ||
215 | done | ||
216 | IFS="$acl_save_IFS" | ||
217 | fi | ||
218 | ;; | ||
219 | esac | ||
220 | test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" | ||
185 | ]) | 221 | ]) |
diff --git a/gl/m4/localcharset.m4 b/gl/m4/localcharset.m4 index b2b77338..e9601041 100644 --- a/gl/m4/localcharset.m4 +++ b/gl/m4/localcharset.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # localcharset.m4 serial 5 | 1 | # localcharset.m4 serial 6 |
2 | dnl Copyright (C) 2002, 2004, 2006 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002, 2004, 2006, 2009 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -8,7 +8,7 @@ AC_DEFUN([gl_LOCALCHARSET], | |||
8 | [ | 8 | [ |
9 | dnl Prerequisites of lib/localcharset.c. | 9 | dnl Prerequisites of lib/localcharset.c. |
10 | AC_REQUIRE([AM_LANGINFO_CODESET]) | 10 | AC_REQUIRE([AM_LANGINFO_CODESET]) |
11 | AC_CHECK_DECLS_ONCE(getc_unlocked) | 11 | AC_CHECK_DECLS_ONCE([getc_unlocked]) |
12 | 12 | ||
13 | dnl Prerequisites of the lib/Makefile.am snippet. | 13 | dnl Prerequisites of the lib/Makefile.am snippet. |
14 | AC_REQUIRE([AC_CANONICAL_HOST]) | 14 | AC_REQUIRE([AC_CANONICAL_HOST]) |
diff --git a/gl/m4/locale-fr.m4 b/gl/m4/locale-fr.m4 new file mode 100644 index 00000000..e471839e --- /dev/null +++ b/gl/m4/locale-fr.m4 | |||
@@ -0,0 +1,204 @@ | |||
1 | # locale-fr.m4 serial 10 | ||
2 | dnl Copyright (C) 2003, 2005-2009 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | ||
4 | dnl gives unlimited permission to copy and/or distribute it, | ||
5 | dnl with or without modifications, as long as this notice is preserved. | ||
6 | |||
7 | dnl From Bruno Haible. | ||
8 | |||
9 | dnl Determine the name of a french locale with traditional encoding. | ||
10 | AC_DEFUN([gt_LOCALE_FR], | ||
11 | [ | ||
12 | AC_REQUIRE([AC_CANONICAL_HOST]) | ||
13 | AC_REQUIRE([AM_LANGINFO_CODESET]) | ||
14 | AC_CACHE_CHECK([for a traditional french locale], [gt_cv_locale_fr], [ | ||
15 | macosx= | ||
16 | changequote(,)dnl | ||
17 | case "$host_os" in | ||
18 | darwin[56]*) ;; | ||
19 | darwin*) macosx=yes;; | ||
20 | esac | ||
21 | changequote([,])dnl | ||
22 | if test -n "$macosx"; then | ||
23 | # On Darwin 7 (MacOS X), the libc supports some locales in non-UTF-8 | ||
24 | # encodings, but the kernel does not support them. The documentation | ||
25 | # says: | ||
26 | # "... all code that calls BSD system routines should ensure | ||
27 | # that the const *char parameters of these routines are in UTF-8 | ||
28 | # encoding. All BSD system functions expect their string | ||
29 | # parameters to be in UTF-8 encoding and nothing else." | ||
30 | # See the comments in config.charset. Therefore we bypass the test. | ||
31 | gt_cv_locale_fr=none | ||
32 | else | ||
33 | AC_LANG_CONFTEST([AC_LANG_SOURCE([ | ||
34 | changequote(,)dnl | ||
35 | #include <locale.h> | ||
36 | #include <time.h> | ||
37 | #if HAVE_LANGINFO_CODESET | ||
38 | # include <langinfo.h> | ||
39 | #endif | ||
40 | #include <stdlib.h> | ||
41 | #include <string.h> | ||
42 | struct tm t; | ||
43 | char buf[16]; | ||
44 | int main () { | ||
45 | /* Check whether the given locale name is recognized by the system. */ | ||
46 | if (setlocale (LC_ALL, "") == NULL) return 1; | ||
47 | /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". | ||
48 | On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) | ||
49 | is empty, and the behaviour of Tcl 8.4 in this locale is not useful. | ||
50 | On OpenBSD 4.0, when an unsupported locale is specified, setlocale() | ||
51 | succeeds but then nl_langinfo(CODESET) is "646". In this situation, | ||
52 | some unit tests fail. */ | ||
53 | #if HAVE_LANGINFO_CODESET | ||
54 | { | ||
55 | const char *cs = nl_langinfo (CODESET); | ||
56 | if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) | ||
57 | return 1; | ||
58 | } | ||
59 | #endif | ||
60 | #ifdef __CYGWIN__ | ||
61 | /* On Cygwin, avoid locale names without encoding suffix, because the | ||
62 | locale_charset() function relies on the encoding suffix. Note that | ||
63 | LC_ALL is set on the command line. */ | ||
64 | if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; | ||
65 | #endif | ||
66 | /* Check whether in the abbreviation of the second month, the second | ||
67 | character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only | ||
68 | one byte long. This excludes the UTF-8 encoding. */ | ||
69 | t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; | ||
70 | if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1; | ||
71 | /* Check whether the decimal separator is a comma. | ||
72 | On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point | ||
73 | are nl_langinfo(RADIXCHAR) are both ".". */ | ||
74 | if (localeconv () ->decimal_point[0] != ',') return 1; | ||
75 | return 0; | ||
76 | } | ||
77 | changequote([,])dnl | ||
78 | ])]) | ||
79 | if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then | ||
80 | # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because | ||
81 | # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the | ||
82 | # configure script would override the LC_ALL setting. Likewise for | ||
83 | # LC_CTYPE, which is also set at the beginning of the configure script. | ||
84 | # Test for the usual locale name. | ||
85 | if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | ||
86 | gt_cv_locale_fr=fr_FR | ||
87 | else | ||
88 | # Test for the locale name with explicit encoding suffix. | ||
89 | if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | ||
90 | gt_cv_locale_fr=fr_FR.ISO-8859-1 | ||
91 | else | ||
92 | # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name. | ||
93 | if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | ||
94 | gt_cv_locale_fr=fr_FR.ISO8859-1 | ||
95 | else | ||
96 | # Test for the HP-UX locale name. | ||
97 | if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | ||
98 | gt_cv_locale_fr=fr_FR.iso88591 | ||
99 | else | ||
100 | # Test for the Solaris 7 locale name. | ||
101 | if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | ||
102 | gt_cv_locale_fr=fr | ||
103 | else | ||
104 | # None found. | ||
105 | gt_cv_locale_fr=none | ||
106 | fi | ||
107 | fi | ||
108 | fi | ||
109 | fi | ||
110 | fi | ||
111 | fi | ||
112 | rm -fr conftest* | ||
113 | fi | ||
114 | ]) | ||
115 | LOCALE_FR=$gt_cv_locale_fr | ||
116 | AC_SUBST([LOCALE_FR]) | ||
117 | ]) | ||
118 | |||
119 | dnl Determine the name of a french locale with UTF-8 encoding. | ||
120 | AC_DEFUN([gt_LOCALE_FR_UTF8], | ||
121 | [ | ||
122 | AC_REQUIRE([AM_LANGINFO_CODESET]) | ||
123 | AC_CACHE_CHECK([for a french Unicode locale], [gt_cv_locale_fr_utf8], [ | ||
124 | AC_LANG_CONFTEST([AC_LANG_SOURCE([ | ||
125 | changequote(,)dnl | ||
126 | #include <locale.h> | ||
127 | #include <time.h> | ||
128 | #if HAVE_LANGINFO_CODESET | ||
129 | # include <langinfo.h> | ||
130 | #endif | ||
131 | #include <stdlib.h> | ||
132 | #include <string.h> | ||
133 | struct tm t; | ||
134 | char buf[16]; | ||
135 | int main () { | ||
136 | /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl | ||
137 | imitates locale dependent behaviour by looking at the environment | ||
138 | variables, and all locales use the UTF-8 encoding. */ | ||
139 | #if !(defined __BEOS__ || defined __HAIKU__) | ||
140 | /* Check whether the given locale name is recognized by the system. */ | ||
141 | if (setlocale (LC_ALL, "") == NULL) return 1; | ||
142 | /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". | ||
143 | On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) | ||
144 | is empty, and the behaviour of Tcl 8.4 in this locale is not useful. | ||
145 | On OpenBSD 4.0, when an unsupported locale is specified, setlocale() | ||
146 | succeeds but then nl_langinfo(CODESET) is "646". In this situation, | ||
147 | some unit tests fail. */ | ||
148 | # if HAVE_LANGINFO_CODESET | ||
149 | { | ||
150 | const char *cs = nl_langinfo (CODESET); | ||
151 | if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) | ||
152 | return 1; | ||
153 | } | ||
154 | # endif | ||
155 | # ifdef __CYGWIN__ | ||
156 | /* On Cygwin, avoid locale names without encoding suffix, because the | ||
157 | locale_charset() function relies on the encoding suffix. Note that | ||
158 | LC_ALL is set on the command line. */ | ||
159 | if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; | ||
160 | # endif | ||
161 | /* Check whether in the abbreviation of the second month, the second | ||
162 | character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is | ||
163 | two bytes long, with UTF-8 encoding. */ | ||
164 | t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; | ||
165 | if (strftime (buf, sizeof (buf), "%b", &t) < 4 | ||
166 | || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v') | ||
167 | return 1; | ||
168 | #endif | ||
169 | /* Check whether the decimal separator is a comma. | ||
170 | On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point | ||
171 | are nl_langinfo(RADIXCHAR) are both ".". */ | ||
172 | if (localeconv () ->decimal_point[0] != ',') return 1; | ||
173 | return 0; | ||
174 | } | ||
175 | changequote([,])dnl | ||
176 | ])]) | ||
177 | if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then | ||
178 | # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because | ||
179 | # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the | ||
180 | # configure script would override the LC_ALL setting. Likewise for | ||
181 | # LC_CTYPE, which is also set at the beginning of the configure script. | ||
182 | # Test for the usual locale name. | ||
183 | if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | ||
184 | gt_cv_locale_fr_utf8=fr_FR | ||
185 | else | ||
186 | # Test for the locale name with explicit encoding suffix. | ||
187 | if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | ||
188 | gt_cv_locale_fr_utf8=fr_FR.UTF-8 | ||
189 | else | ||
190 | # Test for the Solaris 7 locale name. | ||
191 | if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | ||
192 | gt_cv_locale_fr_utf8=fr.UTF-8 | ||
193 | else | ||
194 | # None found. | ||
195 | gt_cv_locale_fr_utf8=none | ||
196 | fi | ||
197 | fi | ||
198 | fi | ||
199 | fi | ||
200 | rm -fr conftest* | ||
201 | ]) | ||
202 | LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8 | ||
203 | AC_SUBST([LOCALE_FR_UTF8]) | ||
204 | ]) | ||
diff --git a/gl/m4/locale-ja.m4 b/gl/m4/locale-ja.m4 new file mode 100644 index 00000000..c80c5af9 --- /dev/null +++ b/gl/m4/locale-ja.m4 | |||
@@ -0,0 +1,126 @@ | |||
1 | # locale-ja.m4 serial 6 | ||
2 | dnl Copyright (C) 2003, 2005-2009 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | ||
4 | dnl gives unlimited permission to copy and/or distribute it, | ||
5 | dnl with or without modifications, as long as this notice is preserved. | ||
6 | |||
7 | dnl From Bruno Haible. | ||
8 | |||
9 | dnl Determine the name of a japanese locale with EUC-JP encoding. | ||
10 | AC_DEFUN([gt_LOCALE_JA], | ||
11 | [ | ||
12 | AC_REQUIRE([AC_CANONICAL_HOST]) | ||
13 | AC_REQUIRE([AM_LANGINFO_CODESET]) | ||
14 | AC_CACHE_CHECK([for a traditional japanese locale], [gt_cv_locale_ja], [ | ||
15 | macosx= | ||
16 | changequote(,)dnl | ||
17 | case "$host_os" in | ||
18 | darwin[56]*) ;; | ||
19 | darwin*) macosx=yes;; | ||
20 | esac | ||
21 | changequote([,])dnl | ||
22 | if test -n "$macosx"; then | ||
23 | # On Darwin 7 (MacOS X), the libc supports some locales in non-UTF-8 | ||
24 | # encodings, but the kernel does not support them. The documentation | ||
25 | # says: | ||
26 | # "... all code that calls BSD system routines should ensure | ||
27 | # that the const *char parameters of these routines are in UTF-8 | ||
28 | # encoding. All BSD system functions expect their string | ||
29 | # parameters to be in UTF-8 encoding and nothing else." | ||
30 | # See the comments in config.charset. Therefore we bypass the test. | ||
31 | gt_cv_locale_ja=none | ||
32 | else | ||
33 | AC_LANG_CONFTEST([AC_LANG_SOURCE([ | ||
34 | changequote(,)dnl | ||
35 | #include <locale.h> | ||
36 | #include <time.h> | ||
37 | #if HAVE_LANGINFO_CODESET | ||
38 | # include <langinfo.h> | ||
39 | #endif | ||
40 | #include <stdlib.h> | ||
41 | #include <string.h> | ||
42 | struct tm t; | ||
43 | char buf[16]; | ||
44 | int main () | ||
45 | { | ||
46 | const char *p; | ||
47 | /* Check whether the given locale name is recognized by the system. */ | ||
48 | if (setlocale (LC_ALL, "") == NULL) return 1; | ||
49 | /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". | ||
50 | On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) | ||
51 | is empty, and the behaviour of Tcl 8.4 in this locale is not useful. | ||
52 | On OpenBSD 4.0, when an unsupported locale is specified, setlocale() | ||
53 | succeeds but then nl_langinfo(CODESET) is "646". In this situation, | ||
54 | some unit tests fail. */ | ||
55 | #if HAVE_LANGINFO_CODESET | ||
56 | { | ||
57 | const char *cs = nl_langinfo (CODESET); | ||
58 | if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) | ||
59 | return 1; | ||
60 | } | ||
61 | #endif | ||
62 | #ifdef __CYGWIN__ | ||
63 | /* On Cygwin, avoid locale names without encoding suffix, because the | ||
64 | locale_charset() function relies on the encoding suffix. Note that | ||
65 | LC_ALL is set on the command line. */ | ||
66 | if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; | ||
67 | #endif | ||
68 | /* Check whether MB_CUR_MAX is > 1. This excludes the dysfunctional locales | ||
69 | on Cygwin 1.5.x. */ | ||
70 | if (MB_CUR_MAX == 1) | ||
71 | return 1; | ||
72 | /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. | ||
73 | This excludes the UTF-8 encoding. */ | ||
74 | t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; | ||
75 | if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; | ||
76 | for (p = buf; *p != '\0'; p++) | ||
77 | if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) | ||
78 | return 1; | ||
79 | return 0; | ||
80 | } | ||
81 | changequote([,])dnl | ||
82 | ])]) | ||
83 | if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then | ||
84 | # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because | ||
85 | # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the | ||
86 | # configure script would override the LC_ALL setting. Likewise for | ||
87 | # LC_CTYPE, which is also set at the beginning of the configure script. | ||
88 | # Test for the AIX locale name. | ||
89 | if (LC_ALL=ja_JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | ||
90 | gt_cv_locale_ja=ja_JP | ||
91 | else | ||
92 | # Test for the locale name with explicit encoding suffix. | ||
93 | if (LC_ALL=ja_JP.EUC-JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | ||
94 | gt_cv_locale_ja=ja_JP.EUC-JP | ||
95 | else | ||
96 | # Test for the HP-UX, OSF/1, NetBSD locale name. | ||
97 | if (LC_ALL=ja_JP.eucJP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | ||
98 | gt_cv_locale_ja=ja_JP.eucJP | ||
99 | else | ||
100 | # Test for the IRIX, FreeBSD locale name. | ||
101 | if (LC_ALL=ja_JP.EUC LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | ||
102 | gt_cv_locale_ja=ja_JP.EUC | ||
103 | else | ||
104 | # Test for the Solaris 7 locale name. | ||
105 | if (LC_ALL=ja LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | ||
106 | gt_cv_locale_ja=ja | ||
107 | else | ||
108 | # Special test for NetBSD 1.6. | ||
109 | if test -f /usr/share/locale/ja_JP.eucJP/LC_CTYPE; then | ||
110 | gt_cv_locale_ja=ja_JP.eucJP | ||
111 | else | ||
112 | # None found. | ||
113 | gt_cv_locale_ja=none | ||
114 | fi | ||
115 | fi | ||
116 | fi | ||
117 | fi | ||
118 | fi | ||
119 | fi | ||
120 | fi | ||
121 | rm -fr conftest* | ||
122 | fi | ||
123 | ]) | ||
124 | LOCALE_JA=$gt_cv_locale_ja | ||
125 | AC_SUBST([LOCALE_JA]) | ||
126 | ]) | ||
diff --git a/gl/m4/locale-zh.m4 b/gl/m4/locale-zh.m4 new file mode 100644 index 00000000..ba7f9c5c --- /dev/null +++ b/gl/m4/locale-zh.m4 | |||
@@ -0,0 +1,111 @@ | |||
1 | # locale-zh.m4 serial 5 | ||
2 | dnl Copyright (C) 2003, 2005-2009 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | ||
4 | dnl gives unlimited permission to copy and/or distribute it, | ||
5 | dnl with or without modifications, as long as this notice is preserved. | ||
6 | |||
7 | dnl From Bruno Haible. | ||
8 | |||
9 | dnl Determine the name of a chinese locale with GB18030 encoding. | ||
10 | AC_DEFUN([gt_LOCALE_ZH_CN], | ||
11 | [ | ||
12 | AC_REQUIRE([AC_CANONICAL_HOST]) | ||
13 | AC_REQUIRE([AM_LANGINFO_CODESET]) | ||
14 | AC_CACHE_CHECK([for a transitional chinese locale], [gt_cv_locale_zh_CN], [ | ||
15 | macosx= | ||
16 | changequote(,)dnl | ||
17 | case "$host_os" in | ||
18 | darwin[56]*) ;; | ||
19 | darwin*) macosx=yes;; | ||
20 | esac | ||
21 | changequote([,])dnl | ||
22 | if test -n "$macosx"; then | ||
23 | # On Darwin 7 (MacOS X), the libc supports some locales in non-UTF-8 | ||
24 | # encodings, but the kernel does not support them. The documentation | ||
25 | # says: | ||
26 | # "... all code that calls BSD system routines should ensure | ||
27 | # that the const *char parameters of these routines are in UTF-8 | ||
28 | # encoding. All BSD system functions expect their string | ||
29 | # parameters to be in UTF-8 encoding and nothing else." | ||
30 | # See the comments in config.charset. Therefore we bypass the test. | ||
31 | gt_cv_locale_zh_CN=none | ||
32 | else | ||
33 | AC_LANG_CONFTEST([AC_LANG_SOURCE([ | ||
34 | changequote(,)dnl | ||
35 | #include <locale.h> | ||
36 | #include <stdlib.h> | ||
37 | #include <time.h> | ||
38 | #if HAVE_LANGINFO_CODESET | ||
39 | # include <langinfo.h> | ||
40 | #endif | ||
41 | #include <stdlib.h> | ||
42 | #include <string.h> | ||
43 | struct tm t; | ||
44 | char buf[16]; | ||
45 | int main () | ||
46 | { | ||
47 | const char *p; | ||
48 | /* Check whether the given locale name is recognized by the system. */ | ||
49 | if (setlocale (LC_ALL, "") == NULL) return 1; | ||
50 | /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". | ||
51 | On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) | ||
52 | is empty, and the behaviour of Tcl 8.4 in this locale is not useful. | ||
53 | On OpenBSD 4.0, when an unsupported locale is specified, setlocale() | ||
54 | succeeds but then nl_langinfo(CODESET) is "646". In this situation, | ||
55 | some unit tests fail. */ | ||
56 | #if HAVE_LANGINFO_CODESET | ||
57 | { | ||
58 | const char *cs = nl_langinfo (CODESET); | ||
59 | if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) | ||
60 | return 1; | ||
61 | } | ||
62 | #endif | ||
63 | #ifdef __CYGWIN__ | ||
64 | /* On Cygwin, avoid locale names without encoding suffix, because the | ||
65 | locale_charset() function relies on the encoding suffix. Note that | ||
66 | LC_ALL is set on the command line. */ | ||
67 | if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; | ||
68 | #endif | ||
69 | /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. | ||
70 | This excludes the UTF-8 encoding. */ | ||
71 | t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; | ||
72 | if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; | ||
73 | for (p = buf; *p != '\0'; p++) | ||
74 | if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) | ||
75 | return 1; | ||
76 | /* Check whether a typical GB18030 multibyte sequence is recognized as a | ||
77 | single wide character. This excludes the GB2312 and GBK encodings. */ | ||
78 | if (mblen ("\203\062\332\066", 5) != 4) | ||
79 | return 1; | ||
80 | return 0; | ||
81 | } | ||
82 | changequote([,])dnl | ||
83 | ])]) | ||
84 | if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then | ||
85 | # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because | ||
86 | # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the | ||
87 | # configure script would override the LC_ALL setting. Likewise for | ||
88 | # LC_CTYPE, which is also set at the beginning of the configure script. | ||
89 | # Test for the locale name without encoding suffix. | ||
90 | if (LC_ALL=zh_CN LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | ||
91 | gt_cv_locale_zh_CN=zh_CN | ||
92 | else | ||
93 | # Test for the locale name with explicit encoding suffix. | ||
94 | if (LC_ALL=zh_CN.GB18030 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | ||
95 | gt_cv_locale_zh_CN=zh_CN.GB18030 | ||
96 | else | ||
97 | # None found. | ||
98 | gt_cv_locale_zh_CN=none | ||
99 | fi | ||
100 | fi | ||
101 | else | ||
102 | # If there was a link error, due to mblen(), the system is so old that | ||
103 | # it certainly doesn't have a chinese locale. | ||
104 | gt_cv_locale_zh_CN=none | ||
105 | fi | ||
106 | rm -fr conftest* | ||
107 | fi | ||
108 | ]) | ||
109 | LOCALE_ZH_CN=$gt_cv_locale_zh_CN | ||
110 | AC_SUBST([LOCALE_ZH_CN]) | ||
111 | ]) | ||
diff --git a/gl/m4/lock.m4 b/gl/m4/lock.m4 index 91119335..b416e31a 100644 --- a/gl/m4/lock.m4 +++ b/gl/m4/lock.m4 | |||
@@ -1,259 +1,33 @@ | |||
1 | # lock.m4 serial 7 (gettext-0.17) | 1 | # lock.m4 serial 10 (gettext-0.18) |
2 | dnl Copyright (C) 2005-2007 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2005-2009 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
6 | 6 | ||
7 | dnl From Bruno Haible. | 7 | dnl From Bruno Haible. |
8 | 8 | ||
9 | dnl Tests for a multithreading library to be used. | 9 | AC_DEFUN([gl_LOCK], |
10 | dnl Defines at most one of the macros USE_POSIX_THREADS, USE_SOLARIS_THREADS, | ||
11 | dnl USE_PTH_THREADS, USE_WIN32_THREADS | ||
12 | dnl Sets the variables LIBTHREAD and LTLIBTHREAD to the linker options for use | ||
13 | dnl in a Makefile (LIBTHREAD for use without libtool, LTLIBTHREAD for use with | ||
14 | dnl libtool). | ||
15 | dnl Sets the variables LIBMULTITHREAD and LTLIBMULTITHREAD similarly, for | ||
16 | dnl programs that really need multithread functionality. The difference | ||
17 | dnl between LIBTHREAD and LIBMULTITHREAD is that on platforms supporting weak | ||
18 | dnl symbols, typically LIBTHREAD="" whereas LIBMULTITHREAD="-lpthread". | ||
19 | dnl Adds to CPPFLAGS the flag -D_REENTRANT or -D_THREAD_SAFE if needed for | ||
20 | dnl multithread-safe programs. | ||
21 | |||
22 | AC_DEFUN([gl_LOCK_EARLY], | ||
23 | [ | ||
24 | AC_REQUIRE([gl_LOCK_EARLY_BODY]) | ||
25 | ]) | ||
26 | |||
27 | dnl The guts of gl_LOCK_EARLY. Needs to be expanded only once. | ||
28 | |||
29 | AC_DEFUN([gl_LOCK_EARLY_BODY], | ||
30 | [ | ||
31 | dnl Ordering constraints: This macro modifies CPPFLAGS in a way that | ||
32 | dnl influences the result of the autoconf tests that test for *_unlocked | ||
33 | dnl declarations, on AIX 5 at least. Therefore it must come early. | ||
34 | AC_BEFORE([$0], [gl_FUNC_GLIBC_UNLOCKED_IO])dnl | ||
35 | AC_BEFORE([$0], [gl_ARGP])dnl | ||
36 | |||
37 | AC_REQUIRE([AC_CANONICAL_HOST]) | ||
38 | dnl _GNU_SOURCE is needed for pthread_rwlock_t on glibc systems. | ||
39 | dnl AC_USE_SYSTEM_EXTENSIONS was introduced in autoconf 2.60 and obsoletes | ||
40 | dnl AC_GNU_SOURCE. | ||
41 | m4_ifdef([AC_USE_SYSTEM_EXTENSIONS], | ||
42 | [AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])], | ||
43 | [AC_REQUIRE([AC_GNU_SOURCE])]) | ||
44 | dnl Check for multithreading. | ||
45 | AC_ARG_ENABLE(threads, | ||
46 | AC_HELP_STRING([--enable-threads={posix|solaris|pth|win32}], [specify multithreading API]) | ||
47 | AC_HELP_STRING([--disable-threads], [build without multithread safety]), | ||
48 | [gl_use_threads=$enableval], | ||
49 | [case "$host_os" in | ||
50 | dnl Disable multithreading by default on OSF/1, because it interferes | ||
51 | dnl with fork()/exec(): When msgexec is linked with -lpthread, its child | ||
52 | dnl process gets an endless segmentation fault inside execvp(). | ||
53 | osf*) gl_use_threads=no ;; | ||
54 | *) gl_use_threads=yes ;; | ||
55 | esac | ||
56 | ]) | ||
57 | if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then | ||
58 | # For using <pthread.h>: | ||
59 | case "$host_os" in | ||
60 | osf*) | ||
61 | # On OSF/1, the compiler needs the flag -D_REENTRANT so that it | ||
62 | # groks <pthread.h>. cc also understands the flag -pthread, but | ||
63 | # we don't use it because 1. gcc-2.95 doesn't understand -pthread, | ||
64 | # 2. putting a flag into CPPFLAGS that has an effect on the linker | ||
65 | # causes the AC_TRY_LINK test below to succeed unexpectedly, | ||
66 | # leading to wrong values of LIBTHREAD and LTLIBTHREAD. | ||
67 | CPPFLAGS="$CPPFLAGS -D_REENTRANT" | ||
68 | ;; | ||
69 | esac | ||
70 | # Some systems optimize for single-threaded programs by default, and | ||
71 | # need special flags to disable these optimizations. For example, the | ||
72 | # definition of 'errno' in <errno.h>. | ||
73 | case "$host_os" in | ||
74 | aix* | freebsd*) CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" ;; | ||
75 | solaris*) CPPFLAGS="$CPPFLAGS -D_REENTRANT" ;; | ||
76 | esac | ||
77 | fi | ||
78 | ]) | ||
79 | |||
80 | dnl The guts of gl_LOCK. Needs to be expanded only once. | ||
81 | |||
82 | AC_DEFUN([gl_LOCK_BODY], | ||
83 | [ | 10 | [ |
84 | AC_REQUIRE([gl_LOCK_EARLY_BODY]) | 11 | AC_REQUIRE([gl_THREADLIB]) |
85 | gl_threads_api=none | 12 | if test "$gl_threads_api" = posix; then |
86 | LIBTHREAD= | 13 | # OSF/1 4.0 and MacOS X 10.1 lack the pthread_rwlock_t type and the |
87 | LTLIBTHREAD= | 14 | # pthread_rwlock_* functions. |
88 | LIBMULTITHREAD= | 15 | AC_CHECK_TYPE([pthread_rwlock_t], |
89 | LTLIBMULTITHREAD= | 16 | [AC_DEFINE([HAVE_PTHREAD_RWLOCK], [1], |
90 | if test "$gl_use_threads" != no; then | 17 | [Define if the POSIX multithreading library has read/write locks.])], |
91 | dnl Check whether the compiler and linker support weak declarations. | 18 | [], |
92 | AC_MSG_CHECKING([whether imported symbols can be declared weak]) | 19 | [#include <pthread.h>]) |
93 | gl_have_weak=no | 20 | # glibc defines PTHREAD_MUTEX_RECURSIVE as enum, not as a macro. |
94 | AC_TRY_LINK([extern void xyzzy (); | 21 | AC_TRY_COMPILE([#include <pthread.h>], |
95 | #pragma weak xyzzy], [xyzzy();], [gl_have_weak=yes]) | 22 | [#if __FreeBSD__ == 4 |
96 | AC_MSG_RESULT([$gl_have_weak]) | ||
97 | if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then | ||
98 | # On OSF/1, the compiler needs the flag -pthread or -D_REENTRANT so that | ||
99 | # it groks <pthread.h>. It's added above, in gl_LOCK_EARLY_BODY. | ||
100 | AC_CHECK_HEADER(pthread.h, gl_have_pthread_h=yes, gl_have_pthread_h=no) | ||
101 | if test "$gl_have_pthread_h" = yes; then | ||
102 | # Other possible tests: | ||
103 | # -lpthreads (FSU threads, PCthreads) | ||
104 | # -lgthreads | ||
105 | gl_have_pthread= | ||
106 | # Test whether both pthread_mutex_lock and pthread_mutexattr_init exist | ||
107 | # in libc. IRIX 6.5 has the first one in both libc and libpthread, but | ||
108 | # the second one only in libpthread, and lock.c needs it. | ||
109 | AC_TRY_LINK([#include <pthread.h>], | ||
110 | [pthread_mutex_lock((pthread_mutex_t*)0); | ||
111 | pthread_mutexattr_init((pthread_mutexattr_t*)0);], | ||
112 | [gl_have_pthread=yes]) | ||
113 | # Test for libpthread by looking for pthread_kill. (Not pthread_self, | ||
114 | # since it is defined as a macro on OSF/1.) | ||
115 | if test -n "$gl_have_pthread"; then | ||
116 | # The program links fine without libpthread. But it may actually | ||
117 | # need to link with libpthread in order to create multiple threads. | ||
118 | AC_CHECK_LIB(pthread, pthread_kill, | ||
119 | [LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread | ||
120 | # On Solaris and HP-UX, most pthread functions exist also in libc. | ||
121 | # Therefore pthread_in_use() needs to actually try to create a | ||
122 | # thread: pthread_create from libc will fail, whereas | ||
123 | # pthread_create will actually create a thread. | ||
124 | case "$host_os" in | ||
125 | solaris* | hpux*) | ||
126 | AC_DEFINE([PTHREAD_IN_USE_DETECTION_HARD], 1, | ||
127 | [Define if the pthread_in_use() detection is hard.]) | ||
128 | esac | ||
129 | ]) | ||
130 | else | ||
131 | # Some library is needed. Try libpthread and libc_r. | ||
132 | AC_CHECK_LIB(pthread, pthread_kill, | ||
133 | [gl_have_pthread=yes | ||
134 | LIBTHREAD=-lpthread LTLIBTHREAD=-lpthread | ||
135 | LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread]) | ||
136 | if test -z "$gl_have_pthread"; then | ||
137 | # For FreeBSD 4. | ||
138 | AC_CHECK_LIB(c_r, pthread_kill, | ||
139 | [gl_have_pthread=yes | ||
140 | LIBTHREAD=-lc_r LTLIBTHREAD=-lc_r | ||
141 | LIBMULTITHREAD=-lc_r LTLIBMULTITHREAD=-lc_r]) | ||
142 | fi | ||
143 | fi | ||
144 | if test -n "$gl_have_pthread"; then | ||
145 | gl_threads_api=posix | ||
146 | AC_DEFINE([USE_POSIX_THREADS], 1, | ||
147 | [Define if the POSIX multithreading library can be used.]) | ||
148 | if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then | ||
149 | if test $gl_have_weak = yes; then | ||
150 | AC_DEFINE([USE_POSIX_THREADS_WEAK], 1, | ||
151 | [Define if references to the POSIX multithreading library should be made weak.]) | ||
152 | LIBTHREAD= | ||
153 | LTLIBTHREAD= | ||
154 | fi | ||
155 | fi | ||
156 | # OSF/1 4.0 and MacOS X 10.1 lack the pthread_rwlock_t type and the | ||
157 | # pthread_rwlock_* functions. | ||
158 | AC_CHECK_TYPE([pthread_rwlock_t], | ||
159 | [AC_DEFINE([HAVE_PTHREAD_RWLOCK], 1, | ||
160 | [Define if the POSIX multithreading library has read/write locks.])], | ||
161 | [], | ||
162 | [#include <pthread.h>]) | ||
163 | # glibc defines PTHREAD_MUTEX_RECURSIVE as enum, not as a macro. | ||
164 | AC_TRY_COMPILE([#include <pthread.h>], | ||
165 | [#if __FreeBSD__ == 4 | ||
166 | error "No, in FreeBSD 4.0 recursive mutexes actually don't work." | 23 | error "No, in FreeBSD 4.0 recursive mutexes actually don't work." |
167 | #else | 24 | #else |
168 | int x = (int)PTHREAD_MUTEX_RECURSIVE; | 25 | int x = (int)PTHREAD_MUTEX_RECURSIVE; |
169 | return !x; | 26 | return !x; |
170 | #endif], | 27 | #endif], |
171 | [AC_DEFINE([HAVE_PTHREAD_MUTEX_RECURSIVE], 1, | 28 | [AC_DEFINE([HAVE_PTHREAD_MUTEX_RECURSIVE], [1], |
172 | [Define if the <pthread.h> defines PTHREAD_MUTEX_RECURSIVE.])]) | 29 | [Define if the <pthread.h> defines PTHREAD_MUTEX_RECURSIVE.])]) |
173 | fi | ||
174 | fi | ||
175 | fi | ||
176 | if test -z "$gl_have_pthread"; then | ||
177 | if test "$gl_use_threads" = yes || test "$gl_use_threads" = solaris; then | ||
178 | gl_have_solaristhread= | ||
179 | gl_save_LIBS="$LIBS" | ||
180 | LIBS="$LIBS -lthread" | ||
181 | AC_TRY_LINK([#include <thread.h> | ||
182 | #include <synch.h>], | ||
183 | [thr_self();], | ||
184 | [gl_have_solaristhread=yes]) | ||
185 | LIBS="$gl_save_LIBS" | ||
186 | if test -n "$gl_have_solaristhread"; then | ||
187 | gl_threads_api=solaris | ||
188 | LIBTHREAD=-lthread | ||
189 | LTLIBTHREAD=-lthread | ||
190 | LIBMULTITHREAD="$LIBTHREAD" | ||
191 | LTLIBMULTITHREAD="$LTLIBTHREAD" | ||
192 | AC_DEFINE([USE_SOLARIS_THREADS], 1, | ||
193 | [Define if the old Solaris multithreading library can be used.]) | ||
194 | if test $gl_have_weak = yes; then | ||
195 | AC_DEFINE([USE_SOLARIS_THREADS_WEAK], 1, | ||
196 | [Define if references to the old Solaris multithreading library should be made weak.]) | ||
197 | LIBTHREAD= | ||
198 | LTLIBTHREAD= | ||
199 | fi | ||
200 | fi | ||
201 | fi | ||
202 | fi | ||
203 | if test "$gl_use_threads" = pth; then | ||
204 | gl_save_CPPFLAGS="$CPPFLAGS" | ||
205 | AC_LIB_LINKFLAGS(pth) | ||
206 | gl_have_pth= | ||
207 | gl_save_LIBS="$LIBS" | ||
208 | LIBS="$LIBS -lpth" | ||
209 | AC_TRY_LINK([#include <pth.h>], [pth_self();], gl_have_pth=yes) | ||
210 | LIBS="$gl_save_LIBS" | ||
211 | if test -n "$gl_have_pth"; then | ||
212 | gl_threads_api=pth | ||
213 | LIBTHREAD="$LIBPTH" | ||
214 | LTLIBTHREAD="$LTLIBPTH" | ||
215 | LIBMULTITHREAD="$LIBTHREAD" | ||
216 | LTLIBMULTITHREAD="$LTLIBTHREAD" | ||
217 | AC_DEFINE([USE_PTH_THREADS], 1, | ||
218 | [Define if the GNU Pth multithreading library can be used.]) | ||
219 | if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then | ||
220 | if test $gl_have_weak = yes; then | ||
221 | AC_DEFINE([USE_PTH_THREADS_WEAK], 1, | ||
222 | [Define if references to the GNU Pth multithreading library should be made weak.]) | ||
223 | LIBTHREAD= | ||
224 | LTLIBTHREAD= | ||
225 | fi | ||
226 | fi | ||
227 | else | ||
228 | CPPFLAGS="$gl_save_CPPFLAGS" | ||
229 | fi | ||
230 | fi | ||
231 | if test -z "$gl_have_pthread"; then | ||
232 | if test "$gl_use_threads" = yes || test "$gl_use_threads" = win32; then | ||
233 | if { case "$host_os" in | ||
234 | mingw*) true;; | ||
235 | *) false;; | ||
236 | esac | ||
237 | }; then | ||
238 | gl_threads_api=win32 | ||
239 | AC_DEFINE([USE_WIN32_THREADS], 1, | ||
240 | [Define if the Win32 multithreading API can be used.]) | ||
241 | fi | ||
242 | fi | ||
243 | fi | ||
244 | fi | 30 | fi |
245 | AC_MSG_CHECKING([for multithread API to use]) | ||
246 | AC_MSG_RESULT([$gl_threads_api]) | ||
247 | AC_SUBST(LIBTHREAD) | ||
248 | AC_SUBST(LTLIBTHREAD) | ||
249 | AC_SUBST(LIBMULTITHREAD) | ||
250 | AC_SUBST(LTLIBMULTITHREAD) | ||
251 | ]) | ||
252 | |||
253 | AC_DEFUN([gl_LOCK], | ||
254 | [ | ||
255 | AC_REQUIRE([gl_LOCK_EARLY]) | ||
256 | AC_REQUIRE([gl_LOCK_BODY]) | ||
257 | gl_PREREQ_LOCK | 31 | gl_PREREQ_LOCK |
258 | ]) | 32 | ]) |
259 | 33 | ||
@@ -261,56 +35,3 @@ AC_DEFUN([gl_LOCK], | |||
261 | AC_DEFUN([gl_PREREQ_LOCK], [ | 35 | AC_DEFUN([gl_PREREQ_LOCK], [ |
262 | AC_REQUIRE([AC_C_INLINE]) | 36 | AC_REQUIRE([AC_C_INLINE]) |
263 | ]) | 37 | ]) |
264 | |||
265 | dnl Survey of platforms: | ||
266 | dnl | ||
267 | dnl Platform Available Compiler Supports test-lock | ||
268 | dnl flavours option weak result | ||
269 | dnl --------------- --------- --------- -------- --------- | ||
270 | dnl Linux 2.4/glibc posix -lpthread Y OK | ||
271 | dnl | ||
272 | dnl GNU Hurd/glibc posix | ||
273 | dnl | ||
274 | dnl FreeBSD 5.3 posix -lc_r Y | ||
275 | dnl posix -lkse ? Y | ||
276 | dnl posix -lpthread ? Y | ||
277 | dnl posix -lthr Y | ||
278 | dnl | ||
279 | dnl FreeBSD 5.2 posix -lc_r Y | ||
280 | dnl posix -lkse Y | ||
281 | dnl posix -lthr Y | ||
282 | dnl | ||
283 | dnl FreeBSD 4.0,4.10 posix -lc_r Y OK | ||
284 | dnl | ||
285 | dnl NetBSD 1.6 -- | ||
286 | dnl | ||
287 | dnl OpenBSD 3.4 posix -lpthread Y OK | ||
288 | dnl | ||
289 | dnl MacOS X 10.[123] posix -lpthread Y OK | ||
290 | dnl | ||
291 | dnl Solaris 7,8,9 posix -lpthread Y Sol 7,8: 0.0; Sol 9: OK | ||
292 | dnl solaris -lthread Y Sol 7,8: 0.0; Sol 9: OK | ||
293 | dnl | ||
294 | dnl HP-UX 11 posix -lpthread N (cc) OK | ||
295 | dnl Y (gcc) | ||
296 | dnl | ||
297 | dnl IRIX 6.5 posix -lpthread Y 0.5 | ||
298 | dnl | ||
299 | dnl AIX 4.3,5.1 posix -lpthread N AIX 4: 0.5; AIX 5: OK | ||
300 | dnl | ||
301 | dnl OSF/1 4.0,5.1 posix -pthread (cc) N OK | ||
302 | dnl -lpthread (gcc) Y | ||
303 | dnl | ||
304 | dnl Cygwin posix -lpthread Y OK | ||
305 | dnl | ||
306 | dnl Any of the above pth -lpth 0.0 | ||
307 | dnl | ||
308 | dnl Mingw win32 N OK | ||
309 | dnl | ||
310 | dnl BeOS 5 -- | ||
311 | dnl | ||
312 | dnl The test-lock result shows what happens if in test-lock.c EXPLICIT_YIELD is | ||
313 | dnl turned off: | ||
314 | dnl OK if all three tests terminate OK, | ||
315 | dnl 0.5 if the first test terminates OK but the second one loops endlessly, | ||
316 | dnl 0.0 if the first test already loops endlessly. | ||
diff --git a/gl/m4/longlong.m4 b/gl/m4/longlong.m4 index 15bf9dac..eedc8d56 100644 --- a/gl/m4/longlong.m4 +++ b/gl/m4/longlong.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # longlong.m4 serial 13 | 1 | # longlong.m4 serial 14 |
2 | dnl Copyright (C) 1999-2007 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1999-2007, 2009 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -46,7 +46,7 @@ AC_DEFUN([AC_TYPE_LONG_LONG_INT], | |||
46 | [ac_cv_type_long_long_int=yes])], | 46 | [ac_cv_type_long_long_int=yes])], |
47 | [ac_cv_type_long_long_int=no])]) | 47 | [ac_cv_type_long_long_int=no])]) |
48 | if test $ac_cv_type_long_long_int = yes; then | 48 | if test $ac_cv_type_long_long_int = yes; then |
49 | AC_DEFINE([HAVE_LONG_LONG_INT], 1, | 49 | AC_DEFINE([HAVE_LONG_LONG_INT], [1], |
50 | [Define to 1 if the system has the type `long long int'.]) | 50 | [Define to 1 if the system has the type `long long int'.]) |
51 | fi | 51 | fi |
52 | ]) | 52 | ]) |
@@ -69,7 +69,7 @@ AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT], | |||
69 | [ac_cv_type_unsigned_long_long_int=yes], | 69 | [ac_cv_type_unsigned_long_long_int=yes], |
70 | [ac_cv_type_unsigned_long_long_int=no])]) | 70 | [ac_cv_type_unsigned_long_long_int=no])]) |
71 | if test $ac_cv_type_unsigned_long_long_int = yes; then | 71 | if test $ac_cv_type_unsigned_long_long_int = yes; then |
72 | AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], 1, | 72 | AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], [1], |
73 | [Define to 1 if the system has the type `unsigned long long int'.]) | 73 | [Define to 1 if the system has the type `unsigned long long int'.]) |
74 | fi | 74 | fi |
75 | ]) | 75 | ]) |
diff --git a/gl/m4/ls-mntd-fs.m4 b/gl/m4/ls-mntd-fs.m4 index 21ac4e74..32ccb984 100644 --- a/gl/m4/ls-mntd-fs.m4 +++ b/gl/m4/ls-mntd-fs.m4 | |||
@@ -1,8 +1,7 @@ | |||
1 | #serial 26 | 1 | # serial 27 |
2 | # How to list mounted file systems. | 2 | # How to list mounted file systems. |
3 | 3 | ||
4 | # Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2006 Free Software | 4 | # Copyright (C) 1998-2004, 2006, 2009 Free Software Foundation, Inc. |
5 | # Foundation, Inc. | ||
6 | # | 5 | # |
7 | # This file is free software; the Free Software Foundation | 6 | # This file is free software; the Free Software Foundation |
8 | # gives unlimited permission to copy and/or distribute it, | 7 | # gives unlimited permission to copy and/or distribute it, |
@@ -20,27 +19,27 @@ dnl | |||
20 | AC_DEFUN([AC_FUNC_GETMNTENT], | 19 | AC_DEFUN([AC_FUNC_GETMNTENT], |
21 | [# getmntent is in the standard C library on UNICOS, in -lsun on Irix 4, | 20 | [# getmntent is in the standard C library on UNICOS, in -lsun on Irix 4, |
22 | # -lseq on Dynix/PTX, -lgen on Unixware. | 21 | # -lseq on Dynix/PTX, -lgen on Unixware. |
23 | AC_SEARCH_LIBS(getmntent, [sun seq gen]) | 22 | AC_SEARCH_LIBS([getmntent], [sun seq gen]) |
24 | AC_CHECK_FUNCS(getmntent) | 23 | AC_CHECK_FUNCS([getmntent]) |
25 | ]) | 24 | ]) |
26 | 25 | ||
27 | # gl_LIST_MOUNTED_FILE_SYSTEMS([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) | 26 | # gl_LIST_MOUNTED_FILE_SYSTEMS([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) |
28 | AC_DEFUN([gl_LIST_MOUNTED_FILE_SYSTEMS], | 27 | AC_DEFUN([gl_LIST_MOUNTED_FILE_SYSTEMS], |
29 | [ | 28 | [ |
30 | AC_CHECK_FUNCS(listmntent getmntinfo) | 29 | AC_CHECK_FUNCS([listmntent getmntinfo]) |
31 | AC_CHECK_HEADERS_ONCE(sys/param.h sys/statvfs.h) | 30 | AC_CHECK_HEADERS_ONCE([sys/param.h sys/statvfs.h]) |
32 | 31 | ||
33 | # We must include grp.h before ucred.h on OSF V4.0, since ucred.h uses | 32 | # We must include grp.h before ucred.h on OSF V4.0, since ucred.h uses |
34 | # NGROUPS (as the array dimension for a struct member) without a definition. | 33 | # NGROUPS (as the array dimension for a struct member) without a definition. |
35 | AC_CHECK_HEADERS(sys/ucred.h, [], [], [#include <grp.h>]) | 34 | AC_CHECK_HEADERS([sys/ucred.h], [], [], [#include <grp.h>]) |
36 | 35 | ||
37 | AC_CHECK_HEADERS(sys/mount.h, [], [], | 36 | AC_CHECK_HEADERS([sys/mount.h], [], [], |
38 | [AC_INCLUDES_DEFAULT | 37 | [AC_INCLUDES_DEFAULT |
39 | [#if HAVE_SYS_PARAM_H | 38 | [#if HAVE_SYS_PARAM_H |
40 | #include <sys/param.h> | 39 | #include <sys/param.h> |
41 | #endif]]) | 40 | #endif]]) |
42 | 41 | ||
43 | AC_CHECK_HEADERS(mntent.h sys/fs_types.h) | 42 | AC_CHECK_HEADERS([mntent.h sys/fs_types.h]) |
44 | getfsstat_includes="\ | 43 | getfsstat_includes="\ |
45 | $ac_includes_default | 44 | $ac_includes_default |
46 | #if HAVE_SYS_PARAM_H | 45 | #if HAVE_SYS_PARAM_H |
@@ -78,9 +77,9 @@ AC_FUNC_GETMNTENT | |||
78 | if test -z "$ac_list_mounted_fs"; then | 77 | if test -z "$ac_list_mounted_fs"; then |
79 | # Cray UNICOS 9 | 78 | # Cray UNICOS 9 |
80 | AC_MSG_CHECKING([for listmntent of Cray/Unicos-9]) | 79 | AC_MSG_CHECKING([for listmntent of Cray/Unicos-9]) |
81 | AC_CACHE_VAL(fu_cv_sys_mounted_cray_listmntent, | 80 | AC_CACHE_VAL([fu_cv_sys_mounted_cray_listmntent], |
82 | [fu_cv_sys_mounted_cray_listmntent=no | 81 | [fu_cv_sys_mounted_cray_listmntent=no |
83 | AC_EGREP_CPP(yes, | 82 | AC_EGREP_CPP([yes], |
84 | [#ifdef _CRAY | 83 | [#ifdef _CRAY |
85 | yes | 84 | yes |
86 | #endif | 85 | #endif |
@@ -89,10 +88,10 @@ yes | |||
89 | ) | 88 | ) |
90 | ] | 89 | ] |
91 | ) | 90 | ) |
92 | AC_MSG_RESULT($fu_cv_sys_mounted_cray_listmntent) | 91 | AC_MSG_RESULT([$fu_cv_sys_mounted_cray_listmntent]) |
93 | if test $fu_cv_sys_mounted_cray_listmntent = yes; then | 92 | if test $fu_cv_sys_mounted_cray_listmntent = yes; then |
94 | ac_list_mounted_fs=found | 93 | ac_list_mounted_fs=found |
95 | AC_DEFINE(MOUNTED_LISTMNTENT, 1, | 94 | AC_DEFINE([MOUNTED_LISTMNTENT], [1], |
96 | [Define if there is a function named listmntent that can be used to | 95 | [Define if there is a function named listmntent that can be used to |
97 | list all mounted file systems. (UNICOS)]) | 96 | list all mounted file systems. (UNICOS)]) |
98 | fi | 97 | fi |
@@ -101,14 +100,14 @@ fi | |||
101 | if test -z "$ac_list_mounted_fs"; then | 100 | if test -z "$ac_list_mounted_fs"; then |
102 | # AIX. | 101 | # AIX. |
103 | AC_MSG_CHECKING([for mntctl function and struct vmount]) | 102 | AC_MSG_CHECKING([for mntctl function and struct vmount]) |
104 | AC_CACHE_VAL(fu_cv_sys_mounted_vmount, | 103 | AC_CACHE_VAL([fu_cv_sys_mounted_vmount], |
105 | [AC_TRY_CPP([#include <fshelp.h>], | 104 | [AC_TRY_CPP([#include <fshelp.h>], |
106 | fu_cv_sys_mounted_vmount=yes, | 105 | fu_cv_sys_mounted_vmount=yes, |
107 | fu_cv_sys_mounted_vmount=no)]) | 106 | fu_cv_sys_mounted_vmount=no)]) |
108 | AC_MSG_RESULT($fu_cv_sys_mounted_vmount) | 107 | AC_MSG_RESULT([$fu_cv_sys_mounted_vmount]) |
109 | if test $fu_cv_sys_mounted_vmount = yes; then | 108 | if test $fu_cv_sys_mounted_vmount = yes; then |
110 | ac_list_mounted_fs=found | 109 | ac_list_mounted_fs=found |
111 | AC_DEFINE(MOUNTED_VMOUNT, 1, | 110 | AC_DEFINE([MOUNTED_VMOUNT], [1], |
112 | [Define if there is a function named mntctl that can be used to read | 111 | [Define if there is a function named mntctl that can be used to read |
113 | the list of mounted file systems, and there is a system header file | 112 | the list of mounted file systems, and there is a system header file |
114 | that declares `struct vmount.' (AIX)]) | 113 | that declares `struct vmount.' (AIX)]) |
@@ -123,7 +122,7 @@ if test $ac_cv_func_getmntent = yes; then | |||
123 | if test -z "$ac_list_mounted_fs"; then | 122 | if test -z "$ac_list_mounted_fs"; then |
124 | # 4.3BSD, SunOS, HP-UX, Dynix, Irix | 123 | # 4.3BSD, SunOS, HP-UX, Dynix, Irix |
125 | AC_MSG_CHECKING([for one-argument getmntent function]) | 124 | AC_MSG_CHECKING([for one-argument getmntent function]) |
126 | AC_CACHE_VAL(fu_cv_sys_mounted_getmntent1, | 125 | AC_CACHE_VAL([fu_cv_sys_mounted_getmntent1], |
127 | [AC_TRY_COMPILE([ | 126 | [AC_TRY_COMPILE([ |
128 | /* SunOS 4.1.x /usr/include/mntent.h needs this for FILE */ | 127 | /* SunOS 4.1.x /usr/include/mntent.h needs this for FILE */ |
129 | #include <stdio.h> | 128 | #include <stdio.h> |
@@ -145,10 +144,10 @@ if test $ac_cv_func_getmntent = yes; then | |||
145 | if (sizeof mnt && sizeof table) return 0;], | 144 | if (sizeof mnt && sizeof table) return 0;], |
146 | fu_cv_sys_mounted_getmntent1=yes, | 145 | fu_cv_sys_mounted_getmntent1=yes, |
147 | fu_cv_sys_mounted_getmntent1=no)]) | 146 | fu_cv_sys_mounted_getmntent1=no)]) |
148 | AC_MSG_RESULT($fu_cv_sys_mounted_getmntent1) | 147 | AC_MSG_RESULT([$fu_cv_sys_mounted_getmntent1]) |
149 | if test $fu_cv_sys_mounted_getmntent1 = yes; then | 148 | if test $fu_cv_sys_mounted_getmntent1 = yes; then |
150 | ac_list_mounted_fs=found | 149 | ac_list_mounted_fs=found |
151 | AC_DEFINE(MOUNTED_GETMNTENT1, 1, | 150 | AC_DEFINE([MOUNTED_GETMNTENT1], [1], |
152 | [Define if there is a function named getmntent for reading the list | 151 | [Define if there is a function named getmntent for reading the list |
153 | of mounted file systems, and that function takes a single argument. | 152 | of mounted file systems, and that function takes a single argument. |
154 | (4.3BSD, SunOS, HP-UX, Dynix, Irix)]) | 153 | (4.3BSD, SunOS, HP-UX, Dynix, Irix)]) |
@@ -158,17 +157,17 @@ if test $ac_cv_func_getmntent = yes; then | |||
158 | if test -z "$ac_list_mounted_fs"; then | 157 | if test -z "$ac_list_mounted_fs"; then |
159 | # SVR4 | 158 | # SVR4 |
160 | AC_MSG_CHECKING([for two-argument getmntent function]) | 159 | AC_MSG_CHECKING([for two-argument getmntent function]) |
161 | AC_CACHE_VAL(fu_cv_sys_mounted_getmntent2, | 160 | AC_CACHE_VAL([fu_cv_sys_mounted_getmntent2], |
162 | [AC_EGREP_HEADER(getmntent, sys/mnttab.h, | 161 | [AC_EGREP_HEADER([getmntent], [sys/mnttab.h], |
163 | fu_cv_sys_mounted_getmntent2=yes, | 162 | fu_cv_sys_mounted_getmntent2=yes, |
164 | fu_cv_sys_mounted_getmntent2=no)]) | 163 | fu_cv_sys_mounted_getmntent2=no)]) |
165 | AC_MSG_RESULT($fu_cv_sys_mounted_getmntent2) | 164 | AC_MSG_RESULT([$fu_cv_sys_mounted_getmntent2]) |
166 | if test $fu_cv_sys_mounted_getmntent2 = yes; then | 165 | if test $fu_cv_sys_mounted_getmntent2 = yes; then |
167 | ac_list_mounted_fs=found | 166 | ac_list_mounted_fs=found |
168 | AC_DEFINE(MOUNTED_GETMNTENT2, 1, | 167 | AC_DEFINE([MOUNTED_GETMNTENT2], [1], |
169 | [Define if there is a function named getmntent for reading the list of | 168 | [Define if there is a function named getmntent for reading the list of |
170 | mounted file systems, and that function takes two arguments. (SVR4)]) | 169 | mounted file systems, and that function takes two arguments. (SVR4)]) |
171 | AC_CHECK_FUNCS(hasmntopt) | 170 | AC_CHECK_FUNCS([hasmntopt]) |
172 | fi | 171 | fi |
173 | fi | 172 | fi |
174 | 173 | ||
@@ -179,7 +178,7 @@ if test -z "$ac_list_mounted_fs"; then | |||
179 | # powerpc-apple-darwin1.3.7 needs sys/param.h sys/ucred.h sys/fs_types.h | 178 | # powerpc-apple-darwin1.3.7 needs sys/param.h sys/ucred.h sys/fs_types.h |
180 | 179 | ||
181 | AC_MSG_CHECKING([for getfsstat function]) | 180 | AC_MSG_CHECKING([for getfsstat function]) |
182 | AC_CACHE_VAL(fu_cv_sys_mounted_getfsstat, | 181 | AC_CACHE_VAL([fu_cv_sys_mounted_getfsstat], |
183 | [AC_TRY_LINK([ | 182 | [AC_TRY_LINK([ |
184 | #include <sys/types.h> | 183 | #include <sys/types.h> |
185 | #if HAVE_STRUCT_FSSTAT_F_FSTYPENAME | 184 | #if HAVE_STRUCT_FSSTAT_F_FSTYPENAME |
@@ -194,10 +193,10 @@ if test -z "$ac_list_mounted_fs"; then | |||
194 | char *t = FS_TYPE (*stats); ], | 193 | char *t = FS_TYPE (*stats); ], |
195 | fu_cv_sys_mounted_getfsstat=yes, | 194 | fu_cv_sys_mounted_getfsstat=yes, |
196 | fu_cv_sys_mounted_getfsstat=no)]) | 195 | fu_cv_sys_mounted_getfsstat=no)]) |
197 | AC_MSG_RESULT($fu_cv_sys_mounted_getfsstat) | 196 | AC_MSG_RESULT([$fu_cv_sys_mounted_getfsstat]) |
198 | if test $fu_cv_sys_mounted_getfsstat = yes; then | 197 | if test $fu_cv_sys_mounted_getfsstat = yes; then |
199 | ac_list_mounted_fs=found | 198 | ac_list_mounted_fs=found |
200 | AC_DEFINE(MOUNTED_GETFSSTAT, 1, | 199 | AC_DEFINE([MOUNTED_GETFSSTAT], [1], |
201 | [Define if there is a function named getfsstat for reading the | 200 | [Define if there is a function named getfsstat for reading the |
202 | list of mounted file systems. (DEC Alpha running OSF/1)]) | 201 | list of mounted file systems. (DEC Alpha running OSF/1)]) |
203 | fi | 202 | fi |
@@ -206,17 +205,17 @@ fi | |||
206 | if test -z "$ac_list_mounted_fs"; then | 205 | if test -z "$ac_list_mounted_fs"; then |
207 | # SVR3 | 206 | # SVR3 |
208 | AC_MSG_CHECKING([for FIXME existence of three headers]) | 207 | AC_MSG_CHECKING([for FIXME existence of three headers]) |
209 | AC_CACHE_VAL(fu_cv_sys_mounted_fread_fstyp, | 208 | AC_CACHE_VAL([fu_cv_sys_mounted_fread_fstyp], |
210 | [AC_TRY_CPP([ | 209 | [AC_TRY_CPP([ |
211 | #include <sys/statfs.h> | 210 | #include <sys/statfs.h> |
212 | #include <sys/fstyp.h> | 211 | #include <sys/fstyp.h> |
213 | #include <mnttab.h>], | 212 | #include <mnttab.h>], |
214 | fu_cv_sys_mounted_fread_fstyp=yes, | 213 | fu_cv_sys_mounted_fread_fstyp=yes, |
215 | fu_cv_sys_mounted_fread_fstyp=no)]) | 214 | fu_cv_sys_mounted_fread_fstyp=no)]) |
216 | AC_MSG_RESULT($fu_cv_sys_mounted_fread_fstyp) | 215 | AC_MSG_RESULT([$fu_cv_sys_mounted_fread_fstyp]) |
217 | if test $fu_cv_sys_mounted_fread_fstyp = yes; then | 216 | if test $fu_cv_sys_mounted_fread_fstyp = yes; then |
218 | ac_list_mounted_fs=found | 217 | ac_list_mounted_fs=found |
219 | AC_DEFINE(MOUNTED_FREAD_FSTYP, 1, | 218 | AC_DEFINE([MOUNTED_FREAD_FSTYP], [1], |
220 | [Define if (like SVR2) there is no specific function for reading the | 219 | [Define if (like SVR2) there is no specific function for reading the |
221 | list of mounted file systems, and your system has these header files: | 220 | list of mounted file systems, and your system has these header files: |
222 | <sys/fstyp.h> and <sys/statfs.h>. (SVR3)]) | 221 | <sys/fstyp.h> and <sys/statfs.h>. (SVR3)]) |
@@ -226,16 +225,16 @@ fi | |||
226 | if test -z "$ac_list_mounted_fs"; then | 225 | if test -z "$ac_list_mounted_fs"; then |
227 | # 4.4BSD and DEC OSF/1. | 226 | # 4.4BSD and DEC OSF/1. |
228 | AC_MSG_CHECKING([for getmntinfo function]) | 227 | AC_MSG_CHECKING([for getmntinfo function]) |
229 | AC_CACHE_VAL(fu_cv_sys_mounted_getmntinfo, | 228 | AC_CACHE_VAL([fu_cv_sys_mounted_getmntinfo], |
230 | [ | 229 | [ |
231 | test "$ac_cv_func_getmntinfo" = yes \ | 230 | test "$ac_cv_func_getmntinfo" = yes \ |
232 | && fu_cv_sys_mounted_getmntinfo=yes \ | 231 | && fu_cv_sys_mounted_getmntinfo=yes \ |
233 | || fu_cv_sys_mounted_getmntinfo=no | 232 | || fu_cv_sys_mounted_getmntinfo=no |
234 | ]) | 233 | ]) |
235 | AC_MSG_RESULT($fu_cv_sys_mounted_getmntinfo) | 234 | AC_MSG_RESULT([$fu_cv_sys_mounted_getmntinfo]) |
236 | if test $fu_cv_sys_mounted_getmntinfo = yes; then | 235 | if test $fu_cv_sys_mounted_getmntinfo = yes; then |
237 | AC_MSG_CHECKING([whether getmntinfo returns statvfs structures]) | 236 | AC_MSG_CHECKING([whether getmntinfo returns statvfs structures]) |
238 | AC_CACHE_VAL(fu_cv_sys_mounted_getmntinfo2, | 237 | AC_CACHE_VAL([fu_cv_sys_mounted_getmntinfo2], |
239 | [ | 238 | [ |
240 | AC_TRY_COMPILE([ | 239 | AC_TRY_COMPILE([ |
241 | #if HAVE_SYS_PARAM_H | 240 | #if HAVE_SYS_PARAM_H |
@@ -256,13 +255,13 @@ extern int getmntinfo (struct statfs **, int); | |||
256 | AC_MSG_RESULT([$fu_cv_sys_mounted_getmntinfo2]) | 255 | AC_MSG_RESULT([$fu_cv_sys_mounted_getmntinfo2]) |
257 | if test $fu_cv_sys_mounted_getmntinfo2 = no; then | 256 | if test $fu_cv_sys_mounted_getmntinfo2 = no; then |
258 | ac_list_mounted_fs=found | 257 | ac_list_mounted_fs=found |
259 | AC_DEFINE(MOUNTED_GETMNTINFO, 1, | 258 | AC_DEFINE([MOUNTED_GETMNTINFO], [1], |
260 | [Define if there is a function named getmntinfo for reading the | 259 | [Define if there is a function named getmntinfo for reading the |
261 | list of mounted file systems and it returns an array of | 260 | list of mounted file systems and it returns an array of |
262 | 'struct statfs'. (4.4BSD, Darwin)]) | 261 | 'struct statfs'. (4.4BSD, Darwin)]) |
263 | else | 262 | else |
264 | ac_list_mounted_fs=found | 263 | ac_list_mounted_fs=found |
265 | AC_DEFINE(MOUNTED_GETMNTINFO2, 1, | 264 | AC_DEFINE([MOUNTED_GETMNTINFO2], [1], |
266 | [Define if there is a function named getmntinfo for reading the | 265 | [Define if there is a function named getmntinfo for reading the |
267 | list of mounted file systems and it returns an array of | 266 | list of mounted file systems and it returns an array of |
268 | 'struct statvfs'. (NetBSD 3.0)]) | 267 | 'struct statvfs'. (NetBSD 3.0)]) |
@@ -273,16 +272,16 @@ fi | |||
273 | if test -z "$ac_list_mounted_fs"; then | 272 | if test -z "$ac_list_mounted_fs"; then |
274 | # Ultrix | 273 | # Ultrix |
275 | AC_MSG_CHECKING([for getmnt function]) | 274 | AC_MSG_CHECKING([for getmnt function]) |
276 | AC_CACHE_VAL(fu_cv_sys_mounted_getmnt, | 275 | AC_CACHE_VAL([fu_cv_sys_mounted_getmnt], |
277 | [AC_TRY_CPP([ | 276 | [AC_TRY_CPP([ |
278 | #include <sys/fs_types.h> | 277 | #include <sys/fs_types.h> |
279 | #include <sys/mount.h>], | 278 | #include <sys/mount.h>], |
280 | fu_cv_sys_mounted_getmnt=yes, | 279 | fu_cv_sys_mounted_getmnt=yes, |
281 | fu_cv_sys_mounted_getmnt=no)]) | 280 | fu_cv_sys_mounted_getmnt=no)]) |
282 | AC_MSG_RESULT($fu_cv_sys_mounted_getmnt) | 281 | AC_MSG_RESULT([$fu_cv_sys_mounted_getmnt]) |
283 | if test $fu_cv_sys_mounted_getmnt = yes; then | 282 | if test $fu_cv_sys_mounted_getmnt = yes; then |
284 | ac_list_mounted_fs=found | 283 | ac_list_mounted_fs=found |
285 | AC_DEFINE(MOUNTED_GETMNT, 1, | 284 | AC_DEFINE([MOUNTED_GETMNT], [1], |
286 | [Define if there is a function named getmnt for reading the list of | 285 | [Define if there is a function named getmnt for reading the list of |
287 | mounted file systems. (Ultrix)]) | 286 | mounted file systems. (Ultrix)]) |
288 | fi | 287 | fi |
@@ -290,8 +289,8 @@ fi | |||
290 | 289 | ||
291 | if test -z "$ac_list_mounted_fs"; then | 290 | if test -z "$ac_list_mounted_fs"; then |
292 | # BeOS | 291 | # BeOS |
293 | AC_CHECK_FUNCS(next_dev fs_stat_dev) | 292 | AC_CHECK_FUNCS([next_dev fs_stat_dev]) |
294 | AC_CHECK_HEADERS(fs_info.h) | 293 | AC_CHECK_HEADERS([fs_info.h]) |
295 | AC_MSG_CHECKING([for BEOS mounted file system support functions]) | 294 | AC_MSG_CHECKING([for BEOS mounted file system support functions]) |
296 | if test $ac_cv_header_fs_info_h = yes \ | 295 | if test $ac_cv_header_fs_info_h = yes \ |
297 | && test $ac_cv_func_next_dev = yes \ | 296 | && test $ac_cv_func_next_dev = yes \ |
@@ -300,10 +299,10 @@ if test -z "$ac_list_mounted_fs"; then | |||
300 | else | 299 | else |
301 | fu_result=no | 300 | fu_result=no |
302 | fi | 301 | fi |
303 | AC_MSG_RESULT($fu_result) | 302 | AC_MSG_RESULT([$fu_result]) |
304 | if test $fu_result = yes; then | 303 | if test $fu_result = yes; then |
305 | ac_list_mounted_fs=found | 304 | ac_list_mounted_fs=found |
306 | AC_DEFINE(MOUNTED_FS_STAT_DEV, 1, | 305 | AC_DEFINE([MOUNTED_FS_STAT_DEV], [1], |
307 | [Define if there are functions named next_dev and fs_stat_dev for | 306 | [Define if there are functions named next_dev and fs_stat_dev for |
308 | reading the list of mounted file systems. (BeOS)]) | 307 | reading the list of mounted file systems. (BeOS)]) |
309 | fi | 308 | fi |
@@ -312,14 +311,14 @@ fi | |||
312 | if test -z "$ac_list_mounted_fs"; then | 311 | if test -z "$ac_list_mounted_fs"; then |
313 | # SVR2 | 312 | # SVR2 |
314 | AC_MSG_CHECKING([whether it is possible to resort to fread on /etc/mnttab]) | 313 | AC_MSG_CHECKING([whether it is possible to resort to fread on /etc/mnttab]) |
315 | AC_CACHE_VAL(fu_cv_sys_mounted_fread, | 314 | AC_CACHE_VAL([fu_cv_sys_mounted_fread], |
316 | [AC_TRY_CPP([#include <mnttab.h>], | 315 | [AC_TRY_CPP([#include <mnttab.h>], |
317 | fu_cv_sys_mounted_fread=yes, | 316 | fu_cv_sys_mounted_fread=yes, |
318 | fu_cv_sys_mounted_fread=no)]) | 317 | fu_cv_sys_mounted_fread=no)]) |
319 | AC_MSG_RESULT($fu_cv_sys_mounted_fread) | 318 | AC_MSG_RESULT([$fu_cv_sys_mounted_fread]) |
320 | if test $fu_cv_sys_mounted_fread = yes; then | 319 | if test $fu_cv_sys_mounted_fread = yes; then |
321 | ac_list_mounted_fs=found | 320 | ac_list_mounted_fs=found |
322 | AC_DEFINE(MOUNTED_FREAD, 1, | 321 | AC_DEFINE([MOUNTED_FREAD], [1], |
323 | [Define if there is no specific function for reading the list of | 322 | [Define if there is no specific function for reading the list of |
324 | mounted file systems. fread will be used to read /etc/mnttab. | 323 | mounted file systems. fread will be used to read /etc/mnttab. |
325 | (SVR2) ]) | 324 | (SVR2) ]) |
diff --git a/gl/m4/malloc.m4 b/gl/m4/malloc.m4 index 764f2a9f..80701716 100644 --- a/gl/m4/malloc.m4 +++ b/gl/m4/malloc.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # malloc.m4 serial 8 | 1 | # malloc.m4 serial 9 |
2 | dnl Copyright (C) 2007 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007, 2009 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -13,7 +13,7 @@ AC_DEFUN([gl_FUNC_MALLOC_POSIX], | |||
13 | AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) | 13 | AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) |
14 | if test $gl_cv_func_malloc_posix = yes; then | 14 | if test $gl_cv_func_malloc_posix = yes; then |
15 | HAVE_MALLOC_POSIX=1 | 15 | HAVE_MALLOC_POSIX=1 |
16 | AC_DEFINE([HAVE_MALLOC_POSIX], 1, | 16 | AC_DEFINE([HAVE_MALLOC_POSIX], [1], |
17 | [Define if the 'malloc' function is POSIX compliant.]) | 17 | [Define if the 'malloc' function is POSIX compliant.]) |
18 | else | 18 | else |
19 | AC_LIBOBJ([malloc]) | 19 | AC_LIBOBJ([malloc]) |
diff --git a/gl/m4/math_h.m4 b/gl/m4/math_h.m4 index dd99e7f2..d941bc33 100644 --- a/gl/m4/math_h.m4 +++ b/gl/m4/math_h.m4 | |||
@@ -1,4 +1,4 @@ | |||
1 | # math_h.m4 serial 9 | 1 | # math_h.m4 serial 14 |
2 | dnl Copyright (C) 2007-2008 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007-2008 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
@@ -8,6 +8,31 @@ AC_DEFUN([gl_MATH_H], | |||
8 | [ | 8 | [ |
9 | AC_REQUIRE([gl_MATH_H_DEFAULTS]) | 9 | AC_REQUIRE([gl_MATH_H_DEFAULTS]) |
10 | gl_CHECK_NEXT_HEADERS([math.h]) | 10 | gl_CHECK_NEXT_HEADERS([math.h]) |
11 | AC_CACHE_CHECK([whether NAN macro works], [gl_cv_header_math_nan_works], | ||
12 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <math.h>]], | ||
13 | [[/* Solaris 10 has a broken definition of NAN. Other platforms | ||
14 | fail to provide NAN, or provide it only in C99 mode; this | ||
15 | test only needs to fail when NAN is provided but wrong. */ | ||
16 | float f = 1.0f; | ||
17 | #ifdef NAN | ||
18 | f = NAN; | ||
19 | #endif | ||
20 | return f == 0;]])], | ||
21 | [gl_cv_header_math_nan_works=yes], | ||
22 | [gl_cv_header_math_nan_works=no])]) | ||
23 | if test $gl_cv_header_math_nan_works = no; then | ||
24 | REPLACE_NAN=1 | ||
25 | fi | ||
26 | AC_CACHE_CHECK([whether HUGE_VAL works], [gl_cv_header_math_huge_val_works], | ||
27 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <math.h>]], | ||
28 | [[/* Solaris 10 has a broken definition of HUGE_VAL. */ | ||
29 | double d = HUGE_VAL; | ||
30 | return d == 0;]])], | ||
31 | [gl_cv_header_math_huge_val_works=yes], | ||
32 | [gl_cv_header_math_huge_val_works=no])]) | ||
33 | if test $gl_cv_header_math_huge_val_works = no; then | ||
34 | REPLACE_HUGE_VAL=1 | ||
35 | fi | ||
11 | ]) | 36 | ]) |
12 | 37 | ||
13 | AC_DEFUN([gl_MATH_MODULE_INDICATOR], | 38 | AC_DEFUN([gl_MATH_MODULE_INDICATOR], |
@@ -26,6 +51,11 @@ AC_DEFUN([gl_MATH_H_DEFAULTS], | |||
26 | GNULIB_FREXP=0; AC_SUBST([GNULIB_FREXP]) | 51 | GNULIB_FREXP=0; AC_SUBST([GNULIB_FREXP]) |
27 | GNULIB_FREXPL=0; AC_SUBST([GNULIB_FREXPL]) | 52 | GNULIB_FREXPL=0; AC_SUBST([GNULIB_FREXPL]) |
28 | GNULIB_ISFINITE=0; AC_SUBST([GNULIB_ISFINITE]) | 53 | GNULIB_ISFINITE=0; AC_SUBST([GNULIB_ISFINITE]) |
54 | GNULIB_ISINF=0; AC_SUBST([GNULIB_ISINF]) | ||
55 | GNULIB_ISNAN=0; AC_SUBST([GNULIB_ISNAN]) | ||
56 | GNULIB_ISNANF=0; AC_SUBST([GNULIB_ISNANF]) | ||
57 | GNULIB_ISNAND=0; AC_SUBST([GNULIB_ISNAND]) | ||
58 | GNULIB_ISNANL=0; AC_SUBST([GNULIB_ISNANL]) | ||
29 | GNULIB_LDEXPL=0; AC_SUBST([GNULIB_LDEXPL]) | 59 | GNULIB_LDEXPL=0; AC_SUBST([GNULIB_LDEXPL]) |
30 | GNULIB_MATHL=0; AC_SUBST([GNULIB_MATHL]) | 60 | GNULIB_MATHL=0; AC_SUBST([GNULIB_MATHL]) |
31 | GNULIB_ROUND=0; AC_SUBST([GNULIB_ROUND]) | 61 | GNULIB_ROUND=0; AC_SUBST([GNULIB_ROUND]) |
@@ -36,6 +66,9 @@ AC_DEFUN([gl_MATH_H_DEFAULTS], | |||
36 | GNULIB_TRUNCF=0; AC_SUBST([GNULIB_TRUNCF]) | 66 | GNULIB_TRUNCF=0; AC_SUBST([GNULIB_TRUNCF]) |
37 | GNULIB_TRUNCL=0; AC_SUBST([GNULIB_TRUNCL]) | 67 | GNULIB_TRUNCL=0; AC_SUBST([GNULIB_TRUNCL]) |
38 | dnl Assume proper GNU behavior unless another module says otherwise. | 68 | dnl Assume proper GNU behavior unless another module says otherwise. |
69 | HAVE_ISNANF=1; AC_SUBST([HAVE_ISNANF]) | ||
70 | HAVE_ISNAND=1; AC_SUBST([HAVE_ISNAND]) | ||
71 | HAVE_ISNANL=1; AC_SUBST([HAVE_ISNANL]) | ||
39 | HAVE_DECL_ACOSL=1; AC_SUBST([HAVE_DECL_ACOSL]) | 72 | HAVE_DECL_ACOSL=1; AC_SUBST([HAVE_DECL_ACOSL]) |
40 | HAVE_DECL_ASINL=1; AC_SUBST([HAVE_DECL_ASINL]) | 73 | HAVE_DECL_ASINL=1; AC_SUBST([HAVE_DECL_ASINL]) |
41 | HAVE_DECL_ATANL=1; AC_SUBST([HAVE_DECL_ATANL]) | 74 | HAVE_DECL_ATANL=1; AC_SUBST([HAVE_DECL_ATANL]) |
@@ -49,18 +82,22 @@ AC_DEFUN([gl_MATH_H_DEFAULTS], | |||
49 | HAVE_DECL_TANL=1; AC_SUBST([HAVE_DECL_TANL]) | 82 | HAVE_DECL_TANL=1; AC_SUBST([HAVE_DECL_TANL]) |
50 | HAVE_DECL_TRUNC=1; AC_SUBST([HAVE_DECL_TRUNC]) | 83 | HAVE_DECL_TRUNC=1; AC_SUBST([HAVE_DECL_TRUNC]) |
51 | HAVE_DECL_TRUNCF=1; AC_SUBST([HAVE_DECL_TRUNCF]) | 84 | HAVE_DECL_TRUNCF=1; AC_SUBST([HAVE_DECL_TRUNCF]) |
52 | HAVE_DECL_TRUNCL=1; AC_SUBST([HAVE_DECL_TRUNCL]) | ||
53 | REPLACE_CEILF=0; AC_SUBST([REPLACE_CEILF]) | 85 | REPLACE_CEILF=0; AC_SUBST([REPLACE_CEILF]) |
54 | REPLACE_CEILL=0; AC_SUBST([REPLACE_CEILL]) | 86 | REPLACE_CEILL=0; AC_SUBST([REPLACE_CEILL]) |
55 | REPLACE_FLOORF=0; AC_SUBST([REPLACE_FLOORF]) | 87 | REPLACE_FLOORF=0; AC_SUBST([REPLACE_FLOORF]) |
56 | REPLACE_FLOORL=0; AC_SUBST([REPLACE_FLOORL]) | 88 | REPLACE_FLOORL=0; AC_SUBST([REPLACE_FLOORL]) |
57 | REPLACE_FREXP=0; AC_SUBST([REPLACE_FREXP]) | 89 | REPLACE_FREXP=0; AC_SUBST([REPLACE_FREXP]) |
58 | REPLACE_FREXPL=0; AC_SUBST([REPLACE_FREXPL]) | 90 | REPLACE_FREXPL=0; AC_SUBST([REPLACE_FREXPL]) |
91 | REPLACE_HUGE_VAL=0; AC_SUBST([REPLACE_HUGE_VAL]) | ||
59 | REPLACE_ISFINITE=0; AC_SUBST([REPLACE_ISFINITE]) | 92 | REPLACE_ISFINITE=0; AC_SUBST([REPLACE_ISFINITE]) |
93 | REPLACE_ISINF=0; AC_SUBST([REPLACE_ISINF]) | ||
94 | REPLACE_ISNAN=0; AC_SUBST([REPLACE_ISNAN]) | ||
60 | REPLACE_LDEXPL=0; AC_SUBST([REPLACE_LDEXPL]) | 95 | REPLACE_LDEXPL=0; AC_SUBST([REPLACE_LDEXPL]) |
96 | REPLACE_NAN=0; AC_SUBST([REPLACE_NAN]) | ||
61 | REPLACE_ROUND=0; AC_SUBST([REPLACE_ROUND]) | 97 | REPLACE_ROUND=0; AC_SUBST([REPLACE_ROUND]) |
62 | REPLACE_ROUNDF=0; AC_SUBST([REPLACE_ROUNDF]) | 98 | REPLACE_ROUNDF=0; AC_SUBST([REPLACE_ROUNDF]) |
63 | REPLACE_ROUNDL=0; AC_SUBST([REPLACE_ROUNDL]) | 99 | REPLACE_ROUNDL=0; AC_SUBST([REPLACE_ROUNDL]) |
64 | REPLACE_SIGNBIT=0; AC_SUBST([REPLACE_SIGNBIT]) | 100 | REPLACE_SIGNBIT=0; AC_SUBST([REPLACE_SIGNBIT]) |
65 | REPLACE_SIGNBIT_USING_GCC=0; AC_SUBST([REPLACE_SIGNBIT_USING_GCC]) | 101 | REPLACE_SIGNBIT_USING_GCC=0; AC_SUBST([REPLACE_SIGNBIT_USING_GCC]) |
102 | REPLACE_TRUNCL=0; AC_SUBST([REPLACE_TRUNCL]) | ||
66 | ]) | 103 | ]) |
diff --git a/gl/m4/mbrtowc.m4 b/gl/m4/mbrtowc.m4 new file mode 100644 index 00000000..726497b6 --- /dev/null +++ b/gl/m4/mbrtowc.m4 | |||
@@ -0,0 +1,325 @@ | |||
1 | # mbrtowc.m4 serial 13 | ||
2 | dnl Copyright (C) 2001-2002, 2004-2005, 2008, 2009 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | ||
4 | dnl gives unlimited permission to copy and/or distribute it, | ||
5 | dnl with or without modifications, as long as this notice is preserved. | ||
6 | |||
7 | AC_DEFUN([gl_FUNC_MBRTOWC], | ||
8 | [ | ||
9 | AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) | ||
10 | |||
11 | AC_REQUIRE([AC_TYPE_MBSTATE_T]) | ||
12 | gl_MBSTATE_T_BROKEN | ||
13 | if test $REPLACE_MBSTATE_T = 1; then | ||
14 | REPLACE_MBRTOWC=1 | ||
15 | fi | ||
16 | AC_CHECK_FUNCS_ONCE([mbrtowc]) | ||
17 | if test $ac_cv_func_mbrtowc = no; then | ||
18 | HAVE_MBRTOWC=0 | ||
19 | fi | ||
20 | if test $HAVE_MBRTOWC != 0 && test $REPLACE_MBRTOWC != 1; then | ||
21 | gl_MBRTOWC_NULL_ARG | ||
22 | gl_MBRTOWC_RETVAL | ||
23 | gl_MBRTOWC_NUL_RETVAL | ||
24 | case "$gl_cv_func_mbrtowc_null_arg" in | ||
25 | *yes) ;; | ||
26 | *) AC_DEFINE([MBRTOWC_NULL_ARG_BUG], [1], | ||
27 | [Define if the mbrtowc function has the NULL string argument bug.]) | ||
28 | REPLACE_MBRTOWC=1 | ||
29 | ;; | ||
30 | esac | ||
31 | case "$gl_cv_func_mbrtowc_retval" in | ||
32 | *yes) ;; | ||
33 | *) AC_DEFINE([MBRTOWC_RETVAL_BUG], [1], | ||
34 | [Define if the mbrtowc function returns a wrong return value.]) | ||
35 | REPLACE_MBRTOWC=1 | ||
36 | ;; | ||
37 | esac | ||
38 | case "$gl_cv_func_mbrtowc_nul_retval" in | ||
39 | *yes) ;; | ||
40 | *) AC_DEFINE([MBRTOWC_NUL_RETVAL_BUG], [1], | ||
41 | [Define if the mbrtowc function does not return 0 for a NUL character.]) | ||
42 | REPLACE_MBRTOWC=1 | ||
43 | ;; | ||
44 | esac | ||
45 | fi | ||
46 | if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then | ||
47 | gl_REPLACE_WCHAR_H | ||
48 | AC_LIBOBJ([mbrtowc]) | ||
49 | gl_PREREQ_MBRTOWC | ||
50 | fi | ||
51 | ]) | ||
52 | |||
53 | dnl Test whether mbsinit() and mbrtowc() need to be overridden in a way that | ||
54 | dnl redefines the semantics of the given mbstate_t type. | ||
55 | dnl Result is REPLACE_MBSTATE_T. | ||
56 | dnl When this is set to 1, we replace both mbsinit() and mbrtowc(), in order to | ||
57 | dnl avoid inconsistencies. | ||
58 | |||
59 | AC_DEFUN([gl_MBSTATE_T_BROKEN], | ||
60 | [ | ||
61 | AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) | ||
62 | |||
63 | AC_REQUIRE([AC_TYPE_MBSTATE_T]) | ||
64 | AC_CHECK_FUNCS_ONCE([mbsinit]) | ||
65 | AC_CHECK_FUNCS_ONCE([mbrtowc]) | ||
66 | if test $ac_cv_func_mbsinit = yes && test $ac_cv_func_mbrtowc = yes; then | ||
67 | gl_MBRTOWC_INCOMPLETE_STATE | ||
68 | case "$gl_cv_func_mbrtowc_incomplete_state" in | ||
69 | *yes) REPLACE_MBSTATE_T=0 ;; | ||
70 | *) REPLACE_MBSTATE_T=1 ;; | ||
71 | esac | ||
72 | else | ||
73 | REPLACE_MBSTATE_T=1 | ||
74 | fi | ||
75 | if test $REPLACE_MBSTATE_T = 1; then | ||
76 | gl_REPLACE_WCHAR_H | ||
77 | fi | ||
78 | ]) | ||
79 | |||
80 | dnl Test whether mbrtowc puts the state into non-initial state when parsing an | ||
81 | dnl incomplete multibyte character. | ||
82 | dnl Result is gl_cv_func_mbrtowc_incomplete_state. | ||
83 | |||
84 | AC_DEFUN([gl_MBRTOWC_INCOMPLETE_STATE], | ||
85 | [ | ||
86 | AC_REQUIRE([AC_PROG_CC]) | ||
87 | AC_REQUIRE([gt_LOCALE_JA]) | ||
88 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
89 | AC_CACHE_CHECK([whether mbrtowc handles incomplete characters], | ||
90 | [gl_cv_func_mbrtowc_incomplete_state], | ||
91 | [ | ||
92 | dnl Initial guess, used when cross-compiling or when no suitable locale | ||
93 | dnl is present. | ||
94 | changequote(,)dnl | ||
95 | case "$host_os" in | ||
96 | # Guess no on AIX and OSF/1. | ||
97 | osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;; | ||
98 | # Guess yes otherwise. | ||
99 | *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;; | ||
100 | esac | ||
101 | changequote([,])dnl | ||
102 | if test $LOCALE_JA != none; then | ||
103 | AC_TRY_RUN([ | ||
104 | #include <locale.h> | ||
105 | #include <string.h> | ||
106 | #include <wchar.h> | ||
107 | int main () | ||
108 | { | ||
109 | if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) | ||
110 | { | ||
111 | const char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */ | ||
112 | mbstate_t state; | ||
113 | wchar_t wc; | ||
114 | |||
115 | memset (&state, '\0', sizeof (mbstate_t)); | ||
116 | if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) | ||
117 | if (mbsinit (&state)) | ||
118 | return 1; | ||
119 | } | ||
120 | return 0; | ||
121 | }], | ||
122 | [gl_cv_func_mbrtowc_incomplete_state=yes], | ||
123 | [gl_cv_func_mbrtowc_incomplete_state=no], | ||
124 | []) | ||
125 | fi | ||
126 | ]) | ||
127 | ]) | ||
128 | |||
129 | dnl Test whether mbrtowc supports a NULL string argument correctly. | ||
130 | dnl Result is gl_cv_func_mbrtowc_null_arg. | ||
131 | |||
132 | AC_DEFUN([gl_MBRTOWC_NULL_ARG], | ||
133 | [ | ||
134 | AC_REQUIRE([AC_PROG_CC]) | ||
135 | AC_REQUIRE([gt_LOCALE_FR_UTF8]) | ||
136 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
137 | AC_CACHE_CHECK([whether mbrtowc handles a NULL string argument], | ||
138 | [gl_cv_func_mbrtowc_null_arg], | ||
139 | [ | ||
140 | dnl Initial guess, used when cross-compiling or when no suitable locale | ||
141 | dnl is present. | ||
142 | changequote(,)dnl | ||
143 | case "$host_os" in | ||
144 | # Guess no on OSF/1. | ||
145 | osf*) gl_cv_func_mbrtowc_null_arg="guessing no" ;; | ||
146 | # Guess yes otherwise. | ||
147 | *) gl_cv_func_mbrtowc_null_arg="guessing yes" ;; | ||
148 | esac | ||
149 | changequote([,])dnl | ||
150 | if test $LOCALE_FR_UTF8 != none; then | ||
151 | AC_TRY_RUN([ | ||
152 | #include <locale.h> | ||
153 | #include <string.h> | ||
154 | #include <wchar.h> | ||
155 | int main () | ||
156 | { | ||
157 | if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) | ||
158 | { | ||
159 | mbstate_t state; | ||
160 | wchar_t wc; | ||
161 | int ret; | ||
162 | |||
163 | memset (&state, '\0', sizeof (mbstate_t)); | ||
164 | wc = (wchar_t) 0xBADFACE; | ||
165 | mbrtowc (&wc, NULL, 5, &state); | ||
166 | /* Check that wc was not modified. */ | ||
167 | if (wc != (wchar_t) 0xBADFACE) | ||
168 | return 1; | ||
169 | } | ||
170 | return 0; | ||
171 | }], [gl_cv_func_mbrtowc_null_arg=yes], [gl_cv_func_mbrtowc_null_arg=no], []) | ||
172 | fi | ||
173 | ]) | ||
174 | ]) | ||
175 | |||
176 | dnl Test whether mbrtowc, when parsing the end of a multibyte character, | ||
177 | dnl correctly returns the number of bytes that were needed to complete the | ||
178 | dnl character (not the total number of bytes of the multibyte character). | ||
179 | dnl Result is gl_cv_func_mbrtowc_retval. | ||
180 | |||
181 | AC_DEFUN([gl_MBRTOWC_RETVAL], | ||
182 | [ | ||
183 | AC_REQUIRE([AC_PROG_CC]) | ||
184 | AC_REQUIRE([gt_LOCALE_FR_UTF8]) | ||
185 | AC_REQUIRE([gt_LOCALE_JA]) | ||
186 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
187 | AC_CACHE_CHECK([whether mbrtowc has a correct return value], | ||
188 | [gl_cv_func_mbrtowc_retval], | ||
189 | [ | ||
190 | dnl Initial guess, used when cross-compiling or when no suitable locale | ||
191 | dnl is present. | ||
192 | changequote(,)dnl | ||
193 | case "$host_os" in | ||
194 | # Guess no on HP-UX and Solaris. | ||
195 | hpux* | solaris*) gl_cv_func_mbrtowc_retval="guessing no" ;; | ||
196 | # Guess yes otherwise. | ||
197 | *) gl_cv_func_mbrtowc_retval="guessing yes" ;; | ||
198 | esac | ||
199 | changequote([,])dnl | ||
200 | if test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none; then | ||
201 | AC_TRY_RUN([ | ||
202 | #include <locale.h> | ||
203 | #include <string.h> | ||
204 | #include <wchar.h> | ||
205 | int main () | ||
206 | { | ||
207 | /* This fails on Solaris. */ | ||
208 | if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) | ||
209 | { | ||
210 | char input[] = "B\303\274\303\237er"; /* "Büßer" */ | ||
211 | mbstate_t state; | ||
212 | wchar_t wc; | ||
213 | |||
214 | memset (&state, '\0', sizeof (mbstate_t)); | ||
215 | if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) | ||
216 | { | ||
217 | input[1] = '\0'; | ||
218 | if (mbrtowc (&wc, input + 2, 5, &state) != 1) | ||
219 | return 1; | ||
220 | } | ||
221 | } | ||
222 | /* This fails on HP-UX 11.11. */ | ||
223 | if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) | ||
224 | { | ||
225 | char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */ | ||
226 | mbstate_t state; | ||
227 | wchar_t wc; | ||
228 | |||
229 | memset (&state, '\0', sizeof (mbstate_t)); | ||
230 | if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) | ||
231 | { | ||
232 | input[1] = '\0'; | ||
233 | if (mbrtowc (&wc, input + 2, 5, &state) != 2) | ||
234 | return 1; | ||
235 | } | ||
236 | } | ||
237 | return 0; | ||
238 | }], | ||
239 | [gl_cv_func_mbrtowc_retval=yes], | ||
240 | [gl_cv_func_mbrtowc_retval=no], | ||
241 | []) | ||
242 | fi | ||
243 | ]) | ||
244 | ]) | ||
245 | |||
246 | dnl Test whether mbrtowc, when parsing a NUL character, correctly returns 0. | ||
247 | dnl Result is gl_cv_func_mbrtowc_nul_retval. | ||
248 | |||
249 | AC_DEFUN([gl_MBRTOWC_NUL_RETVAL], | ||
250 | [ | ||
251 | AC_REQUIRE([AC_PROG_CC]) | ||
252 | AC_REQUIRE([gt_LOCALE_ZH_CN]) | ||
253 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
254 | AC_CACHE_CHECK([whether mbrtowc returns 0 when parsing a NUL character], | ||
255 | [gl_cv_func_mbrtowc_nul_retval], | ||
256 | [ | ||
257 | dnl Initial guess, used when cross-compiling or when no suitable locale | ||
258 | dnl is present. | ||
259 | changequote(,)dnl | ||
260 | case "$host_os" in | ||
261 | # Guess no on Solaris 9. | ||
262 | solaris2.9) gl_cv_func_mbrtowc_nul_retval="guessing no" ;; | ||
263 | # Guess yes otherwise. | ||
264 | *) gl_cv_func_mbrtowc_nul_retval="guessing yes" ;; | ||
265 | esac | ||
266 | changequote([,])dnl | ||
267 | if test $LOCALE_ZH_CN != none; then | ||
268 | AC_TRY_RUN([ | ||
269 | #include <locale.h> | ||
270 | #include <string.h> | ||
271 | #include <wchar.h> | ||
272 | int main () | ||
273 | { | ||
274 | /* This fails on Solaris 9. */ | ||
275 | if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) | ||
276 | { | ||
277 | mbstate_t state; | ||
278 | wchar_t wc; | ||
279 | |||
280 | memset (&state, '\0', sizeof (mbstate_t)); | ||
281 | if (mbrtowc (&wc, "", 1, &state) != 0) | ||
282 | return 1; | ||
283 | } | ||
284 | return 0; | ||
285 | }], | ||
286 | [gl_cv_func_mbrtowc_nul_retval=yes], | ||
287 | [gl_cv_func_mbrtowc_nul_retval=no], | ||
288 | []) | ||
289 | fi | ||
290 | ]) | ||
291 | ]) | ||
292 | |||
293 | # Prerequisites of lib/mbrtowc.c. | ||
294 | AC_DEFUN([gl_PREREQ_MBRTOWC], [ | ||
295 | : | ||
296 | ]) | ||
297 | |||
298 | |||
299 | dnl From Paul Eggert | ||
300 | |||
301 | dnl This override of an autoconf macro can be removed when autoconf 2.60 or | ||
302 | dnl newer can be assumed everywhere. | ||
303 | |||
304 | m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.60]),[-1],[ | ||
305 | AC_DEFUN([AC_FUNC_MBRTOWC], | ||
306 | [ | ||
307 | dnl Same as AC_FUNC_MBRTOWC in autoconf-2.60. | ||
308 | AC_CACHE_CHECK([whether mbrtowc and mbstate_t are properly declared], | ||
309 | gl_cv_func_mbrtowc, | ||
310 | [AC_LINK_IFELSE( | ||
311 | [AC_LANG_PROGRAM( | ||
312 | [[#include <wchar.h>]], | ||
313 | [[wchar_t wc; | ||
314 | char const s[] = ""; | ||
315 | size_t n = 1; | ||
316 | mbstate_t state; | ||
317 | return ! (sizeof state && (mbrtowc) (&wc, s, n, &state));]])], | ||
318 | gl_cv_func_mbrtowc=yes, | ||
319 | gl_cv_func_mbrtowc=no)]) | ||
320 | if test $gl_cv_func_mbrtowc = yes; then | ||
321 | AC_DEFINE([HAVE_MBRTOWC], [1], | ||
322 | [Define to 1 if mbrtowc and mbstate_t are properly declared.]) | ||
323 | fi | ||
324 | ]) | ||
325 | ]) | ||
diff --git a/gl/m4/mbsinit.m4 b/gl/m4/mbsinit.m4 new file mode 100644 index 00000000..03b055cd --- /dev/null +++ b/gl/m4/mbsinit.m4 | |||
@@ -0,0 +1,30 @@ | |||
1 | # mbsinit.m4 serial 3 | ||
2 | dnl Copyright (C) 2008 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | ||
4 | dnl gives unlimited permission to copy and/or distribute it, | ||
5 | dnl with or without modifications, as long as this notice is preserved. | ||
6 | |||
7 | AC_DEFUN([gl_FUNC_MBSINIT], | ||
8 | [ | ||
9 | AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) | ||
10 | |||
11 | AC_REQUIRE([AC_TYPE_MBSTATE_T]) | ||
12 | gl_MBSTATE_T_BROKEN | ||
13 | if test $REPLACE_MBSTATE_T = 1; then | ||
14 | REPLACE_MBSINIT=1 | ||
15 | fi | ||
16 | AC_CHECK_FUNCS_ONCE([mbsinit]) | ||
17 | if test $ac_cv_func_mbsinit = no; then | ||
18 | HAVE_MBSINIT=0 | ||
19 | fi | ||
20 | if test $HAVE_MBSINIT = 0 || test $REPLACE_MBSINIT = 1; then | ||
21 | gl_REPLACE_WCHAR_H | ||
22 | AC_LIBOBJ([mbsinit]) | ||
23 | gl_PREREQ_MBSINIT | ||
24 | fi | ||
25 | ]) | ||
26 | |||
27 | # Prerequisites of lib/mbsinit.c. | ||
28 | AC_DEFUN([gl_PREREQ_MBSINIT], [ | ||
29 | : | ||
30 | ]) | ||
diff --git a/gl/m4/mbstate_t.m4 b/gl/m4/mbstate_t.m4 index df2a275c..d4ec6f0f 100644 --- a/gl/m4/mbstate_t.m4 +++ b/gl/m4/mbstate_t.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # mbstate_t.m4 serial 9 | 1 | # mbstate_t.m4 serial 12 |
2 | dnl Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2000-2002, 2008, 2009 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -13,18 +13,22 @@ dnl with or without modifications, as long as this notice is preserved. | |||
13 | # AC_TYPE_MBSTATE_T | 13 | # AC_TYPE_MBSTATE_T |
14 | # ----------------- | 14 | # ----------------- |
15 | AC_DEFUN([AC_TYPE_MBSTATE_T], | 15 | AC_DEFUN([AC_TYPE_MBSTATE_T], |
16 | [AC_CACHE_CHECK([for mbstate_t], ac_cv_type_mbstate_t, | 16 | [ |
17 | AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) dnl for HP-UX 11.11 | ||
18 | |||
19 | AC_CACHE_CHECK([for mbstate_t], [ac_cv_type_mbstate_t], | ||
17 | [AC_COMPILE_IFELSE( | 20 | [AC_COMPILE_IFELSE( |
18 | [AC_LANG_PROGRAM( | 21 | [AC_LANG_PROGRAM( |
19 | [AC_INCLUDES_DEFAULT | 22 | [AC_INCLUDES_DEFAULT[ |
20 | # include <wchar.h>], | 23 | # include <wchar.h>]], |
21 | [mbstate_t x; return sizeof x;])], | 24 | [[mbstate_t x; return sizeof x;]])], |
22 | [ac_cv_type_mbstate_t=yes], | 25 | [ac_cv_type_mbstate_t=yes], |
23 | [ac_cv_type_mbstate_t=no])]) | 26 | [ac_cv_type_mbstate_t=no])]) |
24 | if test $ac_cv_type_mbstate_t = yes; then | 27 | if test $ac_cv_type_mbstate_t = yes; then |
25 | AC_DEFINE([HAVE_MBSTATE_T], 1, | 28 | AC_DEFINE([HAVE_MBSTATE_T], [1], |
26 | [Define to 1 if <wchar.h> declares mbstate_t.]) | 29 | [Define to 1 if <wchar.h> declares mbstate_t.]) |
27 | else | 30 | else |
28 | AC_DEFINE([mbstate_t], int, | 31 | AC_DEFINE([mbstate_t], [int], |
29 | [Define to a type if <wchar.h> does not define.]) | 32 | [Define to a type if <wchar.h> does not define.]) |
30 | fi]) | 33 | fi |
34 | ]) | ||
diff --git a/gl/m4/mountlist.m4 b/gl/m4/mountlist.m4 index c25f44e7..f62c57a2 100644 --- a/gl/m4/mountlist.m4 +++ b/gl/m4/mountlist.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | #serial 9 | 1 | # serial 10 |
2 | dnl Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2006, 2009 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -9,7 +9,7 @@ AC_DEFUN([gl_MOUNTLIST], | |||
9 | gl_LIST_MOUNTED_FILE_SYSTEMS([gl_cv_list_mounted_fs=yes], | 9 | gl_LIST_MOUNTED_FILE_SYSTEMS([gl_cv_list_mounted_fs=yes], |
10 | [gl_cv_list_mounted_fs=no]) | 10 | [gl_cv_list_mounted_fs=no]) |
11 | if test $gl_cv_list_mounted_fs = yes; then | 11 | if test $gl_cv_list_mounted_fs = yes; then |
12 | AC_LIBOBJ(mountlist) | 12 | AC_LIBOBJ([mountlist]) |
13 | gl_PREREQ_MOUNTLIST_EXTRA | 13 | gl_PREREQ_MOUNTLIST_EXTRA |
14 | fi | 14 | fi |
15 | ]) | 15 | ]) |
@@ -18,6 +18,6 @@ AC_DEFUN([gl_MOUNTLIST], | |||
18 | AC_DEFUN([gl_PREREQ_MOUNTLIST_EXTRA], | 18 | AC_DEFUN([gl_PREREQ_MOUNTLIST_EXTRA], |
19 | [ | 19 | [ |
20 | dnl Note gl_LIST_MOUNTED_FILE_SYSTEMS checks for mntent.h, not sys/mntent.h. | 20 | dnl Note gl_LIST_MOUNTED_FILE_SYSTEMS checks for mntent.h, not sys/mntent.h. |
21 | AC_CHECK_HEADERS(sys/mntent.h) | 21 | AC_CHECK_HEADERS([sys/mntent.h]) |
22 | gl_FSTYPENAME | 22 | gl_FSTYPENAME |
23 | ]) | 23 | ]) |
diff --git a/gl/m4/multiarch.m4 b/gl/m4/multiarch.m4 new file mode 100644 index 00000000..7b73e15e --- /dev/null +++ b/gl/m4/multiarch.m4 | |||
@@ -0,0 +1,74 @@ | |||
1 | # multiarch.m4 serial 3 | ||
2 | dnl Copyright (C) 2008 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | ||
4 | dnl gives unlimited permission to copy and/or distribute it, | ||
5 | dnl with or without modifications, as long as this notice is preserved. | ||
6 | |||
7 | # Determine whether the compiler is or may be producing universal binaries. | ||
8 | # | ||
9 | # On MacOS X 10.5 and later systems, the user can create libraries and | ||
10 | # executables that work on multiple system types--known as "fat" or | ||
11 | # "universal" binaries--by specifying multiple '-arch' options to the | ||
12 | # compiler but only a single '-arch' option to the preprocessor. Like | ||
13 | # this: | ||
14 | # | ||
15 | # ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ | ||
16 | # CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ | ||
17 | # CPP="gcc -E" CXXCPP="g++ -E" | ||
18 | # | ||
19 | # Detect this situation and set the macro AA_APPLE_UNIVERSAL_BUILD at the | ||
20 | # beginning of config.h and set APPLE_UNIVERSAL_BUILD accordingly. | ||
21 | |||
22 | AC_DEFUN([gl_MULTIARCH], | ||
23 | [ | ||
24 | dnl This AC_REQUIRE is not necessary in theory. It works around a bug in | ||
25 | dnl autoconf <= 2.63: AC_REQUIRE invocations inside AC_REQUIREd macros are | ||
26 | dnl being handled better than AC_REQUIRE invocations inside normally invoked | ||
27 | dnl macros. | ||
28 | AC_REQUIRE([gl_MULTIARCH_BODY]) | ||
29 | ]) | ||
30 | |||
31 | AC_DEFUN([gl_MULTIARCH_BODY], | ||
32 | [ | ||
33 | dnl Code similar to autoconf-2.63 AC_C_BIGENDIAN. | ||
34 | gl_cv_c_multiarch=no | ||
35 | AC_COMPILE_IFELSE( | ||
36 | [AC_LANG_SOURCE( | ||
37 | [[#ifndef __APPLE_CC__ | ||
38 | not a universal capable compiler | ||
39 | #endif | ||
40 | typedef int dummy; | ||
41 | ]])], | ||
42 | [ | ||
43 | dnl Check for potential -arch flags. It is not universal unless | ||
44 | dnl there are at least two -arch flags with different values. | ||
45 | arch= | ||
46 | prev= | ||
47 | for word in ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}; do | ||
48 | if test -n "$prev"; then | ||
49 | case $word in | ||
50 | i?86 | x86_64 | ppc | ppc64) | ||
51 | if test -z "$arch" || test "$arch" = "$word"; then | ||
52 | arch="$word" | ||
53 | else | ||
54 | gl_cv_c_multiarch=yes | ||
55 | fi | ||
56 | ;; | ||
57 | esac | ||
58 | prev= | ||
59 | else | ||
60 | if test "x$word" = "x-arch"; then | ||
61 | prev=arch | ||
62 | fi | ||
63 | fi | ||
64 | done | ||
65 | ]) | ||
66 | if test $gl_cv_c_multiarch = yes; then | ||
67 | AC_DEFINE([AA_APPLE_UNIVERSAL_BUILD], [1], | ||
68 | [Define if the compiler is building for multiple architectures of Apple platforms at once.]) | ||
69 | APPLE_UNIVERSAL_BUILD=1 | ||
70 | else | ||
71 | APPLE_UNIVERSAL_BUILD=0 | ||
72 | fi | ||
73 | AC_SUBST([APPLE_UNIVERSAL_BUILD]) | ||
74 | ]) | ||
diff --git a/gl/m4/netdb_h.m4 b/gl/m4/netdb_h.m4 new file mode 100644 index 00000000..5a12251f --- /dev/null +++ b/gl/m4/netdb_h.m4 | |||
@@ -0,0 +1,45 @@ | |||
1 | # netdb_h.m4 serial 5 | ||
2 | dnl Copyright (C) 2008 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | ||
4 | dnl gives unlimited permission to copy and/or distribute it, | ||
5 | dnl with or without modifications, as long as this notice is preserved. | ||
6 | |||
7 | AC_DEFUN([gl_HEADER_NETDB], | ||
8 | [ | ||
9 | AC_REQUIRE([gl_NETDB_H_DEFAULTS]) | ||
10 | gl_CHECK_NEXT_HEADERS([netdb.h]) | ||
11 | if test $ac_cv_header_netdb_h = yes; then | ||
12 | AC_COMPILE_IFELSE( | ||
13 | [AC_LANG_PROGRAM([[ | ||
14 | #include <netdb.h> | ||
15 | struct addrinfo a; | ||
16 | int b = EAI_OVERFLOW; | ||
17 | int c = AI_NUMERICSERV; | ||
18 | ]])], | ||
19 | [NETDB_H=''], [NETDB_H='netdb.h']) | ||
20 | HAVE_NETDB_H=1 | ||
21 | else | ||
22 | NETDB_H='netdb.h' | ||
23 | HAVE_NETDB_H=0 | ||
24 | fi | ||
25 | AC_SUBST([HAVE_NETDB_H]) | ||
26 | AC_SUBST([NETDB_H]) | ||
27 | ]) | ||
28 | |||
29 | AC_DEFUN([gl_NETDB_MODULE_INDICATOR], | ||
30 | [ | ||
31 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. | ||
32 | AC_REQUIRE([gl_NETDB_H_DEFAULTS]) | ||
33 | GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 | ||
34 | ]) | ||
35 | |||
36 | AC_DEFUN([gl_NETDB_H_DEFAULTS], | ||
37 | [ | ||
38 | GNULIB_GETADDRINFO=0; AC_SUBST([GNULIB_GETADDRINFO]) | ||
39 | dnl Assume proper GNU behavior unless another module says otherwise. | ||
40 | HAVE_STRUCT_ADDRINFO=1; AC_SUBST([HAVE_STRUCT_ADDRINFO]) | ||
41 | HAVE_DECL_FREEADDRINFO=1; AC_SUBST([HAVE_DECL_FREEADDRINFO]) | ||
42 | HAVE_DECL_GAI_STRERROR=1; AC_SUBST([HAVE_DECL_GAI_STRERROR]) | ||
43 | HAVE_DECL_GETADDRINFO=1; AC_SUBST([HAVE_DECL_GETADDRINFO]) | ||
44 | HAVE_DECL_GETNAMEINFO=1; AC_SUBST([HAVE_DECL_GETNAMEINFO]) | ||
45 | ]) | ||
diff --git a/gl/m4/netinet_in_h.m4 b/gl/m4/netinet_in_h.m4 index 096be740..47fd9cc3 100644 --- a/gl/m4/netinet_in_h.m4 +++ b/gl/m4/netinet_in_h.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # netinet_in_h.m4 serial 3 | 1 | # netinet_in_h.m4 serial 4 |
2 | dnl Copyright (C) 2006-2007 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2006-2008 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -9,7 +9,7 @@ AC_DEFUN([gl_HEADER_NETINET_IN], | |||
9 | AC_CACHE_CHECK([whether <netinet/in.h> is self-contained], | 9 | AC_CACHE_CHECK([whether <netinet/in.h> is self-contained], |
10 | [gl_cv_header_netinet_in_h_selfcontained], | 10 | [gl_cv_header_netinet_in_h_selfcontained], |
11 | [ | 11 | [ |
12 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <netinet/in.h>], [])], | 12 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <netinet/in.h>]], [[]])], |
13 | [gl_cv_header_netinet_in_h_selfcontained=yes], | 13 | [gl_cv_header_netinet_in_h_selfcontained=yes], |
14 | [gl_cv_header_netinet_in_h_selfcontained=no]) | 14 | [gl_cv_header_netinet_in_h_selfcontained=no]) |
15 | ]) | 15 | ]) |
diff --git a/gl/m4/nls.m4 b/gl/m4/nls.m4 index 7967cc2f..0b364342 100644 --- a/gl/m4/nls.m4 +++ b/gl/m4/nls.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # nls.m4 serial 3 (gettext-0.15) | 1 | # nls.m4 serial 5 (gettext-0.18) |
2 | dnl Copyright (C) 1995-2003, 2005-2006 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1995-2003, 2005-2006, 2008, 2009 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -17,15 +17,15 @@ dnl Authors: | |||
17 | dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000. | 17 | dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000. |
18 | dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003. | 18 | dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003. |
19 | 19 | ||
20 | AC_PREREQ(2.50) | 20 | AC_PREREQ([2.50]) |
21 | 21 | ||
22 | AC_DEFUN([AM_NLS], | 22 | AC_DEFUN([AM_NLS], |
23 | [ | 23 | [ |
24 | AC_MSG_CHECKING([whether NLS is requested]) | 24 | AC_MSG_CHECKING([whether NLS is requested]) |
25 | dnl Default is enabled NLS | 25 | dnl Default is enabled NLS |
26 | AC_ARG_ENABLE(nls, | 26 | AC_ARG_ENABLE([nls], |
27 | [ --disable-nls do not use Native Language Support], | 27 | [ --disable-nls do not use Native Language Support], |
28 | USE_NLS=$enableval, USE_NLS=yes) | 28 | USE_NLS=$enableval, USE_NLS=yes) |
29 | AC_MSG_RESULT($USE_NLS) | 29 | AC_MSG_RESULT([$USE_NLS]) |
30 | AC_SUBST(USE_NLS) | 30 | AC_SUBST([USE_NLS]) |
31 | ]) | 31 | ]) |
diff --git a/gl/m4/onceonly_2_57.m4 b/gl/m4/onceonly.m4 index 15884b3e..108cd6c1 100644 --- a/gl/m4/onceonly_2_57.m4 +++ b/gl/m4/onceonly.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # onceonly_2_57.m4 serial 4 | 1 | # onceonly.m4 serial 6 |
2 | dnl Copyright (C) 2002-2003, 2005-2006 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2003, 2005-2006, 2008 Free Software Foundation, Inc. |
3 | dnl This file is free software, distributed under the terms of the GNU | 3 | dnl This file is free software, distributed under the terms of the GNU |
4 | dnl General Public License. As a special exception to the GNU General | 4 | dnl General Public License. As a special exception to the GNU General |
5 | dnl Public License, this file may be distributed as part of a program | 5 | dnl Public License, this file may be distributed as part of a program |
@@ -21,19 +21,23 @@ dnl inside an AC_DEFUNed function, the gl_CHECK_HEADERS macro call expands to | |||
21 | dnl empty, and the check will be inserted before the body of the AC_DEFUNed | 21 | dnl empty, and the check will be inserted before the body of the AC_DEFUNed |
22 | dnl function. | 22 | dnl function. |
23 | 23 | ||
24 | dnl This is like onceonly.m4, except that it uses diversions to named sections | 24 | dnl The original code implemented AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE |
25 | dnl DEFAULTS and INIT_PREPARE in order to check all requested headers at once, | 25 | dnl in terms of AC_DEFUN and AC_REQUIRE. This implementation uses diversions to |
26 | dnl thus reducing the size of 'configure'. Works with autoconf-2.57. The | 26 | dnl named sections DEFAULTS and INIT_PREPARE in order to check all requested |
27 | dnl size reduction is ca. 9%. | 27 | dnl headers at once, thus reducing the size of 'configure'. It is known to work |
28 | dnl with autoconf 2.57..2.62 at least . The size reduction is ca. 9%. | ||
28 | 29 | ||
29 | dnl Autoconf version 2.57 or newer is recommended. | 30 | dnl Autoconf version 2.59 plus gnulib is required; this file is not needed |
30 | AC_PREREQ(2.57) | 31 | dnl with Autoconf 2.60 or greater. But note that autoconf's implementation of |
32 | dnl AC_CHECK_DECLS_ONCE expects a comma-separated list of symbols as first | ||
33 | dnl argument! | ||
34 | AC_PREREQ([2.59]) | ||
31 | 35 | ||
32 | # AC_CHECK_HEADERS_ONCE(HEADER1 HEADER2 ...) is a once-only variant of | 36 | # AC_CHECK_HEADERS_ONCE(HEADER1 HEADER2 ...) is a once-only variant of |
33 | # AC_CHECK_HEADERS(HEADER1 HEADER2 ...). | 37 | # AC_CHECK_HEADERS(HEADER1 HEADER2 ...). |
34 | AC_DEFUN([AC_CHECK_HEADERS_ONCE], [ | 38 | AC_DEFUN([AC_CHECK_HEADERS_ONCE], [ |
35 | : | 39 | : |
36 | AC_FOREACH([gl_HEADER_NAME], [$1], [ | 40 | m4_foreach_w([gl_HEADER_NAME], [$1], [ |
37 | AC_DEFUN([gl_CHECK_HEADER_]m4_quote(translit(gl_HEADER_NAME, | 41 | AC_DEFUN([gl_CHECK_HEADER_]m4_quote(translit(gl_HEADER_NAME, |
38 | [./-], [___])), [ | 42 | [./-], [___])), [ |
39 | m4_divert_text([INIT_PREPARE], | 43 | m4_divert_text([INIT_PREPARE], |
@@ -56,7 +60,7 @@ m4_define([gl_HEADERS_EXPANSION], [ | |||
56 | # AC_CHECK_FUNCS(FUNC1 FUNC2 ...). | 60 | # AC_CHECK_FUNCS(FUNC1 FUNC2 ...). |
57 | AC_DEFUN([AC_CHECK_FUNCS_ONCE], [ | 61 | AC_DEFUN([AC_CHECK_FUNCS_ONCE], [ |
58 | : | 62 | : |
59 | AC_FOREACH([gl_FUNC_NAME], [$1], [ | 63 | m4_foreach_w([gl_FUNC_NAME], [$1], [ |
60 | AC_DEFUN([gl_CHECK_FUNC_]m4_defn([gl_FUNC_NAME]), [ | 64 | AC_DEFUN([gl_CHECK_FUNC_]m4_defn([gl_FUNC_NAME]), [ |
61 | m4_divert_text([INIT_PREPARE], | 65 | m4_divert_text([INIT_PREPARE], |
62 | [gl_func_list="$gl_func_list gl_FUNC_NAME"]) | 66 | [gl_func_list="$gl_func_list gl_FUNC_NAME"]) |
@@ -77,7 +81,7 @@ m4_define([gl_FUNCS_EXPANSION], [ | |||
77 | # AC_CHECK_DECLS(DECL1, DECL2, ...). | 81 | # AC_CHECK_DECLS(DECL1, DECL2, ...). |
78 | AC_DEFUN([AC_CHECK_DECLS_ONCE], [ | 82 | AC_DEFUN([AC_CHECK_DECLS_ONCE], [ |
79 | : | 83 | : |
80 | AC_FOREACH([gl_DECL_NAME], [$1], [ | 84 | m4_foreach_w([gl_DECL_NAME], [$1], [ |
81 | AC_DEFUN([gl_CHECK_DECL_]m4_defn([gl_DECL_NAME]), [ | 85 | AC_DEFUN([gl_CHECK_DECL_]m4_defn([gl_DECL_NAME]), [ |
82 | AC_CHECK_DECLS(m4_defn([gl_DECL_NAME])) | 86 | AC_CHECK_DECLS(m4_defn([gl_DECL_NAME])) |
83 | ]) | 87 | ]) |
diff --git a/gl/m4/open.m4 b/gl/m4/open.m4 new file mode 100644 index 00000000..6e286c96 --- /dev/null +++ b/gl/m4/open.m4 | |||
@@ -0,0 +1,66 @@ | |||
1 | # open.m4 serial 5 | ||
2 | dnl Copyright (C) 2007-2009 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | ||
4 | dnl gives unlimited permission to copy and/or distribute it, | ||
5 | dnl with or without modifications, as long as this notice is preserved. | ||
6 | |||
7 | AC_DEFUN([gl_FUNC_OPEN], | ||
8 | [ | ||
9 | AC_REQUIRE([AC_CANONICAL_HOST]) | ||
10 | case "$host_os" in | ||
11 | mingw* | pw*) | ||
12 | gl_REPLACE_OPEN | ||
13 | ;; | ||
14 | *) | ||
15 | dnl open("foo/") should not create a file when the file name has a | ||
16 | dnl trailing slash. | ||
17 | AC_CACHE_CHECK([whether open recognizes a trailing slash], | ||
18 | [gl_cv_func_open_slash], | ||
19 | [ | ||
20 | AC_TRY_RUN([ | ||
21 | #include <fcntl.h> | ||
22 | #if HAVE_UNISTD_H | ||
23 | # include <unistd.h> | ||
24 | #endif | ||
25 | int main () | ||
26 | { | ||
27 | return open ("conftest.sl/", O_CREAT, 0600) >= 0; | ||
28 | }], [gl_cv_func_open_slash=yes], [gl_cv_func_open_slash=no], | ||
29 | [ | ||
30 | changequote(,)dnl | ||
31 | case "$host_os" in | ||
32 | solaris2.[0-9]*) gl_cv_func_open_slash="guessing no" ;; | ||
33 | hpux*) gl_cv_func_open_slash="guessing no" ;; | ||
34 | *) gl_cv_func_open_slash="guessing yes" ;; | ||
35 | esac | ||
36 | changequote([,])dnl | ||
37 | ]) | ||
38 | rm -f conftest.sl | ||
39 | ]) | ||
40 | case "$gl_cv_func_open_slash" in | ||
41 | *no) | ||
42 | AC_DEFINE([OPEN_TRAILING_SLASH_BUG], [1], | ||
43 | [Define to 1 if open() fails to recognize a trailing slash.]) | ||
44 | gl_REPLACE_OPEN | ||
45 | ;; | ||
46 | esac | ||
47 | ;; | ||
48 | esac | ||
49 | ]) | ||
50 | |||
51 | AC_DEFUN([gl_REPLACE_OPEN], | ||
52 | [ | ||
53 | AC_REQUIRE([gl_FCNTL_H_DEFAULTS]) | ||
54 | if test $REPLACE_OPEN != 1; then | ||
55 | AC_LIBOBJ([open]) | ||
56 | gl_PREREQ_OPEN | ||
57 | fi | ||
58 | REPLACE_OPEN=1 | ||
59 | ]) | ||
60 | |||
61 | # Prerequisites of lib/open.c. | ||
62 | AC_DEFUN([gl_PREREQ_OPEN], | ||
63 | [ | ||
64 | AC_REQUIRE([AC_C_INLINE]) | ||
65 | : | ||
66 | ]) | ||
diff --git a/gl/m4/po.m4 b/gl/m4/po.m4 index 0734762a..2284fa50 100644 --- a/gl/m4/po.m4 +++ b/gl/m4/po.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # po.m4 serial 15 (gettext-0.17) | 1 | # po.m4 serial 17 (gettext-0.18) |
2 | dnl Copyright (C) 1995-2007 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1995-2009 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -17,7 +17,7 @@ dnl Authors: | |||
17 | dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000. | 17 | dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000. |
18 | dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003. | 18 | dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003. |
19 | 19 | ||
20 | AC_PREREQ(2.50) | 20 | AC_PREREQ([2.50]) |
21 | 21 | ||
22 | dnl Checks for all prerequisites of the po subdirectory. | 22 | dnl Checks for all prerequisites of the po subdirectory. |
23 | AC_DEFUN([AM_PO_SUBDIRS], | 23 | AC_DEFUN([AM_PO_SUBDIRS], |
@@ -41,7 +41,7 @@ AC_DEFUN([AM_PO_SUBDIRS], | |||
41 | [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && | 41 | [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && |
42 | (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], | 42 | (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], |
43 | :) | 43 | :) |
44 | AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) | 44 | AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT]) |
45 | 45 | ||
46 | dnl Test whether it is GNU msgfmt >= 0.15. | 46 | dnl Test whether it is GNU msgfmt >= 0.15. |
47 | changequote(,)dnl | 47 | changequote(,)dnl |
diff --git a/gl/m4/printf-posix.m4 b/gl/m4/printf-posix.m4 index 14ba6128..5922d278 100644 --- a/gl/m4/printf-posix.m4 +++ b/gl/m4/printf-posix.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # printf-posix.m4 serial 3 (gettext-0.17) | 1 | # printf-posix.m4 serial 5 (gettext-0.18) |
2 | dnl Copyright (C) 2003, 2007 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2003, 2007, 2009 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -27,17 +27,18 @@ int main () | |||
27 | return (strcmp (buf, "55 33") != 0); | 27 | return (strcmp (buf, "55 33") != 0); |
28 | }], gt_cv_func_printf_posix=yes, gt_cv_func_printf_posix=no, | 28 | }], gt_cv_func_printf_posix=yes, gt_cv_func_printf_posix=no, |
29 | [ | 29 | [ |
30 | AC_EGREP_CPP(notposix, [ | 30 | AC_EGREP_CPP([notposix], [ |
31 | #if defined __NetBSD__ || defined __BEOS__ || defined _MSC_VER || defined __MINGW32__ || defined __CYGWIN__ | 31 | #if defined __NetBSD__ || defined __BEOS__ || defined _MSC_VER || defined __MINGW32__ || defined __CYGWIN__ |
32 | notposix | 32 | notposix |
33 | #endif | 33 | #endif |
34 | ], gt_cv_func_printf_posix="guessing no", | 34 | ], |
35 | gt_cv_func_printf_posix="guessing yes") | 35 | [gt_cv_func_printf_posix="guessing no"], |
36 | [gt_cv_func_printf_posix="guessing yes"]) | ||
36 | ]) | 37 | ]) |
37 | ]) | 38 | ]) |
38 | case $gt_cv_func_printf_posix in | 39 | case $gt_cv_func_printf_posix in |
39 | *yes) | 40 | *yes) |
40 | AC_DEFINE(HAVE_POSIX_PRINTF, 1, | 41 | AC_DEFINE([HAVE_POSIX_PRINTF], [1], |
41 | [Define if your printf() function supports format strings with positions.]) | 42 | [Define if your printf() function supports format strings with positions.]) |
42 | ;; | 43 | ;; |
43 | esac | 44 | esac |
diff --git a/gl/m4/printf.m4 b/gl/m4/printf.m4 new file mode 100644 index 00000000..4d109935 --- /dev/null +++ b/gl/m4/printf.m4 | |||
@@ -0,0 +1,1322 @@ | |||
1 | # printf.m4 serial 26 | ||
2 | dnl Copyright (C) 2003, 2007-2009 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | ||
4 | dnl gives unlimited permission to copy and/or distribute it, | ||
5 | dnl with or without modifications, as long as this notice is preserved. | ||
6 | |||
7 | dnl Test whether the *printf family of functions supports the 'j', 'z', 't', | ||
8 | dnl 'L' size specifiers. (ISO C99, POSIX:2001) | ||
9 | dnl Result is gl_cv_func_printf_sizes_c99. | ||
10 | |||
11 | AC_DEFUN([gl_PRINTF_SIZES_C99], | ||
12 | [ | ||
13 | AC_REQUIRE([AC_PROG_CC]) | ||
14 | AC_REQUIRE([gl_AC_HEADER_STDINT_H]) | ||
15 | AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) | ||
16 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
17 | AC_CACHE_CHECK([whether printf supports size specifiers as in C99], | ||
18 | [gl_cv_func_printf_sizes_c99], | ||
19 | [ | ||
20 | AC_TRY_RUN([ | ||
21 | #include <stddef.h> | ||
22 | #include <stdio.h> | ||
23 | #include <string.h> | ||
24 | #include <sys/types.h> | ||
25 | #if HAVE_STDINT_H_WITH_UINTMAX | ||
26 | # include <stdint.h> | ||
27 | #endif | ||
28 | #if HAVE_INTTYPES_H_WITH_UINTMAX | ||
29 | # include <inttypes.h> | ||
30 | #endif | ||
31 | static char buf[100]; | ||
32 | int main () | ||
33 | { | ||
34 | #if HAVE_STDINT_H_WITH_UINTMAX || HAVE_INTTYPES_H_WITH_UINTMAX | ||
35 | buf[0] = '\0'; | ||
36 | if (sprintf (buf, "%ju %d", (uintmax_t) 12345671, 33, 44, 55) < 0 | ||
37 | || strcmp (buf, "12345671 33") != 0) | ||
38 | return 1; | ||
39 | #endif | ||
40 | buf[0] = '\0'; | ||
41 | if (sprintf (buf, "%zu %d", (size_t) 12345672, 33, 44, 55) < 0 | ||
42 | || strcmp (buf, "12345672 33") != 0) | ||
43 | return 1; | ||
44 | buf[0] = '\0'; | ||
45 | if (sprintf (buf, "%tu %d", (ptrdiff_t) 12345673, 33, 44, 55) < 0 | ||
46 | || strcmp (buf, "12345673 33") != 0) | ||
47 | return 1; | ||
48 | buf[0] = '\0'; | ||
49 | if (sprintf (buf, "%Lg %d", (long double) 1.5, 33, 44, 55) < 0 | ||
50 | || strcmp (buf, "1.5 33") != 0) | ||
51 | return 1; | ||
52 | return 0; | ||
53 | }], [gl_cv_func_printf_sizes_c99=yes], [gl_cv_func_printf_sizes_c99=no], | ||
54 | [ | ||
55 | changequote(,)dnl | ||
56 | case "$host_os" in | ||
57 | # Guess yes on glibc systems. | ||
58 | *-gnu*) gl_cv_func_printf_sizes_c99="guessing yes";; | ||
59 | # Guess yes on FreeBSD >= 5. | ||
60 | freebsd[1-4]*) gl_cv_func_printf_sizes_c99="guessing no";; | ||
61 | freebsd* | kfreebsd*) gl_cv_func_printf_sizes_c99="guessing yes";; | ||
62 | # Guess yes on MacOS X >= 10.3. | ||
63 | darwin[1-6].*) gl_cv_func_printf_sizes_c99="guessing no";; | ||
64 | darwin*) gl_cv_func_printf_sizes_c99="guessing yes";; | ||
65 | # Guess yes on OpenBSD >= 3.9. | ||
66 | openbsd[1-2].* | openbsd3.[0-8] | openbsd3.[0-8].*) | ||
67 | gl_cv_func_printf_sizes_c99="guessing no";; | ||
68 | openbsd*) gl_cv_func_printf_sizes_c99="guessing yes";; | ||
69 | # Guess yes on Solaris >= 2.10. | ||
70 | solaris2.[0-9]*) gl_cv_func_printf_sizes_c99="guessing no";; | ||
71 | solaris*) gl_cv_func_printf_sizes_c99="guessing yes";; | ||
72 | # Guess yes on NetBSD >= 3. | ||
73 | netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) | ||
74 | gl_cv_func_printf_sizes_c99="guessing no";; | ||
75 | netbsd*) gl_cv_func_printf_sizes_c99="guessing yes";; | ||
76 | # If we don't know, assume the worst. | ||
77 | *) gl_cv_func_printf_sizes_c99="guessing no";; | ||
78 | esac | ||
79 | changequote([,])dnl | ||
80 | ]) | ||
81 | ]) | ||
82 | ]) | ||
83 | |||
84 | dnl Test whether the *printf family of functions supports 'long double' | ||
85 | dnl arguments together with the 'L' size specifier. (ISO C99, POSIX:2001) | ||
86 | dnl Result is gl_cv_func_printf_long_double. | ||
87 | |||
88 | AC_DEFUN([gl_PRINTF_LONG_DOUBLE], | ||
89 | [ | ||
90 | AC_REQUIRE([AC_PROG_CC]) | ||
91 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
92 | AC_CACHE_CHECK([whether printf supports 'long double' arguments], | ||
93 | [gl_cv_func_printf_long_double], | ||
94 | [ | ||
95 | AC_TRY_RUN([ | ||
96 | #include <stdio.h> | ||
97 | #include <string.h> | ||
98 | static char buf[10000]; | ||
99 | int main () | ||
100 | { | ||
101 | buf[0] = '\0'; | ||
102 | if (sprintf (buf, "%Lf %d", 1.75L, 33, 44, 55) < 0 | ||
103 | || strcmp (buf, "1.750000 33") != 0) | ||
104 | return 1; | ||
105 | buf[0] = '\0'; | ||
106 | if (sprintf (buf, "%Le %d", 1.75L, 33, 44, 55) < 0 | ||
107 | || strcmp (buf, "1.750000e+00 33") != 0) | ||
108 | return 1; | ||
109 | buf[0] = '\0'; | ||
110 | if (sprintf (buf, "%Lg %d", 1.75L, 33, 44, 55) < 0 | ||
111 | || strcmp (buf, "1.75 33") != 0) | ||
112 | return 1; | ||
113 | return 0; | ||
114 | }], [gl_cv_func_printf_long_double=yes], [gl_cv_func_printf_long_double=no], | ||
115 | [ | ||
116 | changequote(,)dnl | ||
117 | case "$host_os" in | ||
118 | beos*) gl_cv_func_printf_long_double="guessing no";; | ||
119 | mingw* | pw*) gl_cv_func_printf_long_double="guessing no";; | ||
120 | *) gl_cv_func_printf_long_double="guessing yes";; | ||
121 | esac | ||
122 | changequote([,])dnl | ||
123 | ]) | ||
124 | ]) | ||
125 | ]) | ||
126 | |||
127 | dnl Test whether the *printf family of functions supports infinite and NaN | ||
128 | dnl 'double' arguments in the %f, %e, %g directives. (ISO C99, POSIX:2001) | ||
129 | dnl Result is gl_cv_func_printf_infinite. | ||
130 | |||
131 | AC_DEFUN([gl_PRINTF_INFINITE], | ||
132 | [ | ||
133 | AC_REQUIRE([AC_PROG_CC]) | ||
134 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
135 | AC_CACHE_CHECK([whether printf supports infinite 'double' arguments], | ||
136 | [gl_cv_func_printf_infinite], | ||
137 | [ | ||
138 | AC_TRY_RUN([ | ||
139 | #include <stdio.h> | ||
140 | #include <string.h> | ||
141 | static int | ||
142 | strisnan (const char *string, size_t start_index, size_t end_index) | ||
143 | { | ||
144 | if (start_index < end_index) | ||
145 | { | ||
146 | if (string[start_index] == '-') | ||
147 | start_index++; | ||
148 | if (start_index + 3 <= end_index | ||
149 | && memcmp (string + start_index, "nan", 3) == 0) | ||
150 | { | ||
151 | start_index += 3; | ||
152 | if (start_index == end_index | ||
153 | || (string[start_index] == '(' && string[end_index - 1] == ')')) | ||
154 | return 1; | ||
155 | } | ||
156 | } | ||
157 | return 0; | ||
158 | } | ||
159 | static char buf[10000]; | ||
160 | static double zero = 0.0; | ||
161 | int main () | ||
162 | { | ||
163 | if (sprintf (buf, "%f", 1.0 / 0.0) < 0 | ||
164 | || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) | ||
165 | return 1; | ||
166 | if (sprintf (buf, "%f", -1.0 / 0.0) < 0 | ||
167 | || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) | ||
168 | return 1; | ||
169 | if (sprintf (buf, "%f", zero / zero) < 0 | ||
170 | || !strisnan (buf, 0, strlen (buf))) | ||
171 | return 1; | ||
172 | if (sprintf (buf, "%e", 1.0 / 0.0) < 0 | ||
173 | || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) | ||
174 | return 1; | ||
175 | if (sprintf (buf, "%e", -1.0 / 0.0) < 0 | ||
176 | || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) | ||
177 | return 1; | ||
178 | if (sprintf (buf, "%e", zero / zero) < 0 | ||
179 | || !strisnan (buf, 0, strlen (buf))) | ||
180 | return 1; | ||
181 | if (sprintf (buf, "%g", 1.0 / 0.0) < 0 | ||
182 | || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) | ||
183 | return 1; | ||
184 | if (sprintf (buf, "%g", -1.0 / 0.0) < 0 | ||
185 | || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) | ||
186 | return 1; | ||
187 | if (sprintf (buf, "%g", zero / zero) < 0 | ||
188 | || !strisnan (buf, 0, strlen (buf))) | ||
189 | return 1; | ||
190 | return 0; | ||
191 | }], [gl_cv_func_printf_infinite=yes], [gl_cv_func_printf_infinite=no], | ||
192 | [ | ||
193 | changequote(,)dnl | ||
194 | case "$host_os" in | ||
195 | # Guess yes on glibc systems. | ||
196 | *-gnu*) gl_cv_func_printf_infinite="guessing yes";; | ||
197 | # Guess yes on FreeBSD >= 6. | ||
198 | freebsd[1-5]*) gl_cv_func_printf_infinite="guessing no";; | ||
199 | freebsd* | kfreebsd*) gl_cv_func_printf_infinite="guessing yes";; | ||
200 | # Guess yes on MacOS X >= 10.3. | ||
201 | darwin[1-6].*) gl_cv_func_printf_infinite="guessing no";; | ||
202 | darwin*) gl_cv_func_printf_infinite="guessing yes";; | ||
203 | # Guess yes on HP-UX >= 11. | ||
204 | hpux[7-9]* | hpux10*) gl_cv_func_printf_infinite="guessing no";; | ||
205 | hpux*) gl_cv_func_printf_infinite="guessing yes";; | ||
206 | # Guess yes on NetBSD >= 3. | ||
207 | netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) | ||
208 | gl_cv_func_printf_infinite="guessing no";; | ||
209 | netbsd*) gl_cv_func_printf_infinite="guessing yes";; | ||
210 | # Guess yes on BeOS. | ||
211 | beos*) gl_cv_func_printf_infinite="guessing yes";; | ||
212 | # If we don't know, assume the worst. | ||
213 | *) gl_cv_func_printf_infinite="guessing no";; | ||
214 | esac | ||
215 | changequote([,])dnl | ||
216 | ]) | ||
217 | ]) | ||
218 | ]) | ||
219 | |||
220 | dnl Test whether the *printf family of functions supports infinite and NaN | ||
221 | dnl 'long double' arguments in the %f, %e, %g directives. (ISO C99, POSIX:2001) | ||
222 | dnl Result is gl_cv_func_printf_infinite_long_double. | ||
223 | |||
224 | AC_DEFUN([gl_PRINTF_INFINITE_LONG_DOUBLE], | ||
225 | [ | ||
226 | AC_REQUIRE([gl_PRINTF_LONG_DOUBLE]) | ||
227 | AC_REQUIRE([AC_PROG_CC]) | ||
228 | AC_REQUIRE([AC_C_BIGENDIAN]) | ||
229 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
230 | dnl The user can set or unset the variable gl_printf_safe to indicate | ||
231 | dnl that he wishes a safe handling of non-IEEE-754 'long double' values. | ||
232 | if test -n "$gl_printf_safe"; then | ||
233 | AC_DEFINE([CHECK_PRINTF_SAFE], [1], | ||
234 | [Define if you wish *printf() functions that have a safe handling of | ||
235 | non-IEEE-754 'long double' values.]) | ||
236 | fi | ||
237 | case "$gl_cv_func_printf_long_double" in | ||
238 | *yes) | ||
239 | AC_CACHE_CHECK([whether printf supports infinite 'long double' arguments], | ||
240 | [gl_cv_func_printf_infinite_long_double], | ||
241 | [ | ||
242 | AC_TRY_RUN([ | ||
243 | ]GL_NOCRASH[ | ||
244 | #include <float.h> | ||
245 | #include <stdio.h> | ||
246 | #include <string.h> | ||
247 | static int | ||
248 | strisnan (const char *string, size_t start_index, size_t end_index) | ||
249 | { | ||
250 | if (start_index < end_index) | ||
251 | { | ||
252 | if (string[start_index] == '-') | ||
253 | start_index++; | ||
254 | if (start_index + 3 <= end_index | ||
255 | && memcmp (string + start_index, "nan", 3) == 0) | ||
256 | { | ||
257 | start_index += 3; | ||
258 | if (start_index == end_index | ||
259 | || (string[start_index] == '(' && string[end_index - 1] == ')')) | ||
260 | return 1; | ||
261 | } | ||
262 | } | ||
263 | return 0; | ||
264 | } | ||
265 | static char buf[10000]; | ||
266 | static long double zeroL = 0.0L; | ||
267 | int main () | ||
268 | { | ||
269 | nocrash_init(); | ||
270 | if (sprintf (buf, "%Lf", 1.0L / 0.0L) < 0 | ||
271 | || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) | ||
272 | return 1; | ||
273 | if (sprintf (buf, "%Lf", -1.0L / 0.0L) < 0 | ||
274 | || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) | ||
275 | return 1; | ||
276 | if (sprintf (buf, "%Lf", zeroL / zeroL) < 0 | ||
277 | || !strisnan (buf, 0, strlen (buf))) | ||
278 | return 1; | ||
279 | if (sprintf (buf, "%Le", 1.0L / 0.0L) < 0 | ||
280 | || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) | ||
281 | return 1; | ||
282 | if (sprintf (buf, "%Le", -1.0L / 0.0L) < 0 | ||
283 | || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) | ||
284 | return 1; | ||
285 | if (sprintf (buf, "%Le", zeroL / zeroL) < 0 | ||
286 | || !strisnan (buf, 0, strlen (buf))) | ||
287 | return 1; | ||
288 | if (sprintf (buf, "%Lg", 1.0L / 0.0L) < 0 | ||
289 | || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) | ||
290 | return 1; | ||
291 | if (sprintf (buf, "%Lg", -1.0L / 0.0L) < 0 | ||
292 | || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) | ||
293 | return 1; | ||
294 | if (sprintf (buf, "%Lg", zeroL / zeroL) < 0 | ||
295 | || !strisnan (buf, 0, strlen (buf))) | ||
296 | return 1; | ||
297 | #if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) | ||
298 | /* Representation of an 80-bit 'long double' as an initializer for a sequence | ||
299 | of 'unsigned int' words. */ | ||
300 | # ifdef WORDS_BIGENDIAN | ||
301 | # define LDBL80_WORDS(exponent,manthi,mantlo) \ | ||
302 | { ((unsigned int) (exponent) << 16) | ((unsigned int) (manthi) >> 16), \ | ||
303 | ((unsigned int) (manthi) << 16) | (unsigned int) (mantlo) >> 16), \ | ||
304 | (unsigned int) (mantlo) << 16 \ | ||
305 | } | ||
306 | # else | ||
307 | # define LDBL80_WORDS(exponent,manthi,mantlo) \ | ||
308 | { mantlo, manthi, exponent } | ||
309 | # endif | ||
310 | { /* Quiet NaN. */ | ||
311 | static union { unsigned int word[4]; long double value; } x = | ||
312 | { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) }; | ||
313 | if (sprintf (buf, "%Lf", x.value) < 0 | ||
314 | || !strisnan (buf, 0, strlen (buf))) | ||
315 | return 1; | ||
316 | if (sprintf (buf, "%Le", x.value) < 0 | ||
317 | || !strisnan (buf, 0, strlen (buf))) | ||
318 | return 1; | ||
319 | if (sprintf (buf, "%Lg", x.value) < 0 | ||
320 | || !strisnan (buf, 0, strlen (buf))) | ||
321 | return 1; | ||
322 | } | ||
323 | { | ||
324 | /* Signalling NaN. */ | ||
325 | static union { unsigned int word[4]; long double value; } x = | ||
326 | { LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) }; | ||
327 | if (sprintf (buf, "%Lf", x.value) < 0 | ||
328 | || !strisnan (buf, 0, strlen (buf))) | ||
329 | return 1; | ||
330 | if (sprintf (buf, "%Le", x.value) < 0 | ||
331 | || !strisnan (buf, 0, strlen (buf))) | ||
332 | return 1; | ||
333 | if (sprintf (buf, "%Lg", x.value) < 0 | ||
334 | || !strisnan (buf, 0, strlen (buf))) | ||
335 | return 1; | ||
336 | } | ||
337 | { /* Pseudo-NaN. */ | ||
338 | static union { unsigned int word[4]; long double value; } x = | ||
339 | { LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) }; | ||
340 | if (sprintf (buf, "%Lf", x.value) < 0 | ||
341 | || !strisnan (buf, 0, strlen (buf))) | ||
342 | return 1; | ||
343 | if (sprintf (buf, "%Le", x.value) < 0 | ||
344 | || !strisnan (buf, 0, strlen (buf))) | ||
345 | return 1; | ||
346 | if (sprintf (buf, "%Lg", x.value) < 0 | ||
347 | || !strisnan (buf, 0, strlen (buf))) | ||
348 | return 1; | ||
349 | } | ||
350 | { /* Pseudo-Infinity. */ | ||
351 | static union { unsigned int word[4]; long double value; } x = | ||
352 | { LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) }; | ||
353 | if (sprintf (buf, "%Lf", x.value) < 0 | ||
354 | || !strisnan (buf, 0, strlen (buf))) | ||
355 | return 1; | ||
356 | if (sprintf (buf, "%Le", x.value) < 0 | ||
357 | || !strisnan (buf, 0, strlen (buf))) | ||
358 | return 1; | ||
359 | if (sprintf (buf, "%Lg", x.value) < 0 | ||
360 | || !strisnan (buf, 0, strlen (buf))) | ||
361 | return 1; | ||
362 | } | ||
363 | { /* Pseudo-Zero. */ | ||
364 | static union { unsigned int word[4]; long double value; } x = | ||
365 | { LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) }; | ||
366 | if (sprintf (buf, "%Lf", x.value) < 0 | ||
367 | || !strisnan (buf, 0, strlen (buf))) | ||
368 | return 1; | ||
369 | if (sprintf (buf, "%Le", x.value) < 0 | ||
370 | || !strisnan (buf, 0, strlen (buf))) | ||
371 | return 1; | ||
372 | if (sprintf (buf, "%Lg", x.value) < 0 | ||
373 | || !strisnan (buf, 0, strlen (buf))) | ||
374 | return 1; | ||
375 | } | ||
376 | { /* Unnormalized number. */ | ||
377 | static union { unsigned int word[4]; long double value; } x = | ||
378 | { LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) }; | ||
379 | if (sprintf (buf, "%Lf", x.value) < 0 | ||
380 | || !strisnan (buf, 0, strlen (buf))) | ||
381 | return 1; | ||
382 | if (sprintf (buf, "%Le", x.value) < 0 | ||
383 | || !strisnan (buf, 0, strlen (buf))) | ||
384 | return 1; | ||
385 | if (sprintf (buf, "%Lg", x.value) < 0 | ||
386 | || !strisnan (buf, 0, strlen (buf))) | ||
387 | return 1; | ||
388 | } | ||
389 | { /* Pseudo-Denormal. */ | ||
390 | static union { unsigned int word[4]; long double value; } x = | ||
391 | { LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) }; | ||
392 | if (sprintf (buf, "%Lf", x.value) < 0 | ||
393 | || !strisnan (buf, 0, strlen (buf))) | ||
394 | return 1; | ||
395 | if (sprintf (buf, "%Le", x.value) < 0 | ||
396 | || !strisnan (buf, 0, strlen (buf))) | ||
397 | return 1; | ||
398 | if (sprintf (buf, "%Lg", x.value) < 0 | ||
399 | || !strisnan (buf, 0, strlen (buf))) | ||
400 | return 1; | ||
401 | } | ||
402 | #endif | ||
403 | return 0; | ||
404 | }], | ||
405 | [gl_cv_func_printf_infinite_long_double=yes], | ||
406 | [gl_cv_func_printf_infinite_long_double=no], | ||
407 | [ | ||
408 | changequote(,)dnl | ||
409 | case "$host_cpu" in | ||
410 | # Guess no on ia64, x86_64, i386. | ||
411 | ia64 | x86_64 | i*86) gl_cv_func_printf_infinite_long_double="guessing no";; | ||
412 | *) | ||
413 | case "$host_os" in | ||
414 | # Guess yes on glibc systems. | ||
415 | *-gnu*) gl_cv_func_printf_infinite_long_double="guessing yes";; | ||
416 | # Guess yes on FreeBSD >= 6. | ||
417 | freebsd[1-5]*) gl_cv_func_printf_infinite_long_double="guessing no";; | ||
418 | freebsd* | kfreebsd*) gl_cv_func_printf_infinite_long_double="guessing yes";; | ||
419 | # Guess yes on MacOS X >= 10.3. | ||
420 | darwin[1-6].*) gl_cv_func_printf_infinite_long_double="guessing no";; | ||
421 | darwin*) gl_cv_func_printf_infinite_long_double="guessing yes";; | ||
422 | # Guess yes on HP-UX >= 11. | ||
423 | hpux[7-9]* | hpux10*) gl_cv_func_printf_infinite_long_double="guessing no";; | ||
424 | hpux*) gl_cv_func_printf_infinite_long_double="guessing yes";; | ||
425 | # Guess yes on NetBSD >= 3. | ||
426 | netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) | ||
427 | gl_cv_func_printf_infinite_long_double="guessing no";; | ||
428 | netbsd*) gl_cv_func_printf_infinite_long_double="guessing yes";; | ||
429 | # If we don't know, assume the worst. | ||
430 | *) gl_cv_func_printf_infinite_long_double="guessing no";; | ||
431 | esac | ||
432 | ;; | ||
433 | esac | ||
434 | changequote([,])dnl | ||
435 | ]) | ||
436 | ]) | ||
437 | ;; | ||
438 | *) | ||
439 | gl_cv_func_printf_infinite_long_double="irrelevant" | ||
440 | ;; | ||
441 | esac | ||
442 | ]) | ||
443 | |||
444 | dnl Test whether the *printf family of functions supports the 'a' and 'A' | ||
445 | dnl conversion specifier for hexadecimal output of floating-point numbers. | ||
446 | dnl (ISO C99, POSIX:2001) | ||
447 | dnl Result is gl_cv_func_printf_directive_a. | ||
448 | |||
449 | AC_DEFUN([gl_PRINTF_DIRECTIVE_A], | ||
450 | [ | ||
451 | AC_REQUIRE([AC_PROG_CC]) | ||
452 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
453 | AC_CACHE_CHECK([whether printf supports the 'a' and 'A' directives], | ||
454 | [gl_cv_func_printf_directive_a], | ||
455 | [ | ||
456 | AC_TRY_RUN([ | ||
457 | #include <stdio.h> | ||
458 | #include <string.h> | ||
459 | static char buf[100]; | ||
460 | int main () | ||
461 | { | ||
462 | if (sprintf (buf, "%a %d", 3.1416015625, 33, 44, 55) < 0 | ||
463 | || (strcmp (buf, "0x1.922p+1 33") != 0 | ||
464 | && strcmp (buf, "0x3.244p+0 33") != 0 | ||
465 | && strcmp (buf, "0x6.488p-1 33") != 0 | ||
466 | && strcmp (buf, "0xc.91p-2 33") != 0)) | ||
467 | return 1; | ||
468 | if (sprintf (buf, "%A %d", -3.1416015625, 33, 44, 55) < 0 | ||
469 | || (strcmp (buf, "-0X1.922P+1 33") != 0 | ||
470 | && strcmp (buf, "-0X3.244P+0 33") != 0 | ||
471 | && strcmp (buf, "-0X6.488P-1 33") != 0 | ||
472 | && strcmp (buf, "-0XC.91P-2 33") != 0)) | ||
473 | return 1; | ||
474 | /* This catches a FreeBSD 6.1 bug: it doesn't round. */ | ||
475 | if (sprintf (buf, "%.2a %d", 1.51, 33, 44, 55) < 0 | ||
476 | || (strcmp (buf, "0x1.83p+0 33") != 0 | ||
477 | && strcmp (buf, "0x3.05p-1 33") != 0 | ||
478 | && strcmp (buf, "0x6.0ap-2 33") != 0 | ||
479 | && strcmp (buf, "0xc.14p-3 33") != 0)) | ||
480 | return 1; | ||
481 | /* This catches a FreeBSD 6.1 bug. See | ||
482 | <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00107.html> */ | ||
483 | if (sprintf (buf, "%010a %d", 1.0 / 0.0, 33, 44, 55) < 0 | ||
484 | || buf[0] == '0') | ||
485 | return 1; | ||
486 | /* This catches a MacOS X 10.3.9 (Darwin 7.9) bug. */ | ||
487 | if (sprintf (buf, "%.1a", 1.999) < 0 | ||
488 | || (strcmp (buf, "0x1.0p+1") != 0 | ||
489 | && strcmp (buf, "0x2.0p+0") != 0 | ||
490 | && strcmp (buf, "0x4.0p-1") != 0 | ||
491 | && strcmp (buf, "0x8.0p-2") != 0)) | ||
492 | return 1; | ||
493 | /* This catches the same MacOS X 10.3.9 (Darwin 7.9) bug and also a | ||
494 | glibc 2.4 bug <http://sourceware.org/bugzilla/show_bug.cgi?id=2908>. */ | ||
495 | if (sprintf (buf, "%.1La", 1.999L) < 0 | ||
496 | || (strcmp (buf, "0x1.0p+1") != 0 | ||
497 | && strcmp (buf, "0x2.0p+0") != 0 | ||
498 | && strcmp (buf, "0x4.0p-1") != 0 | ||
499 | && strcmp (buf, "0x8.0p-2") != 0)) | ||
500 | return 1; | ||
501 | return 0; | ||
502 | }], [gl_cv_func_printf_directive_a=yes], [gl_cv_func_printf_directive_a=no], | ||
503 | [ | ||
504 | case "$host_os" in | ||
505 | # Guess yes on glibc >= 2.5 systems. | ||
506 | *-gnu*) | ||
507 | AC_EGREP_CPP([BZ2908], [ | ||
508 | #include <features.h> | ||
509 | #ifdef __GNU_LIBRARY__ | ||
510 | #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 5) || (__GLIBC__ > 2) | ||
511 | BZ2908 | ||
512 | #endif | ||
513 | #endif | ||
514 | ], | ||
515 | [gl_cv_func_printf_directive_a="guessing yes"], | ||
516 | [gl_cv_func_printf_directive_a="guessing no"]) | ||
517 | ;; | ||
518 | # If we don't know, assume the worst. | ||
519 | *) gl_cv_func_printf_directive_a="guessing no";; | ||
520 | esac | ||
521 | ]) | ||
522 | ]) | ||
523 | ]) | ||
524 | |||
525 | dnl Test whether the *printf family of functions supports the %F format | ||
526 | dnl directive. (ISO C99, POSIX:2001) | ||
527 | dnl Result is gl_cv_func_printf_directive_f. | ||
528 | |||
529 | AC_DEFUN([gl_PRINTF_DIRECTIVE_F], | ||
530 | [ | ||
531 | AC_REQUIRE([AC_PROG_CC]) | ||
532 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
533 | AC_CACHE_CHECK([whether printf supports the 'F' directive], | ||
534 | [gl_cv_func_printf_directive_f], | ||
535 | [ | ||
536 | AC_TRY_RUN([ | ||
537 | #include <stdio.h> | ||
538 | #include <string.h> | ||
539 | static char buf[100]; | ||
540 | int main () | ||
541 | { | ||
542 | if (sprintf (buf, "%F %d", 1234567.0, 33, 44, 55) < 0 | ||
543 | || strcmp (buf, "1234567.000000 33") != 0) | ||
544 | return 1; | ||
545 | if (sprintf (buf, "%F", 1.0 / 0.0) < 0 | ||
546 | || (strcmp (buf, "INF") != 0 && strcmp (buf, "INFINITY") != 0)) | ||
547 | return 1; | ||
548 | /* This catches a Cygwin 2007 bug. */ | ||
549 | if (sprintf (buf, "%.F", 1234.0) < 0 | ||
550 | || strcmp (buf, "1234") != 0) | ||
551 | return 1; | ||
552 | return 0; | ||
553 | }], [gl_cv_func_printf_directive_f=yes], [gl_cv_func_printf_directive_f=no], | ||
554 | [ | ||
555 | changequote(,)dnl | ||
556 | case "$host_os" in | ||
557 | # Guess yes on glibc systems. | ||
558 | *-gnu*) gl_cv_func_printf_directive_f="guessing yes";; | ||
559 | # Guess yes on FreeBSD >= 6. | ||
560 | freebsd[1-5]*) gl_cv_func_printf_directive_f="guessing no";; | ||
561 | freebsd* | kfreebsd*) gl_cv_func_printf_directive_f="guessing yes";; | ||
562 | # Guess yes on MacOS X >= 10.3. | ||
563 | darwin[1-6].*) gl_cv_func_printf_directive_f="guessing no";; | ||
564 | darwin*) gl_cv_func_printf_directive_f="guessing yes";; | ||
565 | # Guess yes on Solaris >= 2.10. | ||
566 | solaris2.[0-9]*) gl_cv_func_printf_directive_f="guessing no";; | ||
567 | solaris*) gl_cv_func_printf_directive_f="guessing yes";; | ||
568 | # If we don't know, assume the worst. | ||
569 | *) gl_cv_func_printf_directive_f="guessing no";; | ||
570 | esac | ||
571 | changequote([,])dnl | ||
572 | ]) | ||
573 | ]) | ||
574 | ]) | ||
575 | |||
576 | dnl Test whether the *printf family of functions supports the %n format | ||
577 | dnl directive. (ISO C99, POSIX:2001) | ||
578 | dnl Result is gl_cv_func_printf_directive_n. | ||
579 | |||
580 | AC_DEFUN([gl_PRINTF_DIRECTIVE_N], | ||
581 | [ | ||
582 | AC_REQUIRE([AC_PROG_CC]) | ||
583 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
584 | AC_CACHE_CHECK([whether printf supports the 'n' directive], | ||
585 | [gl_cv_func_printf_directive_n], | ||
586 | [ | ||
587 | AC_TRY_RUN([ | ||
588 | #include <stdio.h> | ||
589 | #include <string.h> | ||
590 | static char fmtstring[10]; | ||
591 | static char buf[100]; | ||
592 | int main () | ||
593 | { | ||
594 | int count = -1; | ||
595 | /* Copy the format string. Some systems (glibc with _FORTIFY_SOURCE=2) | ||
596 | support %n in format strings in read-only memory but not in writable | ||
597 | memory. */ | ||
598 | strcpy (fmtstring, "%d %n"); | ||
599 | if (sprintf (buf, fmtstring, 123, &count, 33, 44, 55) < 0 | ||
600 | || strcmp (buf, "123 ") != 0 | ||
601 | || count != 4) | ||
602 | return 1; | ||
603 | return 0; | ||
604 | }], [gl_cv_func_printf_directive_n=yes], [gl_cv_func_printf_directive_n=no], | ||
605 | [ | ||
606 | changequote(,)dnl | ||
607 | case "$host_os" in | ||
608 | *) gl_cv_func_printf_directive_n="guessing yes";; | ||
609 | esac | ||
610 | changequote([,])dnl | ||
611 | ]) | ||
612 | ]) | ||
613 | ]) | ||
614 | |||
615 | dnl Test whether the *printf family of functions supports POSIX/XSI format | ||
616 | dnl strings with positions. (POSIX:2001) | ||
617 | dnl Result is gl_cv_func_printf_positions. | ||
618 | |||
619 | AC_DEFUN([gl_PRINTF_POSITIONS], | ||
620 | [ | ||
621 | AC_REQUIRE([AC_PROG_CC]) | ||
622 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
623 | AC_CACHE_CHECK([whether printf supports POSIX/XSI format strings with positions], | ||
624 | [gl_cv_func_printf_positions], | ||
625 | [ | ||
626 | AC_TRY_RUN([ | ||
627 | #include <stdio.h> | ||
628 | #include <string.h> | ||
629 | /* The string "%2$d %1$d", with dollar characters protected from the shell's | ||
630 | dollar expansion (possibly an autoconf bug). */ | ||
631 | static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' }; | ||
632 | static char buf[100]; | ||
633 | int main () | ||
634 | { | ||
635 | sprintf (buf, format, 33, 55); | ||
636 | return (strcmp (buf, "55 33") != 0); | ||
637 | }], [gl_cv_func_printf_positions=yes], [gl_cv_func_printf_positions=no], | ||
638 | [ | ||
639 | changequote(,)dnl | ||
640 | case "$host_os" in | ||
641 | netbsd[1-3]* | netbsdelf[1-3]* | netbsdaout[1-3]* | netbsdcoff[1-3]*) | ||
642 | gl_cv_func_printf_positions="guessing no";; | ||
643 | beos*) gl_cv_func_printf_positions="guessing no";; | ||
644 | mingw* | pw*) gl_cv_func_printf_positions="guessing no";; | ||
645 | *) gl_cv_func_printf_positions="guessing yes";; | ||
646 | esac | ||
647 | changequote([,])dnl | ||
648 | ]) | ||
649 | ]) | ||
650 | ]) | ||
651 | |||
652 | dnl Test whether the *printf family of functions supports POSIX/XSI format | ||
653 | dnl strings with the ' flag for grouping of decimal digits. (POSIX:2001) | ||
654 | dnl Result is gl_cv_func_printf_flag_grouping. | ||
655 | |||
656 | AC_DEFUN([gl_PRINTF_FLAG_GROUPING], | ||
657 | [ | ||
658 | AC_REQUIRE([AC_PROG_CC]) | ||
659 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
660 | AC_CACHE_CHECK([whether printf supports the grouping flag], | ||
661 | [gl_cv_func_printf_flag_grouping], | ||
662 | [ | ||
663 | AC_TRY_RUN([ | ||
664 | #include <stdio.h> | ||
665 | #include <string.h> | ||
666 | static char buf[100]; | ||
667 | int main () | ||
668 | { | ||
669 | if (sprintf (buf, "%'d %d", 1234567, 99) < 0 | ||
670 | || buf[strlen (buf) - 1] != '9') | ||
671 | return 1; | ||
672 | return 0; | ||
673 | }], [gl_cv_func_printf_flag_grouping=yes], [gl_cv_func_printf_flag_grouping=no], | ||
674 | [ | ||
675 | changequote(,)dnl | ||
676 | case "$host_os" in | ||
677 | cygwin*) gl_cv_func_printf_flag_grouping="guessing no";; | ||
678 | netbsd*) gl_cv_func_printf_flag_grouping="guessing no";; | ||
679 | mingw* | pw*) gl_cv_func_printf_flag_grouping="guessing no";; | ||
680 | *) gl_cv_func_printf_flag_grouping="guessing yes";; | ||
681 | esac | ||
682 | changequote([,])dnl | ||
683 | ]) | ||
684 | ]) | ||
685 | ]) | ||
686 | |||
687 | dnl Test whether the *printf family of functions supports the - flag correctly. | ||
688 | dnl (ISO C99.) See | ||
689 | dnl <http://lists.gnu.org/archive/html/bug-coreutils/2008-02/msg00035.html> | ||
690 | dnl Result is gl_cv_func_printf_flag_leftadjust. | ||
691 | |||
692 | AC_DEFUN([gl_PRINTF_FLAG_LEFTADJUST], | ||
693 | [ | ||
694 | AC_REQUIRE([AC_PROG_CC]) | ||
695 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
696 | AC_CACHE_CHECK([whether printf supports the left-adjust flag correctly], | ||
697 | [gl_cv_func_printf_flag_leftadjust], | ||
698 | [ | ||
699 | AC_TRY_RUN([ | ||
700 | #include <stdio.h> | ||
701 | #include <string.h> | ||
702 | static char buf[100]; | ||
703 | int main () | ||
704 | { | ||
705 | /* Check that a '-' flag is not annihilated by a negative width. */ | ||
706 | if (sprintf (buf, "a%-*sc", -3, "b") < 0 | ||
707 | || strcmp (buf, "ab c") != 0) | ||
708 | return 1; | ||
709 | return 0; | ||
710 | }], | ||
711 | [gl_cv_func_printf_flag_leftadjust=yes], | ||
712 | [gl_cv_func_printf_flag_leftadjust=no], | ||
713 | [ | ||
714 | changequote(,)dnl | ||
715 | case "$host_os" in | ||
716 | # Guess yes on HP-UX 11. | ||
717 | hpux11*) gl_cv_func_printf_flag_leftadjust="guessing yes";; | ||
718 | # Guess no on HP-UX 10 and older. | ||
719 | hpux*) gl_cv_func_printf_flag_leftadjust="guessing no";; | ||
720 | # Guess yes otherwise. | ||
721 | *) gl_cv_func_printf_flag_leftadjust="guessing yes";; | ||
722 | esac | ||
723 | changequote([,])dnl | ||
724 | ]) | ||
725 | ]) | ||
726 | ]) | ||
727 | |||
728 | dnl Test whether the *printf family of functions supports padding of non-finite | ||
729 | dnl values with the 0 flag correctly. (ISO C99 + TC1 + TC2.) See | ||
730 | dnl <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00107.html> | ||
731 | dnl Result is gl_cv_func_printf_flag_zero. | ||
732 | |||
733 | AC_DEFUN([gl_PRINTF_FLAG_ZERO], | ||
734 | [ | ||
735 | AC_REQUIRE([AC_PROG_CC]) | ||
736 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
737 | AC_CACHE_CHECK([whether printf supports the zero flag correctly], | ||
738 | [gl_cv_func_printf_flag_zero], | ||
739 | [ | ||
740 | AC_TRY_RUN([ | ||
741 | #include <stdio.h> | ||
742 | #include <string.h> | ||
743 | static char buf[100]; | ||
744 | int main () | ||
745 | { | ||
746 | if (sprintf (buf, "%010f", 1.0 / 0.0, 33, 44, 55) < 0 | ||
747 | || (strcmp (buf, " inf") != 0 | ||
748 | && strcmp (buf, " infinity") != 0)) | ||
749 | return 1; | ||
750 | return 0; | ||
751 | }], [gl_cv_func_printf_flag_zero=yes], [gl_cv_func_printf_flag_zero=no], | ||
752 | [ | ||
753 | changequote(,)dnl | ||
754 | case "$host_os" in | ||
755 | # Guess yes on glibc systems. | ||
756 | *-gnu*) gl_cv_func_printf_flag_zero="guessing yes";; | ||
757 | # Guess yes on BeOS. | ||
758 | beos*) gl_cv_func_printf_flag_zero="guessing yes";; | ||
759 | # If we don't know, assume the worst. | ||
760 | *) gl_cv_func_printf_flag_zero="guessing no";; | ||
761 | esac | ||
762 | changequote([,])dnl | ||
763 | ]) | ||
764 | ]) | ||
765 | ]) | ||
766 | |||
767 | dnl Test whether the *printf family of functions supports large precisions. | ||
768 | dnl On mingw, precisions larger than 512 are treated like 512, in integer, | ||
769 | dnl floating-point or pointer output. On BeOS, precisions larger than 1044 | ||
770 | dnl crash the program. | ||
771 | dnl Result is gl_cv_func_printf_precision. | ||
772 | |||
773 | AC_DEFUN([gl_PRINTF_PRECISION], | ||
774 | [ | ||
775 | AC_REQUIRE([AC_PROG_CC]) | ||
776 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
777 | AC_CACHE_CHECK([whether printf supports large precisions], | ||
778 | [gl_cv_func_printf_precision], | ||
779 | [ | ||
780 | AC_TRY_RUN([ | ||
781 | #include <stdio.h> | ||
782 | #include <string.h> | ||
783 | static char buf[5000]; | ||
784 | int main () | ||
785 | { | ||
786 | #ifdef __BEOS__ | ||
787 | /* On BeOS, this would crash and show a dialog box. Avoid the crash. */ | ||
788 | return 1; | ||
789 | #endif | ||
790 | if (sprintf (buf, "%.4000d %d", 1, 33, 44) < 4000 + 3) | ||
791 | return 1; | ||
792 | return 0; | ||
793 | }], [gl_cv_func_printf_precision=yes], [gl_cv_func_printf_precision=no], | ||
794 | [ | ||
795 | changequote(,)dnl | ||
796 | case "$host_os" in | ||
797 | # Guess no only on native Win32 and BeOS systems. | ||
798 | mingw* | pw*) gl_cv_func_printf_precision="guessing no" ;; | ||
799 | beos*) gl_cv_func_printf_precision="guessing no" ;; | ||
800 | *) gl_cv_func_printf_precision="guessing yes" ;; | ||
801 | esac | ||
802 | changequote([,])dnl | ||
803 | ]) | ||
804 | ]) | ||
805 | ]) | ||
806 | |||
807 | dnl Test whether the *printf family of functions recovers gracefully in case | ||
808 | dnl of an out-of-memory condition, or whether it crashes the entire program. | ||
809 | dnl Result is gl_cv_func_printf_enomem. | ||
810 | |||
811 | AC_DEFUN([gl_PRINTF_ENOMEM], | ||
812 | [ | ||
813 | AC_REQUIRE([AC_PROG_CC]) | ||
814 | AC_REQUIRE([gl_MULTIARCH]) | ||
815 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
816 | AC_CACHE_CHECK([whether printf survives out-of-memory conditions], | ||
817 | [gl_cv_func_printf_enomem], | ||
818 | [ | ||
819 | gl_cv_func_printf_enomem="guessing no" | ||
820 | if test "$cross_compiling" = no; then | ||
821 | if test $APPLE_UNIVERSAL_BUILD = 0; then | ||
822 | AC_LANG_CONFTEST([AC_LANG_SOURCE([ | ||
823 | ]GL_NOCRASH[ | ||
824 | changequote(,)dnl | ||
825 | #include <stdio.h> | ||
826 | #include <sys/types.h> | ||
827 | #include <sys/time.h> | ||
828 | #include <sys/resource.h> | ||
829 | #include <errno.h> | ||
830 | int main() | ||
831 | { | ||
832 | struct rlimit limit; | ||
833 | int ret; | ||
834 | nocrash_init (); | ||
835 | /* Some printf implementations allocate temporary space with malloc. */ | ||
836 | /* On BSD systems, malloc() is limited by RLIMIT_DATA. */ | ||
837 | #ifdef RLIMIT_DATA | ||
838 | if (getrlimit (RLIMIT_DATA, &limit) < 0) | ||
839 | return 77; | ||
840 | if (limit.rlim_max == RLIM_INFINITY || limit.rlim_max > 5000000) | ||
841 | limit.rlim_max = 5000000; | ||
842 | limit.rlim_cur = limit.rlim_max; | ||
843 | if (setrlimit (RLIMIT_DATA, &limit) < 0) | ||
844 | return 77; | ||
845 | #endif | ||
846 | /* On Linux systems, malloc() is limited by RLIMIT_AS. */ | ||
847 | #ifdef RLIMIT_AS | ||
848 | if (getrlimit (RLIMIT_AS, &limit) < 0) | ||
849 | return 77; | ||
850 | if (limit.rlim_max == RLIM_INFINITY || limit.rlim_max > 5000000) | ||
851 | limit.rlim_max = 5000000; | ||
852 | limit.rlim_cur = limit.rlim_max; | ||
853 | if (setrlimit (RLIMIT_AS, &limit) < 0) | ||
854 | return 77; | ||
855 | #endif | ||
856 | /* Some printf implementations allocate temporary space on the stack. */ | ||
857 | #ifdef RLIMIT_STACK | ||
858 | if (getrlimit (RLIMIT_STACK, &limit) < 0) | ||
859 | return 77; | ||
860 | if (limit.rlim_max == RLIM_INFINITY || limit.rlim_max > 5000000) | ||
861 | limit.rlim_max = 5000000; | ||
862 | limit.rlim_cur = limit.rlim_max; | ||
863 | if (setrlimit (RLIMIT_STACK, &limit) < 0) | ||
864 | return 77; | ||
865 | #endif | ||
866 | ret = printf ("%.5000000f", 1.0); | ||
867 | return !(ret == 5000002 || (ret < 0 && errno == ENOMEM)); | ||
868 | } | ||
869 | changequote([,])dnl | ||
870 | ])]) | ||
871 | if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then | ||
872 | (./conftest | ||
873 | result=$? | ||
874 | if test $result != 0 && test $result != 77; then result=1; fi | ||
875 | exit $result | ||
876 | ) >/dev/null 2>/dev/null | ||
877 | case $? in | ||
878 | 0) gl_cv_func_printf_enomem="yes" ;; | ||
879 | 77) gl_cv_func_printf_enomem="guessing no" ;; | ||
880 | *) gl_cv_func_printf_enomem="no" ;; | ||
881 | esac | ||
882 | else | ||
883 | gl_cv_func_printf_enomem="guessing no" | ||
884 | fi | ||
885 | rm -fr conftest* | ||
886 | else | ||
887 | dnl A universal build on Apple MacOS X platforms. | ||
888 | dnl The result would be 'no' in 32-bit mode and 'yes' in 64-bit mode. | ||
889 | dnl But we need a configuration result that is valid in both modes. | ||
890 | gl_cv_func_printf_enomem="guessing no" | ||
891 | fi | ||
892 | fi | ||
893 | if test "$gl_cv_func_printf_enomem" = "guessing no"; then | ||
894 | changequote(,)dnl | ||
895 | case "$host_os" in | ||
896 | # Guess yes on glibc systems. | ||
897 | *-gnu*) gl_cv_func_printf_enomem="guessing yes";; | ||
898 | # Guess yes on Solaris. | ||
899 | solaris*) gl_cv_func_printf_enomem="guessing yes";; | ||
900 | # Guess yes on AIX. | ||
901 | aix*) gl_cv_func_printf_enomem="guessing yes";; | ||
902 | # Guess yes on HP-UX/hppa. | ||
903 | hpux*) case "$host_cpu" in | ||
904 | hppa*) gl_cv_func_printf_enomem="guessing yes";; | ||
905 | *) gl_cv_func_printf_enomem="guessing no";; | ||
906 | esac | ||
907 | ;; | ||
908 | # Guess yes on IRIX. | ||
909 | irix*) gl_cv_func_printf_enomem="guessing yes";; | ||
910 | # Guess yes on OSF/1. | ||
911 | osf*) gl_cv_func_printf_enomem="guessing yes";; | ||
912 | # Guess yes on BeOS. | ||
913 | beos*) gl_cv_func_printf_enomem="guessing yes";; | ||
914 | # Guess yes on Haiku. | ||
915 | haiku*) gl_cv_func_printf_enomem="guessing yes";; | ||
916 | # If we don't know, assume the worst. | ||
917 | *) gl_cv_func_printf_enomem="guessing no";; | ||
918 | esac | ||
919 | changequote([,])dnl | ||
920 | fi | ||
921 | ]) | ||
922 | ]) | ||
923 | |||
924 | dnl Test whether the snprintf function exists. (ISO C99, POSIX:2001) | ||
925 | dnl Result is ac_cv_func_snprintf. | ||
926 | |||
927 | AC_DEFUN([gl_SNPRINTF_PRESENCE], | ||
928 | [ | ||
929 | AC_CHECK_FUNCS_ONCE([snprintf]) | ||
930 | ]) | ||
931 | |||
932 | dnl Test whether the string produced by the snprintf function is always NUL | ||
933 | dnl terminated. (ISO C99, POSIX:2001) | ||
934 | dnl Result is gl_cv_func_snprintf_truncation_c99. | ||
935 | |||
936 | AC_DEFUN([gl_SNPRINTF_TRUNCATION_C99], | ||
937 | [ | ||
938 | AC_REQUIRE([AC_PROG_CC]) | ||
939 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
940 | AC_CACHE_CHECK([whether snprintf truncates the result as in C99], | ||
941 | [gl_cv_func_snprintf_truncation_c99], | ||
942 | [ | ||
943 | AC_TRY_RUN([ | ||
944 | #include <stdio.h> | ||
945 | #include <string.h> | ||
946 | static char buf[100]; | ||
947 | int main () | ||
948 | { | ||
949 | strcpy (buf, "ABCDEF"); | ||
950 | snprintf (buf, 3, "%d %d", 4567, 89); | ||
951 | if (memcmp (buf, "45\0DEF", 6) != 0) | ||
952 | return 1; | ||
953 | return 0; | ||
954 | }], [gl_cv_func_snprintf_truncation_c99=yes], [gl_cv_func_snprintf_truncation_c99=no], | ||
955 | [ | ||
956 | changequote(,)dnl | ||
957 | case "$host_os" in | ||
958 | # Guess yes on glibc systems. | ||
959 | *-gnu*) gl_cv_func_snprintf_truncation_c99="guessing yes";; | ||
960 | # Guess yes on FreeBSD >= 5. | ||
961 | freebsd[1-4]*) gl_cv_func_snprintf_truncation_c99="guessing no";; | ||
962 | freebsd* | kfreebsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";; | ||
963 | # Guess yes on MacOS X >= 10.3. | ||
964 | darwin[1-6].*) gl_cv_func_snprintf_truncation_c99="guessing no";; | ||
965 | darwin*) gl_cv_func_snprintf_truncation_c99="guessing yes";; | ||
966 | # Guess yes on OpenBSD >= 3.9. | ||
967 | openbsd[1-2].* | openbsd3.[0-8] | openbsd3.[0-8].*) | ||
968 | gl_cv_func_snprintf_truncation_c99="guessing no";; | ||
969 | openbsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";; | ||
970 | # Guess yes on Solaris >= 2.6. | ||
971 | solaris2.[0-5]*) gl_cv_func_snprintf_truncation_c99="guessing no";; | ||
972 | solaris*) gl_cv_func_snprintf_truncation_c99="guessing yes";; | ||
973 | # Guess yes on AIX >= 4. | ||
974 | aix[1-3]*) gl_cv_func_snprintf_truncation_c99="guessing no";; | ||
975 | aix*) gl_cv_func_snprintf_truncation_c99="guessing yes";; | ||
976 | # Guess yes on HP-UX >= 11. | ||
977 | hpux[7-9]* | hpux10*) gl_cv_func_snprintf_truncation_c99="guessing no";; | ||
978 | hpux*) gl_cv_func_snprintf_truncation_c99="guessing yes";; | ||
979 | # Guess yes on IRIX >= 6.5. | ||
980 | irix6.5) gl_cv_func_snprintf_truncation_c99="guessing yes";; | ||
981 | # Guess yes on OSF/1 >= 5. | ||
982 | osf[3-4]*) gl_cv_func_snprintf_truncation_c99="guessing no";; | ||
983 | osf*) gl_cv_func_snprintf_truncation_c99="guessing yes";; | ||
984 | # Guess yes on NetBSD >= 3. | ||
985 | netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) | ||
986 | gl_cv_func_snprintf_truncation_c99="guessing no";; | ||
987 | netbsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";; | ||
988 | # Guess yes on BeOS. | ||
989 | beos*) gl_cv_func_snprintf_truncation_c99="guessing yes";; | ||
990 | # If we don't know, assume the worst. | ||
991 | *) gl_cv_func_snprintf_truncation_c99="guessing no";; | ||
992 | esac | ||
993 | changequote([,])dnl | ||
994 | ]) | ||
995 | ]) | ||
996 | ]) | ||
997 | |||
998 | dnl Test whether the return value of the snprintf function is the number | ||
999 | dnl of bytes (excluding the terminating NUL) that would have been produced | ||
1000 | dnl if the buffer had been large enough. (ISO C99, POSIX:2001) | ||
1001 | dnl For example, this test program fails on IRIX 6.5: | ||
1002 | dnl --------------------------------------------------------------------- | ||
1003 | dnl #include <stdio.h> | ||
1004 | dnl int main() | ||
1005 | dnl { | ||
1006 | dnl static char buf[8]; | ||
1007 | dnl int retval = snprintf (buf, 3, "%d", 12345); | ||
1008 | dnl return retval >= 0 && retval < 3; | ||
1009 | dnl } | ||
1010 | dnl --------------------------------------------------------------------- | ||
1011 | dnl Result is gl_cv_func_snprintf_retval_c99. | ||
1012 | |||
1013 | AC_DEFUN([gl_SNPRINTF_RETVAL_C99], | ||
1014 | [ | ||
1015 | AC_REQUIRE([AC_PROG_CC]) | ||
1016 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
1017 | AC_CACHE_CHECK([whether snprintf returns a byte count as in C99], | ||
1018 | [gl_cv_func_snprintf_retval_c99], | ||
1019 | [ | ||
1020 | AC_TRY_RUN([ | ||
1021 | #include <stdio.h> | ||
1022 | #include <string.h> | ||
1023 | static char buf[100]; | ||
1024 | int main () | ||
1025 | { | ||
1026 | strcpy (buf, "ABCDEF"); | ||
1027 | if (snprintf (buf, 3, "%d %d", 4567, 89) != 7) | ||
1028 | return 1; | ||
1029 | return 0; | ||
1030 | }], [gl_cv_func_snprintf_retval_c99=yes], [gl_cv_func_snprintf_retval_c99=no], | ||
1031 | [ | ||
1032 | changequote(,)dnl | ||
1033 | case "$host_os" in | ||
1034 | # Guess yes on glibc systems. | ||
1035 | *-gnu*) gl_cv_func_snprintf_retval_c99="guessing yes";; | ||
1036 | # Guess yes on FreeBSD >= 5. | ||
1037 | freebsd[1-4]*) gl_cv_func_snprintf_retval_c99="guessing no";; | ||
1038 | freebsd* | kfreebsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; | ||
1039 | # Guess yes on MacOS X >= 10.3. | ||
1040 | darwin[1-6].*) gl_cv_func_snprintf_retval_c99="guessing no";; | ||
1041 | darwin*) gl_cv_func_snprintf_retval_c99="guessing yes";; | ||
1042 | # Guess yes on OpenBSD >= 3.9. | ||
1043 | openbsd[1-2].* | openbsd3.[0-8] | openbsd3.[0-8].*) | ||
1044 | gl_cv_func_snprintf_retval_c99="guessing no";; | ||
1045 | openbsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; | ||
1046 | # Guess yes on Solaris >= 2.6. | ||
1047 | solaris2.[0-5]*) gl_cv_func_snprintf_retval_c99="guessing no";; | ||
1048 | solaris*) gl_cv_func_snprintf_retval_c99="guessing yes";; | ||
1049 | # Guess yes on AIX >= 4. | ||
1050 | aix[1-3]*) gl_cv_func_snprintf_retval_c99="guessing no";; | ||
1051 | aix*) gl_cv_func_snprintf_retval_c99="guessing yes";; | ||
1052 | # Guess yes on NetBSD >= 3. | ||
1053 | netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) | ||
1054 | gl_cv_func_snprintf_retval_c99="guessing no";; | ||
1055 | netbsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; | ||
1056 | # Guess yes on BeOS. | ||
1057 | beos*) gl_cv_func_snprintf_retval_c99="guessing yes";; | ||
1058 | # If we don't know, assume the worst. | ||
1059 | *) gl_cv_func_snprintf_retval_c99="guessing no";; | ||
1060 | esac | ||
1061 | changequote([,])dnl | ||
1062 | ]) | ||
1063 | ]) | ||
1064 | ]) | ||
1065 | |||
1066 | dnl Test whether the snprintf function supports the %n format directive | ||
1067 | dnl also in truncated portions of the format string. (ISO C99, POSIX:2001) | ||
1068 | dnl Result is gl_cv_func_snprintf_directive_n. | ||
1069 | |||
1070 | AC_DEFUN([gl_SNPRINTF_DIRECTIVE_N], | ||
1071 | [ | ||
1072 | AC_REQUIRE([AC_PROG_CC]) | ||
1073 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
1074 | AC_CACHE_CHECK([whether snprintf fully supports the 'n' directive], | ||
1075 | [gl_cv_func_snprintf_directive_n], | ||
1076 | [ | ||
1077 | AC_TRY_RUN([ | ||
1078 | #include <stdio.h> | ||
1079 | #include <string.h> | ||
1080 | static char fmtstring[10]; | ||
1081 | static char buf[100]; | ||
1082 | int main () | ||
1083 | { | ||
1084 | int count = -1; | ||
1085 | /* Copy the format string. Some systems (glibc with _FORTIFY_SOURCE=2) | ||
1086 | support %n in format strings in read-only memory but not in writable | ||
1087 | memory. */ | ||
1088 | strcpy (fmtstring, "%d %n"); | ||
1089 | snprintf (buf, 4, fmtstring, 12345, &count, 33, 44, 55); | ||
1090 | if (count != 6) | ||
1091 | return 1; | ||
1092 | return 0; | ||
1093 | }], [gl_cv_func_snprintf_directive_n=yes], [gl_cv_func_snprintf_directive_n=no], | ||
1094 | [ | ||
1095 | changequote(,)dnl | ||
1096 | case "$host_os" in | ||
1097 | # Guess yes on glibc systems. | ||
1098 | *-gnu*) gl_cv_func_snprintf_directive_n="guessing yes";; | ||
1099 | # Guess yes on FreeBSD >= 5. | ||
1100 | freebsd[1-4]*) gl_cv_func_snprintf_directive_n="guessing no";; | ||
1101 | freebsd* | kfreebsd*) gl_cv_func_snprintf_directive_n="guessing yes";; | ||
1102 | # Guess yes on MacOS X >= 10.3. | ||
1103 | darwin[1-6].*) gl_cv_func_snprintf_directive_n="guessing no";; | ||
1104 | darwin*) gl_cv_func_snprintf_directive_n="guessing yes";; | ||
1105 | # Guess yes on Solaris >= 2.6. | ||
1106 | solaris2.[0-5]*) gl_cv_func_snprintf_directive_n="guessing no";; | ||
1107 | solaris*) gl_cv_func_snprintf_directive_n="guessing yes";; | ||
1108 | # Guess yes on AIX >= 4. | ||
1109 | aix[1-3]*) gl_cv_func_snprintf_directive_n="guessing no";; | ||
1110 | aix*) gl_cv_func_snprintf_directive_n="guessing yes";; | ||
1111 | # Guess yes on IRIX >= 6.5. | ||
1112 | irix6.5) gl_cv_func_snprintf_directive_n="guessing yes";; | ||
1113 | # Guess yes on OSF/1 >= 5. | ||
1114 | osf[3-4]*) gl_cv_func_snprintf_directive_n="guessing no";; | ||
1115 | osf*) gl_cv_func_snprintf_directive_n="guessing yes";; | ||
1116 | # Guess yes on NetBSD >= 3. | ||
1117 | netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) | ||
1118 | gl_cv_func_snprintf_directive_n="guessing no";; | ||
1119 | netbsd*) gl_cv_func_snprintf_directive_n="guessing yes";; | ||
1120 | # Guess yes on BeOS. | ||
1121 | beos*) gl_cv_func_snprintf_directive_n="guessing yes";; | ||
1122 | # If we don't know, assume the worst. | ||
1123 | *) gl_cv_func_snprintf_directive_n="guessing no";; | ||
1124 | esac | ||
1125 | changequote([,])dnl | ||
1126 | ]) | ||
1127 | ]) | ||
1128 | ]) | ||
1129 | |||
1130 | dnl Test whether the snprintf function, when passed a size = 1, writes any | ||
1131 | dnl output without bounds in this case, behaving like sprintf. This is the | ||
1132 | dnl case on Linux libc5. | ||
1133 | dnl Result is gl_cv_func_snprintf_size1. | ||
1134 | |||
1135 | AC_DEFUN([gl_SNPRINTF_SIZE1], | ||
1136 | [ | ||
1137 | AC_REQUIRE([AC_PROG_CC]) | ||
1138 | AC_CACHE_CHECK([whether snprintf respects a size of 1], | ||
1139 | [gl_cv_func_snprintf_size1], | ||
1140 | [ | ||
1141 | AC_TRY_RUN([ | ||
1142 | #include <stdio.h> | ||
1143 | int main() | ||
1144 | { | ||
1145 | static char buf[8] = "DEADBEEF"; | ||
1146 | snprintf (buf, 1, "%d", 12345); | ||
1147 | return buf[1] != 'E'; | ||
1148 | }], | ||
1149 | [gl_cv_func_snprintf_size1=yes], | ||
1150 | [gl_cv_func_snprintf_size1=no], | ||
1151 | [gl_cv_func_snprintf_size1="guessing yes"]) | ||
1152 | ]) | ||
1153 | ]) | ||
1154 | |||
1155 | dnl Test whether the vsnprintf function, when passed a zero size, produces no | ||
1156 | dnl output. (ISO C99, POSIX:2001) | ||
1157 | dnl For example, snprintf nevertheless writes a NUL byte in this case | ||
1158 | dnl on OSF/1 5.1: | ||
1159 | dnl --------------------------------------------------------------------- | ||
1160 | dnl #include <stdio.h> | ||
1161 | dnl int main() | ||
1162 | dnl { | ||
1163 | dnl static char buf[8] = "DEADBEEF"; | ||
1164 | dnl snprintf (buf, 0, "%d", 12345); | ||
1165 | dnl return buf[0] != 'D'; | ||
1166 | dnl } | ||
1167 | dnl --------------------------------------------------------------------- | ||
1168 | dnl And vsnprintf writes any output without bounds in this case, behaving like | ||
1169 | dnl vsprintf, on HP-UX 11 and OSF/1 5.1: | ||
1170 | dnl --------------------------------------------------------------------- | ||
1171 | dnl #include <stdarg.h> | ||
1172 | dnl #include <stdio.h> | ||
1173 | dnl static int my_snprintf (char *buf, int size, const char *format, ...) | ||
1174 | dnl { | ||
1175 | dnl va_list args; | ||
1176 | dnl int ret; | ||
1177 | dnl va_start (args, format); | ||
1178 | dnl ret = vsnprintf (buf, size, format, args); | ||
1179 | dnl va_end (args); | ||
1180 | dnl return ret; | ||
1181 | dnl } | ||
1182 | dnl int main() | ||
1183 | dnl { | ||
1184 | dnl static char buf[8] = "DEADBEEF"; | ||
1185 | dnl my_snprintf (buf, 0, "%d", 12345); | ||
1186 | dnl return buf[0] != 'D'; | ||
1187 | dnl } | ||
1188 | dnl --------------------------------------------------------------------- | ||
1189 | dnl Result is gl_cv_func_vsnprintf_zerosize_c99. | ||
1190 | |||
1191 | AC_DEFUN([gl_VSNPRINTF_ZEROSIZE_C99], | ||
1192 | [ | ||
1193 | AC_REQUIRE([AC_PROG_CC]) | ||
1194 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
1195 | AC_CACHE_CHECK([whether vsnprintf respects a zero size as in C99], | ||
1196 | [gl_cv_func_vsnprintf_zerosize_c99], | ||
1197 | [ | ||
1198 | AC_TRY_RUN([ | ||
1199 | #include <stdarg.h> | ||
1200 | #include <stdio.h> | ||
1201 | static int my_snprintf (char *buf, int size, const char *format, ...) | ||
1202 | { | ||
1203 | va_list args; | ||
1204 | int ret; | ||
1205 | va_start (args, format); | ||
1206 | ret = vsnprintf (buf, size, format, args); | ||
1207 | va_end (args); | ||
1208 | return ret; | ||
1209 | } | ||
1210 | int main() | ||
1211 | { | ||
1212 | static char buf[8] = "DEADBEEF"; | ||
1213 | my_snprintf (buf, 0, "%d", 12345); | ||
1214 | return buf[0] != 'D'; | ||
1215 | }], | ||
1216 | [gl_cv_func_vsnprintf_zerosize_c99=yes], | ||
1217 | [gl_cv_func_vsnprintf_zerosize_c99=no], | ||
1218 | [ | ||
1219 | changequote(,)dnl | ||
1220 | case "$host_os" in | ||
1221 | # Guess yes on glibc systems. | ||
1222 | *-gnu*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; | ||
1223 | # Guess yes on FreeBSD >= 5. | ||
1224 | freebsd[1-4]*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; | ||
1225 | freebsd* | kfreebsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; | ||
1226 | # Guess yes on MacOS X >= 10.3. | ||
1227 | darwin[1-6].*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; | ||
1228 | darwin*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; | ||
1229 | # Guess yes on Cygwin. | ||
1230 | cygwin*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; | ||
1231 | # Guess yes on Solaris >= 2.6. | ||
1232 | solaris2.[0-5]*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; | ||
1233 | solaris*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; | ||
1234 | # Guess yes on AIX >= 4. | ||
1235 | aix[1-3]*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; | ||
1236 | aix*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; | ||
1237 | # Guess yes on IRIX >= 6.5. | ||
1238 | irix6.5) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; | ||
1239 | # Guess yes on NetBSD >= 3. | ||
1240 | netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) | ||
1241 | gl_cv_func_vsnprintf_zerosize_c99="guessing no";; | ||
1242 | netbsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; | ||
1243 | # Guess yes on BeOS. | ||
1244 | beos*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; | ||
1245 | # Guess yes on mingw. | ||
1246 | mingw* | pw*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; | ||
1247 | # If we don't know, assume the worst. | ||
1248 | *) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; | ||
1249 | esac | ||
1250 | changequote([,])dnl | ||
1251 | ]) | ||
1252 | ]) | ||
1253 | ]) | ||
1254 | |||
1255 | dnl The results of these tests on various platforms are: | ||
1256 | dnl | ||
1257 | dnl 1 = gl_PRINTF_SIZES_C99 | ||
1258 | dnl 2 = gl_PRINTF_LONG_DOUBLE | ||
1259 | dnl 3 = gl_PRINTF_INFINITE | ||
1260 | dnl 4 = gl_PRINTF_INFINITE_LONG_DOUBLE | ||
1261 | dnl 5 = gl_PRINTF_DIRECTIVE_A | ||
1262 | dnl 6 = gl_PRINTF_DIRECTIVE_F | ||
1263 | dnl 7 = gl_PRINTF_DIRECTIVE_N | ||
1264 | dnl 8 = gl_PRINTF_POSITIONS | ||
1265 | dnl 9 = gl_PRINTF_FLAG_GROUPING | ||
1266 | dnl 10 = gl_PRINTF_FLAG_LEFTADJUST | ||
1267 | dnl 11 = gl_PRINTF_FLAG_ZERO | ||
1268 | dnl 12 = gl_PRINTF_PRECISION | ||
1269 | dnl 13 = gl_PRINTF_ENOMEM | ||
1270 | dnl 14 = gl_SNPRINTF_PRESENCE | ||
1271 | dnl 15 = gl_SNPRINTF_TRUNCATION_C99 | ||
1272 | dnl 16 = gl_SNPRINTF_RETVAL_C99 | ||
1273 | dnl 17 = gl_SNPRINTF_DIRECTIVE_N | ||
1274 | dnl 18 = gl_SNPRINTF_SIZE1 | ||
1275 | dnl 19 = gl_VSNPRINTF_ZEROSIZE_C99 | ||
1276 | dnl | ||
1277 | dnl 1 = checking whether printf supports size specifiers as in C99... | ||
1278 | dnl 2 = checking whether printf supports 'long double' arguments... | ||
1279 | dnl 3 = checking whether printf supports infinite 'double' arguments... | ||
1280 | dnl 4 = checking whether printf supports infinite 'long double' arguments... | ||
1281 | dnl 5 = checking whether printf supports the 'a' and 'A' directives... | ||
1282 | dnl 6 = checking whether printf supports the 'F' directive... | ||
1283 | dnl 7 = checking whether printf supports the 'n' directive... | ||
1284 | dnl 8 = checking whether printf supports POSIX/XSI format strings with positions... | ||
1285 | dnl 9 = checking whether printf supports the grouping flag... | ||
1286 | dnl 10 = checking whether printf supports the left-adjust flag correctly... | ||
1287 | dnl 11 = checking whether printf supports the zero flag correctly... | ||
1288 | dnl 12 = checking whether printf supports large precisions... | ||
1289 | dnl 13 = checking whether printf survives out-of-memory conditions... | ||
1290 | dnl 14 = checking for snprintf... | ||
1291 | dnl 15 = checking whether snprintf truncates the result as in C99... | ||
1292 | dnl 16 = checking whether snprintf returns a byte count as in C99... | ||
1293 | dnl 17 = checking whether snprintf fully supports the 'n' directive... | ||
1294 | dnl 18 = checking whether snprintf respects a size of 1... | ||
1295 | dnl 19 = checking whether vsnprintf respects a zero size as in C99... | ||
1296 | dnl | ||
1297 | dnl . = yes, # = no. | ||
1298 | dnl | ||
1299 | dnl 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | ||
1300 | dnl glibc 2.5 . . . . . . . . . . . . . . . . . . . | ||
1301 | dnl glibc 2.3.6 . . . . # . . . . . . . . . . . . . . | ||
1302 | dnl FreeBSD 5.4, 6.1 . . . . # . . . . . # . # . . . . . . | ||
1303 | dnl MacOS X 10.3.9 . . . . # . . . . . # . # . . . . . . | ||
1304 | dnl OpenBSD 3.9, 4.0 . . # # # # . . # . # . # . . . . . . | ||
1305 | dnl Cygwin 2007 (= Cygwin 1.5.24) . . . . # # . . . ? # ? ? . . . . . . | ||
1306 | dnl Cygwin 2006 (= Cygwin 1.5.19) # . . . # # . . # ? # ? ? . . . . . . | ||
1307 | dnl Solaris 10 . . # # # . . . . . # . . . . . . . . | ||
1308 | dnl Solaris 2.6 ... 9 # . # # # # . . . . # . . . . . . . . | ||
1309 | dnl Solaris 2.5.1 # . # # # # . . . . # . . # # # # # # | ||
1310 | dnl AIX 5.2 . . # # # . . . . . # . . . . . . . . | ||
1311 | dnl AIX 4.3.2, 5.1 # . # # # # . . . . # . . . . . . . . | ||
1312 | dnl HP-UX 11.31 . . . . # . . . . . # . . . . # # . . | ||
1313 | dnl HP-UX 11.{00,11,23} # . . . # # . . . . # . . . . # # . # | ||
1314 | dnl HP-UX 10.20 # . . . # # . . . # # . . . . # # ? # | ||
1315 | dnl IRIX 6.5 # . # # # # . . . . # . . . . # . . . | ||
1316 | dnl OSF/1 5.1 # . # # # # . . . . # . . . . # . . # | ||
1317 | dnl OSF/1 4.0d # . # # # # . . . . # . . # # # # # # | ||
1318 | dnl NetBSD 4.0 . ? ? ? ? ? . . ? ? ? ? ? . . . ? ? ? | ||
1319 | dnl NetBSD 3.0 . . . . # # . # # ? # . # . . . . . . | ||
1320 | dnl Haiku . . . # # # . . . . . . ? . . . . . . | ||
1321 | dnl BeOS # # . # # # . # . ? . # ? . . . . . . | ||
1322 | dnl mingw # # # # # # . # # . # # ? . # # # . . | ||
diff --git a/gl/m4/progtest.m4 b/gl/m4/progtest.m4 index a56365cd..e1d445d2 100644 --- a/gl/m4/progtest.m4 +++ b/gl/m4/progtest.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # progtest.m4 serial 4 (gettext-0.14.2) | 1 | # progtest.m4 serial 6 (gettext-0.18) |
2 | dnl Copyright (C) 1996-2003, 2005 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1996-2003, 2005, 2008, 2009 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -16,7 +16,7 @@ dnl They are *not* in the public domain. | |||
16 | dnl Authors: | 16 | dnl Authors: |
17 | dnl Ulrich Drepper <drepper@cygnus.com>, 1996. | 17 | dnl Ulrich Drepper <drepper@cygnus.com>, 1996. |
18 | 18 | ||
19 | AC_PREREQ(2.50) | 19 | AC_PREREQ([2.50]) |
20 | 20 | ||
21 | # Search path for a program which passes the given test. | 21 | # Search path for a program which passes the given test. |
22 | 22 | ||
@@ -55,7 +55,7 @@ rm -f conf$$.file | |||
55 | # Extract the first word of "$2", so it can be a program name with args. | 55 | # Extract the first word of "$2", so it can be a program name with args. |
56 | set dummy $2; ac_word=[$]2 | 56 | set dummy $2; ac_word=[$]2 |
57 | AC_MSG_CHECKING([for $ac_word]) | 57 | AC_MSG_CHECKING([for $ac_word]) |
58 | AC_CACHE_VAL(ac_cv_path_$1, | 58 | AC_CACHE_VAL([ac_cv_path_$1], |
59 | [case "[$]$1" in | 59 | [case "[$]$1" in |
60 | [[\\/]]* | ?:[[\\/]]*) | 60 | [[\\/]]* | ?:[[\\/]]*) |
61 | ac_cv_path_$1="[$]$1" # Let the user override the test with a path. | 61 | ac_cv_path_$1="[$]$1" # Let the user override the test with a path. |
@@ -84,9 +84,9 @@ ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" | |||
84 | esac])dnl | 84 | esac])dnl |
85 | $1="$ac_cv_path_$1" | 85 | $1="$ac_cv_path_$1" |
86 | if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then | 86 | if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then |
87 | AC_MSG_RESULT([$]$1) | 87 | AC_MSG_RESULT([$][$1]) |
88 | else | 88 | else |
89 | AC_MSG_RESULT(no) | 89 | AC_MSG_RESULT([no]) |
90 | fi | 90 | fi |
91 | AC_SUBST($1)dnl | 91 | AC_SUBST([$1])dnl |
92 | ]) | 92 | ]) |
diff --git a/gl/m4/regex.m4 b/gl/m4/regex.m4 index 7da6efed..43b04638 100644 --- a/gl/m4/regex.m4 +++ b/gl/m4/regex.m4 | |||
@@ -1,7 +1,7 @@ | |||
1 | #serial 48 | 1 | # serial 53 |
2 | 2 | ||
3 | # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, | 3 | # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, |
4 | # 2006, 2007 Free Software Foundation, Inc. | 4 | # 2006, 2007, 2008, 2009 Free Software Foundation, Inc. |
5 | # | 5 | # |
6 | # This file is free software; the Free Software Foundation | 6 | # This file is free software; the Free Software Foundation |
7 | # gives unlimited permission to copy and/or distribute it, | 7 | # gives unlimited permission to copy and/or distribute it, |
@@ -17,7 +17,7 @@ AC_DEFUN([gl_REGEX], | |||
17 | AC_CHECK_HEADERS_ONCE([locale.h]) | 17 | AC_CHECK_HEADERS_ONCE([locale.h]) |
18 | 18 | ||
19 | AC_ARG_WITH([included-regex], | 19 | AC_ARG_WITH([included-regex], |
20 | [AC_HELP_STRING([--without-included-regex], | 20 | [AS_HELP_STRING([--without-included-regex], |
21 | [don't compile regex; this is the default on 32-bit | 21 | [don't compile regex; this is the default on 32-bit |
22 | systems with recent-enough versions of the GNU C | 22 | systems with recent-enough versions of the GNU C |
23 | Library (use with caution on other systems). | 23 | Library (use with caution on other systems). |
@@ -37,13 +37,13 @@ AC_DEFUN([gl_REGEX], | |||
37 | [gl_cv_func_re_compile_pattern_working], | 37 | [gl_cv_func_re_compile_pattern_working], |
38 | [AC_RUN_IFELSE( | 38 | [AC_RUN_IFELSE( |
39 | [AC_LANG_PROGRAM( | 39 | [AC_LANG_PROGRAM( |
40 | [AC_INCLUDES_DEFAULT | 40 | [AC_INCLUDES_DEFAULT[ |
41 | #if HAVE_LOCALE_H | 41 | #if HAVE_LOCALE_H |
42 | #include <locale.h> | 42 | #include <locale.h> |
43 | #endif | 43 | #endif |
44 | #include <limits.h> | 44 | #include <limits.h> |
45 | #include <regex.h> | 45 | #include <regex.h> |
46 | ], | 46 | ]], |
47 | [[static struct re_pattern_buffer regex; | 47 | [[static struct re_pattern_buffer regex; |
48 | unsigned char folded_chars[UCHAR_MAX + 1]; | 48 | unsigned char folded_chars[UCHAR_MAX + 1]; |
49 | int i; | 49 | int i; |
@@ -175,7 +175,7 @@ AC_DEFUN([gl_REGEX], | |||
175 | esac | 175 | esac |
176 | 176 | ||
177 | if test $ac_use_included_regex = yes; then | 177 | if test $ac_use_included_regex = yes; then |
178 | AC_DEFINE([_REGEX_LARGE_OFFSETS], 1, | 178 | AC_DEFINE([_REGEX_LARGE_OFFSETS], [1], |
179 | [Define if you want regoff_t to be at least as wide POSIX requires.]) | 179 | [Define if you want regoff_t to be at least as wide POSIX requires.]) |
180 | AC_DEFINE([re_syntax_options], [rpl_re_syntax_options], | 180 | AC_DEFINE([re_syntax_options], [rpl_re_syntax_options], |
181 | [Define to rpl_re_syntax_options if the replacement should be used.]) | 181 | [Define to rpl_re_syntax_options if the replacement should be used.]) |
@@ -217,6 +217,8 @@ AC_DEFUN([gl_PREREQ_REGEX], | |||
217 | [ | 217 | [ |
218 | AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) | 218 | AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) |
219 | AC_REQUIRE([AC_C_RESTRICT]) | 219 | AC_REQUIRE([AC_C_RESTRICT]) |
220 | AC_CHECK_FUNCS_ONCE([isblank iswctype mbrtowc wcrtomb wcscoll]) | 220 | AC_REQUIRE([AC_TYPE_MBSTATE_T]) |
221 | AC_CHECK_HEADERS([libintl.h]) | ||
222 | AC_CHECK_FUNCS_ONCE([isblank iswctype wcscoll]) | ||
221 | AC_CHECK_DECLS([isblank], [], [], [#include <ctype.h>]) | 223 | AC_CHECK_DECLS([isblank], [], [], [#include <ctype.h>]) |
222 | ]) | 224 | ]) |
diff --git a/gl/m4/servent.m4 b/gl/m4/servent.m4 new file mode 100644 index 00000000..242f9e36 --- /dev/null +++ b/gl/m4/servent.m4 | |||
@@ -0,0 +1,47 @@ | |||
1 | # servent.m4 serial 1 | ||
2 | dnl Copyright (C) 2008 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | ||
4 | dnl gives unlimited permission to copy and/or distribute it, | ||
5 | dnl with or without modifications, as long as this notice is preserved. | ||
6 | |||
7 | AC_DEFUN([gl_SERVENT], | ||
8 | [ | ||
9 | dnl Where are getservent(), setservent(), endservent(), getservbyname(), | ||
10 | dnl getservbyport() defined? | ||
11 | dnl Where are getprotoent(), setprotoent(), endprotoent(), getprotobyname(), | ||
12 | dnl getprotobynumber() defined? | ||
13 | dnl - On Solaris, they are in libsocket. Ignore libxnet. | ||
14 | dnl - On Haiku, they are in libnetwork. | ||
15 | dnl - On BeOS, they are in libnet. | ||
16 | dnl - On native Windows, they are in ws2_32.dll. | ||
17 | dnl - Otherwise they are in libc. | ||
18 | AC_REQUIRE([gl_HEADER_SYS_SOCKET])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H | ||
19 | SERVENT_LIB= | ||
20 | gl_saved_libs="$LIBS" | ||
21 | AC_SEARCH_LIBS([getservbyname], [socket network net], | ||
22 | [if test "$ac_cv_search_getservbyname" != "none required"; then | ||
23 | SERVENT_LIB="$ac_cv_search_getservbyname" | ||
24 | fi]) | ||
25 | LIBS="$gl_saved_libs" | ||
26 | if test -z "$SERVENT_LIB"; then | ||
27 | AC_CHECK_FUNCS([getservbyname], , [ | ||
28 | AC_CACHE_CHECK([for getservbyname in winsock2.h and -lws2_32], | ||
29 | [gl_cv_w32_getservbyname], | ||
30 | [gl_cv_w32_getservbyname=no | ||
31 | gl_save_LIBS="$LIBS" | ||
32 | LIBS="$LIBS -lws2_32" | ||
33 | AC_TRY_LINK([ | ||
34 | #ifdef HAVE_WINSOCK2_H | ||
35 | #include <winsock2.h> | ||
36 | #endif | ||
37 | #include <stddef.h> | ||
38 | ], [getservbyname(NULL,NULL);], [gl_cv_w32_getservbyname=yes]) | ||
39 | LIBS="$gl_save_LIBS" | ||
40 | ]) | ||
41 | if test "$gl_cv_w32_getservbyname" = "yes"; then | ||
42 | SERVENT_LIB="-lws2_32" | ||
43 | fi | ||
44 | ]) | ||
45 | fi | ||
46 | AC_SUBST([SERVENT_LIB]) | ||
47 | ]) | ||
diff --git a/gl/m4/size_max.m4 b/gl/m4/size_max.m4 index 6cb48689..e0e7b3ff 100644 --- a/gl/m4/size_max.m4 +++ b/gl/m4/size_max.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # size_max.m4 serial 6 | 1 | # size_max.m4 serial 7 |
2 | dnl Copyright (C) 2003, 2005-2006 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2003, 2005-2006, 2008 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -8,7 +8,7 @@ dnl From Bruno Haible. | |||
8 | 8 | ||
9 | AC_DEFUN([gl_SIZE_MAX], | 9 | AC_DEFUN([gl_SIZE_MAX], |
10 | [ | 10 | [ |
11 | AC_CHECK_HEADERS(stdint.h) | 11 | AC_CHECK_HEADERS([stdint.h]) |
12 | dnl First test whether the system already has SIZE_MAX. | 12 | dnl First test whether the system already has SIZE_MAX. |
13 | AC_MSG_CHECKING([for SIZE_MAX]) | 13 | AC_MSG_CHECKING([for SIZE_MAX]) |
14 | AC_CACHE_VAL([gl_cv_size_max], [ | 14 | AC_CACHE_VAL([gl_cv_size_max], [ |
@@ -21,16 +21,16 @@ AC_DEFUN([gl_SIZE_MAX], | |||
21 | #ifdef SIZE_MAX | 21 | #ifdef SIZE_MAX |
22 | Found it | 22 | Found it |
23 | #endif | 23 | #endif |
24 | ], gl_cv_size_max=yes) | 24 | ], [gl_cv_size_max=yes]) |
25 | if test -z "$gl_cv_size_max"; then | 25 | if test -z "$gl_cv_size_max"; then |
26 | dnl Define it ourselves. Here we assume that the type 'size_t' is not wider | 26 | dnl Define it ourselves. Here we assume that the type 'size_t' is not wider |
27 | dnl than the type 'unsigned long'. Try hard to find a definition that can | 27 | dnl than the type 'unsigned long'. Try hard to find a definition that can |
28 | dnl be used in a preprocessor #if, i.e. doesn't contain a cast. | 28 | dnl be used in a preprocessor #if, i.e. doesn't contain a cast. |
29 | AC_COMPUTE_INT([size_t_bits_minus_1], [sizeof (size_t) * CHAR_BIT - 1], | 29 | AC_COMPUTE_INT([size_t_bits_minus_1], [sizeof (size_t) * CHAR_BIT - 1], |
30 | [#include <stddef.h> | 30 | [#include <stddef.h> |
31 | #include <limits.h>], size_t_bits_minus_1=) | 31 | #include <limits.h>], [size_t_bits_minus_1=]) |
32 | AC_COMPUTE_INT([fits_in_uint], [sizeof (size_t) <= sizeof (unsigned int)], | 32 | AC_COMPUTE_INT([fits_in_uint], [sizeof (size_t) <= sizeof (unsigned int)], |
33 | [#include <stddef.h>], fits_in_uint=) | 33 | [#include <stddef.h>], [fits_in_uint=]) |
34 | if test -n "$size_t_bits_minus_1" && test -n "$fits_in_uint"; then | 34 | if test -n "$size_t_bits_minus_1" && test -n "$fits_in_uint"; then |
35 | if test $fits_in_uint = 1; then | 35 | if test $fits_in_uint = 1; then |
36 | dnl Even though SIZE_MAX fits in an unsigned int, it must be of type | 36 | dnl Even though SIZE_MAX fits in an unsigned int, it must be of type |
@@ -38,7 +38,7 @@ Found it | |||
38 | AC_TRY_COMPILE([#include <stddef.h> | 38 | AC_TRY_COMPILE([#include <stddef.h> |
39 | extern size_t foo; | 39 | extern size_t foo; |
40 | extern unsigned long foo; | 40 | extern unsigned long foo; |
41 | ], [], fits_in_uint=0) | 41 | ], [], [fits_in_uint=0]) |
42 | fi | 42 | fi |
43 | dnl We cannot use 'expr' to simplify this expression, because 'expr' | 43 | dnl We cannot use 'expr' to simplify this expression, because 'expr' |
44 | dnl works only with 'long' integers in the host environment, while we | 44 | dnl works only with 'long' integers in the host environment, while we |
diff --git a/gl/m4/snprintf.m4 b/gl/m4/snprintf.m4 index f21200dc..6021786e 100644 --- a/gl/m4/snprintf.m4 +++ b/gl/m4/snprintf.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # snprintf.m4 serial 4 | 1 | # snprintf.m4 serial 5 |
2 | dnl Copyright (C) 2002, 2003, 2004, 2007 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2004, 2007-2008 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -7,8 +7,17 @@ dnl with or without modifications, as long as this notice is preserved. | |||
7 | AC_DEFUN([gl_FUNC_SNPRINTF], | 7 | AC_DEFUN([gl_FUNC_SNPRINTF], |
8 | [ | 8 | [ |
9 | AC_REQUIRE([gl_STDIO_H_DEFAULTS]) | 9 | AC_REQUIRE([gl_STDIO_H_DEFAULTS]) |
10 | gl_cv_func_snprintf_usable=no | ||
10 | AC_CHECK_FUNCS([snprintf]) | 11 | AC_CHECK_FUNCS([snprintf]) |
11 | if test $ac_cv_func_snprintf = no; then | 12 | if test $ac_cv_func_snprintf = yes; then |
13 | gl_SNPRINTF_SIZE1 | ||
14 | case "$gl_cv_func_snprintf_size1" in | ||
15 | *yes) | ||
16 | gl_cv_func_snprintf_usable=yes | ||
17 | ;; | ||
18 | esac | ||
19 | fi | ||
20 | if test $gl_cv_func_snprintf_usable = no; then | ||
12 | gl_REPLACE_SNPRINTF | 21 | gl_REPLACE_SNPRINTF |
13 | fi | 22 | fi |
14 | AC_CHECK_DECLS_ONCE([snprintf]) | 23 | AC_CHECK_DECLS_ONCE([snprintf]) |
diff --git a/gl/m4/sockpfaf.m4 b/gl/m4/sockpfaf.m4 index 25d9755c..99ea06f9 100644 --- a/gl/m4/sockpfaf.m4 +++ b/gl/m4/sockpfaf.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # sockpfaf.m4 serial 5 | 1 | # sockpfaf.m4 serial 6 |
2 | dnl Copyright (C) 2004, 2006 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2004, 2006, 2009 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -16,8 +16,8 @@ AC_DEFUN([gl_SOCKET_FAMILIES], | |||
16 | AC_REQUIRE([gl_HEADER_SYS_SOCKET]) | 16 | AC_REQUIRE([gl_HEADER_SYS_SOCKET]) |
17 | AC_CHECK_HEADERS_ONCE([netinet/in.h]) | 17 | AC_CHECK_HEADERS_ONCE([netinet/in.h]) |
18 | 18 | ||
19 | AC_MSG_CHECKING(for IPv4 sockets) | 19 | AC_MSG_CHECKING([for IPv4 sockets]) |
20 | AC_CACHE_VAL(gl_cv_socket_ipv4, | 20 | AC_CACHE_VAL([gl_cv_socket_ipv4], |
21 | [AC_TRY_COMPILE([#include <sys/types.h> | 21 | [AC_TRY_COMPILE([#include <sys/types.h> |
22 | #ifdef HAVE_SYS_SOCKET_H | 22 | #ifdef HAVE_SYS_SOCKET_H |
23 | #include <sys/socket.h> | 23 | #include <sys/socket.h> |
@@ -31,13 +31,13 @@ AC_DEFUN([gl_SOCKET_FAMILIES], | |||
31 | [int x = AF_INET; struct in_addr y; struct sockaddr_in z; | 31 | [int x = AF_INET; struct in_addr y; struct sockaddr_in z; |
32 | if (&x && &y && &z) return 0;], | 32 | if (&x && &y && &z) return 0;], |
33 | gl_cv_socket_ipv4=yes, gl_cv_socket_ipv4=no)]) | 33 | gl_cv_socket_ipv4=yes, gl_cv_socket_ipv4=no)]) |
34 | AC_MSG_RESULT($gl_cv_socket_ipv4) | 34 | AC_MSG_RESULT([$gl_cv_socket_ipv4]) |
35 | if test $gl_cv_socket_ipv4 = yes; then | 35 | if test $gl_cv_socket_ipv4 = yes; then |
36 | AC_DEFINE(HAVE_IPV4, 1, [Define to 1 if <sys/socket.h> defines AF_INET.]) | 36 | AC_DEFINE([HAVE_IPV4], [1], [Define to 1 if <sys/socket.h> defines AF_INET.]) |
37 | fi | 37 | fi |
38 | 38 | ||
39 | AC_MSG_CHECKING(for IPv6 sockets) | 39 | AC_MSG_CHECKING([for IPv6 sockets]) |
40 | AC_CACHE_VAL(gl_cv_socket_ipv6, | 40 | AC_CACHE_VAL([gl_cv_socket_ipv6], |
41 | [AC_TRY_COMPILE([#include <sys/types.h> | 41 | [AC_TRY_COMPILE([#include <sys/types.h> |
42 | #ifdef HAVE_SYS_SOCKET_H | 42 | #ifdef HAVE_SYS_SOCKET_H |
43 | #include <sys/socket.h> | 43 | #include <sys/socket.h> |
@@ -51,8 +51,8 @@ AC_DEFUN([gl_SOCKET_FAMILIES], | |||
51 | [int x = AF_INET6; struct in6_addr y; struct sockaddr_in6 z; | 51 | [int x = AF_INET6; struct in6_addr y; struct sockaddr_in6 z; |
52 | if (&x && &y && &z) return 0;], | 52 | if (&x && &y && &z) return 0;], |
53 | gl_cv_socket_ipv6=yes, gl_cv_socket_ipv6=no)]) | 53 | gl_cv_socket_ipv6=yes, gl_cv_socket_ipv6=no)]) |
54 | AC_MSG_RESULT($gl_cv_socket_ipv6) | 54 | AC_MSG_RESULT([$gl_cv_socket_ipv6]) |
55 | if test $gl_cv_socket_ipv6 = yes; then | 55 | if test $gl_cv_socket_ipv6 = yes; then |
56 | AC_DEFINE(HAVE_IPV6, 1, [Define to 1 if <sys/socket.h> defines AF_INET6.]) | 56 | AC_DEFINE([HAVE_IPV6], [1], [Define to 1 if <sys/socket.h> defines AF_INET6.]) |
57 | fi | 57 | fi |
58 | ]) | 58 | ]) |
diff --git a/gl/m4/stdbool.m4 b/gl/m4/stdbool.m4 index 2204ecd9..57c804a8 100644 --- a/gl/m4/stdbool.m4 +++ b/gl/m4/stdbool.m4 | |||
@@ -1,6 +1,6 @@ | |||
1 | # Check for stdbool.h that conforms to C99. | 1 | # Check for stdbool.h that conforms to C99. |
2 | 2 | ||
3 | dnl Copyright (C) 2002-2006 Free Software Foundation, Inc. | 3 | dnl Copyright (C) 2002-2006, 2009 Free Software Foundation, Inc. |
4 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
5 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
6 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -111,5 +111,5 @@ AC_DEFUN([AC_HEADER_STDBOOL], | |||
111 | [ac_cv_header_stdbool_h=no])]) | 111 | [ac_cv_header_stdbool_h=no])]) |
112 | AC_CHECK_TYPES([_Bool]) | 112 | AC_CHECK_TYPES([_Bool]) |
113 | if test $ac_cv_header_stdbool_h = yes; then | 113 | if test $ac_cv_header_stdbool_h = yes; then |
114 | AC_DEFINE(HAVE_STDBOOL_H, 1, [Define to 1 if stdbool.h conforms to C99.]) | 114 | AC_DEFINE([HAVE_STDBOOL_H], [1], [Define to 1 if stdbool.h conforms to C99.]) |
115 | fi]) | 115 | fi]) |
diff --git a/gl/m4/stdint.m4 b/gl/m4/stdint.m4 index bb6c34fe..b4194c8a 100644 --- a/gl/m4/stdint.m4 +++ b/gl/m4/stdint.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # stdint.m4 serial 29 | 1 | # stdint.m4 serial 33 |
2 | dnl Copyright (C) 2001-2007 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2001-2009 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -9,7 +9,7 @@ dnl Test whether <stdint.h> is supported or must be substituted. | |||
9 | 9 | ||
10 | AC_DEFUN([gl_STDINT_H], | 10 | AC_DEFUN([gl_STDINT_H], |
11 | [ | 11 | [ |
12 | AC_PREREQ(2.59)dnl | 12 | AC_PREREQ([2.59])dnl |
13 | 13 | ||
14 | dnl Check for long long int and unsigned long long int. | 14 | dnl Check for long long int and unsigned long long int. |
15 | AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) | 15 | AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) |
@@ -229,7 +229,7 @@ struct s { | |||
229 | gl_STDINT_TYPE_PROPERTIES | 229 | gl_STDINT_TYPE_PROPERTIES |
230 | STDINT_H=stdint.h | 230 | STDINT_H=stdint.h |
231 | fi | 231 | fi |
232 | AC_SUBST(STDINT_H) | 232 | AC_SUBST([STDINT_H]) |
233 | ]) | 233 | ]) |
234 | 234 | ||
235 | dnl gl_STDINT_BITSIZEOF(TYPES, INCLUDES) | 235 | dnl gl_STDINT_BITSIZEOF(TYPES, INCLUDES) |
@@ -240,7 +240,7 @@ AC_DEFUN([gl_STDINT_BITSIZEOF], | |||
240 | dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into | 240 | dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into |
241 | dnl config.h.in, | 241 | dnl config.h.in, |
242 | dnl - extra AC_SUBST calls, so that the right substitutions are made. | 242 | dnl - extra AC_SUBST calls, so that the right substitutions are made. |
243 | AC_FOREACH([gltype], [$1], | 243 | m4_foreach_w([gltype], [$1], |
244 | [AH_TEMPLATE([BITSIZEOF_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]), | 244 | [AH_TEMPLATE([BITSIZEOF_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]), |
245 | [Define to the number of bits in type ']gltype['.])]) | 245 | [Define to the number of bits in type ']gltype['.])]) |
246 | for gltype in $1 ; do | 246 | for gltype in $1 ; do |
@@ -265,7 +265,7 @@ AC_DEFUN([gl_STDINT_BITSIZEOF], | |||
265 | AC_DEFINE_UNQUOTED([BITSIZEOF_${GLTYPE}], [$result]) | 265 | AC_DEFINE_UNQUOTED([BITSIZEOF_${GLTYPE}], [$result]) |
266 | eval BITSIZEOF_${GLTYPE}=\$result | 266 | eval BITSIZEOF_${GLTYPE}=\$result |
267 | done | 267 | done |
268 | AC_FOREACH([gltype], [$1], | 268 | m4_foreach_w([gltype], [$1], |
269 | [AC_SUBST([BITSIZEOF_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))]) | 269 | [AC_SUBST([BITSIZEOF_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))]) |
270 | ]) | 270 | ]) |
271 | 271 | ||
@@ -278,7 +278,7 @@ AC_DEFUN([gl_CHECK_TYPES_SIGNED], | |||
278 | dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into | 278 | dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into |
279 | dnl config.h.in, | 279 | dnl config.h.in, |
280 | dnl - extra AC_SUBST calls, so that the right substitutions are made. | 280 | dnl - extra AC_SUBST calls, so that the right substitutions are made. |
281 | AC_FOREACH([gltype], [$1], | 281 | m4_foreach_w([gltype], [$1], |
282 | [AH_TEMPLATE([HAVE_SIGNED_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]), | 282 | [AH_TEMPLATE([HAVE_SIGNED_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]), |
283 | [Define to 1 if ']gltype[' is a signed integer type.])]) | 283 | [Define to 1 if ']gltype[' is a signed integer type.])]) |
284 | for gltype in $1 ; do | 284 | for gltype in $1 ; do |
@@ -292,13 +292,13 @@ AC_DEFUN([gl_CHECK_TYPES_SIGNED], | |||
292 | eval result=\$gl_cv_type_${gltype}_signed | 292 | eval result=\$gl_cv_type_${gltype}_signed |
293 | GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` | 293 | GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` |
294 | if test "$result" = yes; then | 294 | if test "$result" = yes; then |
295 | AC_DEFINE_UNQUOTED([HAVE_SIGNED_${GLTYPE}], 1) | 295 | AC_DEFINE_UNQUOTED([HAVE_SIGNED_${GLTYPE}], [1]) |
296 | eval HAVE_SIGNED_${GLTYPE}=1 | 296 | eval HAVE_SIGNED_${GLTYPE}=1 |
297 | else | 297 | else |
298 | eval HAVE_SIGNED_${GLTYPE}=0 | 298 | eval HAVE_SIGNED_${GLTYPE}=0 |
299 | fi | 299 | fi |
300 | done | 300 | done |
301 | AC_FOREACH([gltype], [$1], | 301 | m4_foreach_w([gltype], [$1], |
302 | [AC_SUBST([HAVE_SIGNED_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))]) | 302 | [AC_SUBST([HAVE_SIGNED_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))]) |
303 | ]) | 303 | ]) |
304 | 304 | ||
@@ -311,7 +311,7 @@ AC_DEFUN([gl_INTEGER_TYPE_SUFFIX], | |||
311 | dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into | 311 | dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into |
312 | dnl config.h.in, | 312 | dnl config.h.in, |
313 | dnl - extra AC_SUBST calls, so that the right substitutions are made. | 313 | dnl - extra AC_SUBST calls, so that the right substitutions are made. |
314 | AC_FOREACH([gltype], [$1], | 314 | m4_foreach_w([gltype], [$1], |
315 | [AH_TEMPLATE(translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX], | 315 | [AH_TEMPLATE(translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX], |
316 | [Define to l, ll, u, ul, ull, etc., as suitable for | 316 | [Define to l, ll, u, ul, ull, etc., as suitable for |
317 | constants of type ']gltype['.])]) | 317 | constants of type ']gltype['.])]) |
@@ -337,9 +337,9 @@ AC_DEFUN([gl_INTEGER_TYPE_SUFFIX], | |||
337 | ui64)gltype1='unsigned __int64';; | 337 | ui64)gltype1='unsigned __int64';; |
338 | esac | 338 | esac |
339 | AC_COMPILE_IFELSE( | 339 | AC_COMPILE_IFELSE( |
340 | [AC_LANG_PROGRAM([$2 | 340 | [AC_LANG_PROGRAM([$2[ |
341 | extern $gltype foo; | 341 | extern $gltype foo; |
342 | extern $gltype1 foo;])], | 342 | extern $gltype1 foo;]])], |
343 | [eval gl_cv_type_${gltype}_suffix=\$glsuf]) | 343 | [eval gl_cv_type_${gltype}_suffix=\$glsuf]) |
344 | eval result=\$gl_cv_type_${gltype}_suffix | 344 | eval result=\$gl_cv_type_${gltype}_suffix |
345 | test "$result" != no && break | 345 | test "$result" != no && break |
@@ -348,9 +348,9 @@ AC_DEFUN([gl_INTEGER_TYPE_SUFFIX], | |||
348 | eval result=\$gl_cv_type_${gltype}_suffix | 348 | eval result=\$gl_cv_type_${gltype}_suffix |
349 | test "$result" = no && result= | 349 | test "$result" = no && result= |
350 | eval ${GLTYPE}_SUFFIX=\$result | 350 | eval ${GLTYPE}_SUFFIX=\$result |
351 | AC_DEFINE_UNQUOTED([${GLTYPE}_SUFFIX], $result) | 351 | AC_DEFINE_UNQUOTED([${GLTYPE}_SUFFIX], [$result]) |
352 | done | 352 | done |
353 | AC_FOREACH([gltype], [$1], | 353 | m4_foreach_w([gltype], [$1], |
354 | [AC_SUBST(translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX])]) | 354 | [AC_SUBST(translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX])]) |
355 | ]) | 355 | ]) |
356 | 356 | ||
@@ -373,13 +373,22 @@ dnl Compute HAVE_SIGNED_t, BITSIZEOF_t and t_SUFFIX, for all the types t | |||
373 | dnl of interest to stdint.in.h. | 373 | dnl of interest to stdint.in.h. |
374 | AC_DEFUN([gl_STDINT_TYPE_PROPERTIES], | 374 | AC_DEFUN([gl_STDINT_TYPE_PROPERTIES], |
375 | [ | 375 | [ |
376 | gl_STDINT_BITSIZEOF([ptrdiff_t sig_atomic_t size_t wchar_t wint_t], | 376 | AC_REQUIRE([gl_MULTIARCH]) |
377 | if test $APPLE_UNIVERSAL_BUILD = 0; then | ||
378 | gl_STDINT_BITSIZEOF([ptrdiff_t size_t], | ||
379 | [gl_STDINT_INCLUDES]) | ||
380 | fi | ||
381 | gl_STDINT_BITSIZEOF([sig_atomic_t wchar_t wint_t], | ||
377 | [gl_STDINT_INCLUDES]) | 382 | [gl_STDINT_INCLUDES]) |
378 | gl_CHECK_TYPES_SIGNED([sig_atomic_t wchar_t wint_t], | 383 | gl_CHECK_TYPES_SIGNED([sig_atomic_t wchar_t wint_t], |
379 | [gl_STDINT_INCLUDES]) | 384 | [gl_STDINT_INCLUDES]) |
380 | gl_cv_type_ptrdiff_t_signed=yes | 385 | gl_cv_type_ptrdiff_t_signed=yes |
381 | gl_cv_type_size_t_signed=no | 386 | gl_cv_type_size_t_signed=no |
382 | gl_INTEGER_TYPE_SUFFIX([ptrdiff_t sig_atomic_t size_t wchar_t wint_t], | 387 | if test $APPLE_UNIVERSAL_BUILD = 0; then |
388 | gl_INTEGER_TYPE_SUFFIX([ptrdiff_t size_t], | ||
389 | [gl_STDINT_INCLUDES]) | ||
390 | fi | ||
391 | gl_INTEGER_TYPE_SUFFIX([sig_atomic_t wchar_t wint_t], | ||
383 | [gl_STDINT_INCLUDES]) | 392 | [gl_STDINT_INCLUDES]) |
384 | ]) | 393 | ]) |
385 | 394 | ||
diff --git a/gl/m4/stdint_h.m4 b/gl/m4/stdint_h.m4 index db9a8ac4..82f0c244 100644 --- a/gl/m4/stdint_h.m4 +++ b/gl/m4/stdint_h.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # stdint_h.m4 serial 6 | 1 | # stdint_h.m4 serial 8 |
2 | dnl Copyright (C) 1997-2004, 2006 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1997-2004, 2006, 2008, 2009 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -11,15 +11,15 @@ dnl From Paul Eggert. | |||
11 | 11 | ||
12 | AC_DEFUN([gl_AC_HEADER_STDINT_H], | 12 | AC_DEFUN([gl_AC_HEADER_STDINT_H], |
13 | [ | 13 | [ |
14 | AC_CACHE_CHECK([for stdint.h], gl_cv_header_stdint_h, | 14 | AC_CACHE_CHECK([for stdint.h], [gl_cv_header_stdint_h], |
15 | [AC_TRY_COMPILE( | 15 | [AC_TRY_COMPILE( |
16 | [#include <sys/types.h> | 16 | [#include <sys/types.h> |
17 | #include <stdint.h>], | 17 | #include <stdint.h>], |
18 | [uintmax_t i = (uintmax_t) -1; return !i;], | 18 | [uintmax_t i = (uintmax_t) -1; return !i;], |
19 | gl_cv_header_stdint_h=yes, | 19 | [gl_cv_header_stdint_h=yes], |
20 | gl_cv_header_stdint_h=no)]) | 20 | [gl_cv_header_stdint_h=no])]) |
21 | if test $gl_cv_header_stdint_h = yes; then | 21 | if test $gl_cv_header_stdint_h = yes; then |
22 | AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1, | 22 | AC_DEFINE_UNQUOTED([HAVE_STDINT_H_WITH_UINTMAX], [1], |
23 | [Define if <stdint.h> exists, doesn't clash with <sys/types.h>, | 23 | [Define if <stdint.h> exists, doesn't clash with <sys/types.h>, |
24 | and declares uintmax_t. ]) | 24 | and declares uintmax_t. ]) |
25 | fi | 25 | fi |
diff --git a/gl/m4/stdio_h.m4 b/gl/m4/stdio_h.m4 index a40d4180..60b4bd79 100644 --- a/gl/m4/stdio_h.m4 +++ b/gl/m4/stdio_h.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # stdio_h.m4 serial 9 | 1 | # stdio_h.m4 serial 14 |
2 | dnl Copyright (C) 2007 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007-2008 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -8,6 +8,28 @@ AC_DEFUN([gl_STDIO_H], | |||
8 | [ | 8 | [ |
9 | AC_REQUIRE([gl_STDIO_H_DEFAULTS]) | 9 | AC_REQUIRE([gl_STDIO_H_DEFAULTS]) |
10 | gl_CHECK_NEXT_HEADERS([stdio.h]) | 10 | gl_CHECK_NEXT_HEADERS([stdio.h]) |
11 | dnl No need to create extra modules for these functions. Everyone who uses | ||
12 | dnl <stdio.h> likely needs them. | ||
13 | GNULIB_FPRINTF=1 | ||
14 | GNULIB_PRINTF=1 | ||
15 | GNULIB_VFPRINTF=1 | ||
16 | GNULIB_VPRINTF=1 | ||
17 | GNULIB_FPUTC=1 | ||
18 | GNULIB_PUTC=1 | ||
19 | GNULIB_PUTCHAR=1 | ||
20 | GNULIB_FPUTS=1 | ||
21 | GNULIB_PUTS=1 | ||
22 | GNULIB_FWRITE=1 | ||
23 | dnl This ifdef is just an optimization, to avoid performing a configure | ||
24 | dnl check whose result is not used. It does not make the test of | ||
25 | dnl GNULIB_STDIO_H_SIGPIPE or GNULIB_SIGPIPE redundant. | ||
26 | m4_ifdef([gl_SIGNAL_SIGPIPE], [ | ||
27 | gl_SIGNAL_SIGPIPE | ||
28 | if test $gl_cv_header_signal_h_SIGPIPE != yes; then | ||
29 | REPLACE_STDIO_WRITE_FUNCS=1 | ||
30 | AC_LIBOBJ([stdio-write]) | ||
31 | fi | ||
32 | ]) | ||
11 | ]) | 33 | ]) |
12 | 34 | ||
13 | AC_DEFUN([gl_STDIO_MODULE_INDICATOR], | 35 | AC_DEFUN([gl_STDIO_MODULE_INDICATOR], |
@@ -19,49 +41,69 @@ AC_DEFUN([gl_STDIO_MODULE_INDICATOR], | |||
19 | 41 | ||
20 | AC_DEFUN([gl_STDIO_H_DEFAULTS], | 42 | AC_DEFUN([gl_STDIO_H_DEFAULTS], |
21 | [ | 43 | [ |
22 | GNULIB_FPRINTF_POSIX=0; AC_SUBST([GNULIB_FPRINTF_POSIX]) | 44 | GNULIB_FPRINTF=0; AC_SUBST([GNULIB_FPRINTF]) |
23 | GNULIB_PRINTF_POSIX=0; AC_SUBST([GNULIB_PRINTF_POSIX]) | 45 | GNULIB_FPRINTF_POSIX=0; AC_SUBST([GNULIB_FPRINTF_POSIX]) |
24 | GNULIB_SNPRINTF=0; AC_SUBST([GNULIB_SNPRINTF]) | 46 | GNULIB_PRINTF=0; AC_SUBST([GNULIB_PRINTF]) |
25 | GNULIB_SPRINTF_POSIX=0; AC_SUBST([GNULIB_SPRINTF_POSIX]) | 47 | GNULIB_PRINTF_POSIX=0; AC_SUBST([GNULIB_PRINTF_POSIX]) |
26 | GNULIB_VFPRINTF_POSIX=0; AC_SUBST([GNULIB_VFPRINTF_POSIX]) | 48 | GNULIB_SNPRINTF=0; AC_SUBST([GNULIB_SNPRINTF]) |
27 | GNULIB_VPRINTF_POSIX=0; AC_SUBST([GNULIB_VPRINTF_POSIX]) | 49 | GNULIB_SPRINTF_POSIX=0; AC_SUBST([GNULIB_SPRINTF_POSIX]) |
28 | GNULIB_VSNPRINTF=0; AC_SUBST([GNULIB_VSNPRINTF]) | 50 | GNULIB_VFPRINTF=0; AC_SUBST([GNULIB_VFPRINTF]) |
29 | GNULIB_VSPRINTF_POSIX=0; AC_SUBST([GNULIB_VSPRINTF_POSIX]) | 51 | GNULIB_VFPRINTF_POSIX=0; AC_SUBST([GNULIB_VFPRINTF_POSIX]) |
30 | GNULIB_VASPRINTF=0; AC_SUBST([GNULIB_VASPRINTF]) | 52 | GNULIB_VPRINTF=0; AC_SUBST([GNULIB_VPRINTF]) |
31 | GNULIB_FOPEN=0; AC_SUBST([GNULIB_FOPEN]) | 53 | GNULIB_VPRINTF_POSIX=0; AC_SUBST([GNULIB_VPRINTF_POSIX]) |
32 | GNULIB_FREOPEN=0; AC_SUBST([GNULIB_FREOPEN]) | 54 | GNULIB_VSNPRINTF=0; AC_SUBST([GNULIB_VSNPRINTF]) |
33 | GNULIB_FSEEK=0; AC_SUBST([GNULIB_FSEEK]) | 55 | GNULIB_VSPRINTF_POSIX=0; AC_SUBST([GNULIB_VSPRINTF_POSIX]) |
34 | GNULIB_FSEEKO=0; AC_SUBST([GNULIB_FSEEKO]) | 56 | GNULIB_VASPRINTF=0; AC_SUBST([GNULIB_VASPRINTF]) |
35 | GNULIB_FTELL=0; AC_SUBST([GNULIB_FTELL]) | 57 | GNULIB_OBSTACK_PRINTF=0; AC_SUBST([GNULIB_OBSTACK_PRINTF]) |
36 | GNULIB_FTELLO=0; AC_SUBST([GNULIB_FTELLO]) | 58 | GNULIB_OBSTACK_PRINTF_POSIX=0; AC_SUBST([GNULIB_OBSTACK_PRINTF_POSIX]) |
37 | GNULIB_FFLUSH=0; AC_SUBST([GNULIB_FFLUSH]) | 59 | GNULIB_FOPEN=0; AC_SUBST([GNULIB_FOPEN]) |
38 | GNULIB_GETDELIM=0; AC_SUBST([GNULIB_GETDELIM]) | 60 | GNULIB_FREOPEN=0; AC_SUBST([GNULIB_FREOPEN]) |
39 | GNULIB_GETLINE=0; AC_SUBST([GNULIB_GETLINE]) | 61 | GNULIB_FSEEK=0; AC_SUBST([GNULIB_FSEEK]) |
62 | GNULIB_FSEEKO=0; AC_SUBST([GNULIB_FSEEKO]) | ||
63 | GNULIB_FTELL=0; AC_SUBST([GNULIB_FTELL]) | ||
64 | GNULIB_FTELLO=0; AC_SUBST([GNULIB_FTELLO]) | ||
65 | GNULIB_FFLUSH=0; AC_SUBST([GNULIB_FFLUSH]) | ||
66 | GNULIB_FCLOSE=0; AC_SUBST([GNULIB_FCLOSE]) | ||
67 | GNULIB_FPUTC=0; AC_SUBST([GNULIB_FPUTC]) | ||
68 | GNULIB_PUTC=0; AC_SUBST([GNULIB_PUTC]) | ||
69 | GNULIB_PUTCHAR=0; AC_SUBST([GNULIB_PUTCHAR]) | ||
70 | GNULIB_FPUTS=0; AC_SUBST([GNULIB_FPUTS]) | ||
71 | GNULIB_PUTS=0; AC_SUBST([GNULIB_PUTS]) | ||
72 | GNULIB_FWRITE=0; AC_SUBST([GNULIB_FWRITE]) | ||
73 | GNULIB_GETDELIM=0; AC_SUBST([GNULIB_GETDELIM]) | ||
74 | GNULIB_GETLINE=0; AC_SUBST([GNULIB_GETLINE]) | ||
75 | GNULIB_PERROR=0; AC_SUBST([GNULIB_PERROR]) | ||
76 | GNULIB_STDIO_H_SIGPIPE=0; AC_SUBST([GNULIB_STDIO_H_SIGPIPE]) | ||
40 | dnl Assume proper GNU behavior unless another module says otherwise. | 77 | dnl Assume proper GNU behavior unless another module says otherwise. |
41 | REPLACE_FPRINTF=0; AC_SUBST([REPLACE_FPRINTF]) | 78 | REPLACE_STDIO_WRITE_FUNCS=0; AC_SUBST([REPLACE_STDIO_WRITE_FUNCS]) |
42 | REPLACE_VFPRINTF=0; AC_SUBST([REPLACE_VFPRINTF]) | 79 | REPLACE_FPRINTF=0; AC_SUBST([REPLACE_FPRINTF]) |
43 | REPLACE_PRINTF=0; AC_SUBST([REPLACE_PRINTF]) | 80 | REPLACE_VFPRINTF=0; AC_SUBST([REPLACE_VFPRINTF]) |
44 | REPLACE_VPRINTF=0; AC_SUBST([REPLACE_VPRINTF]) | 81 | REPLACE_PRINTF=0; AC_SUBST([REPLACE_PRINTF]) |
45 | REPLACE_SNPRINTF=0; AC_SUBST([REPLACE_SNPRINTF]) | 82 | REPLACE_VPRINTF=0; AC_SUBST([REPLACE_VPRINTF]) |
46 | HAVE_DECL_SNPRINTF=1; AC_SUBST([HAVE_DECL_SNPRINTF]) | 83 | REPLACE_SNPRINTF=0; AC_SUBST([REPLACE_SNPRINTF]) |
47 | REPLACE_VSNPRINTF=0; AC_SUBST([REPLACE_VSNPRINTF]) | 84 | HAVE_DECL_SNPRINTF=1; AC_SUBST([HAVE_DECL_SNPRINTF]) |
48 | HAVE_DECL_VSNPRINTF=1; AC_SUBST([HAVE_DECL_VSNPRINTF]) | 85 | REPLACE_VSNPRINTF=0; AC_SUBST([REPLACE_VSNPRINTF]) |
49 | REPLACE_SPRINTF=0; AC_SUBST([REPLACE_SPRINTF]) | 86 | HAVE_DECL_VSNPRINTF=1; AC_SUBST([HAVE_DECL_VSNPRINTF]) |
50 | REPLACE_VSPRINTF=0; AC_SUBST([REPLACE_VSPRINTF]) | 87 | REPLACE_SPRINTF=0; AC_SUBST([REPLACE_SPRINTF]) |
51 | HAVE_VASPRINTF=1; AC_SUBST([HAVE_VASPRINTF]) | 88 | REPLACE_VSPRINTF=0; AC_SUBST([REPLACE_VSPRINTF]) |
52 | REPLACE_VASPRINTF=0; AC_SUBST([REPLACE_VASPRINTF]) | 89 | HAVE_VASPRINTF=1; AC_SUBST([HAVE_VASPRINTF]) |
53 | REPLACE_FOPEN=0; AC_SUBST([REPLACE_FOPEN]) | 90 | REPLACE_VASPRINTF=0; AC_SUBST([REPLACE_VASPRINTF]) |
54 | REPLACE_FREOPEN=0; AC_SUBST([REPLACE_FREOPEN]) | 91 | HAVE_DECL_OBSTACK_PRINTF=1; AC_SUBST([HAVE_DECL_OBSTACK_PRINTF]) |
55 | HAVE_FSEEKO=1; AC_SUBST([HAVE_FSEEKO]) | 92 | REPLACE_OBSTACK_PRINTF=0; AC_SUBST([REPLACE_OBSTACK_PRINTF]) |
56 | REPLACE_FSEEKO=0; AC_SUBST([REPLACE_FSEEKO]) | 93 | REPLACE_FOPEN=0; AC_SUBST([REPLACE_FOPEN]) |
57 | REPLACE_FSEEK=0; AC_SUBST([REPLACE_FSEEK]) | 94 | REPLACE_FREOPEN=0; AC_SUBST([REPLACE_FREOPEN]) |
58 | HAVE_FTELLO=1; AC_SUBST([HAVE_FTELLO]) | 95 | HAVE_FSEEKO=1; AC_SUBST([HAVE_FSEEKO]) |
59 | REPLACE_FTELLO=0; AC_SUBST([REPLACE_FTELLO]) | 96 | REPLACE_FSEEKO=0; AC_SUBST([REPLACE_FSEEKO]) |
60 | REPLACE_FTELL=0; AC_SUBST([REPLACE_FTELL]) | 97 | REPLACE_FSEEK=0; AC_SUBST([REPLACE_FSEEK]) |
61 | REPLACE_FFLUSH=0; AC_SUBST([REPLACE_FFLUSH]) | 98 | HAVE_FTELLO=1; AC_SUBST([HAVE_FTELLO]) |
62 | HAVE_DECL_GETDELIM=1; AC_SUBST([HAVE_DECL_GETDELIM]) | 99 | REPLACE_FTELLO=0; AC_SUBST([REPLACE_FTELLO]) |
63 | HAVE_DECL_GETLINE=1; AC_SUBST([HAVE_DECL_GETLINE]) | 100 | REPLACE_FTELL=0; AC_SUBST([REPLACE_FTELL]) |
64 | REPLACE_GETLINE=0; AC_SUBST([REPLACE_GETLINE]) | 101 | REPLACE_FFLUSH=0; AC_SUBST([REPLACE_FFLUSH]) |
102 | REPLACE_FCLOSE=0; AC_SUBST([REPLACE_FCLOSE]) | ||
103 | HAVE_DECL_GETDELIM=1; AC_SUBST([HAVE_DECL_GETDELIM]) | ||
104 | HAVE_DECL_GETLINE=1; AC_SUBST([HAVE_DECL_GETLINE]) | ||
105 | REPLACE_GETLINE=0; AC_SUBST([REPLACE_GETLINE]) | ||
106 | REPLACE_PERROR=0; AC_SUBST([REPLACE_PERROR]) | ||
65 | ]) | 107 | ]) |
66 | 108 | ||
67 | dnl Code shared by fseeko and ftello. Determine if large files are supported, | 109 | dnl Code shared by fseeko and ftello. Determine if large files are supported, |
@@ -70,8 +112,8 @@ AC_DEFUN([gl_STDIN_LARGE_OFFSET], | |||
70 | [ | 112 | [ |
71 | AC_CACHE_CHECK([whether stdin defaults to large file offsets], | 113 | AC_CACHE_CHECK([whether stdin defaults to large file offsets], |
72 | [gl_cv_var_stdin_large_offset], | 114 | [gl_cv_var_stdin_large_offset], |
73 | [AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <stdio.h>], | 115 | [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>]], |
74 | [#if defined __SL64 && defined __SCLE /* cygwin */ | 116 | [[#if defined __SL64 && defined __SCLE /* cygwin */ |
75 | /* Cygwin 1.5.24 and earlier fail to put stdin in 64-bit mode, making | 117 | /* Cygwin 1.5.24 and earlier fail to put stdin in 64-bit mode, making |
76 | fseeko/ftello needlessly fail. This bug was fixed in 1.5.25, and | 118 | fseeko/ftello needlessly fail. This bug was fixed in 1.5.25, and |
77 | it is easier to do a version check than building a runtime test. */ | 119 | it is easier to do a version check than building a runtime test. */ |
@@ -79,7 +121,7 @@ AC_DEFUN([gl_STDIN_LARGE_OFFSET], | |||
79 | # if CYGWIN_VERSION_DLL_COMBINED < CYGWIN_VERSION_DLL_MAKE_COMBINED (1005, 25) | 121 | # if CYGWIN_VERSION_DLL_COMBINED < CYGWIN_VERSION_DLL_MAKE_COMBINED (1005, 25) |
80 | choke me | 122 | choke me |
81 | # endif | 123 | # endif |
82 | #endif])], | 124 | #endif]])], |
83 | [gl_cv_var_stdin_large_offset=yes], | 125 | [gl_cv_var_stdin_large_offset=yes], |
84 | [gl_cv_var_stdin_large_offset=no])]) | 126 | [gl_cv_var_stdin_large_offset=no])]) |
85 | ]) | 127 | ]) |
diff --git a/gl/m4/stdlib_h.m4 b/gl/m4/stdlib_h.m4 index fe4ce122..582db13d 100644 --- a/gl/m4/stdlib_h.m4 +++ b/gl/m4/stdlib_h.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # stdlib_h.m4 serial 5 | 1 | # stdlib_h.m4 serial 13 |
2 | dnl Copyright (C) 2007 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007, 2008 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -8,6 +8,9 @@ AC_DEFUN([gl_STDLIB_H], | |||
8 | [ | 8 | [ |
9 | AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) | 9 | AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) |
10 | gl_CHECK_NEXT_HEADERS([stdlib.h]) | 10 | gl_CHECK_NEXT_HEADERS([stdlib.h]) |
11 | AC_CHECK_TYPES([struct random_data], | ||
12 | [], [HAVE_STRUCT_RANDOM_DATA=0], | ||
13 | [[#include <stdlib.h>]]) | ||
11 | ]) | 14 | ]) |
12 | 15 | ||
13 | AC_DEFUN([gl_STDLIB_MODULE_INDICATOR], | 16 | AC_DEFUN([gl_STDLIB_MODULE_INDICATOR], |
@@ -22,21 +25,38 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS], | |||
22 | GNULIB_MALLOC_POSIX=0; AC_SUBST([GNULIB_MALLOC_POSIX]) | 25 | GNULIB_MALLOC_POSIX=0; AC_SUBST([GNULIB_MALLOC_POSIX]) |
23 | GNULIB_REALLOC_POSIX=0; AC_SUBST([GNULIB_REALLOC_POSIX]) | 26 | GNULIB_REALLOC_POSIX=0; AC_SUBST([GNULIB_REALLOC_POSIX]) |
24 | GNULIB_CALLOC_POSIX=0; AC_SUBST([GNULIB_CALLOC_POSIX]) | 27 | GNULIB_CALLOC_POSIX=0; AC_SUBST([GNULIB_CALLOC_POSIX]) |
28 | GNULIB_ATOLL=0; AC_SUBST([GNULIB_ATOLL]) | ||
29 | GNULIB_GETLOADAVG=0; AC_SUBST([GNULIB_GETLOADAVG]) | ||
25 | GNULIB_GETSUBOPT=0; AC_SUBST([GNULIB_GETSUBOPT]) | 30 | GNULIB_GETSUBOPT=0; AC_SUBST([GNULIB_GETSUBOPT]) |
26 | GNULIB_MKDTEMP=0; AC_SUBST([GNULIB_MKDTEMP]) | 31 | GNULIB_MKDTEMP=0; AC_SUBST([GNULIB_MKDTEMP]) |
27 | GNULIB_MKSTEMP=0; AC_SUBST([GNULIB_MKSTEMP]) | 32 | GNULIB_MKSTEMP=0; AC_SUBST([GNULIB_MKSTEMP]) |
28 | GNULIB_PUTENV=0; AC_SUBST([GNULIB_PUTENV]) | 33 | GNULIB_PUTENV=0; AC_SUBST([GNULIB_PUTENV]) |
34 | GNULIB_RANDOM_R=0; AC_SUBST([GNULIB_RANDOM_R]) | ||
35 | GNULIB_RPMATCH=0; AC_SUBST([GNULIB_RPMATCH]) | ||
29 | GNULIB_SETENV=0; AC_SUBST([GNULIB_SETENV]) | 36 | GNULIB_SETENV=0; AC_SUBST([GNULIB_SETENV]) |
37 | GNULIB_STRTOD=0; AC_SUBST([GNULIB_STRTOD]) | ||
38 | GNULIB_STRTOLL=0; AC_SUBST([GNULIB_STRTOLL]) | ||
39 | GNULIB_STRTOULL=0; AC_SUBST([GNULIB_STRTOULL]) | ||
30 | GNULIB_UNSETENV=0; AC_SUBST([GNULIB_UNSETENV]) | 40 | GNULIB_UNSETENV=0; AC_SUBST([GNULIB_UNSETENV]) |
31 | dnl Assume proper GNU behavior unless another module says otherwise. | 41 | dnl Assume proper GNU behavior unless another module says otherwise. |
32 | HAVE_CALLOC_POSIX=1; AC_SUBST([HAVE_CALLOC_POSIX]) | 42 | HAVE_ATOLL=1; AC_SUBST([HAVE_ATOLL]) |
33 | HAVE_GETSUBOPT=1; AC_SUBST([HAVE_GETSUBOPT]) | 43 | HAVE_CALLOC_POSIX=1; AC_SUBST([HAVE_CALLOC_POSIX]) |
34 | HAVE_MALLOC_POSIX=1; AC_SUBST([HAVE_MALLOC_POSIX]) | 44 | HAVE_GETSUBOPT=1; AC_SUBST([HAVE_GETSUBOPT]) |
35 | HAVE_MKDTEMP=1; AC_SUBST([HAVE_MKDTEMP]) | 45 | HAVE_MALLOC_POSIX=1; AC_SUBST([HAVE_MALLOC_POSIX]) |
36 | HAVE_REALLOC_POSIX=1; AC_SUBST([HAVE_REALLOC_POSIX]) | 46 | HAVE_MKDTEMP=1; AC_SUBST([HAVE_MKDTEMP]) |
37 | HAVE_SETENV=1; AC_SUBST([HAVE_SETENV]) | 47 | HAVE_REALLOC_POSIX=1; AC_SUBST([HAVE_REALLOC_POSIX]) |
38 | HAVE_UNSETENV=1; AC_SUBST([HAVE_UNSETENV]) | 48 | HAVE_RANDOM_R=1; AC_SUBST([HAVE_RANDOM_R]) |
39 | REPLACE_MKSTEMP=0; AC_SUBST([REPLACE_MKSTEMP]) | 49 | HAVE_RPMATCH=1; AC_SUBST([HAVE_RPMATCH]) |
40 | REPLACE_PUTENV=0; AC_SUBST([REPLACE_PUTENV]) | 50 | HAVE_SETENV=1; AC_SUBST([HAVE_SETENV]) |
41 | VOID_UNSETENV=0; AC_SUBST([VOID_UNSETENV]) | 51 | HAVE_STRTOD=1; AC_SUBST([HAVE_STRTOD]) |
52 | HAVE_STRTOLL=1; AC_SUBST([HAVE_STRTOLL]) | ||
53 | HAVE_STRTOULL=1; AC_SUBST([HAVE_STRTOULL]) | ||
54 | HAVE_STRUCT_RANDOM_DATA=1; AC_SUBST([HAVE_STRUCT_RANDOM_DATA]) | ||
55 | HAVE_SYS_LOADAVG_H=0; AC_SUBST([HAVE_SYS_LOADAVG_H]) | ||
56 | HAVE_UNSETENV=1; AC_SUBST([HAVE_UNSETENV]) | ||
57 | HAVE_DECL_GETLOADAVG=1; AC_SUBST([HAVE_DECL_GETLOADAVG]) | ||
58 | REPLACE_MKSTEMP=0; AC_SUBST([REPLACE_MKSTEMP]) | ||
59 | REPLACE_PUTENV=0; AC_SUBST([REPLACE_PUTENV]) | ||
60 | REPLACE_STRTOD=0; AC_SUBST([REPLACE_STRTOD]) | ||
61 | VOID_UNSETENV=0; AC_SUBST([VOID_UNSETENV]) | ||
42 | ]) | 62 | ]) |
diff --git a/gl/m4/strdup.m4 b/gl/m4/strdup.m4 deleted file mode 100644 index 8796e9e0..00000000 --- a/gl/m4/strdup.m4 +++ /dev/null | |||
@@ -1,22 +0,0 @@ | |||
1 | # strdup.m4 serial 9 | ||
2 | |||
3 | dnl Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software | ||
4 | dnl Foundation, Inc. | ||
5 | |||
6 | dnl This file is free software; the Free Software Foundation | ||
7 | dnl gives unlimited permission to copy and/or distribute it, | ||
8 | dnl with or without modifications, as long as this notice is preserved. | ||
9 | |||
10 | AC_DEFUN([gl_FUNC_STRDUP], | ||
11 | [ | ||
12 | AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) | ||
13 | AC_REPLACE_FUNCS(strdup) | ||
14 | AC_CHECK_DECLS_ONCE(strdup) | ||
15 | if test $ac_cv_have_decl_strdup = no; then | ||
16 | HAVE_DECL_STRDUP=0 | ||
17 | fi | ||
18 | gl_PREREQ_STRDUP | ||
19 | ]) | ||
20 | |||
21 | # Prerequisites of lib/strdup.c. | ||
22 | AC_DEFUN([gl_PREREQ_STRDUP], [:]) | ||
diff --git a/gl/m4/strerror.m4 b/gl/m4/strerror.m4 index eb7d45aa..8c16ca9a 100644 --- a/gl/m4/strerror.m4 +++ b/gl/m4/strerror.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # strerror.m4 serial 7 | 1 | # strerror.m4 serial 9 |
2 | dnl Copyright (C) 2002, 2007 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002, 2007-2008 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -7,7 +7,7 @@ dnl with or without modifications, as long as this notice is preserved. | |||
7 | AC_DEFUN([gl_FUNC_STRERROR], | 7 | AC_DEFUN([gl_FUNC_STRERROR], |
8 | [ | 8 | [ |
9 | AC_REQUIRE([gl_FUNC_STRERROR_SEPARATE]) | 9 | AC_REQUIRE([gl_FUNC_STRERROR_SEPARATE]) |
10 | if test $gl_cv_func_working_strerror = no; then | 10 | if test $REPLACE_STRERROR = 1; then |
11 | AC_LIBOBJ([strerror]) | 11 | AC_LIBOBJ([strerror]) |
12 | AC_DEFINE_UNQUOTED([REPLACE_STRERROR], [$REPLACE_STRERROR], | 12 | AC_DEFINE_UNQUOTED([REPLACE_STRERROR], [$REPLACE_STRERROR], |
13 | [Define this to 1 if strerror is broken.]) | 13 | [Define this to 1 if strerror is broken.]) |
@@ -18,25 +18,38 @@ AC_DEFUN([gl_FUNC_STRERROR], | |||
18 | AC_DEFUN([gl_FUNC_STRERROR_SEPARATE], | 18 | AC_DEFUN([gl_FUNC_STRERROR_SEPARATE], |
19 | [ | 19 | [ |
20 | AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) | 20 | AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) |
21 | AC_CACHE_CHECK([for working strerror function], | 21 | AC_REQUIRE([gl_HEADER_ERRNO_H]) |
22 | [gl_cv_func_working_strerror], | 22 | if test -z "$ERRNO_H"; then |
23 | [AC_RUN_IFELSE( | 23 | AC_CACHE_CHECK([for working strerror function], |
24 | [AC_LANG_PROGRAM( | 24 | [gl_cv_func_working_strerror], |
25 | [#include <string.h> | 25 | [AC_RUN_IFELSE( |
26 | ], | 26 | [AC_LANG_PROGRAM( |
27 | [return !*strerror (-2);])], | 27 | [[#include <string.h> |
28 | [gl_cv_func_working_strerror=yes], | 28 | ]], |
29 | [gl_cv_func_working_strerror=no], | 29 | [[return !*strerror (-2);]])], |
30 | [dnl Assume crossbuild works if it compiles. | 30 | [gl_cv_func_working_strerror=yes], |
31 | AC_COMPILE_IFELSE( | 31 | [gl_cv_func_working_strerror=no], |
32 | [AC_LANG_PROGRAM( | 32 | [dnl Assume crossbuild works if it compiles. |
33 | [#include <string.h> | 33 | AC_COMPILE_IFELSE( |
34 | ], | 34 | [AC_LANG_PROGRAM( |
35 | [return !*strerror (-2);])], | 35 | [[#include <string.h> |
36 | [gl_cv_func_working_strerror=yes], | 36 | ]], |
37 | [gl_cv_func_working_strerror=no])])]) | 37 | [[return !*strerror (-2);]])], |
38 | if test $gl_cv_func_working_strerror = no ; then | 38 | [gl_cv_func_working_strerror=yes], |
39 | [gl_cv_func_working_strerror=no]) | ||
40 | ]) | ||
41 | ]) | ||
42 | if test $gl_cv_func_working_strerror = no; then | ||
43 | dnl The system's strerror() fails to return a string for out-of-range | ||
44 | dnl integers. Replace it. | ||
45 | REPLACE_STRERROR=1 | ||
46 | fi | ||
47 | else | ||
48 | dnl The system's strerror() cannot know about the new errno values we add | ||
49 | dnl to <errno.h>. Replace it. | ||
39 | REPLACE_STRERROR=1 | 50 | REPLACE_STRERROR=1 |
51 | fi | ||
52 | if test $REPLACE_STRERROR = 1; then | ||
40 | gl_PREREQ_STRERROR | 53 | gl_PREREQ_STRERROR |
41 | fi | 54 | fi |
42 | ]) | 55 | ]) |
@@ -44,4 +57,12 @@ AC_DEFUN([gl_FUNC_STRERROR_SEPARATE], | |||
44 | # Prerequisites of lib/strerror.c. | 57 | # Prerequisites of lib/strerror.c. |
45 | AC_DEFUN([gl_PREREQ_STRERROR], [ | 58 | AC_DEFUN([gl_PREREQ_STRERROR], [ |
46 | AC_CHECK_DECLS([strerror]) | 59 | AC_CHECK_DECLS([strerror]) |
60 | AC_CHECK_HEADERS_ONCE([sys/socket.h]) | ||
61 | if test $ac_cv_header_sys_socket_h != yes; then | ||
62 | dnl We cannot use AC_CHECK_HEADERS_ONCE here, because that would make | ||
63 | dnl the check for those headers unconditional; yet cygwin reports | ||
64 | dnl that the headers are present but cannot be compiled (since on | ||
65 | dnl cygwin, all socket information should come from sys/socket.h). | ||
66 | AC_CHECK_HEADERS([winsock2.h]) | ||
67 | fi | ||
47 | ]) | 68 | ]) |
diff --git a/gl/m4/string_h.m4 b/gl/m4/string_h.m4 index 766d7e98..2d5553c3 100644 --- a/gl/m4/string_h.m4 +++ b/gl/m4/string_h.m4 | |||
@@ -5,7 +5,7 @@ | |||
5 | # gives unlimited permission to copy and/or distribute it, | 5 | # gives unlimited permission to copy and/or distribute it, |
6 | # with or without modifications, as long as this notice is preserved. | 6 | # with or without modifications, as long as this notice is preserved. |
7 | 7 | ||
8 | # serial 4 | 8 | # serial 6 |
9 | 9 | ||
10 | # Written by Paul Eggert. | 10 | # Written by Paul Eggert. |
11 | 11 | ||
@@ -35,6 +35,7 @@ AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS], | |||
35 | GNULIB_MEMMEM=0; AC_SUBST([GNULIB_MEMMEM]) | 35 | GNULIB_MEMMEM=0; AC_SUBST([GNULIB_MEMMEM]) |
36 | GNULIB_MEMPCPY=0; AC_SUBST([GNULIB_MEMPCPY]) | 36 | GNULIB_MEMPCPY=0; AC_SUBST([GNULIB_MEMPCPY]) |
37 | GNULIB_MEMRCHR=0; AC_SUBST([GNULIB_MEMRCHR]) | 37 | GNULIB_MEMRCHR=0; AC_SUBST([GNULIB_MEMRCHR]) |
38 | GNULIB_RAWMEMCHR=0; AC_SUBST([GNULIB_RAWMEMCHR]) | ||
38 | GNULIB_STPCPY=0; AC_SUBST([GNULIB_STPCPY]) | 39 | GNULIB_STPCPY=0; AC_SUBST([GNULIB_STPCPY]) |
39 | GNULIB_STPNCPY=0; AC_SUBST([GNULIB_STPNCPY]) | 40 | GNULIB_STPNCPY=0; AC_SUBST([GNULIB_STPNCPY]) |
40 | GNULIB_STRCHRNUL=0; AC_SUBST([GNULIB_STRCHRNUL]) | 41 | GNULIB_STRCHRNUL=0; AC_SUBST([GNULIB_STRCHRNUL]) |
@@ -62,10 +63,12 @@ AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS], | |||
62 | GNULIB_MBSTOK_R=0; AC_SUBST([GNULIB_MBSTOK_R]) | 63 | GNULIB_MBSTOK_R=0; AC_SUBST([GNULIB_MBSTOK_R]) |
63 | GNULIB_STRERROR=0; AC_SUBST([GNULIB_STRERROR]) | 64 | GNULIB_STRERROR=0; AC_SUBST([GNULIB_STRERROR]) |
64 | GNULIB_STRSIGNAL=0; AC_SUBST([GNULIB_STRSIGNAL]) | 65 | GNULIB_STRSIGNAL=0; AC_SUBST([GNULIB_STRSIGNAL]) |
66 | GNULIB_STRVERSCMP=0; AC_SUBST([GNULIB_STRVERSCMP]) | ||
65 | dnl Assume proper GNU behavior unless another module says otherwise. | 67 | dnl Assume proper GNU behavior unless another module says otherwise. |
66 | HAVE_DECL_MEMMEM=1; AC_SUBST([HAVE_DECL_MEMMEM]) | 68 | HAVE_DECL_MEMMEM=1; AC_SUBST([HAVE_DECL_MEMMEM]) |
67 | HAVE_MEMPCPY=1; AC_SUBST([HAVE_MEMPCPY]) | 69 | HAVE_MEMPCPY=1; AC_SUBST([HAVE_MEMPCPY]) |
68 | HAVE_DECL_MEMRCHR=1; AC_SUBST([HAVE_DECL_MEMRCHR]) | 70 | HAVE_DECL_MEMRCHR=1; AC_SUBST([HAVE_DECL_MEMRCHR]) |
71 | HAVE_RAWMEMCHR=1; AC_SUBST([HAVE_RAWMEMCHR]) | ||
69 | HAVE_STPCPY=1; AC_SUBST([HAVE_STPCPY]) | 72 | HAVE_STPCPY=1; AC_SUBST([HAVE_STPCPY]) |
70 | HAVE_STPNCPY=1; AC_SUBST([HAVE_STPNCPY]) | 73 | HAVE_STPNCPY=1; AC_SUBST([HAVE_STPNCPY]) |
71 | HAVE_STRCHRNUL=1; AC_SUBST([HAVE_STRCHRNUL]) | 74 | HAVE_STRCHRNUL=1; AC_SUBST([HAVE_STRCHRNUL]) |
@@ -79,9 +82,11 @@ AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS], | |||
79 | HAVE_DECL_STRTOK_R=1; AC_SUBST([HAVE_DECL_STRTOK_R]) | 82 | HAVE_DECL_STRTOK_R=1; AC_SUBST([HAVE_DECL_STRTOK_R]) |
80 | HAVE_DECL_STRERROR=1; AC_SUBST([HAVE_DECL_STRERROR]) | 83 | HAVE_DECL_STRERROR=1; AC_SUBST([HAVE_DECL_STRERROR]) |
81 | HAVE_DECL_STRSIGNAL=1; AC_SUBST([HAVE_DECL_STRSIGNAL]) | 84 | HAVE_DECL_STRSIGNAL=1; AC_SUBST([HAVE_DECL_STRSIGNAL]) |
82 | REPLACE_STRERROR=0; AC_SUBST([REPLACE_STRERROR]) | 85 | HAVE_STRVERSCMP=1; AC_SUBST([HAVE_STRVERSCMP]) |
83 | REPLACE_STRSIGNAL=0; AC_SUBST([REPLACE_STRSIGNAL]) | ||
84 | REPLACE_MEMMEM=0; AC_SUBST([REPLACE_MEMMEM]) | 86 | REPLACE_MEMMEM=0; AC_SUBST([REPLACE_MEMMEM]) |
85 | REPLACE_STRCASESTR=0; AC_SUBST([REPLACE_STRCASESTR]) | 87 | REPLACE_STRDUP=0; AC_SUBST([REPLACE_STRDUP]) |
86 | REPLACE_STRSTR=0; AC_SUBST([REPLACE_STRSTR]) | 88 | REPLACE_STRSTR=0; AC_SUBST([REPLACE_STRSTR]) |
89 | REPLACE_STRCASESTR=0; AC_SUBST([REPLACE_STRCASESTR]) | ||
90 | REPLACE_STRERROR=0; AC_SUBST([REPLACE_STRERROR]) | ||
91 | REPLACE_STRSIGNAL=0; AC_SUBST([REPLACE_STRSIGNAL]) | ||
87 | ]) | 92 | ]) |
diff --git a/gl/m4/strndup.m4 b/gl/m4/strndup.m4 index f7934ef8..4fa7d5a7 100644 --- a/gl/m4/strndup.m4 +++ b/gl/m4/strndup.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # strndup.m4 serial 14 | 1 | # strndup.m4 serial 16 |
2 | dnl Copyright (C) 2002-2003, 2005-2007 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2003, 2005-2009 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -16,10 +16,10 @@ AC_DEFUN([gl_FUNC_STRNDUP], | |||
16 | fi | 16 | fi |
17 | 17 | ||
18 | # AIX 4.3.3, AIX 5.1 have a function that fails to add the terminating '\0'. | 18 | # AIX 4.3.3, AIX 5.1 have a function that fails to add the terminating '\0'. |
19 | AC_CACHE_CHECK([for working strndup], gl_cv_func_strndup, | 19 | AC_CACHE_CHECK([for working strndup], [gl_cv_func_strndup], |
20 | [AC_RUN_IFELSE([ | 20 | [AC_RUN_IFELSE([ |
21 | AC_LANG_PROGRAM([#include <string.h> | 21 | AC_LANG_PROGRAM([[#include <string.h> |
22 | #include <stdlib.h>], [[ | 22 | #include <stdlib.h>]], [[ |
23 | #ifndef HAVE_DECL_STRNDUP | 23 | #ifndef HAVE_DECL_STRNDUP |
24 | extern char *strndup (const char *, size_t); | 24 | extern char *strndup (const char *, size_t); |
25 | #endif | 25 | #endif |
@@ -40,7 +40,7 @@ AC_DEFUN([gl_FUNC_STRNDUP], | |||
40 | [gl_cv_func_strndup=yes])], | 40 | [gl_cv_func_strndup=yes])], |
41 | [gl_cv_func_strndup=no])])]) | 41 | [gl_cv_func_strndup=no])])]) |
42 | if test $gl_cv_func_strndup = yes; then | 42 | if test $gl_cv_func_strndup = yes; then |
43 | AC_DEFINE([HAVE_STRNDUP], 1, | 43 | AC_DEFINE([HAVE_STRNDUP], [1], |
44 | [Define if you have the strndup() function and it works.]) | 44 | [Define if you have the strndup() function and it works.]) |
45 | else | 45 | else |
46 | HAVE_STRNDUP=0 | 46 | HAVE_STRNDUP=0 |
diff --git a/gl/m4/strnlen.m4 b/gl/m4/strnlen.m4 index d8307eda..1c97859d 100644 --- a/gl/m4/strnlen.m4 +++ b/gl/m4/strnlen.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # strnlen.m4 serial 9 | 1 | # strnlen.m4 serial 10 |
2 | dnl Copyright (C) 2002-2003, 2005-2007 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2003, 2005-2007, 2009 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -20,8 +20,8 @@ AC_DEFUN([gl_FUNC_STRNLEN], | |||
20 | # This is necessary because automake-1.6.1 doesn't understand | 20 | # This is necessary because automake-1.6.1 doesn't understand |
21 | # that the above use of AC_FUNC_STRNLEN means we may have to use | 21 | # that the above use of AC_FUNC_STRNLEN means we may have to use |
22 | # lib/strnlen.c. | 22 | # lib/strnlen.c. |
23 | #AC_LIBOBJ(strnlen) | 23 | #AC_LIBOBJ([strnlen]) |
24 | AC_DEFINE(strnlen, rpl_strnlen, | 24 | AC_DEFINE([strnlen], [rpl_strnlen], |
25 | [Define to rpl_strnlen if the replacement function should be used.]) | 25 | [Define to rpl_strnlen if the replacement function should be used.]) |
26 | gl_PREREQ_STRNLEN | 26 | gl_PREREQ_STRNLEN |
27 | fi | 27 | fi |
diff --git a/gl/m4/sys_socket_h.m4 b/gl/m4/sys_socket_h.m4 index d9659c2d..85a0ace8 100644 --- a/gl/m4/sys_socket_h.m4 +++ b/gl/m4/sys_socket_h.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # sys_socket_h.m4 serial 4 | 1 | # sys_socket_h.m4 serial 12 |
2 | dnl Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2005-2008 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -8,22 +8,43 @@ dnl From Simon Josefsson. | |||
8 | 8 | ||
9 | AC_DEFUN([gl_HEADER_SYS_SOCKET], | 9 | AC_DEFUN([gl_HEADER_SYS_SOCKET], |
10 | [ | 10 | [ |
11 | AC_REQUIRE([gl_SYS_SOCKET_H_DEFAULTS]) | ||
12 | AC_REQUIRE([AC_C_INLINE]) | ||
13 | |||
11 | AC_CACHE_CHECK([whether <sys/socket.h> is self-contained], | 14 | AC_CACHE_CHECK([whether <sys/socket.h> is self-contained], |
12 | [gl_cv_header_sys_socket_h_selfcontained], | 15 | [gl_cv_header_sys_socket_h_selfcontained], |
13 | [ | 16 | [ |
14 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <sys/socket.h>], [])], | 17 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/socket.h>]], [[]])], |
15 | [gl_cv_header_sys_socket_h_selfcontained=yes], | 18 | [gl_cv_header_sys_socket_h_selfcontained=yes], |
16 | [gl_cv_header_sys_socket_h_selfcontained=no]) | 19 | [gl_cv_header_sys_socket_h_selfcontained=no]) |
17 | ]) | 20 | ]) |
18 | if test $gl_cv_header_sys_socket_h_selfcontained = yes; then | 21 | if test $gl_cv_header_sys_socket_h_selfcontained = yes; then |
19 | SYS_SOCKET_H='' | 22 | SYS_SOCKET_H='' |
23 | dnl If the shutdown function exists, <sys/socket.h> should define | ||
24 | dnl SHUT_RD, SHUT_WR, SHUT_RDWR. | ||
25 | AC_CHECK_FUNCS([shutdown]) | ||
26 | if test $ac_cv_func_shutdown = yes; then | ||
27 | AC_CACHE_CHECK([whether <sys/socket.h> defines the SHUT_* macros], | ||
28 | [gl_cv_header_sys_socket_h_shut], | ||
29 | [ | ||
30 | AC_COMPILE_IFELSE( | ||
31 | [AC_LANG_PROGRAM([[#include <sys/socket.h>]], | ||
32 | [[int a[] = { SHUT_RD, SHUT_WR, SHUT_RDWR };]])], | ||
33 | [gl_cv_header_sys_socket_h_shut=yes], | ||
34 | [gl_cv_header_sys_socket_h_shut=no]) | ||
35 | ]) | ||
36 | if test $gl_cv_header_sys_socket_h_shut = no; then | ||
37 | SYS_SOCKET_H='sys/socket.h' | ||
38 | fi | ||
39 | fi | ||
20 | else | 40 | else |
21 | SYS_SOCKET_H='sys/socket.h' | 41 | SYS_SOCKET_H='sys/socket.h' |
22 | 42 | fi | |
43 | if test -n "$SYS_SOCKET_H"; then | ||
44 | dnl Check prerequisites of the <sys/socket.h> replacement. | ||
23 | gl_CHECK_NEXT_HEADERS([sys/socket.h]) | 45 | gl_CHECK_NEXT_HEADERS([sys/socket.h]) |
24 | if test $ac_cv_header_sys_socket_h = yes; then | 46 | if test $ac_cv_header_sys_socket_h = yes; then |
25 | HAVE_SYS_SOCKET_H=1 | 47 | HAVE_SYS_SOCKET_H=1 |
26 | HAVE_WINSOCK2_H=0 | ||
27 | HAVE_WS2TCPIP_H=0 | 48 | HAVE_WS2TCPIP_H=0 |
28 | else | 49 | else |
29 | HAVE_SYS_SOCKET_H=0 | 50 | HAVE_SYS_SOCKET_H=0 |
@@ -31,21 +52,66 @@ AC_DEFUN([gl_HEADER_SYS_SOCKET], | |||
31 | dnl the check for those headers unconditional; yet cygwin reports | 52 | dnl the check for those headers unconditional; yet cygwin reports |
32 | dnl that the headers are present but cannot be compiled (since on | 53 | dnl that the headers are present but cannot be compiled (since on |
33 | dnl cygwin, all socket information should come from sys/socket.h). | 54 | dnl cygwin, all socket information should come from sys/socket.h). |
34 | AC_CHECK_HEADERS([winsock2.h ws2tcpip.h]) | 55 | AC_CHECK_HEADERS([ws2tcpip.h]) |
35 | if test $ac_cv_header_winsock2_h = yes; then | ||
36 | HAVE_WINSOCK2_H=1 | ||
37 | else | ||
38 | HAVE_WINSOCK2_H=0 | ||
39 | fi | ||
40 | if test $ac_cv_header_ws2tcpip_h = yes; then | 56 | if test $ac_cv_header_ws2tcpip_h = yes; then |
41 | HAVE_WS2TCPIP_H=1 | 57 | HAVE_WS2TCPIP_H=1 |
42 | else | 58 | else |
43 | HAVE_WS2TCPIP_H=0 | 59 | HAVE_WS2TCPIP_H=0 |
44 | fi | 60 | fi |
45 | fi | 61 | fi |
62 | gl_PREREQ_SYS_H_WINSOCK2 | ||
46 | AC_SUBST([HAVE_SYS_SOCKET_H]) | 63 | AC_SUBST([HAVE_SYS_SOCKET_H]) |
47 | AC_SUBST([HAVE_WINSOCK2_H]) | ||
48 | AC_SUBST([HAVE_WS2TCPIP_H]) | 64 | AC_SUBST([HAVE_WS2TCPIP_H]) |
49 | fi | 65 | fi |
50 | AC_SUBST([SYS_SOCKET_H]) | 66 | AC_SUBST([SYS_SOCKET_H]) |
51 | ]) | 67 | ]) |
68 | |||
69 | # Common prerequisites of of the <sys/socket.h> replacement and of the | ||
70 | # <sys/select.h> replacement. | ||
71 | # Sets and substitutes HAVE_WINSOCK2_H. | ||
72 | AC_DEFUN([gl_PREREQ_SYS_H_WINSOCK2], | ||
73 | [ | ||
74 | m4_ifdef([gl_UNISTD_H_DEFAULTS], [AC_REQUIRE([gl_UNISTD_H_DEFAULTS])]) | ||
75 | m4_ifdef([gl_SYS_IOCTL_H_DEFAULTS], [AC_REQUIRE([gl_SYS_IOCTL_H_DEFAULTS])]) | ||
76 | AC_CHECK_HEADERS_ONCE([sys/socket.h]) | ||
77 | if test $ac_cv_header_sys_socket_h != yes; then | ||
78 | dnl We cannot use AC_CHECK_HEADERS_ONCE here, because that would make | ||
79 | dnl the check for those headers unconditional; yet cygwin reports | ||
80 | dnl that the headers are present but cannot be compiled (since on | ||
81 | dnl cygwin, all socket information should come from sys/socket.h). | ||
82 | AC_CHECK_HEADERS([winsock2.h]) | ||
83 | fi | ||
84 | if test "$ac_cv_header_winsock2_h" = yes; then | ||
85 | HAVE_WINSOCK2_H=1 | ||
86 | UNISTD_H_HAVE_WINSOCK2_H=1 | ||
87 | SYS_IOCTL_H_HAVE_WINSOCK2_H=1 | ||
88 | else | ||
89 | HAVE_WINSOCK2_H=0 | ||
90 | fi | ||
91 | AC_SUBST([HAVE_WINSOCK2_H]) | ||
92 | ]) | ||
93 | |||
94 | AC_DEFUN([gl_SYS_SOCKET_MODULE_INDICATOR], | ||
95 | [ | ||
96 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. | ||
97 | AC_REQUIRE([gl_SYS_SOCKET_H_DEFAULTS]) | ||
98 | GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 | ||
99 | ]) | ||
100 | |||
101 | AC_DEFUN([gl_SYS_SOCKET_H_DEFAULTS], | ||
102 | [ | ||
103 | GNULIB_SOCKET=0; AC_SUBST([GNULIB_SOCKET]) | ||
104 | GNULIB_CONNECT=0; AC_SUBST([GNULIB_CONNECT]) | ||
105 | GNULIB_ACCEPT=0; AC_SUBST([GNULIB_ACCEPT]) | ||
106 | GNULIB_BIND=0; AC_SUBST([GNULIB_BIND]) | ||
107 | GNULIB_GETPEERNAME=0; AC_SUBST([GNULIB_GETPEERNAME]) | ||
108 | GNULIB_GETSOCKNAME=0; AC_SUBST([GNULIB_GETSOCKNAME]) | ||
109 | GNULIB_GETSOCKOPT=0; AC_SUBST([GNULIB_GETSOCKOPT]) | ||
110 | GNULIB_LISTEN=0; AC_SUBST([GNULIB_LISTEN]) | ||
111 | GNULIB_RECV=0; AC_SUBST([GNULIB_RECV]) | ||
112 | GNULIB_SEND=0; AC_SUBST([GNULIB_SEND]) | ||
113 | GNULIB_RECVFROM=0; AC_SUBST([GNULIB_RECVFROM]) | ||
114 | GNULIB_SENDTO=0; AC_SUBST([GNULIB_SENDTO]) | ||
115 | GNULIB_SETSOCKOPT=0; AC_SUBST([GNULIB_SETSOCKOPT]) | ||
116 | GNULIB_SHUTDOWN=0; AC_SUBST([GNULIB_SHUTDOWN]) | ||
117 | ]) | ||
diff --git a/gl/m4/threadlib.m4 b/gl/m4/threadlib.m4 new file mode 100644 index 00000000..3dd38aa8 --- /dev/null +++ b/gl/m4/threadlib.m4 | |||
@@ -0,0 +1,313 @@ | |||
1 | # threadlib.m4 serial 3 (gettext-0.18) | ||
2 | dnl Copyright (C) 2005-2009 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | ||
4 | dnl gives unlimited permission to copy and/or distribute it, | ||
5 | dnl with or without modifications, as long as this notice is preserved. | ||
6 | |||
7 | dnl From Bruno Haible. | ||
8 | |||
9 | dnl gl_THREADLIB | ||
10 | dnl ------------ | ||
11 | dnl Tests for a multithreading library to be used. | ||
12 | dnl Defines at most one of the macros USE_POSIX_THREADS, USE_SOLARIS_THREADS, | ||
13 | dnl USE_PTH_THREADS, USE_WIN32_THREADS | ||
14 | dnl Sets the variables LIBTHREAD and LTLIBTHREAD to the linker options for use | ||
15 | dnl in a Makefile (LIBTHREAD for use without libtool, LTLIBTHREAD for use with | ||
16 | dnl libtool). | ||
17 | dnl Sets the variables LIBMULTITHREAD and LTLIBMULTITHREAD similarly, for | ||
18 | dnl programs that really need multithread functionality. The difference | ||
19 | dnl between LIBTHREAD and LIBMULTITHREAD is that on platforms supporting weak | ||
20 | dnl symbols, typically LIBTHREAD="" whereas LIBMULTITHREAD="-lpthread". | ||
21 | dnl Adds to CPPFLAGS the flag -D_REENTRANT or -D_THREAD_SAFE if needed for | ||
22 | dnl multithread-safe programs. | ||
23 | |||
24 | AC_DEFUN([gl_THREADLIB_EARLY], | ||
25 | [ | ||
26 | AC_REQUIRE([gl_THREADLIB_EARLY_BODY]) | ||
27 | ]) | ||
28 | |||
29 | dnl The guts of gl_THREADLIB_EARLY. Needs to be expanded only once. | ||
30 | |||
31 | AC_DEFUN([gl_THREADLIB_EARLY_BODY], | ||
32 | [ | ||
33 | dnl Ordering constraints: This macro modifies CPPFLAGS in a way that | ||
34 | dnl influences the result of the autoconf tests that test for *_unlocked | ||
35 | dnl declarations, on AIX 5 at least. Therefore it must come early. | ||
36 | AC_BEFORE([$0], [gl_FUNC_GLIBC_UNLOCKED_IO])dnl | ||
37 | AC_BEFORE([$0], [gl_ARGP])dnl | ||
38 | |||
39 | AC_REQUIRE([AC_CANONICAL_HOST]) | ||
40 | dnl _GNU_SOURCE is needed for pthread_rwlock_t on glibc systems. | ||
41 | dnl AC_USE_SYSTEM_EXTENSIONS was introduced in autoconf 2.60 and obsoletes | ||
42 | dnl AC_GNU_SOURCE. | ||
43 | m4_ifdef([AC_USE_SYSTEM_EXTENSIONS], | ||
44 | [AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])], | ||
45 | [AC_REQUIRE([AC_GNU_SOURCE])]) | ||
46 | dnl Check for multithreading. | ||
47 | m4_divert_text([DEFAULTS], [gl_use_threads_default=]) | ||
48 | AC_ARG_ENABLE([threads], | ||
49 | AC_HELP_STRING([--enable-threads={posix|solaris|pth|win32}], [specify multithreading API]) | ||
50 | AC_HELP_STRING([--disable-threads], [build without multithread safety]), | ||
51 | [gl_use_threads=$enableval], | ||
52 | [if test -n "$gl_use_threads_default"; then | ||
53 | gl_use_threads="$gl_use_threads_default" | ||
54 | else | ||
55 | case "$host_os" in | ||
56 | dnl Disable multithreading by default on OSF/1, because it interferes | ||
57 | dnl with fork()/exec(): When msgexec is linked with -lpthread, its | ||
58 | dnl child process gets an endless segmentation fault inside execvp(). | ||
59 | osf*) gl_use_threads=no ;; | ||
60 | *) gl_use_threads=yes ;; | ||
61 | esac | ||
62 | fi | ||
63 | ]) | ||
64 | if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then | ||
65 | # For using <pthread.h>: | ||
66 | case "$host_os" in | ||
67 | osf*) | ||
68 | # On OSF/1, the compiler needs the flag -D_REENTRANT so that it | ||
69 | # groks <pthread.h>. cc also understands the flag -pthread, but | ||
70 | # we don't use it because 1. gcc-2.95 doesn't understand -pthread, | ||
71 | # 2. putting a flag into CPPFLAGS that has an effect on the linker | ||
72 | # causes the AC_TRY_LINK test below to succeed unexpectedly, | ||
73 | # leading to wrong values of LIBTHREAD and LTLIBTHREAD. | ||
74 | CPPFLAGS="$CPPFLAGS -D_REENTRANT" | ||
75 | ;; | ||
76 | esac | ||
77 | # Some systems optimize for single-threaded programs by default, and | ||
78 | # need special flags to disable these optimizations. For example, the | ||
79 | # definition of 'errno' in <errno.h>. | ||
80 | case "$host_os" in | ||
81 | aix* | freebsd*) CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" ;; | ||
82 | solaris*) CPPFLAGS="$CPPFLAGS -D_REENTRANT" ;; | ||
83 | esac | ||
84 | fi | ||
85 | ]) | ||
86 | |||
87 | dnl The guts of gl_THREADLIB. Needs to be expanded only once. | ||
88 | |||
89 | AC_DEFUN([gl_THREADLIB_BODY], | ||
90 | [ | ||
91 | AC_REQUIRE([gl_THREADLIB_EARLY_BODY]) | ||
92 | gl_threads_api=none | ||
93 | LIBTHREAD= | ||
94 | LTLIBTHREAD= | ||
95 | LIBMULTITHREAD= | ||
96 | LTLIBMULTITHREAD= | ||
97 | if test "$gl_use_threads" != no; then | ||
98 | dnl Check whether the compiler and linker support weak declarations. | ||
99 | AC_MSG_CHECKING([whether imported symbols can be declared weak]) | ||
100 | gl_have_weak=no | ||
101 | AC_TRY_LINK([extern void xyzzy (); | ||
102 | #pragma weak xyzzy], [xyzzy();], [gl_have_weak=yes]) | ||
103 | AC_MSG_RESULT([$gl_have_weak]) | ||
104 | if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then | ||
105 | # On OSF/1, the compiler needs the flag -pthread or -D_REENTRANT so that | ||
106 | # it groks <pthread.h>. It's added above, in gl_THREADLIB_EARLY_BODY. | ||
107 | AC_CHECK_HEADER([pthread.h], | ||
108 | [gl_have_pthread_h=yes], [gl_have_pthread_h=no]) | ||
109 | if test "$gl_have_pthread_h" = yes; then | ||
110 | # Other possible tests: | ||
111 | # -lpthreads (FSU threads, PCthreads) | ||
112 | # -lgthreads | ||
113 | gl_have_pthread= | ||
114 | # Test whether both pthread_mutex_lock and pthread_mutexattr_init exist | ||
115 | # in libc. IRIX 6.5 has the first one in both libc and libpthread, but | ||
116 | # the second one only in libpthread, and lock.c needs it. | ||
117 | AC_TRY_LINK([#include <pthread.h>], | ||
118 | [pthread_mutex_lock((pthread_mutex_t*)0); | ||
119 | pthread_mutexattr_init((pthread_mutexattr_t*)0);], | ||
120 | [gl_have_pthread=yes]) | ||
121 | # Test for libpthread by looking for pthread_kill. (Not pthread_self, | ||
122 | # since it is defined as a macro on OSF/1.) | ||
123 | if test -n "$gl_have_pthread"; then | ||
124 | # The program links fine without libpthread. But it may actually | ||
125 | # need to link with libpthread in order to create multiple threads. | ||
126 | AC_CHECK_LIB([pthread], [pthread_kill], | ||
127 | [LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread | ||
128 | # On Solaris and HP-UX, most pthread functions exist also in libc. | ||
129 | # Therefore pthread_in_use() needs to actually try to create a | ||
130 | # thread: pthread_create from libc will fail, whereas | ||
131 | # pthread_create will actually create a thread. | ||
132 | case "$host_os" in | ||
133 | solaris* | hpux*) | ||
134 | AC_DEFINE([PTHREAD_IN_USE_DETECTION_HARD], [1], | ||
135 | [Define if the pthread_in_use() detection is hard.]) | ||
136 | esac | ||
137 | ]) | ||
138 | else | ||
139 | # Some library is needed. Try libpthread and libc_r. | ||
140 | AC_CHECK_LIB([pthread], [pthread_kill], | ||
141 | [gl_have_pthread=yes | ||
142 | LIBTHREAD=-lpthread LTLIBTHREAD=-lpthread | ||
143 | LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread]) | ||
144 | if test -z "$gl_have_pthread"; then | ||
145 | # For FreeBSD 4. | ||
146 | AC_CHECK_LIB([c_r], [pthread_kill], | ||
147 | [gl_have_pthread=yes | ||
148 | LIBTHREAD=-lc_r LTLIBTHREAD=-lc_r | ||
149 | LIBMULTITHREAD=-lc_r LTLIBMULTITHREAD=-lc_r]) | ||
150 | fi | ||
151 | fi | ||
152 | if test -n "$gl_have_pthread"; then | ||
153 | gl_threads_api=posix | ||
154 | AC_DEFINE([USE_POSIX_THREADS], [1], | ||
155 | [Define if the POSIX multithreading library can be used.]) | ||
156 | if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then | ||
157 | if test $gl_have_weak = yes; then | ||
158 | AC_DEFINE([USE_POSIX_THREADS_WEAK], [1], | ||
159 | [Define if references to the POSIX multithreading library should be made weak.]) | ||
160 | LIBTHREAD= | ||
161 | LTLIBTHREAD= | ||
162 | fi | ||
163 | fi | ||
164 | fi | ||
165 | fi | ||
166 | fi | ||
167 | if test -z "$gl_have_pthread"; then | ||
168 | if test "$gl_use_threads" = yes || test "$gl_use_threads" = solaris; then | ||
169 | gl_have_solaristhread= | ||
170 | gl_save_LIBS="$LIBS" | ||
171 | LIBS="$LIBS -lthread" | ||
172 | AC_TRY_LINK([#include <thread.h> | ||
173 | #include <synch.h>], | ||
174 | [thr_self();], | ||
175 | [gl_have_solaristhread=yes]) | ||
176 | LIBS="$gl_save_LIBS" | ||
177 | if test -n "$gl_have_solaristhread"; then | ||
178 | gl_threads_api=solaris | ||
179 | LIBTHREAD=-lthread | ||
180 | LTLIBTHREAD=-lthread | ||
181 | LIBMULTITHREAD="$LIBTHREAD" | ||
182 | LTLIBMULTITHREAD="$LTLIBTHREAD" | ||
183 | AC_DEFINE([USE_SOLARIS_THREADS], [1], | ||
184 | [Define if the old Solaris multithreading library can be used.]) | ||
185 | if test $gl_have_weak = yes; then | ||
186 | AC_DEFINE([USE_SOLARIS_THREADS_WEAK], [1], | ||
187 | [Define if references to the old Solaris multithreading library should be made weak.]) | ||
188 | LIBTHREAD= | ||
189 | LTLIBTHREAD= | ||
190 | fi | ||
191 | fi | ||
192 | fi | ||
193 | fi | ||
194 | if test "$gl_use_threads" = pth; then | ||
195 | gl_save_CPPFLAGS="$CPPFLAGS" | ||
196 | AC_LIB_LINKFLAGS([pth]) | ||
197 | gl_have_pth= | ||
198 | gl_save_LIBS="$LIBS" | ||
199 | LIBS="$LIBS -lpth" | ||
200 | AC_TRY_LINK([#include <pth.h>], [pth_self();], [gl_have_pth=yes]) | ||
201 | LIBS="$gl_save_LIBS" | ||
202 | if test -n "$gl_have_pth"; then | ||
203 | gl_threads_api=pth | ||
204 | LIBTHREAD="$LIBPTH" | ||
205 | LTLIBTHREAD="$LTLIBPTH" | ||
206 | LIBMULTITHREAD="$LIBTHREAD" | ||
207 | LTLIBMULTITHREAD="$LTLIBTHREAD" | ||
208 | AC_DEFINE([USE_PTH_THREADS], [1], | ||
209 | [Define if the GNU Pth multithreading library can be used.]) | ||
210 | if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then | ||
211 | if test $gl_have_weak = yes; then | ||
212 | AC_DEFINE([USE_PTH_THREADS_WEAK], [1], | ||
213 | [Define if references to the GNU Pth multithreading library should be made weak.]) | ||
214 | LIBTHREAD= | ||
215 | LTLIBTHREAD= | ||
216 | fi | ||
217 | fi | ||
218 | else | ||
219 | CPPFLAGS="$gl_save_CPPFLAGS" | ||
220 | fi | ||
221 | fi | ||
222 | if test -z "$gl_have_pthread"; then | ||
223 | if test "$gl_use_threads" = yes || test "$gl_use_threads" = win32; then | ||
224 | if { case "$host_os" in | ||
225 | mingw*) true;; | ||
226 | *) false;; | ||
227 | esac | ||
228 | }; then | ||
229 | gl_threads_api=win32 | ||
230 | AC_DEFINE([USE_WIN32_THREADS], [1], | ||
231 | [Define if the Win32 multithreading API can be used.]) | ||
232 | fi | ||
233 | fi | ||
234 | fi | ||
235 | fi | ||
236 | AC_MSG_CHECKING([for multithread API to use]) | ||
237 | AC_MSG_RESULT([$gl_threads_api]) | ||
238 | AC_SUBST([LIBTHREAD]) | ||
239 | AC_SUBST([LTLIBTHREAD]) | ||
240 | AC_SUBST([LIBMULTITHREAD]) | ||
241 | AC_SUBST([LTLIBMULTITHREAD]) | ||
242 | ]) | ||
243 | |||
244 | AC_DEFUN([gl_THREADLIB], | ||
245 | [ | ||
246 | AC_REQUIRE([gl_THREADLIB_EARLY]) | ||
247 | AC_REQUIRE([gl_THREADLIB_BODY]) | ||
248 | ]) | ||
249 | |||
250 | |||
251 | dnl gl_DISABLE_THREADS | ||
252 | dnl ------------------ | ||
253 | dnl Sets the gl_THREADLIB default so that threads are not used by default. | ||
254 | dnl The user can still override it at installation time, by using the | ||
255 | dnl configure option '--enable-threads'. | ||
256 | |||
257 | AC_DEFUN([gl_DISABLE_THREADS], [ | ||
258 | m4_divert_text([INIT_PREPARE], [gl_use_threads_default=no]) | ||
259 | ]) | ||
260 | |||
261 | |||
262 | dnl Survey of platforms: | ||
263 | dnl | ||
264 | dnl Platform Available Compiler Supports test-lock | ||
265 | dnl flavours option weak result | ||
266 | dnl --------------- --------- --------- -------- --------- | ||
267 | dnl Linux 2.4/glibc posix -lpthread Y OK | ||
268 | dnl | ||
269 | dnl GNU Hurd/glibc posix | ||
270 | dnl | ||
271 | dnl FreeBSD 5.3 posix -lc_r Y | ||
272 | dnl posix -lkse ? Y | ||
273 | dnl posix -lpthread ? Y | ||
274 | dnl posix -lthr Y | ||
275 | dnl | ||
276 | dnl FreeBSD 5.2 posix -lc_r Y | ||
277 | dnl posix -lkse Y | ||
278 | dnl posix -lthr Y | ||
279 | dnl | ||
280 | dnl FreeBSD 4.0,4.10 posix -lc_r Y OK | ||
281 | dnl | ||
282 | dnl NetBSD 1.6 -- | ||
283 | dnl | ||
284 | dnl OpenBSD 3.4 posix -lpthread Y OK | ||
285 | dnl | ||
286 | dnl MacOS X 10.[123] posix -lpthread Y OK | ||
287 | dnl | ||
288 | dnl Solaris 7,8,9 posix -lpthread Y Sol 7,8: 0.0; Sol 9: OK | ||
289 | dnl solaris -lthread Y Sol 7,8: 0.0; Sol 9: OK | ||
290 | dnl | ||
291 | dnl HP-UX 11 posix -lpthread N (cc) OK | ||
292 | dnl Y (gcc) | ||
293 | dnl | ||
294 | dnl IRIX 6.5 posix -lpthread Y 0.5 | ||
295 | dnl | ||
296 | dnl AIX 4.3,5.1 posix -lpthread N AIX 4: 0.5; AIX 5: OK | ||
297 | dnl | ||
298 | dnl OSF/1 4.0,5.1 posix -pthread (cc) N OK | ||
299 | dnl -lpthread (gcc) Y | ||
300 | dnl | ||
301 | dnl Cygwin posix -lpthread Y OK | ||
302 | dnl | ||
303 | dnl Any of the above pth -lpth 0.0 | ||
304 | dnl | ||
305 | dnl Mingw win32 N OK | ||
306 | dnl | ||
307 | dnl BeOS 5 -- | ||
308 | dnl | ||
309 | dnl The test-lock result shows what happens if in test-lock.c EXPLICIT_YIELD is | ||
310 | dnl turned off: | ||
311 | dnl OK if all three tests terminate OK, | ||
312 | dnl 0.5 if the first test terminates OK but the second one loops endlessly, | ||
313 | dnl 0.0 if the first test already loops endlessly. | ||
diff --git a/gl/m4/uintmax_t.m4 b/gl/m4/uintmax_t.m4 index 641c4898..734b6933 100644 --- a/gl/m4/uintmax_t.m4 +++ b/gl/m4/uintmax_t.m4 | |||
@@ -1,12 +1,12 @@ | |||
1 | # uintmax_t.m4 serial 10 | 1 | # uintmax_t.m4 serial 12 |
2 | dnl Copyright (C) 1997-2004, 2007 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1997-2004, 2007-2009 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
6 | 6 | ||
7 | dnl From Paul Eggert. | 7 | dnl From Paul Eggert. |
8 | 8 | ||
9 | AC_PREREQ(2.13) | 9 | AC_PREREQ([2.13]) |
10 | 10 | ||
11 | # Define uintmax_t to 'unsigned long' or 'unsigned long long' | 11 | # Define uintmax_t to 'unsigned long' or 'unsigned long long' |
12 | # if it is not already defined in <stdint.h> or <inttypes.h>. | 12 | # if it is not already defined in <stdint.h> or <inttypes.h>. |
@@ -20,11 +20,11 @@ AC_DEFUN([gl_AC_TYPE_UINTMAX_T], | |||
20 | test $ac_cv_type_unsigned_long_long_int = yes \ | 20 | test $ac_cv_type_unsigned_long_long_int = yes \ |
21 | && ac_type='unsigned long long' \ | 21 | && ac_type='unsigned long long' \ |
22 | || ac_type='unsigned long' | 22 | || ac_type='unsigned long' |
23 | AC_DEFINE_UNQUOTED(uintmax_t, $ac_type, | 23 | AC_DEFINE_UNQUOTED([uintmax_t], [$ac_type], |
24 | [Define to unsigned long or unsigned long long | 24 | [Define to unsigned long or unsigned long long |
25 | if <stdint.h> and <inttypes.h> don't define.]) | 25 | if <stdint.h> and <inttypes.h> don't define.]) |
26 | else | 26 | else |
27 | AC_DEFINE(HAVE_UINTMAX_T, 1, | 27 | AC_DEFINE([HAVE_UINTMAX_T], [1], |
28 | [Define if you have the 'uintmax_t' type in <stdint.h> or <inttypes.h>.]) | 28 | [Define if you have the 'uintmax_t' type in <stdint.h> or <inttypes.h>.]) |
29 | fi | 29 | fi |
30 | ]) | 30 | ]) |
diff --git a/gl/m4/unistd_h.m4 b/gl/m4/unistd_h.m4 index 4b8857ca..56852736 100644 --- a/gl/m4/unistd_h.m4 +++ b/gl/m4/unistd_h.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # unistd_h.m4 serial 10 | 1 | # unistd_h.m4 serial 16 |
2 | dnl Copyright (C) 2006-2007 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2006-2008 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -32,30 +32,50 @@ AC_DEFUN([gl_UNISTD_MODULE_INDICATOR], | |||
32 | 32 | ||
33 | AC_DEFUN([gl_UNISTD_H_DEFAULTS], | 33 | AC_DEFUN([gl_UNISTD_H_DEFAULTS], |
34 | [ | 34 | [ |
35 | GNULIB_CHOWN=0; AC_SUBST([GNULIB_CHOWN]) | 35 | GNULIB_CHOWN=0; AC_SUBST([GNULIB_CHOWN]) |
36 | GNULIB_DUP2=0; AC_SUBST([GNULIB_DUP2]) | 36 | GNULIB_CLOSE=0; AC_SUBST([GNULIB_CLOSE]) |
37 | GNULIB_FCHDIR=0; AC_SUBST([GNULIB_FCHDIR]) | 37 | GNULIB_DUP2=0; AC_SUBST([GNULIB_DUP2]) |
38 | GNULIB_FTRUNCATE=0; AC_SUBST([GNULIB_FTRUNCATE]) | 38 | GNULIB_ENVIRON=0; AC_SUBST([GNULIB_ENVIRON]) |
39 | GNULIB_GETCWD=0; AC_SUBST([GNULIB_GETCWD]) | 39 | GNULIB_EUIDACCESS=0; AC_SUBST([GNULIB_EUIDACCESS]) |
40 | GNULIB_GETLOGIN_R=0; AC_SUBST([GNULIB_GETLOGIN_R]) | 40 | GNULIB_FCHDIR=0; AC_SUBST([GNULIB_FCHDIR]) |
41 | GNULIB_GETPAGESIZE=0; AC_SUBST([GNULIB_GETPAGESIZE]) | 41 | GNULIB_FSYNC=0; AC_SUBST([GNULIB_FSYNC]) |
42 | GNULIB_LCHOWN=0; AC_SUBST([GNULIB_LCHOWN]) | 42 | GNULIB_FTRUNCATE=0; AC_SUBST([GNULIB_FTRUNCATE]) |
43 | GNULIB_LSEEK=0; AC_SUBST([GNULIB_LSEEK]) | 43 | GNULIB_GETCWD=0; AC_SUBST([GNULIB_GETCWD]) |
44 | GNULIB_READLINK=0; AC_SUBST([GNULIB_READLINK]) | 44 | GNULIB_GETDOMAINNAME=0; AC_SUBST([GNULIB_GETDOMAINNAME]) |
45 | GNULIB_SLEEP=0; AC_SUBST([GNULIB_SLEEP]) | 45 | GNULIB_GETDTABLESIZE=0; AC_SUBST([GNULIB_GETDTABLESIZE]) |
46 | GNULIB_GETHOSTNAME=0; AC_SUBST([GNULIB_GETHOSTNAME]) | ||
47 | GNULIB_GETLOGIN_R=0; AC_SUBST([GNULIB_GETLOGIN_R]) | ||
48 | GNULIB_GETPAGESIZE=0; AC_SUBST([GNULIB_GETPAGESIZE]) | ||
49 | GNULIB_GETUSERSHELL=0; AC_SUBST([GNULIB_GETUSERSHELL]) | ||
50 | GNULIB_LCHOWN=0; AC_SUBST([GNULIB_LCHOWN]) | ||
51 | GNULIB_LSEEK=0; AC_SUBST([GNULIB_LSEEK]) | ||
52 | GNULIB_READLINK=0; AC_SUBST([GNULIB_READLINK]) | ||
53 | GNULIB_SLEEP=0; AC_SUBST([GNULIB_SLEEP]) | ||
54 | GNULIB_UNISTD_H_SIGPIPE=0; AC_SUBST([GNULIB_UNISTD_H_SIGPIPE]) | ||
55 | GNULIB_WRITE=0; AC_SUBST([GNULIB_WRITE]) | ||
46 | dnl Assume proper GNU behavior unless another module says otherwise. | 56 | dnl Assume proper GNU behavior unless another module says otherwise. |
47 | HAVE_DUP2=1; AC_SUBST([HAVE_DUP2]) | 57 | HAVE_DUP2=1; AC_SUBST([HAVE_DUP2]) |
58 | HAVE_EUIDACCESS=1; AC_SUBST([HAVE_EUIDACCESS]) | ||
59 | HAVE_FSYNC=1; AC_SUBST([HAVE_FSYNC]) | ||
48 | HAVE_FTRUNCATE=1; AC_SUBST([HAVE_FTRUNCATE]) | 60 | HAVE_FTRUNCATE=1; AC_SUBST([HAVE_FTRUNCATE]) |
61 | HAVE_GETDOMAINNAME=1; AC_SUBST([HAVE_GETDOMAINNAME]) | ||
62 | HAVE_GETDTABLESIZE=1; AC_SUBST([HAVE_GETDTABLESIZE]) | ||
63 | HAVE_GETHOSTNAME=1; AC_SUBST([HAVE_GETHOSTNAME]) | ||
49 | HAVE_GETPAGESIZE=1; AC_SUBST([HAVE_GETPAGESIZE]) | 64 | HAVE_GETPAGESIZE=1; AC_SUBST([HAVE_GETPAGESIZE]) |
65 | HAVE_GETUSERSHELL=1; AC_SUBST([HAVE_GETUSERSHELL]) | ||
50 | HAVE_READLINK=1; AC_SUBST([HAVE_READLINK]) | 66 | HAVE_READLINK=1; AC_SUBST([HAVE_READLINK]) |
51 | HAVE_SLEEP=1; AC_SUBST([HAVE_SLEEP]) | 67 | HAVE_SLEEP=1; AC_SUBST([HAVE_SLEEP]) |
68 | HAVE_DECL_ENVIRON=1; AC_SUBST([HAVE_DECL_ENVIRON]) | ||
52 | HAVE_DECL_GETLOGIN_R=1; AC_SUBST([HAVE_DECL_GETLOGIN_R]) | 69 | HAVE_DECL_GETLOGIN_R=1; AC_SUBST([HAVE_DECL_GETLOGIN_R]) |
53 | HAVE_OS_H=0; AC_SUBST([HAVE_OS_H]) | 70 | HAVE_OS_H=0; AC_SUBST([HAVE_OS_H]) |
54 | HAVE_SYS_PARAM_H=0; AC_SUBST([HAVE_SYS_PARAM_H]) | 71 | HAVE_SYS_PARAM_H=0; AC_SUBST([HAVE_SYS_PARAM_H]) |
55 | REPLACE_CHOWN=0; AC_SUBST([REPLACE_CHOWN]) | 72 | REPLACE_CHOWN=0; AC_SUBST([REPLACE_CHOWN]) |
73 | REPLACE_CLOSE=0; AC_SUBST([REPLACE_CLOSE]) | ||
56 | REPLACE_FCHDIR=0; AC_SUBST([REPLACE_FCHDIR]) | 74 | REPLACE_FCHDIR=0; AC_SUBST([REPLACE_FCHDIR]) |
57 | REPLACE_GETCWD=0; AC_SUBST([REPLACE_GETCWD]) | 75 | REPLACE_GETCWD=0; AC_SUBST([REPLACE_GETCWD]) |
58 | REPLACE_GETPAGESIZE=0; AC_SUBST([REPLACE_GETPAGESIZE]) | 76 | REPLACE_GETPAGESIZE=0; AC_SUBST([REPLACE_GETPAGESIZE]) |
59 | REPLACE_LCHOWN=0; AC_SUBST([REPLACE_LCHOWN]) | 77 | REPLACE_LCHOWN=0; AC_SUBST([REPLACE_LCHOWN]) |
60 | REPLACE_LSEEK=0; AC_SUBST([REPLACE_LSEEK]) | 78 | REPLACE_LSEEK=0; AC_SUBST([REPLACE_LSEEK]) |
79 | REPLACE_WRITE=0; AC_SUBST([REPLACE_WRITE]) | ||
80 | UNISTD_H_HAVE_WINSOCK2_H=0; AC_SUBST([UNISTD_H_HAVE_WINSOCK2_H]) | ||
61 | ]) | 81 | ]) |
diff --git a/gl/m4/vasnprintf.m4 b/gl/m4/vasnprintf.m4 index c4d3f4fa..9e839d2b 100644 --- a/gl/m4/vasnprintf.m4 +++ b/gl/m4/vasnprintf.m4 | |||
@@ -1,12 +1,11 @@ | |||
1 | # vasnprintf.m4 serial 24 | 1 | # vasnprintf.m4 serial 26 |
2 | dnl Copyright (C) 2002-2004, 2006-2008 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2004, 2006-2009 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
6 | 6 | ||
7 | AC_DEFUN([gl_FUNC_VASNPRINTF], | 7 | AC_DEFUN([gl_FUNC_VASNPRINTF], |
8 | [ | 8 | [ |
9 | AC_REQUIRE([gl_EOVERFLOW]) | ||
10 | AC_CHECK_FUNCS_ONCE([vasnprintf]) | 9 | AC_CHECK_FUNCS_ONCE([vasnprintf]) |
11 | if test $ac_cv_func_vasnprintf = no; then | 10 | if test $ac_cv_func_vasnprintf = no; then |
12 | gl_REPLACE_VASNPRINTF | 11 | gl_REPLACE_VASNPRINTF |
@@ -21,7 +20,7 @@ AC_DEFUN([gl_REPLACE_VASNPRINTF], | |||
21 | AC_LIBOBJ([printf-parse]) | 20 | AC_LIBOBJ([printf-parse]) |
22 | AC_LIBOBJ([asnprintf]) | 21 | AC_LIBOBJ([asnprintf]) |
23 | if test $ac_cv_func_vasnprintf = yes; then | 22 | if test $ac_cv_func_vasnprintf = yes; then |
24 | AC_DEFINE([REPLACE_VASNPRINTF], 1, | 23 | AC_DEFINE([REPLACE_VASNPRINTF], [1], |
25 | [Define if vasnprintf exists but is overridden by gnulib.]) | 24 | [Define if vasnprintf exists but is overridden by gnulib.]) |
26 | fi | 25 | fi |
27 | gl_PREREQ_PRINTF_ARGS | 26 | gl_PREREQ_PRINTF_ARGS |
@@ -59,7 +58,7 @@ AC_DEFUN([gl_PREREQ_VASNPRINTF], | |||
59 | AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) | 58 | AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) |
60 | AC_REQUIRE([gt_TYPE_WCHAR_T]) | 59 | AC_REQUIRE([gt_TYPE_WCHAR_T]) |
61 | AC_REQUIRE([gt_TYPE_WINT_T]) | 60 | AC_REQUIRE([gt_TYPE_WINT_T]) |
62 | AC_CHECK_FUNCS(snprintf wcslen) | 61 | AC_CHECK_FUNCS([snprintf wcslen]) |
63 | dnl Use the _snprintf function only if it is declared (because on NetBSD it | 62 | dnl Use the _snprintf function only if it is declared (because on NetBSD it |
64 | dnl is defined as a weak alias of snprintf; we prefer to use the latter). | 63 | dnl is defined as a weak alias of snprintf; we prefer to use the latter). |
65 | AC_CHECK_DECLS([_snprintf], , , [#include <stdio.h>]) | 64 | AC_CHECK_DECLS([_snprintf], , , [#include <stdio.h>]) |
@@ -74,7 +73,7 @@ AC_DEFUN([gl_PREREQ_VASNPRINTF_LONG_DOUBLE], | |||
74 | *yes) | 73 | *yes) |
75 | ;; | 74 | ;; |
76 | *) | 75 | *) |
77 | AC_DEFINE([NEED_PRINTF_LONG_DOUBLE], 1, | 76 | AC_DEFINE([NEED_PRINTF_LONG_DOUBLE], [1], |
78 | [Define if the vasnprintf implementation needs special code for | 77 | [Define if the vasnprintf implementation needs special code for |
79 | 'long double' arguments.]) | 78 | 'long double' arguments.]) |
80 | ;; | 79 | ;; |
@@ -90,7 +89,7 @@ AC_DEFUN([gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE], | |||
90 | *yes) | 89 | *yes) |
91 | ;; | 90 | ;; |
92 | *) | 91 | *) |
93 | AC_DEFINE([NEED_PRINTF_INFINITE_DOUBLE], 1, | 92 | AC_DEFINE([NEED_PRINTF_INFINITE_DOUBLE], [1], |
94 | [Define if the vasnprintf implementation needs special code for | 93 | [Define if the vasnprintf implementation needs special code for |
95 | infinite 'double' arguments.]) | 94 | infinite 'double' arguments.]) |
96 | ;; | 95 | ;; |
@@ -111,7 +110,7 @@ AC_DEFUN([gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE], | |||
111 | *yes) | 110 | *yes) |
112 | ;; | 111 | ;; |
113 | *) | 112 | *) |
114 | AC_DEFINE([NEED_PRINTF_INFINITE_LONG_DOUBLE], 1, | 113 | AC_DEFINE([NEED_PRINTF_INFINITE_LONG_DOUBLE], [1], |
115 | [Define if the vasnprintf implementation needs special code for | 114 | [Define if the vasnprintf implementation needs special code for |
116 | infinite 'long double' arguments.]) | 115 | infinite 'long double' arguments.]) |
117 | ;; | 116 | ;; |
@@ -128,7 +127,7 @@ AC_DEFUN([gl_PREREQ_VASNPRINTF_DIRECTIVE_A], | |||
128 | *yes) | 127 | *yes) |
129 | ;; | 128 | ;; |
130 | *) | 129 | *) |
131 | AC_DEFINE([NEED_PRINTF_DIRECTIVE_A], 1, | 130 | AC_DEFINE([NEED_PRINTF_DIRECTIVE_A], [1], |
132 | [Define if the vasnprintf implementation needs special code for | 131 | [Define if the vasnprintf implementation needs special code for |
133 | the 'a' and 'A' directives.]) | 132 | the 'a' and 'A' directives.]) |
134 | AC_CHECK_FUNCS([nl_langinfo]) | 133 | AC_CHECK_FUNCS([nl_langinfo]) |
@@ -144,7 +143,7 @@ AC_DEFUN([gl_PREREQ_VASNPRINTF_DIRECTIVE_F], | |||
144 | *yes) | 143 | *yes) |
145 | ;; | 144 | ;; |
146 | *) | 145 | *) |
147 | AC_DEFINE([NEED_PRINTF_DIRECTIVE_F], 1, | 146 | AC_DEFINE([NEED_PRINTF_DIRECTIVE_F], [1], |
148 | [Define if the vasnprintf implementation needs special code for | 147 | [Define if the vasnprintf implementation needs special code for |
149 | the 'F' directive.]) | 148 | the 'F' directive.]) |
150 | ;; | 149 | ;; |
@@ -159,7 +158,7 @@ AC_DEFUN([gl_PREREQ_VASNPRINTF_FLAG_GROUPING], | |||
159 | *yes) | 158 | *yes) |
160 | ;; | 159 | ;; |
161 | *) | 160 | *) |
162 | AC_DEFINE([NEED_PRINTF_FLAG_GROUPING], 1, | 161 | AC_DEFINE([NEED_PRINTF_FLAG_GROUPING], [1], |
163 | [Define if the vasnprintf implementation needs special code for the | 162 | [Define if the vasnprintf implementation needs special code for the |
164 | ' flag.]) | 163 | ' flag.]) |
165 | ;; | 164 | ;; |
@@ -174,7 +173,7 @@ AC_DEFUN([gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST], | |||
174 | *yes) | 173 | *yes) |
175 | ;; | 174 | ;; |
176 | *) | 175 | *) |
177 | AC_DEFINE([NEED_PRINTF_FLAG_LEFTADJUST], 1, | 176 | AC_DEFINE([NEED_PRINTF_FLAG_LEFTADJUST], [1], |
178 | [Define if the vasnprintf implementation needs special code for the | 177 | [Define if the vasnprintf implementation needs special code for the |
179 | '-' flag.]) | 178 | '-' flag.]) |
180 | ;; | 179 | ;; |
@@ -189,7 +188,7 @@ AC_DEFUN([gl_PREREQ_VASNPRINTF_FLAG_ZERO], | |||
189 | *yes) | 188 | *yes) |
190 | ;; | 189 | ;; |
191 | *) | 190 | *) |
192 | AC_DEFINE([NEED_PRINTF_FLAG_ZERO], 1, | 191 | AC_DEFINE([NEED_PRINTF_FLAG_ZERO], [1], |
193 | [Define if the vasnprintf implementation needs special code for the | 192 | [Define if the vasnprintf implementation needs special code for the |
194 | 0 flag.]) | 193 | 0 flag.]) |
195 | ;; | 194 | ;; |
@@ -204,13 +203,13 @@ AC_DEFUN([gl_PREREQ_VASNPRINTF_PRECISION], | |||
204 | *yes) | 203 | *yes) |
205 | ;; | 204 | ;; |
206 | *) | 205 | *) |
207 | AC_DEFINE([NEED_PRINTF_UNBOUNDED_PRECISION], 1, | 206 | AC_DEFINE([NEED_PRINTF_UNBOUNDED_PRECISION], [1], |
208 | [Define if the vasnprintf implementation needs special code for | 207 | [Define if the vasnprintf implementation needs special code for |
209 | supporting large precisions without arbitrary bounds.]) | 208 | supporting large precisions without arbitrary bounds.]) |
210 | AC_DEFINE([NEED_PRINTF_DOUBLE], 1, | 209 | AC_DEFINE([NEED_PRINTF_DOUBLE], [1], |
211 | [Define if the vasnprintf implementation needs special code for | 210 | [Define if the vasnprintf implementation needs special code for |
212 | 'double' arguments.]) | 211 | 'double' arguments.]) |
213 | AC_DEFINE([NEED_PRINTF_LONG_DOUBLE], 1, | 212 | AC_DEFINE([NEED_PRINTF_LONG_DOUBLE], [1], |
214 | [Define if the vasnprintf implementation needs special code for | 213 | [Define if the vasnprintf implementation needs special code for |
215 | 'long double' arguments.]) | 214 | 'long double' arguments.]) |
216 | ;; | 215 | ;; |
@@ -226,13 +225,13 @@ AC_DEFUN([gl_PREREQ_VASNPRINTF_ENOMEM], | |||
226 | *yes) | 225 | *yes) |
227 | ;; | 226 | ;; |
228 | *) | 227 | *) |
229 | AC_DEFINE([NEED_PRINTF_ENOMEM], 1, | 228 | AC_DEFINE([NEED_PRINTF_ENOMEM], [1], |
230 | [Define if the vasnprintf implementation needs special code for | 229 | [Define if the vasnprintf implementation needs special code for |
231 | surviving out-of-memory conditions.]) | 230 | surviving out-of-memory conditions.]) |
232 | AC_DEFINE([NEED_PRINTF_DOUBLE], 1, | 231 | AC_DEFINE([NEED_PRINTF_DOUBLE], [1], |
233 | [Define if the vasnprintf implementation needs special code for | 232 | [Define if the vasnprintf implementation needs special code for |
234 | 'double' arguments.]) | 233 | 'double' arguments.]) |
235 | AC_DEFINE([NEED_PRINTF_LONG_DOUBLE], 1, | 234 | AC_DEFINE([NEED_PRINTF_LONG_DOUBLE], [1], |
236 | [Define if the vasnprintf implementation needs special code for | 235 | [Define if the vasnprintf implementation needs special code for |
237 | 'long double' arguments.]) | 236 | 'long double' arguments.]) |
238 | ;; | 237 | ;; |
diff --git a/gl/m4/visibility.m4 b/gl/m4/visibility.m4 index 2ff6330a..70bca564 100644 --- a/gl/m4/visibility.m4 +++ b/gl/m4/visibility.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # visibility.m4 serial 1 (gettext-0.15) | 1 | # visibility.m4 serial 2 (gettext-0.18) |
2 | dnl Copyright (C) 2005 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2005, 2008 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -27,7 +27,7 @@ AC_DEFUN([gl_VISIBILITY], | |||
27 | HAVE_VISIBILITY=0 | 27 | HAVE_VISIBILITY=0 |
28 | if test -n "$GCC"; then | 28 | if test -n "$GCC"; then |
29 | AC_MSG_CHECKING([for simple visibility declarations]) | 29 | AC_MSG_CHECKING([for simple visibility declarations]) |
30 | AC_CACHE_VAL(gl_cv_cc_visibility, [ | 30 | AC_CACHE_VAL([gl_cv_cc_visibility], [ |
31 | gl_save_CFLAGS="$CFLAGS" | 31 | gl_save_CFLAGS="$CFLAGS" |
32 | CFLAGS="$CFLAGS -fvisibility=hidden" | 32 | CFLAGS="$CFLAGS -fvisibility=hidden" |
33 | AC_TRY_COMPILE( | 33 | AC_TRY_COMPILE( |
@@ -36,8 +36,8 @@ AC_DEFUN([gl_VISIBILITY], | |||
36 | extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void); | 36 | extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void); |
37 | extern __attribute__((__visibility__("default"))) int exportedfunc (void);], | 37 | extern __attribute__((__visibility__("default"))) int exportedfunc (void);], |
38 | [], | 38 | [], |
39 | gl_cv_cc_visibility=yes, | 39 | [gl_cv_cc_visibility=yes], |
40 | gl_cv_cc_visibility=no) | 40 | [gl_cv_cc_visibility=no]) |
41 | CFLAGS="$gl_save_CFLAGS"]) | 41 | CFLAGS="$gl_save_CFLAGS"]) |
42 | AC_MSG_RESULT([$gl_cv_cc_visibility]) | 42 | AC_MSG_RESULT([$gl_cv_cc_visibility]) |
43 | if test $gl_cv_cc_visibility = yes; then | 43 | if test $gl_cv_cc_visibility = yes; then |
diff --git a/gl/m4/vsnprintf.m4 b/gl/m4/vsnprintf.m4 index accc79f8..3b37d460 100644 --- a/gl/m4/vsnprintf.m4 +++ b/gl/m4/vsnprintf.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # vsnprintf.m4 serial 4 | 1 | # vsnprintf.m4 serial 5 |
2 | dnl Copyright (C) 2002, 2003, 2004, 2007 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2004, 2007-2008 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -7,8 +7,17 @@ dnl with or without modifications, as long as this notice is preserved. | |||
7 | AC_DEFUN([gl_FUNC_VSNPRINTF], | 7 | AC_DEFUN([gl_FUNC_VSNPRINTF], |
8 | [ | 8 | [ |
9 | AC_REQUIRE([gl_STDIO_H_DEFAULTS]) | 9 | AC_REQUIRE([gl_STDIO_H_DEFAULTS]) |
10 | gl_cv_func_vsnprintf_usable=no | ||
10 | AC_CHECK_FUNCS([vsnprintf]) | 11 | AC_CHECK_FUNCS([vsnprintf]) |
11 | if test $ac_cv_func_vsnprintf = no; then | 12 | if test $ac_cv_func_vsnprintf = yes; then |
13 | gl_SNPRINTF_SIZE1 | ||
14 | case "$gl_cv_func_snprintf_size1" in | ||
15 | *yes) | ||
16 | gl_cv_func_vsnprintf_usable=yes | ||
17 | ;; | ||
18 | esac | ||
19 | fi | ||
20 | if test $gl_cv_func_vsnprintf_usable = no; then | ||
12 | gl_REPLACE_VSNPRINTF | 21 | gl_REPLACE_VSNPRINTF |
13 | fi | 22 | fi |
14 | AC_CHECK_DECLS_ONCE([vsnprintf]) | 23 | AC_CHECK_DECLS_ONCE([vsnprintf]) |
diff --git a/gl/m4/wchar.m4 b/gl/m4/wchar.m4 index 70b1248f..ba8ee6ab 100644 --- a/gl/m4/wchar.m4 +++ b/gl/m4/wchar.m4 | |||
@@ -1,13 +1,13 @@ | |||
1 | dnl A placeholder for ISO C99 <wchar.h>, for platforms that have issues. | 1 | dnl A placeholder for ISO C99 <wchar.h>, for platforms that have issues. |
2 | 2 | ||
3 | dnl Copyright (C) 2007 Free Software Foundation, Inc. | 3 | dnl Copyright (C) 2007-2008 Free Software Foundation, Inc. |
4 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
5 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
6 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
7 | 7 | ||
8 | dnl Written by Eric Blake. | 8 | dnl Written by Eric Blake. |
9 | 9 | ||
10 | # wchar.m4 serial 4 | 10 | # wchar.m4 serial 22 |
11 | 11 | ||
12 | AC_DEFUN([gl_WCHAR_H], | 12 | AC_DEFUN([gl_WCHAR_H], |
13 | [ | 13 | [ |
@@ -18,7 +18,16 @@ AC_DEFUN([gl_WCHAR_H], | |||
18 | wchar_t w;]], | 18 | wchar_t w;]], |
19 | [gl_cv_header_wchar_h_standalone=yes], | 19 | [gl_cv_header_wchar_h_standalone=yes], |
20 | [gl_cv_header_wchar_h_standalone=no])]) | 20 | [gl_cv_header_wchar_h_standalone=no])]) |
21 | if test $gl_cv_header_wchar_h_standalone != yes; then | 21 | |
22 | AC_REQUIRE([gt_TYPE_WINT_T]) | ||
23 | if test $gt_cv_c_wint_t = yes; then | ||
24 | HAVE_WINT_T=1 | ||
25 | else | ||
26 | HAVE_WINT_T=0 | ||
27 | fi | ||
28 | AC_SUBST([HAVE_WINT_T]) | ||
29 | |||
30 | if test $gl_cv_header_wchar_h_standalone != yes || test $gt_cv_c_wint_t != yes; then | ||
22 | WCHAR_H=wchar.h | 31 | WCHAR_H=wchar.h |
23 | fi | 32 | fi |
24 | 33 | ||
@@ -36,6 +45,13 @@ wchar_t w;]], | |||
36 | gl_CHECK_NEXT_HEADERS([wchar.h]) | 45 | gl_CHECK_NEXT_HEADERS([wchar.h]) |
37 | ]) | 46 | ]) |
38 | 47 | ||
48 | dnl Unconditionally enables the replacement of <wchar.h>. | ||
49 | AC_DEFUN([gl_REPLACE_WCHAR_H], | ||
50 | [ | ||
51 | AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) | ||
52 | WCHAR_H=wchar.h | ||
53 | ]) | ||
54 | |||
39 | AC_DEFUN([gl_WCHAR_MODULE_INDICATOR], | 55 | AC_DEFUN([gl_WCHAR_MODULE_INDICATOR], |
40 | [ | 56 | [ |
41 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. | 57 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. |
@@ -45,10 +61,39 @@ AC_DEFUN([gl_WCHAR_MODULE_INDICATOR], | |||
45 | 61 | ||
46 | AC_DEFUN([gl_WCHAR_H_DEFAULTS], | 62 | AC_DEFUN([gl_WCHAR_H_DEFAULTS], |
47 | [ | 63 | [ |
48 | GNULIB_WCWIDTH=0; AC_SUBST([GNULIB_WCWIDTH]) | 64 | GNULIB_BTOWC=0; AC_SUBST([GNULIB_BTOWC]) |
65 | GNULIB_WCTOB=0; AC_SUBST([GNULIB_WCTOB]) | ||
66 | GNULIB_MBSINIT=0; AC_SUBST([GNULIB_MBSINIT]) | ||
67 | GNULIB_MBRTOWC=0; AC_SUBST([GNULIB_MBRTOWC]) | ||
68 | GNULIB_MBRLEN=0; AC_SUBST([GNULIB_MBRLEN]) | ||
69 | GNULIB_MBSRTOWCS=0; AC_SUBST([GNULIB_MBSRTOWCS]) | ||
70 | GNULIB_MBSNRTOWCS=0; AC_SUBST([GNULIB_MBSNRTOWCS]) | ||
71 | GNULIB_WCRTOMB=0; AC_SUBST([GNULIB_WCRTOMB]) | ||
72 | GNULIB_WCSRTOMBS=0; AC_SUBST([GNULIB_WCSRTOMBS]) | ||
73 | GNULIB_WCSNRTOMBS=0; AC_SUBST([GNULIB_WCSNRTOMBS]) | ||
74 | GNULIB_WCWIDTH=0; AC_SUBST([GNULIB_WCWIDTH]) | ||
49 | dnl Assume proper GNU behavior unless another module says otherwise. | 75 | dnl Assume proper GNU behavior unless another module says otherwise. |
76 | HAVE_BTOWC=1; AC_SUBST([HAVE_BTOWC]) | ||
77 | HAVE_MBSINIT=1; AC_SUBST([HAVE_MBSINIT]) | ||
78 | HAVE_MBRTOWC=1; AC_SUBST([HAVE_MBRTOWC]) | ||
79 | HAVE_MBRLEN=1; AC_SUBST([HAVE_MBRLEN]) | ||
80 | HAVE_MBSRTOWCS=1; AC_SUBST([HAVE_MBSRTOWCS]) | ||
81 | HAVE_MBSNRTOWCS=1; AC_SUBST([HAVE_MBSNRTOWCS]) | ||
82 | HAVE_WCRTOMB=1; AC_SUBST([HAVE_WCRTOMB]) | ||
83 | HAVE_WCSRTOMBS=1; AC_SUBST([HAVE_WCSRTOMBS]) | ||
84 | HAVE_WCSNRTOMBS=1; AC_SUBST([HAVE_WCSNRTOMBS]) | ||
85 | HAVE_DECL_WCTOB=1; AC_SUBST([HAVE_DECL_WCTOB]) | ||
50 | HAVE_DECL_WCWIDTH=1; AC_SUBST([HAVE_DECL_WCWIDTH]) | 86 | HAVE_DECL_WCWIDTH=1; AC_SUBST([HAVE_DECL_WCWIDTH]) |
87 | REPLACE_MBSTATE_T=0; AC_SUBST([REPLACE_MBSTATE_T]) | ||
88 | REPLACE_BTOWC=0; AC_SUBST([REPLACE_BTOWC]) | ||
89 | REPLACE_WCTOB=0; AC_SUBST([REPLACE_WCTOB]) | ||
90 | REPLACE_MBSINIT=0; AC_SUBST([REPLACE_MBSINIT]) | ||
91 | REPLACE_MBRTOWC=0; AC_SUBST([REPLACE_MBRTOWC]) | ||
92 | REPLACE_MBRLEN=0; AC_SUBST([REPLACE_MBRLEN]) | ||
93 | REPLACE_MBSRTOWCS=0; AC_SUBST([REPLACE_MBSRTOWCS]) | ||
94 | REPLACE_MBSNRTOWCS=0;AC_SUBST([REPLACE_MBSNRTOWCS]) | ||
95 | REPLACE_WCRTOMB=0; AC_SUBST([REPLACE_WCRTOMB]) | ||
96 | REPLACE_WCSRTOMBS=0; AC_SUBST([REPLACE_WCSRTOMBS]) | ||
51 | REPLACE_WCWIDTH=0; AC_SUBST([REPLACE_WCWIDTH]) | 97 | REPLACE_WCWIDTH=0; AC_SUBST([REPLACE_WCWIDTH]) |
52 | WCHAR_H= | 98 | WCHAR_H=''; AC_SUBST([WCHAR_H]) |
53 | AC_SUBST([WCHAR_H]) | ||
54 | ]) | 99 | ]) |
diff --git a/gl/m4/wchar_t.m4 b/gl/m4/wchar_t.m4 index cde2129a..fb27a7f6 100644 --- a/gl/m4/wchar_t.m4 +++ b/gl/m4/wchar_t.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # wchar_t.m4 serial 1 (gettext-0.12) | 1 | # wchar_t.m4 serial 3 (gettext-0.18) |
2 | dnl Copyright (C) 2002-2003 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2003, 2008, 2009 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -10,11 +10,11 @@ dnl Prerequisite: AC_PROG_CC | |||
10 | 10 | ||
11 | AC_DEFUN([gt_TYPE_WCHAR_T], | 11 | AC_DEFUN([gt_TYPE_WCHAR_T], |
12 | [ | 12 | [ |
13 | AC_CACHE_CHECK([for wchar_t], gt_cv_c_wchar_t, | 13 | AC_CACHE_CHECK([for wchar_t], [gt_cv_c_wchar_t], |
14 | [AC_TRY_COMPILE([#include <stddef.h> | 14 | [AC_TRY_COMPILE([#include <stddef.h> |
15 | wchar_t foo = (wchar_t)'\0';], , | 15 | wchar_t foo = (wchar_t)'\0';], , |
16 | gt_cv_c_wchar_t=yes, gt_cv_c_wchar_t=no)]) | 16 | [gt_cv_c_wchar_t=yes], [gt_cv_c_wchar_t=no])]) |
17 | if test $gt_cv_c_wchar_t = yes; then | 17 | if test $gt_cv_c_wchar_t = yes; then |
18 | AC_DEFINE(HAVE_WCHAR_T, 1, [Define if you have the 'wchar_t' type.]) | 18 | AC_DEFINE([HAVE_WCHAR_T], [1], [Define if you have the 'wchar_t' type.]) |
19 | fi | 19 | fi |
20 | ]) | 20 | ]) |
diff --git a/gl/m4/wcrtomb.m4 b/gl/m4/wcrtomb.m4 new file mode 100644 index 00000000..22d94336 --- /dev/null +++ b/gl/m4/wcrtomb.m4 | |||
@@ -0,0 +1,88 @@ | |||
1 | # wcrtomb.m4 serial 2 | ||
2 | dnl Copyright (C) 2008 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | ||
4 | dnl gives unlimited permission to copy and/or distribute it, | ||
5 | dnl with or without modifications, as long as this notice is preserved. | ||
6 | |||
7 | AC_DEFUN([gl_FUNC_WCRTOMB], | ||
8 | [ | ||
9 | AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) | ||
10 | |||
11 | AC_REQUIRE([AC_TYPE_MBSTATE_T]) | ||
12 | AC_CHECK_FUNCS_ONCE([wcrtomb]) | ||
13 | if test $ac_cv_func_wcrtomb = no; then | ||
14 | HAVE_WCRTOMB=0 | ||
15 | else | ||
16 | |||
17 | dnl On OSF/1 5.1 and Solaris 10, wcrtomb (NULL, 0, NULL) sometimes | ||
18 | dnl returns 0 instead of 1. | ||
19 | AC_REQUIRE([AC_PROG_CC]) | ||
20 | AC_REQUIRE([gt_LOCALE_FR]) | ||
21 | AC_REQUIRE([gt_LOCALE_FR_UTF8]) | ||
22 | AC_REQUIRE([gt_LOCALE_JA]) | ||
23 | AC_REQUIRE([gt_LOCALE_ZH_CN]) | ||
24 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
25 | AC_CACHE_CHECK([whether wcrtomb return value is correct], | ||
26 | [gl_cv_func_wcrtomb_retval], | ||
27 | [ | ||
28 | dnl Initial guess, used when cross-compiling or when no suitable locale | ||
29 | dnl is present. | ||
30 | changequote(,)dnl | ||
31 | case "$host_os" in | ||
32 | # Guess no on OSF/1 and Solaris. | ||
33 | osf* | solaris*) gl_cv_func_wcrtomb_retval="guessing no" ;; | ||
34 | # Guess yes otherwise. | ||
35 | *) gl_cv_func_wcrtomb_retval="guessing yes" ;; | ||
36 | esac | ||
37 | changequote([,])dnl | ||
38 | if test $LOCALE_FR != none || test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none || test $LOCALE_ZH_CN != none; then | ||
39 | AC_TRY_RUN([ | ||
40 | #include <locale.h> | ||
41 | #include <stdio.h> | ||
42 | #include <string.h> | ||
43 | #include <wchar.h> | ||
44 | int main () | ||
45 | { | ||
46 | if (setlocale (LC_ALL, "$LOCALE_FR") != NULL) | ||
47 | { | ||
48 | if (wcrtomb (NULL, 0, NULL) != 1) | ||
49 | return 1; | ||
50 | } | ||
51 | if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) | ||
52 | { | ||
53 | if (wcrtomb (NULL, 0, NULL) != 1) | ||
54 | return 1; | ||
55 | } | ||
56 | if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) | ||
57 | { | ||
58 | if (wcrtomb (NULL, 0, NULL) != 1) | ||
59 | return 1; | ||
60 | } | ||
61 | if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) | ||
62 | { | ||
63 | if (wcrtomb (NULL, 0, NULL) != 1) | ||
64 | return 1; | ||
65 | } | ||
66 | return 0; | ||
67 | }], | ||
68 | [gl_cv_func_wcrtomb_retval=yes], | ||
69 | [gl_cv_func_wcrtomb_retval=no], | ||
70 | []) | ||
71 | fi | ||
72 | ]) | ||
73 | case "$gl_cv_func_wcrtomb_retval" in | ||
74 | *yes) ;; | ||
75 | *) REPLACE_WCRTOMB=1 ;; | ||
76 | esac | ||
77 | fi | ||
78 | if test $HAVE_WCRTOMB = 0 || test $REPLACE_WCRTOMB = 1; then | ||
79 | gl_REPLACE_WCHAR_H | ||
80 | AC_LIBOBJ([wcrtomb]) | ||
81 | gl_PREREQ_WCRTOMB | ||
82 | fi | ||
83 | ]) | ||
84 | |||
85 | # Prerequisites of lib/wcrtomb.c. | ||
86 | AC_DEFUN([gl_PREREQ_WCRTOMB], [ | ||
87 | : | ||
88 | ]) | ||
diff --git a/gl/m4/wctype.m4 b/gl/m4/wctype.m4 index 7483c4fe..6a1b6f07 100644 --- a/gl/m4/wctype.m4 +++ b/gl/m4/wctype.m4 | |||
@@ -1,6 +1,8 @@ | |||
1 | # wctype.m4 serial 2 | ||
2 | |||
1 | dnl A placeholder for ISO C99 <wctype.h>, for platforms that lack it. | 3 | dnl A placeholder for ISO C99 <wctype.h>, for platforms that lack it. |
2 | 4 | ||
3 | dnl Copyright (C) 2006, 2007 Free Software Foundation, Inc. | 5 | dnl Copyright (C) 2006-2008 Free Software Foundation, Inc. |
4 | dnl This file is free software; the Free Software Foundation | 6 | dnl This file is free software; the Free Software Foundation |
5 | dnl gives unlimited permission to copy and/or distribute it, | 7 | dnl gives unlimited permission to copy and/or distribute it, |
6 | dnl with or without modifications, as long as this notice is preserved. | 8 | dnl with or without modifications, as long as this notice is preserved. |
@@ -9,6 +11,7 @@ dnl Written by Paul Eggert. | |||
9 | 11 | ||
10 | AC_DEFUN([gl_WCTYPE_H], | 12 | AC_DEFUN([gl_WCTYPE_H], |
11 | [ | 13 | [ |
14 | AC_REQUIRE([AC_PROG_CC]) | ||
12 | AC_CHECK_FUNCS_ONCE([iswcntrl]) | 15 | AC_CHECK_FUNCS_ONCE([iswcntrl]) |
13 | if test $ac_cv_func_iswcntrl = yes; then | 16 | if test $ac_cv_func_iswcntrl = yes; then |
14 | HAVE_ISWCNTRL=1 | 17 | HAVE_ISWCNTRL=1 |
@@ -30,7 +33,27 @@ AC_DEFUN([gl_WCTYPE_H], | |||
30 | WCTYPE_H=wctype.h | 33 | WCTYPE_H=wctype.h |
31 | if test $ac_cv_header_wctype_h = yes; then | 34 | if test $ac_cv_header_wctype_h = yes; then |
32 | if test $ac_cv_func_iswcntrl = yes; then | 35 | if test $ac_cv_func_iswcntrl = yes; then |
33 | WCTYPE_H= | 36 | dnl Linux libc5 has an iswprint function that returns 0 for all arguments. |
37 | dnl The other functions are likely broken in the same way. | ||
38 | AC_CACHE_CHECK([whether iswcntrl works], [gl_cv_func_iswcntrl_works], | ||
39 | [ | ||
40 | AC_TRY_RUN([#include <stddef.h> | ||
41 | #include <stdio.h> | ||
42 | #include <time.h> | ||
43 | #include <wchar.h> | ||
44 | #include <wctype.h> | ||
45 | int main () { return iswprint ('x') == 0; }], | ||
46 | [gl_cv_func_iswcntrl_works=yes], [gl_cv_func_iswcntrl_works=no], | ||
47 | [AC_TRY_COMPILE([#include <stdlib.h> | ||
48 | #if __GNU_LIBRARY__ == 1 | ||
49 | Linux libc5 i18n is broken. | ||
50 | #endif], [], | ||
51 | [gl_cv_func_iswcntrl_works=yes], [gl_cv_func_iswcntrl_works=no]) | ||
52 | ]) | ||
53 | ]) | ||
54 | if test $gl_cv_func_iswcntrl_works = yes; then | ||
55 | WCTYPE_H= | ||
56 | fi | ||
34 | fi | 57 | fi |
35 | dnl Compute NEXT_WCTYPE_H even if WCTYPE_H is empty, | 58 | dnl Compute NEXT_WCTYPE_H even if WCTYPE_H is empty, |
36 | dnl for the benefit of builds from non-distclean directories. | 59 | dnl for the benefit of builds from non-distclean directories. |
@@ -41,4 +64,11 @@ AC_DEFUN([gl_WCTYPE_H], | |||
41 | fi | 64 | fi |
42 | AC_SUBST([HAVE_WCTYPE_H]) | 65 | AC_SUBST([HAVE_WCTYPE_H]) |
43 | AC_SUBST([WCTYPE_H]) | 66 | AC_SUBST([WCTYPE_H]) |
67 | |||
68 | if test "$gl_cv_func_iswcntrl_works" = no; then | ||
69 | REPLACE_ISWCNTRL=1 | ||
70 | else | ||
71 | REPLACE_ISWCNTRL=0 | ||
72 | fi | ||
73 | AC_SUBST([REPLACE_ISWCNTRL]) | ||
44 | ]) | 74 | ]) |
diff --git a/gl/m4/wint_t.m4 b/gl/m4/wint_t.m4 index af5ed936..47a4363d 100644 --- a/gl/m4/wint_t.m4 +++ b/gl/m4/wint_t.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # wint_t.m4 serial 2 (gettext-0.17) | 1 | # wint_t.m4 serial 4 (gettext-0.18) |
2 | dnl Copyright (C) 2003, 2007 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2003, 2007-2009 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -10,7 +10,7 @@ dnl Prerequisite: AC_PROG_CC | |||
10 | 10 | ||
11 | AC_DEFUN([gt_TYPE_WINT_T], | 11 | AC_DEFUN([gt_TYPE_WINT_T], |
12 | [ | 12 | [ |
13 | AC_CACHE_CHECK([for wint_t], gt_cv_c_wint_t, | 13 | AC_CACHE_CHECK([for wint_t], [gt_cv_c_wint_t], |
14 | [AC_TRY_COMPILE([ | 14 | [AC_TRY_COMPILE([ |
15 | /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before | 15 | /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before |
16 | <wchar.h>. | 16 | <wchar.h>. |
@@ -21,8 +21,8 @@ AC_DEFUN([gt_TYPE_WINT_T], | |||
21 | #include <time.h> | 21 | #include <time.h> |
22 | #include <wchar.h> | 22 | #include <wchar.h> |
23 | wint_t foo = (wchar_t)'\0';], , | 23 | wint_t foo = (wchar_t)'\0';], , |
24 | gt_cv_c_wint_t=yes, gt_cv_c_wint_t=no)]) | 24 | [gt_cv_c_wint_t=yes], [gt_cv_c_wint_t=no])]) |
25 | if test $gt_cv_c_wint_t = yes; then | 25 | if test $gt_cv_c_wint_t = yes; then |
26 | AC_DEFINE(HAVE_WINT_T, 1, [Define if you have the 'wint_t' type.]) | 26 | AC_DEFINE([HAVE_WINT_T], [1], [Define if you have the 'wint_t' type.]) |
27 | fi | 27 | fi |
28 | ]) | 28 | ]) |
diff --git a/gl/m4/write.m4 b/gl/m4/write.m4 new file mode 100644 index 00000000..812b19b3 --- /dev/null +++ b/gl/m4/write.m4 | |||
@@ -0,0 +1,20 @@ | |||
1 | # write.m4 serial 1 | ||
2 | dnl Copyright (C) 2008 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | ||
4 | dnl gives unlimited permission to copy and/or distribute it, | ||
5 | dnl with or without modifications, as long as this notice is preserved. | ||
6 | |||
7 | AC_DEFUN([gl_FUNC_WRITE], | ||
8 | [ | ||
9 | AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) | ||
10 | dnl This ifdef is just an optimization, to avoid performing a configure | ||
11 | dnl check whose result is not used. It does not make the test of | ||
12 | dnl GNULIB_UNISTD_H_SIGPIPE or GNULIB_SIGPIPE redundant. | ||
13 | m4_ifdef([gl_SIGNAL_SIGPIPE], [ | ||
14 | gl_SIGNAL_SIGPIPE | ||
15 | if test $gl_cv_header_signal_h_SIGPIPE != yes; then | ||
16 | REPLACE_WRITE=1 | ||
17 | AC_LIBOBJ([write]) | ||
18 | fi | ||
19 | ]) | ||
20 | ]) | ||
diff --git a/gl/m4/xsize.m4 b/gl/m4/xsize.m4 index 85bb721e..631893cf 100644 --- a/gl/m4/xsize.m4 +++ b/gl/m4/xsize.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # xsize.m4 serial 3 | 1 | # xsize.m4 serial 4 |
2 | dnl Copyright (C) 2003-2004 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2003-2004, 2008 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -9,5 +9,5 @@ AC_DEFUN([gl_XSIZE], | |||
9 | dnl Prerequisites of lib/xsize.h. | 9 | dnl Prerequisites of lib/xsize.h. |
10 | AC_REQUIRE([gl_SIZE_MAX]) | 10 | AC_REQUIRE([gl_SIZE_MAX]) |
11 | AC_REQUIRE([AC_C_INLINE]) | 11 | AC_REQUIRE([AC_C_INLINE]) |
12 | AC_CHECK_HEADERS(stdint.h) | 12 | AC_CHECK_HEADERS([stdint.h]) |
13 | ]) | 13 | ]) |