diff options
Diffstat (limited to 'gl/m4')
149 files changed, 5696 insertions, 3347 deletions
diff --git a/gl/m4/00gnulib.m4 b/gl/m4/00gnulib.m4 index 301469b3..d4ad759f 100644 --- a/gl/m4/00gnulib.m4 +++ b/gl/m4/00gnulib.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # 00gnulib.m4 serial 2 | 1 | # 00gnulib.m4 serial 2 |
2 | dnl Copyright (C) 2009-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2009-2013 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. |
diff --git a/gl/m4/alloca.m4 b/gl/m4/alloca.m4 index f3ee3438..270abd0c 100644 --- a/gl/m4/alloca.m4 +++ b/gl/m4/alloca.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # alloca.m4 serial 9 | 1 | # alloca.m4 serial 14 |
2 | dnl Copyright (C) 2002-2004, 2006-2007, 2009-2010 Free Software Foundation, | 2 | dnl Copyright (C) 2002-2004, 2006-2007, 2009-2013 Free Software Foundation, |
3 | dnl Inc. | 3 | dnl 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, |
@@ -7,10 +7,6 @@ dnl with or without modifications, as long as this notice is preserved. | |||
7 | 7 | ||
8 | AC_DEFUN([gl_FUNC_ALLOCA], | 8 | AC_DEFUN([gl_FUNC_ALLOCA], |
9 | [ | 9 | [ |
10 | dnl Work around a bug of AC_EGREP_CPP in autoconf-2.57. | ||
11 | AC_REQUIRE([AC_PROG_CPP]) | ||
12 | AC_REQUIRE([AC_PROG_EGREP]) | ||
13 | |||
14 | AC_REQUIRE([AC_FUNC_ALLOCA]) | 10 | AC_REQUIRE([AC_FUNC_ALLOCA]) |
15 | if test $ac_cv_func_alloca_works = no; then | 11 | if test $ac_cv_func_alloca_works = no; then |
16 | gl_PREREQ_ALLOCA | 12 | gl_PREREQ_ALLOCA |
@@ -40,8 +36,86 @@ AC_DEFUN([gl_FUNC_ALLOCA], | |||
40 | ALLOCA_H=alloca.h | 36 | ALLOCA_H=alloca.h |
41 | fi | 37 | fi |
42 | AC_SUBST([ALLOCA_H]) | 38 | AC_SUBST([ALLOCA_H]) |
39 | AM_CONDITIONAL([GL_GENERATE_ALLOCA_H], [test -n "$ALLOCA_H"]) | ||
43 | ]) | 40 | ]) |
44 | 41 | ||
45 | # Prerequisites of lib/alloca.c. | 42 | # Prerequisites of lib/alloca.c. |
46 | # STACK_DIRECTION is already handled by AC_FUNC_ALLOCA. | 43 | # STACK_DIRECTION is already handled by AC_FUNC_ALLOCA. |
47 | AC_DEFUN([gl_PREREQ_ALLOCA], [:]) | 44 | AC_DEFUN([gl_PREREQ_ALLOCA], [:]) |
45 | |||
46 | # This works around a bug in autoconf <= 2.68. | ||
47 | # See <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00277.html>. | ||
48 | |||
49 | m4_version_prereq([2.69], [] ,[ | ||
50 | |||
51 | # This is taken from the following Autoconf patch: | ||
52 | # http://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=6cd9f12520b0d6f76d3230d7565feba1ecf29497 | ||
53 | |||
54 | # _AC_LIBOBJ_ALLOCA | ||
55 | # ----------------- | ||
56 | # Set up the LIBOBJ replacement of 'alloca'. Well, not exactly | ||
57 | # AC_LIBOBJ since we actually set the output variable 'ALLOCA'. | ||
58 | # Nevertheless, for Automake, AC_LIBSOURCES it. | ||
59 | m4_define([_AC_LIBOBJ_ALLOCA], | ||
60 | [# The SVR3 libPW and SVR4 libucb both contain incompatible functions | ||
61 | # that cause trouble. Some versions do not even contain alloca or | ||
62 | # contain a buggy version. If you still want to use their alloca, | ||
63 | # use ar to extract alloca.o from them instead of compiling alloca.c. | ||
64 | AC_LIBSOURCES(alloca.c) | ||
65 | AC_SUBST([ALLOCA], [\${LIBOBJDIR}alloca.$ac_objext])dnl | ||
66 | AC_DEFINE(C_ALLOCA, 1, [Define to 1 if using 'alloca.c'.]) | ||
67 | |||
68 | AC_CACHE_CHECK(whether 'alloca.c' needs Cray hooks, ac_cv_os_cray, | ||
69 | [AC_EGREP_CPP(webecray, | ||
70 | [#if defined CRAY && ! defined CRAY2 | ||
71 | webecray | ||
72 | #else | ||
73 | wenotbecray | ||
74 | #endif | ||
75 | ], ac_cv_os_cray=yes, ac_cv_os_cray=no)]) | ||
76 | if test $ac_cv_os_cray = yes; then | ||
77 | for ac_func in _getb67 GETB67 getb67; do | ||
78 | AC_CHECK_FUNC($ac_func, | ||
79 | [AC_DEFINE_UNQUOTED(CRAY_STACKSEG_END, $ac_func, | ||
80 | [Define to one of '_getb67', 'GETB67', | ||
81 | 'getb67' for Cray-2 and Cray-YMP | ||
82 | systems. This function is required for | ||
83 | 'alloca.c' support on those systems.]) | ||
84 | break]) | ||
85 | done | ||
86 | fi | ||
87 | |||
88 | AC_CACHE_CHECK([stack direction for C alloca], | ||
89 | [ac_cv_c_stack_direction], | ||
90 | [AC_RUN_IFELSE([AC_LANG_SOURCE( | ||
91 | [AC_INCLUDES_DEFAULT | ||
92 | int | ||
93 | find_stack_direction (int *addr, int depth) | ||
94 | { | ||
95 | int dir, dummy = 0; | ||
96 | if (! addr) | ||
97 | addr = &dummy; | ||
98 | *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1; | ||
99 | dir = depth ? find_stack_direction (addr, depth - 1) : 0; | ||
100 | return dir + dummy; | ||
101 | } | ||
102 | |||
103 | int | ||
104 | main (int argc, char **argv) | ||
105 | { | ||
106 | return find_stack_direction (0, argc + !argv + 20) < 0; | ||
107 | }])], | ||
108 | [ac_cv_c_stack_direction=1], | ||
109 | [ac_cv_c_stack_direction=-1], | ||
110 | [ac_cv_c_stack_direction=0])]) | ||
111 | AH_VERBATIM([STACK_DIRECTION], | ||
112 | [/* If using the C implementation of alloca, define if you know the | ||
113 | direction of stack growth for your system; otherwise it will be | ||
114 | automatically deduced at runtime. | ||
115 | STACK_DIRECTION > 0 => grows toward higher addresses | ||
116 | STACK_DIRECTION < 0 => grows toward lower addresses | ||
117 | STACK_DIRECTION = 0 => direction of growth unknown */ | ||
118 | @%:@undef STACK_DIRECTION])dnl | ||
119 | AC_DEFINE_UNQUOTED(STACK_DIRECTION, $ac_cv_c_stack_direction) | ||
120 | ])# _AC_LIBOBJ_ALLOCA | ||
121 | ]) | ||
diff --git a/gl/m4/arpa_inet_h.m4 b/gl/m4/arpa_inet_h.m4 index 15a30e2b..ea69af57 100644 --- a/gl/m4/arpa_inet_h.m4 +++ b/gl/m4/arpa_inet_h.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # arpa_inet_h.m4 serial 8 | 1 | # arpa_inet_h.m4 serial 13 |
2 | dnl Copyright (C) 2006, 2008, 2009, 2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2006, 2008-2013 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. |
@@ -22,24 +22,22 @@ AC_DEFUN([gl_HEADER_ARPA_INET], | |||
22 | dnl <arpa/inet.h> is always overridden, because of GNULIB_POSIXCHECK. | 22 | dnl <arpa/inet.h> is always overridden, because of GNULIB_POSIXCHECK. |
23 | gl_CHECK_NEXT_HEADERS([arpa/inet.h]) | 23 | gl_CHECK_NEXT_HEADERS([arpa/inet.h]) |
24 | 24 | ||
25 | AC_REQUIRE([gl_FEATURES_H]) | ||
26 | |||
25 | dnl Check for declarations of anything we want to poison if the | 27 | dnl Check for declarations of anything we want to poison if the |
26 | dnl corresponding gnulib module is not in use. | 28 | dnl corresponding gnulib module is not in use. |
27 | gl_WARN_ON_USE_PREPARE([[ | 29 | gl_WARN_ON_USE_PREPARE([[ |
28 | /* On some systems, this header is not self-consistent. */ | 30 | /* On some systems, this header is not self-consistent. */ |
29 | #ifndef __GLIBC__ | 31 | #if !(defined __GLIBC__ || defined __UCLIBC__) |
30 | # include <sys/socket.h> | 32 | # include <sys/socket.h> |
31 | #endif | 33 | #endif |
34 | #ifdef __TANDEM | ||
35 | # include <netdb.h> | ||
36 | #endif | ||
32 | #include <arpa/inet.h> | 37 | #include <arpa/inet.h> |
33 | ]], [inet_ntop inet_pton]) | 38 | ]], [inet_ntop inet_pton]) |
34 | ]) | 39 | ]) |
35 | 40 | ||
36 | dnl Unconditionally enables the replacement of <arpa/inet.h>. | ||
37 | AC_DEFUN([gl_REPLACE_ARPA_INET_H], | ||
38 | [ | ||
39 | dnl This is a no-op, because <arpa/inet.h> is always overridden. | ||
40 | : | ||
41 | ]) | ||
42 | |||
43 | AC_DEFUN([gl_ARPA_INET_MODULE_INDICATOR], | 41 | AC_DEFUN([gl_ARPA_INET_MODULE_INDICATOR], |
44 | [ | 42 | [ |
45 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. | 43 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. |
@@ -54,4 +52,6 @@ AC_DEFUN([gl_ARPA_INET_H_DEFAULTS], | |||
54 | dnl Assume proper GNU behavior unless another module says otherwise. | 52 | dnl Assume proper GNU behavior unless another module says otherwise. |
55 | HAVE_DECL_INET_NTOP=1; AC_SUBST([HAVE_DECL_INET_NTOP]) | 53 | HAVE_DECL_INET_NTOP=1; AC_SUBST([HAVE_DECL_INET_NTOP]) |
56 | HAVE_DECL_INET_PTON=1; AC_SUBST([HAVE_DECL_INET_PTON]) | 54 | HAVE_DECL_INET_PTON=1; AC_SUBST([HAVE_DECL_INET_PTON]) |
55 | REPLACE_INET_NTOP=0; AC_SUBST([REPLACE_INET_NTOP]) | ||
56 | REPLACE_INET_PTON=0; AC_SUBST([REPLACE_INET_PTON]) | ||
57 | ]) | 57 | ]) |
diff --git a/gl/m4/asm-underscore.m4 b/gl/m4/asm-underscore.m4 deleted file mode 100644 index 1736cc43..00000000 --- a/gl/m4/asm-underscore.m4 +++ /dev/null | |||
@@ -1,48 +0,0 @@ | |||
1 | # asm-underscore.m4 serial 1 | ||
2 | dnl Copyright (C) 2010 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. Based on as-underscore.m4 in GNU clisp. | ||
8 | |||
9 | # gl_ASM_SYMBOL_PREFIX | ||
10 | # Tests for the prefix of C symbols at the assembly language level and the | ||
11 | # linker level. This prefix is either an underscore or empty. Defines the | ||
12 | # C macro USER_LABEL_PREFIX to this prefix, and sets ASM_SYMBOL_PREFIX to | ||
13 | # a stringified variant of this prefix. | ||
14 | |||
15 | AC_DEFUN([gl_ASM_SYMBOL_PREFIX], | ||
16 | [ | ||
17 | dnl We don't use GCC's __USER_LABEL_PREFIX__ here, because | ||
18 | dnl 1. It works only for GCC. | ||
19 | dnl 2. It is incorrectly defined on some platforms, in some GCC versions. | ||
20 | AC_CACHE_CHECK( | ||
21 | [whether C symbols are prefixed with underscore at the linker level], | ||
22 | [gl_cv_prog_as_underscore], | ||
23 | [cat > conftest.c <<EOF | ||
24 | #ifdef __cplusplus | ||
25 | extern "C" int foo (void); | ||
26 | #endif | ||
27 | int foo(void) { return 0; } | ||
28 | EOF | ||
29 | # Look for the assembly language name in the .s file. | ||
30 | AC_TRY_COMMAND(${CC-cc} $CFLAGS $CPPFLAGS -S conftest.c) >/dev/null 2>&1 | ||
31 | if grep _foo conftest.s >/dev/null ; then | ||
32 | gl_cv_prog_as_underscore=yes | ||
33 | else | ||
34 | gl_cv_prog_as_underscore=no | ||
35 | fi | ||
36 | rm -f conftest* | ||
37 | ]) | ||
38 | if test $gl_cv_prog_as_underscore = yes; then | ||
39 | USER_LABEL_PREFIX=_ | ||
40 | else | ||
41 | USER_LABEL_PREFIX= | ||
42 | fi | ||
43 | AC_DEFINE_UNQUOTED([USER_LABEL_PREFIX], [$USER_LABEL_PREFIX], | ||
44 | [Define to the prefix of C symbols at the assembler and linker level, | ||
45 | either an underscore or empty.]) | ||
46 | ASM_SYMBOL_PREFIX='"'${USER_LABEL_PREFIX}'"' | ||
47 | AC_SUBST([ASM_SYMBOL_PREFIX]) | ||
48 | ]) | ||
diff --git a/gl/m4/base64.m4 b/gl/m4/base64.m4 index d1e13522..fc19893e 100644 --- a/gl/m4/base64.m4 +++ b/gl/m4/base64.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # base64.m4 serial 3 | 1 | # base64.m4 serial 4 |
2 | dnl Copyright (C) 2004, 2006, 2009, 2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2004, 2006, 2009-2013 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,6 +11,5 @@ AC_DEFUN([gl_FUNC_BASE64], | |||
11 | 11 | ||
12 | # Prerequisites of lib/base64.c. | 12 | # Prerequisites of lib/base64.c. |
13 | AC_DEFUN([gl_PREREQ_BASE64], [ | 13 | AC_DEFUN([gl_PREREQ_BASE64], [ |
14 | AC_REQUIRE([AC_C_INLINE]) | ||
15 | AC_REQUIRE([AC_C_RESTRICT]) | 14 | AC_REQUIRE([AC_C_RESTRICT]) |
16 | ]) | 15 | ]) |
diff --git a/gl/m4/btowc.m4 b/gl/m4/btowc.m4 index c4ee4e41..978a06e9 100644 --- a/gl/m4/btowc.m4 +++ b/gl/m4/btowc.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # btowc.m4 serial 6 | 1 | # btowc.m4 serial 10 |
2 | dnl Copyright (C) 2008-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2008-2013 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,16 +26,23 @@ AC_DEFUN([gl_FUNC_BTOWC], | |||
26 | AC_CACHE_CHECK([whether btowc(0) is correct], | 26 | AC_CACHE_CHECK([whether btowc(0) is correct], |
27 | [gl_cv_func_btowc_nul], | 27 | [gl_cv_func_btowc_nul], |
28 | [ | 28 | [ |
29 | AC_TRY_RUN([ | 29 | AC_RUN_IFELSE( |
30 | #include <stdio.h> | 30 | [AC_LANG_SOURCE([[ |
31 | #include <string.h> | 31 | #include <string.h> |
32 | /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before | ||
33 | <wchar.h>. | ||
34 | BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be | ||
35 | included before <wchar.h>. */ | ||
36 | #include <stddef.h> | ||
37 | #include <stdio.h> | ||
38 | #include <time.h> | ||
32 | #include <wchar.h> | 39 | #include <wchar.h> |
33 | int main () | 40 | int main () |
34 | { | 41 | { |
35 | if (btowc ('\0') != 0) | 42 | if (btowc ('\0') != 0) |
36 | return 1; | 43 | return 1; |
37 | return 0; | 44 | return 0; |
38 | }], | 45 | }]])], |
39 | [gl_cv_func_btowc_nul=yes], | 46 | [gl_cv_func_btowc_nul=yes], |
40 | [gl_cv_func_btowc_nul=no], | 47 | [gl_cv_func_btowc_nul=no], |
41 | [ | 48 | [ |
@@ -65,10 +72,17 @@ changequote(,)dnl | |||
65 | esac | 72 | esac |
66 | changequote([,])dnl | 73 | changequote([,])dnl |
67 | if test $LOCALE_FR != none; then | 74 | if test $LOCALE_FR != none; then |
68 | AC_TRY_RUN([ | 75 | AC_RUN_IFELSE( |
76 | [AC_LANG_SOURCE([[ | ||
69 | #include <locale.h> | 77 | #include <locale.h> |
70 | #include <stdio.h> | ||
71 | #include <string.h> | 78 | #include <string.h> |
79 | /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before | ||
80 | <wchar.h>. | ||
81 | BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be | ||
82 | included before <wchar.h>. */ | ||
83 | #include <stddef.h> | ||
84 | #include <stdio.h> | ||
85 | #include <time.h> | ||
72 | #include <wchar.h> | 86 | #include <wchar.h> |
73 | int main () | 87 | int main () |
74 | { | 88 | { |
@@ -78,7 +92,7 @@ int main () | |||
78 | return 1; | 92 | return 1; |
79 | } | 93 | } |
80 | return 0; | 94 | return 0; |
81 | }], | 95 | }]])], |
82 | [gl_cv_func_btowc_eof=yes], | 96 | [gl_cv_func_btowc_eof=yes], |
83 | [gl_cv_func_btowc_eof=no], | 97 | [gl_cv_func_btowc_eof=no], |
84 | [:]) | 98 | [:]) |
@@ -94,11 +108,6 @@ int main () | |||
94 | *) REPLACE_BTOWC=1 ;; | 108 | *) REPLACE_BTOWC=1 ;; |
95 | esac | 109 | esac |
96 | fi | 110 | fi |
97 | if test $HAVE_BTOWC = 0 || test $REPLACE_BTOWC = 1; then | ||
98 | gl_REPLACE_WCHAR_H | ||
99 | AC_LIBOBJ([btowc]) | ||
100 | gl_PREREQ_BTOWC | ||
101 | fi | ||
102 | ]) | 111 | ]) |
103 | 112 | ||
104 | # Prerequisites of lib/btowc.c. | 113 | # Prerequisites of lib/btowc.c. |
diff --git a/gl/m4/c-strtod.m4 b/gl/m4/c-strtod.m4 deleted file mode 100644 index 41cf18e9..00000000 --- a/gl/m4/c-strtod.m4 +++ /dev/null | |||
@@ -1,57 +0,0 @@ | |||
1 | # c-strtod.m4 serial 11 | ||
2 | |||
3 | # Copyright (C) 2004-2006, 2009-2010 Free Software Foundation, Inc. | ||
4 | # This file is free software; the Free Software Foundation | ||
5 | # gives unlimited permission to copy and/or distribute it, | ||
6 | # with or without modifications, as long as this notice is preserved. | ||
7 | |||
8 | # Written by Paul Eggert. | ||
9 | |||
10 | AC_DEFUN([gl_C99_STRTOLD], | ||
11 | [ | ||
12 | AC_CACHE_CHECK([whether strtold conforms to C99], | ||
13 | [gl_cv_func_c99_strtold], | ||
14 | [AC_LINK_IFELSE( | ||
15 | [AC_LANG_PROGRAM( | ||
16 | [[/* On HP-UX before 11.23, strtold returns a struct instead of | ||
17 | long double. Reject implementations like that, by requiring | ||
18 | compatibility with the C99 prototype. */ | ||
19 | #include <stdlib.h> | ||
20 | static long double (*p) (char const *, char **) = strtold; | ||
21 | static long double | ||
22 | test (char const *nptr, char **endptr) | ||
23 | { | ||
24 | long double r; | ||
25 | r = strtold (nptr, endptr); | ||
26 | return r; | ||
27 | }]], | ||
28 | [[return test ("1.0", NULL) != 1 || p ("1.0", NULL) != 1;]])], | ||
29 | [gl_cv_func_c99_strtold=yes], | ||
30 | [gl_cv_func_c99_strtold=no])]) | ||
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.]) | ||
33 | fi | ||
34 | ]) | ||
35 | |||
36 | AC_DEFUN([gl_C_STRTOD], | ||
37 | [ | ||
38 | AC_LIBOBJ([c-strtod]) | ||
39 | |||
40 | dnl Prerequisites of lib/c-strtod.c. | ||
41 | AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) | ||
42 | |||
43 | AC_REQUIRE([AC_C_INLINE]) | ||
44 | : | ||
45 | ]) | ||
46 | |||
47 | AC_DEFUN([gl_C_STRTOLD], | ||
48 | [ | ||
49 | AC_LIBOBJ([c-strtold]) | ||
50 | |||
51 | dnl Prerequisites of lib/c-strtold.c. | ||
52 | AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) | ||
53 | AC_REQUIRE([gl_C99_STRTOLD]) | ||
54 | |||
55 | AC_REQUIRE([AC_C_INLINE]) | ||
56 | : | ||
57 | ]) | ||
diff --git a/gl/m4/codeset.m4 b/gl/m4/codeset.m4 index a53c0426..c2761be2 100644 --- a/gl/m4/codeset.m4 +++ b/gl/m4/codeset.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # codeset.m4 serial 4 (gettext-0.18) | 1 | # codeset.m4 serial 5 (gettext-0.18.2) |
2 | dnl Copyright (C) 2000-2002, 2006, 2008-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2000-2002, 2006, 2008-2013 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,10 +9,12 @@ dnl From Bruno Haible. | |||
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_LINK_IFELSE( |
13 | [char* cs = nl_langinfo(CODESET); return !cs;], | 13 | [AC_LANG_PROGRAM( |
14 | [am_cv_langinfo_codeset=yes], | 14 | [[#include <langinfo.h>]], |
15 | [am_cv_langinfo_codeset=no]) | 15 | [[char* cs = nl_langinfo(CODESET); return !cs;]])], |
16 | [am_cv_langinfo_codeset=yes], | ||
17 | [am_cv_langinfo_codeset=no]) | ||
16 | ]) | 18 | ]) |
17 | if test $am_cv_langinfo_codeset = yes; then | 19 | if test $am_cv_langinfo_codeset = yes; then |
18 | AC_DEFINE([HAVE_LANGINFO_CODESET], [1], | 20 | AC_DEFINE([HAVE_LANGINFO_CODESET], [1], |
diff --git a/gl/m4/configmake.m4 b/gl/m4/configmake.m4 new file mode 100644 index 00000000..823ffc0d --- /dev/null +++ b/gl/m4/configmake.m4 | |||
@@ -0,0 +1,50 @@ | |||
1 | # configmake.m4 serial 1 | ||
2 | dnl Copyright (C) 2010-2013 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 | # gl_CONFIGMAKE_PREP | ||
8 | # ------------------ | ||
9 | # Guarantee all of the standard directory variables, even when used with | ||
10 | # autoconf 2.59 (datarootdir wasn't supported until 2.59c) or automake | ||
11 | # 1.9.6 (pkglibexecdir wasn't supported until 1.10b.). | ||
12 | AC_DEFUN([gl_CONFIGMAKE_PREP], | ||
13 | [ | ||
14 | dnl Technically, datadir should default to datarootdir. But if | ||
15 | dnl autoconf is too old to provide datarootdir, then reversing the | ||
16 | dnl definition is a reasonable compromise. Only AC_SUBST a variable | ||
17 | dnl if it was not already defined earlier by autoconf. | ||
18 | if test "x$datarootdir" = x; then | ||
19 | AC_SUBST([datarootdir], ['${datadir}']) | ||
20 | fi | ||
21 | dnl Copy the approach used in autoconf 2.60. | ||
22 | if test "x$docdir" = x; then | ||
23 | AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME], | ||
24 | ['${datarootdir}/doc/${PACKAGE_TARNAME}'], | ||
25 | ['${datarootdir}/doc/${PACKAGE}'])]) | ||
26 | fi | ||
27 | dnl The remaining variables missing from autoconf 2.59 are easier. | ||
28 | if test "x$htmldir" = x; then | ||
29 | AC_SUBST([htmldir], ['${docdir}']) | ||
30 | fi | ||
31 | if test "x$dvidir" = x; then | ||
32 | AC_SUBST([dvidir], ['${docdir}']) | ||
33 | fi | ||
34 | if test "x$pdfdir" = x; then | ||
35 | AC_SUBST([pdfdir], ['${docdir}']) | ||
36 | fi | ||
37 | if test "x$psdir" = x; then | ||
38 | AC_SUBST([psdir], ['${docdir}']) | ||
39 | fi | ||
40 | if test "x$lispdir" = x; then | ||
41 | AC_SUBST([lispdir], ['${datarootdir}/emacs/site-lisp']) | ||
42 | fi | ||
43 | if test "x$localedir" = x; then | ||
44 | AC_SUBST([localedir], ['${datarootdir}/locale']) | ||
45 | fi | ||
46 | |||
47 | dnl Automake 1.9.6 only lacks pkglibexecdir; and since 1.11 merely | ||
48 | dnl provides it without AC_SUBST, this blind use of AC_SUBST is safe. | ||
49 | AC_SUBST([pkglibexecdir], ['${libexecdir}/${PACKAGE}']) | ||
50 | ]) | ||
diff --git a/gl/m4/dirname.m4 b/gl/m4/dirname.m4 index 576b5bea..5897a2a8 100644 --- a/gl/m4/dirname.m4 +++ b/gl/m4/dirname.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | #serial 8 -*- autoconf -*- | 1 | #serial 10 -*- autoconf -*- |
2 | dnl Copyright (C) 2002-2006, 2009-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2006, 2009-2013 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,18 +7,11 @@ dnl with or without modifications, as long as this notice is preserved. | |||
7 | AC_DEFUN([gl_DIRNAME], | 7 | AC_DEFUN([gl_DIRNAME], |
8 | [ | 8 | [ |
9 | AC_REQUIRE([gl_DIRNAME_LGPL]) | 9 | AC_REQUIRE([gl_DIRNAME_LGPL]) |
10 | AC_LIBOBJ([basename]) | ||
11 | AC_LIBOBJ([dirname]) | ||
12 | ]) | 10 | ]) |
13 | 11 | ||
14 | AC_DEFUN([gl_DIRNAME_LGPL], | 12 | AC_DEFUN([gl_DIRNAME_LGPL], |
15 | [ | 13 | [ |
16 | AC_LIBOBJ([basename-lgpl]) | ||
17 | AC_LIBOBJ([dirname-lgpl]) | ||
18 | AC_LIBOBJ([stripslash]) | ||
19 | |||
20 | dnl Prerequisites of lib/dirname.h. | 14 | dnl Prerequisites of lib/dirname.h. |
21 | AC_REQUIRE([gl_AC_DOS]) | ||
22 | AC_REQUIRE([gl_DOUBLE_SLASH_ROOT]) | 15 | AC_REQUIRE([gl_DOUBLE_SLASH_ROOT]) |
23 | 16 | ||
24 | dnl No prerequisites of lib/basename-lgpl.c, lib/dirname-lgpl.c, | 17 | dnl No prerequisites of lib/basename-lgpl.c, lib/dirname-lgpl.c, |
diff --git a/gl/m4/dos.m4 b/gl/m4/dos.m4 deleted file mode 100644 index 5660542b..00000000 --- a/gl/m4/dos.m4 +++ /dev/null | |||
@@ -1,71 +0,0 @@ | |||
1 | #serial 11 -*- autoconf -*- | ||
2 | |||
3 | # Define some macros required for proper operation of code in lib/*.c | ||
4 | # on MSDOS/Windows systems. | ||
5 | |||
6 | # Copyright (C) 2000-2001, 2004-2006, 2009-2010 Free Software Foundation, Inc. | ||
7 | # This file is free software; the Free Software Foundation | ||
8 | # gives unlimited permission to copy and/or distribute it, | ||
9 | # with or without modifications, as long as this notice is preserved. | ||
10 | |||
11 | # From Jim Meyering. | ||
12 | |||
13 | AC_DEFUN([gl_AC_DOS], | ||
14 | [ | ||
15 | AC_CACHE_CHECK([whether system is Windows or MSDOS], [ac_cv_win_or_dos], | ||
16 | [ | ||
17 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[ | ||
18 | #if !defined _WIN32 && !defined __WIN32__ && !defined __MSDOS__ && !defined __CYGWIN__ | ||
19 | neither MSDOS nor Windows | ||
20 | #endif]])], | ||
21 | [ac_cv_win_or_dos=yes], | ||
22 | [ac_cv_win_or_dos=no]) | ||
23 | ]) | ||
24 | |||
25 | if test x"$ac_cv_win_or_dos" = xyes; then | ||
26 | ac_fs_accepts_drive_letter_prefix=1 | ||
27 | ac_fs_backslash_is_file_name_separator=1 | ||
28 | AC_CACHE_CHECK([whether drive letter can start relative path], | ||
29 | [ac_cv_drive_letter_can_be_relative], | ||
30 | [ | ||
31 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[ | ||
32 | #if defined __CYGWIN__ | ||
33 | drive letters are always absolute | ||
34 | #endif]])], | ||
35 | [ac_cv_drive_letter_can_be_relative=yes], | ||
36 | [ac_cv_drive_letter_can_be_relative=no]) | ||
37 | ]) | ||
38 | if test x"$ac_cv_drive_letter_can_be_relative" = xyes; then | ||
39 | ac_fs_drive_letter_can_be_relative=1 | ||
40 | else | ||
41 | ac_fs_drive_letter_can_be_relative=0 | ||
42 | fi | ||
43 | else | ||
44 | ac_fs_accepts_drive_letter_prefix=0 | ||
45 | ac_fs_backslash_is_file_name_separator=0 | ||
46 | ac_fs_drive_letter_can_be_relative=0 | ||
47 | fi | ||
48 | |||
49 | AC_DEFINE_UNQUOTED([FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX], | ||
50 | $ac_fs_accepts_drive_letter_prefix, | ||
51 | [Define on systems for which file names may have a so-called | ||
52 | `drive letter' prefix, define this to compute the length of that | ||
53 | prefix, including the colon.]) | ||
54 | |||
55 | AH_VERBATIM(ISSLASH, | ||
56 | [#if FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR | ||
57 | # define ISSLASH(C) ((C) == '/' || (C) == '\\') | ||
58 | #else | ||
59 | # define ISSLASH(C) ((C) == '/') | ||
60 | #endif]) | ||
61 | |||
62 | AC_DEFINE_UNQUOTED([FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR], | ||
63 | $ac_fs_backslash_is_file_name_separator, | ||
64 | [Define if the backslash character may also serve as a file name | ||
65 | component separator.]) | ||
66 | |||
67 | AC_DEFINE_UNQUOTED([FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE], | ||
68 | $ac_fs_drive_letter_can_be_relative, | ||
69 | [Define if a drive letter prefix denotes a relative path if it is | ||
70 | not followed by a file name component separator.]) | ||
71 | ]) | ||
diff --git a/gl/m4/double-slash-root.m4 b/gl/m4/double-slash-root.m4 index 66a79c0f..bd6f8671 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 4 -*- Autoconf -*- | 1 | # double-slash-root.m4 serial 4 -*- Autoconf -*- |
2 | dnl Copyright (C) 2006, 2008-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2006, 2008-2013 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. |
diff --git a/gl/m4/dup2.m4 b/gl/m4/dup2.m4 deleted file mode 100644 index 998d66f8..00000000 --- a/gl/m4/dup2.m4 +++ /dev/null | |||
@@ -1,58 +0,0 @@ | |||
1 | #serial 10 | ||
2 | dnl Copyright (C) 2002, 2005, 2007, 2009-2010 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_DUP2], | ||
8 | [ | ||
9 | AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) | ||
10 | AC_REQUIRE([AC_CANONICAL_HOST]) | ||
11 | AC_CHECK_FUNCS_ONCE([dup2]) | ||
12 | if test $ac_cv_func_dup2 = no; then | ||
13 | HAVE_DUP2=0 | ||
14 | AC_LIBOBJ([dup2]) | ||
15 | else | ||
16 | AC_CACHE_CHECK([whether dup2 works], [gl_cv_func_dup2_works], | ||
17 | [AC_RUN_IFELSE([ | ||
18 | AC_LANG_PROGRAM([[#include <unistd.h> | ||
19 | #include <errno.h>]], | ||
20 | [if (dup2 (1, 1) == 0) | ||
21 | return 1; | ||
22 | close (0); | ||
23 | if (dup2 (0, 0) != -1) | ||
24 | return 2; | ||
25 | /* Many gnulib modules require POSIX conformance of EBADF. */ | ||
26 | if (dup2 (1, 1000000) == -1 && errno != EBADF) | ||
27 | return 3; | ||
28 | return 0; | ||
29 | ]) | ||
30 | ], | ||
31 | [gl_cv_func_dup2_works=yes], [gl_cv_func_dup2_works=no], | ||
32 | [case "$host_os" in | ||
33 | mingw*) # on this platform, dup2 always returns 0 for success | ||
34 | gl_cv_func_dup2_works=no;; | ||
35 | cygwin*) # on cygwin 1.5.x, dup2(1,1) returns 0 | ||
36 | gl_cv_func_dup2_works=no;; | ||
37 | linux*) # On linux between 2008-07-27 and 2009-05-11, dup2 of a | ||
38 | # closed fd may yield -EBADF instead of -1 / errno=EBADF. | ||
39 | gl_cv_func_dup2_works=no;; | ||
40 | freebsd*) # on FreeBSD 6.1, dup2(1,1000000) gives EMFILE, not EBADF. | ||
41 | gl_cv_func_dup2_works=no;; | ||
42 | *) gl_cv_func_dup2_works=yes;; | ||
43 | esac]) | ||
44 | ]) | ||
45 | if test "$gl_cv_func_dup2_works" = no; then | ||
46 | gl_REPLACE_DUP2 | ||
47 | fi | ||
48 | fi | ||
49 | ]) | ||
50 | |||
51 | AC_DEFUN([gl_REPLACE_DUP2], | ||
52 | [ | ||
53 | AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) | ||
54 | if test $ac_cv_func_dup2 = yes; then | ||
55 | REPLACE_DUP2=1 | ||
56 | fi | ||
57 | AC_LIBOBJ([dup2]) | ||
58 | ]) | ||
diff --git a/gl/m4/eealloc.m4 b/gl/m4/eealloc.m4 index 63dd9202..c640ec12 100644 --- a/gl/m4/eealloc.m4 +++ b/gl/m4/eealloc.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # eealloc.m4 serial 2 | 1 | # eealloc.m4 serial 3 |
2 | dnl Copyright (C) 2003, 2009, 2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2003, 2009-2013 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,6 @@ AC_DEFUN([gl_EEALLOC], | |||
8 | [ | 8 | [ |
9 | AC_REQUIRE([gl_EEMALLOC]) | 9 | AC_REQUIRE([gl_EEMALLOC]) |
10 | AC_REQUIRE([gl_EEREALLOC]) | 10 | AC_REQUIRE([gl_EEREALLOC]) |
11 | AC_REQUIRE([AC_C_INLINE]) | ||
12 | ]) | 11 | ]) |
13 | 12 | ||
14 | AC_DEFUN([gl_EEMALLOC], | 13 | AC_DEFUN([gl_EEMALLOC], |
diff --git a/gl/m4/environ.m4 b/gl/m4/environ.m4 index 4c6849a3..593a33ed 100644 --- a/gl/m4/environ.m4 +++ b/gl/m4/environ.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # environ.m4 serial 4 | 1 | # environ.m4 serial 6 |
2 | dnl Copyright (C) 2001-2004, 2006-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2001-2004, 2006-2013 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,16 @@ AC_DEFUN_ONCE([gl_ENVIRON], | |||
9 | AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) | 9 | AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) |
10 | dnl Persuade glibc <unistd.h> to declare environ. | 10 | dnl Persuade glibc <unistd.h> to declare environ. |
11 | AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) | 11 | AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) |
12 | gt_CHECK_VAR_DECL([#include <unistd.h>], environ) | 12 | |
13 | AC_CHECK_HEADERS_ONCE([unistd.h]) | ||
14 | gt_CHECK_VAR_DECL( | ||
15 | [#if HAVE_UNISTD_H | ||
16 | #include <unistd.h> | ||
17 | #endif | ||
18 | /* mingw, BeOS, Haiku declare environ in <stdlib.h>, not in <unistd.h>. */ | ||
19 | #include <stdlib.h> | ||
20 | ], | ||
21 | [environ]) | ||
13 | if test $gt_cv_var_environ_declaration != yes; then | 22 | if test $gt_cv_var_environ_declaration != yes; then |
14 | HAVE_DECL_ENVIRON=0 | 23 | HAVE_DECL_ENVIRON=0 |
15 | fi | 24 | fi |
@@ -22,11 +31,13 @@ AC_DEFUN([gt_CHECK_VAR_DECL], | |||
22 | define([gt_cv_var], [gt_cv_var_]$2[_declaration]) | 31 | define([gt_cv_var], [gt_cv_var_]$2[_declaration]) |
23 | AC_MSG_CHECKING([if $2 is properly declared]) | 32 | AC_MSG_CHECKING([if $2 is properly declared]) |
24 | AC_CACHE_VAL([gt_cv_var], [ | 33 | AC_CACHE_VAL([gt_cv_var], [ |
25 | AC_TRY_COMPILE([$1 | 34 | AC_COMPILE_IFELSE( |
26 | extern struct { int foo; } $2;], | 35 | [AC_LANG_PROGRAM( |
27 | [$2.foo = 1;], | 36 | [[$1 |
28 | gt_cv_var=no, | 37 | extern struct { int foo; } $2;]], |
29 | gt_cv_var=yes)]) | 38 | [[$2.foo = 1;]])], |
39 | [gt_cv_var=no], | ||
40 | [gt_cv_var=yes])]) | ||
30 | AC_MSG_RESULT([$gt_cv_var]) | 41 | AC_MSG_RESULT([$gt_cv_var]) |
31 | if test $gt_cv_var = yes; then | 42 | if test $gt_cv_var = yes; then |
32 | AC_DEFINE([HAVE_]m4_translit($2, [a-z], [A-Z])[_DECL], 1, | 43 | AC_DEFINE([HAVE_]m4_translit($2, [a-z], [A-Z])[_DECL], 1, |
diff --git a/gl/m4/errno_h.m4 b/gl/m4/errno_h.m4 index d02a0393..c813ea58 100644 --- a/gl/m4/errno_h.m4 +++ b/gl/m4/errno_h.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # errno_h.m4 serial 6 | 1 | # errno_h.m4 serial 12 |
2 | dnl Copyright (C) 2004, 2006, 2008, 2009, 2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2004, 2006, 2008-2013 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,6 +10,9 @@ AC_DEFUN_ONCE([gl_HEADER_ERRNO_H], | |||
10 | AC_CACHE_CHECK([for complete errno.h], [gl_cv_header_errno_h_complete], [ | 10 | AC_CACHE_CHECK([for complete errno.h], [gl_cv_header_errno_h_complete], [ |
11 | AC_EGREP_CPP([booboo],[ | 11 | AC_EGREP_CPP([booboo],[ |
12 | #include <errno.h> | 12 | #include <errno.h> |
13 | #if !defined ETXTBSY | ||
14 | booboo | ||
15 | #endif | ||
13 | #if !defined ENOMSG | 16 | #if !defined ENOMSG |
14 | booboo | 17 | booboo |
15 | #endif | 18 | #endif |
@@ -34,12 +37,30 @@ booboo | |||
34 | #if !defined ENOTSUP | 37 | #if !defined ENOTSUP |
35 | booboo | 38 | booboo |
36 | #endif | 39 | #endif |
40 | #if !defined ENETRESET | ||
41 | booboo | ||
42 | #endif | ||
43 | #if !defined ECONNABORTED | ||
44 | booboo | ||
45 | #endif | ||
37 | #if !defined ESTALE | 46 | #if !defined ESTALE |
38 | booboo | 47 | booboo |
39 | #endif | 48 | #endif |
49 | #if !defined EDQUOT | ||
50 | booboo | ||
51 | #endif | ||
40 | #if !defined ECANCELED | 52 | #if !defined ECANCELED |
41 | booboo | 53 | booboo |
42 | #endif | 54 | #endif |
55 | #if !defined EOWNERDEAD | ||
56 | booboo | ||
57 | #endif | ||
58 | #if !defined ENOTRECOVERABLE | ||
59 | booboo | ||
60 | #endif | ||
61 | #if !defined EILSEQ | ||
62 | booboo | ||
63 | #endif | ||
43 | ], | 64 | ], |
44 | [gl_cv_header_errno_h_complete=no], | 65 | [gl_cv_header_errno_h_complete=no], |
45 | [gl_cv_header_errno_h_complete=yes]) | 66 | [gl_cv_header_errno_h_complete=yes]) |
@@ -47,10 +68,11 @@ booboo | |||
47 | if test $gl_cv_header_errno_h_complete = yes; then | 68 | if test $gl_cv_header_errno_h_complete = yes; then |
48 | ERRNO_H='' | 69 | ERRNO_H='' |
49 | else | 70 | else |
50 | gl_CHECK_NEXT_HEADERS([errno.h]) | 71 | gl_NEXT_HEADERS([errno.h]) |
51 | ERRNO_H='errno.h' | 72 | ERRNO_H='errno.h' |
52 | fi | 73 | fi |
53 | AC_SUBST([ERRNO_H]) | 74 | AC_SUBST([ERRNO_H]) |
75 | AM_CONDITIONAL([GL_GENERATE_ERRNO_H], [test -n "$ERRNO_H"]) | ||
54 | gl_REPLACE_ERRNO_VALUE([EMULTIHOP]) | 76 | gl_REPLACE_ERRNO_VALUE([EMULTIHOP]) |
55 | gl_REPLACE_ERRNO_VALUE([ENOLINK]) | 77 | gl_REPLACE_ERRNO_VALUE([ENOLINK]) |
56 | gl_REPLACE_ERRNO_VALUE([EOVERFLOW]) | 78 | gl_REPLACE_ERRNO_VALUE([EOVERFLOW]) |
diff --git a/gl/m4/error.m4 b/gl/m4/error.m4 index 9f1307a4..29e6fdc9 100644 --- a/gl/m4/error.m4 +++ b/gl/m4/error.m4 | |||
@@ -1,6 +1,6 @@ | |||
1 | #serial 12 | 1 | #serial 14 |
2 | 2 | ||
3 | # Copyright (C) 1996-1998, 2001-2004, 2009-2010 Free Software Foundation, Inc. | 3 | # Copyright (C) 1996-1998, 2001-2004, 2009-2013 Free Software Foundation, Inc. |
4 | # | 4 | # |
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, |
@@ -8,15 +8,20 @@ | |||
8 | 8 | ||
9 | AC_DEFUN([gl_ERROR], | 9 | AC_DEFUN([gl_ERROR], |
10 | [ | 10 | [ |
11 | AC_FUNC_ERROR_AT_LINE | 11 | dnl We don't use AC_FUNC_ERROR_AT_LINE any more, because it is no longer |
12 | dnl Note: AC_FUNC_ERROR_AT_LINE does AC_LIBSOURCES([error.h, error.c]). | 12 | dnl maintained in Autoconf and because it invokes AC_LIBOBJ. |
13 | gl_PREREQ_ERROR | 13 | AC_CACHE_CHECK([for error_at_line], [ac_cv_lib_error_at_line], |
14 | [AC_LINK_IFELSE( | ||
15 | [AC_LANG_PROGRAM( | ||
16 | [[#include <error.h>]], | ||
17 | [[error_at_line (0, 0, "", 0, "an error occurred");]])], | ||
18 | [ac_cv_lib_error_at_line=yes], | ||
19 | [ac_cv_lib_error_at_line=no])]) | ||
14 | ]) | 20 | ]) |
15 | 21 | ||
16 | # Prerequisites of lib/error.c. | 22 | # Prerequisites of lib/error.c. |
17 | AC_DEFUN([gl_PREREQ_ERROR], | 23 | AC_DEFUN([gl_PREREQ_ERROR], |
18 | [ | 24 | [ |
19 | AC_REQUIRE([AC_FUNC_STRERROR_R]) | 25 | AC_REQUIRE([AC_FUNC_STRERROR_R]) |
20 | AC_REQUIRE([AC_C_INLINE]) | ||
21 | : | 26 | : |
22 | ]) | 27 | ]) |
diff --git a/gl/m4/exponentd.m4 b/gl/m4/exponentd.m4 new file mode 100644 index 00000000..09df468c --- /dev/null +++ b/gl/m4/exponentd.m4 | |||
@@ -0,0 +1,116 @@ | |||
1 | # exponentd.m4 serial 3 | ||
2 | dnl Copyright (C) 2007-2008, 2010-2013 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 | AC_DEFUN([gl_DOUBLE_EXPONENT_LOCATION], | ||
7 | [ | ||
8 | AC_CACHE_CHECK([where to find the exponent in a 'double'], | ||
9 | [gl_cv_cc_double_expbit0], | ||
10 | [ | ||
11 | AC_RUN_IFELSE( | ||
12 | [AC_LANG_SOURCE([[ | ||
13 | #include <float.h> | ||
14 | #include <stddef.h> | ||
15 | #include <stdio.h> | ||
16 | #include <string.h> | ||
17 | #define NWORDS \ | ||
18 | ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) | ||
19 | typedef union { double value; unsigned int word[NWORDS]; } memory_double; | ||
20 | static unsigned int ored_words[NWORDS]; | ||
21 | static unsigned int anded_words[NWORDS]; | ||
22 | static void add_to_ored_words (double x) | ||
23 | { | ||
24 | memory_double m; | ||
25 | size_t i; | ||
26 | /* Clear it first, in case sizeof (double) < sizeof (memory_double). */ | ||
27 | memset (&m, 0, sizeof (memory_double)); | ||
28 | m.value = x; | ||
29 | for (i = 0; i < NWORDS; i++) | ||
30 | { | ||
31 | ored_words[i] |= m.word[i]; | ||
32 | anded_words[i] &= m.word[i]; | ||
33 | } | ||
34 | } | ||
35 | int main () | ||
36 | { | ||
37 | size_t j; | ||
38 | FILE *fp = fopen ("conftest.out", "w"); | ||
39 | if (fp == NULL) | ||
40 | return 1; | ||
41 | for (j = 0; j < NWORDS; j++) | ||
42 | anded_words[j] = ~ (unsigned int) 0; | ||
43 | add_to_ored_words (0.25); | ||
44 | add_to_ored_words (0.5); | ||
45 | add_to_ored_words (1.0); | ||
46 | add_to_ored_words (2.0); | ||
47 | add_to_ored_words (4.0); | ||
48 | /* Remove bits that are common (e.g. if representation of the first mantissa | ||
49 | bit is explicit). */ | ||
50 | for (j = 0; j < NWORDS; j++) | ||
51 | ored_words[j] &= ~anded_words[j]; | ||
52 | /* Now find the nonzero word. */ | ||
53 | for (j = 0; j < NWORDS; j++) | ||
54 | if (ored_words[j] != 0) | ||
55 | break; | ||
56 | if (j < NWORDS) | ||
57 | { | ||
58 | size_t i; | ||
59 | for (i = j + 1; i < NWORDS; i++) | ||
60 | if (ored_words[i] != 0) | ||
61 | { | ||
62 | fprintf (fp, "unknown"); | ||
63 | return (fclose (fp) != 0); | ||
64 | } | ||
65 | for (i = 0; ; i++) | ||
66 | if ((ored_words[j] >> i) & 1) | ||
67 | { | ||
68 | fprintf (fp, "word %d bit %d", (int) j, (int) i); | ||
69 | return (fclose (fp) != 0); | ||
70 | } | ||
71 | } | ||
72 | fprintf (fp, "unknown"); | ||
73 | return (fclose (fp) != 0); | ||
74 | } | ||
75 | ]])], | ||
76 | [gl_cv_cc_double_expbit0=`cat conftest.out`], | ||
77 | [gl_cv_cc_double_expbit0="unknown"], | ||
78 | [ | ||
79 | dnl On ARM, there are two 'double' floating-point formats, used by | ||
80 | dnl different sets of instructions: The older FPA instructions assume | ||
81 | dnl that they are stored in big-endian word order, while the words | ||
82 | dnl (like integer types) are stored in little-endian byte order. | ||
83 | dnl The newer VFP instructions assume little-endian order | ||
84 | dnl consistently. | ||
85 | AC_EGREP_CPP([mixed_endianness], [ | ||
86 | #if defined arm || defined __arm || defined __arm__ | ||
87 | mixed_endianness | ||
88 | #endif | ||
89 | ], | ||
90 | [gl_cv_cc_double_expbit0="unknown"], | ||
91 | [ | ||
92 | pushdef([AC_MSG_CHECKING],[:])dnl | ||
93 | pushdef([AC_MSG_RESULT],[:])dnl | ||
94 | pushdef([AC_MSG_RESULT_UNQUOTED],[:])dnl | ||
95 | AC_C_BIGENDIAN( | ||
96 | [gl_cv_cc_double_expbit0="word 0 bit 20"], | ||
97 | [gl_cv_cc_double_expbit0="word 1 bit 20"], | ||
98 | [gl_cv_cc_double_expbit0="unknown"]) | ||
99 | popdef([AC_MSG_RESULT_UNQUOTED])dnl | ||
100 | popdef([AC_MSG_RESULT])dnl | ||
101 | popdef([AC_MSG_CHECKING])dnl | ||
102 | ]) | ||
103 | ]) | ||
104 | rm -f conftest.out | ||
105 | ]) | ||
106 | case "$gl_cv_cc_double_expbit0" in | ||
107 | word*bit*) | ||
108 | word=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'` | ||
109 | bit=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word.*bit //'` | ||
110 | AC_DEFINE_UNQUOTED([DBL_EXPBIT0_WORD], [$word], | ||
111 | [Define as the word index where to find the exponent of 'double'.]) | ||
112 | AC_DEFINE_UNQUOTED([DBL_EXPBIT0_BIT], [$bit], | ||
113 | [Define as the bit index in the word where to find bit 0 of the exponent of 'double'.]) | ||
114 | ;; | ||
115 | esac | ||
116 | ]) | ||
diff --git a/gl/m4/extensions.m4 b/gl/m4/extensions.m4 index 7d9458a8..e30f1220 100644 --- a/gl/m4/extensions.m4 +++ b/gl/m4/extensions.m4 | |||
@@ -1,14 +1,14 @@ | |||
1 | # serial 9 -*- Autoconf -*- | 1 | # serial 13 -*- 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-2010 Free Software Foundation, Inc. | 4 | # Copyright (C) 2003, 2006-2013 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. |
8 | 8 | ||
9 | # This definition of AC_USE_SYSTEM_EXTENSIONS is stolen from CVS | 9 | # This definition of AC_USE_SYSTEM_EXTENSIONS is stolen from git |
10 | # Autoconf. Perhaps we can remove this once we can assume Autoconf | 10 | # Autoconf. Perhaps we can remove this once we can assume Autoconf |
11 | # 2.62 or later everywhere, but since CVS Autoconf mutates rapidly | 11 | # 2.70 or later everywhere, but since Autoconf mutates rapidly |
12 | # enough in this area it's likely we'll need to redefine | 12 | # enough in this area it's likely we'll need to redefine |
13 | # AC_USE_SYSTEM_EXTENSIONS for quite some time. | 13 | # AC_USE_SYSTEM_EXTENSIONS for quite some time. |
14 | 14 | ||
@@ -30,6 +30,7 @@ | |||
30 | # ------------------------ | 30 | # ------------------------ |
31 | # Enable extensions on systems that normally disable them, | 31 | # Enable extensions on systems that normally disable them, |
32 | # typically due to standards-conformance issues. | 32 | # typically due to standards-conformance issues. |
33 | # | ||
33 | # Remember that #undef in AH_VERBATIM gets replaced with #define by | 34 | # Remember that #undef in AH_VERBATIM gets replaced with #define by |
34 | # AC_DEFINE. The goal here is to define all known feature-enabling | 35 | # AC_DEFINE. The goal here is to define all known feature-enabling |
35 | # macros, then, if reports of conflicts are made, disable macros that | 36 | # macros, then, if reports of conflicts are made, disable macros that |
@@ -38,35 +39,31 @@ AC_DEFUN_ONCE([AC_USE_SYSTEM_EXTENSIONS], | |||
38 | [AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl | 39 | [AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl |
39 | AC_BEFORE([$0], [AC_RUN_IFELSE])dnl | 40 | AC_BEFORE([$0], [AC_RUN_IFELSE])dnl |
40 | 41 | ||
41 | AC_REQUIRE([AC_CANONICAL_HOST]) | ||
42 | |||
43 | AC_CHECK_HEADER([minix/config.h], [MINIX=yes], [MINIX=]) | 42 | AC_CHECK_HEADER([minix/config.h], [MINIX=yes], [MINIX=]) |
44 | if test "$MINIX" = yes; then | 43 | if test "$MINIX" = yes; then |
45 | AC_DEFINE([_POSIX_SOURCE], [1], | 44 | AC_DEFINE([_POSIX_SOURCE], [1], |
46 | [Define to 1 if you need to in order for `stat' and other | 45 | [Define to 1 if you need to in order for 'stat' and other |
47 | things to work.]) | 46 | things to work.]) |
48 | AC_DEFINE([_POSIX_1_SOURCE], [2], | 47 | AC_DEFINE([_POSIX_1_SOURCE], [2], |
49 | [Define to 2 if the system does not provide POSIX.1 features | 48 | [Define to 2 if the system does not provide POSIX.1 features |
50 | except with this defined.]) | 49 | except with this defined.]) |
51 | AC_DEFINE([_MINIX], [1], | 50 | AC_DEFINE([_MINIX], [1], |
52 | [Define to 1 if on MINIX.]) | 51 | [Define to 1 if on MINIX.]) |
52 | AC_DEFINE([_NETBSD_SOURCE], [1], | ||
53 | [Define to 1 to make NetBSD features available. MINIX 3 needs this.]) | ||
53 | fi | 54 | fi |
54 | 55 | ||
55 | dnl HP-UX 11.11 defines mbstate_t only if _XOPEN_SOURCE is defined to 500, | 56 | dnl Use a different key than __EXTENSIONS__, as that name broke existing |
56 | dnl regardless of whether the flags -Ae or _D_HPUX_SOURCE=1 are already | 57 | dnl configure.ac when using autoheader 2.62. |
57 | dnl provided. | 58 | AH_VERBATIM([USE_SYSTEM_EXTENSIONS], |
58 | case "$host_os" in | ||
59 | hpux*) | ||
60 | AC_DEFINE([_XOPEN_SOURCE], [500], | ||
61 | [Define to 500 only on HP-UX.]) | ||
62 | ;; | ||
63 | esac | ||
64 | |||
65 | AH_VERBATIM([__EXTENSIONS__], | ||
66 | [/* Enable extensions on AIX 3, Interix. */ | 59 | [/* Enable extensions on AIX 3, Interix. */ |
67 | #ifndef _ALL_SOURCE | 60 | #ifndef _ALL_SOURCE |
68 | # undef _ALL_SOURCE | 61 | # undef _ALL_SOURCE |
69 | #endif | 62 | #endif |
63 | /* Enable general extensions on OS X. */ | ||
64 | #ifndef _DARWIN_C_SOURCE | ||
65 | # undef _DARWIN_C_SOURCE | ||
66 | #endif | ||
70 | /* Enable GNU extensions on systems that have them. */ | 67 | /* Enable GNU extensions on systems that have them. */ |
71 | #ifndef _GNU_SOURCE | 68 | #ifndef _GNU_SOURCE |
72 | # undef _GNU_SOURCE | 69 | # undef _GNU_SOURCE |
@@ -79,6 +76,12 @@ AC_BEFORE([$0], [AC_RUN_IFELSE])dnl | |||
79 | #ifndef _TANDEM_SOURCE | 76 | #ifndef _TANDEM_SOURCE |
80 | # undef _TANDEM_SOURCE | 77 | # undef _TANDEM_SOURCE |
81 | #endif | 78 | #endif |
79 | /* Enable X/Open extensions if necessary. HP-UX 11.11 defines | ||
80 | mbstate_t only if _XOPEN_SOURCE is defined to 500, regardless of | ||
81 | whether compiling with -Ae or -D_HPUX_SOURCE=1. */ | ||
82 | #ifndef _XOPEN_SOURCE | ||
83 | # undef _XOPEN_SOURCE | ||
84 | #endif | ||
82 | /* Enable general extensions on Solaris. */ | 85 | /* Enable general extensions on Solaris. */ |
83 | #ifndef __EXTENSIONS__ | 86 | #ifndef __EXTENSIONS__ |
84 | # undef __EXTENSIONS__ | 87 | # undef __EXTENSIONS__ |
@@ -95,9 +98,26 @@ AC_BEFORE([$0], [AC_RUN_IFELSE])dnl | |||
95 | test $ac_cv_safe_to_define___extensions__ = yes && | 98 | test $ac_cv_safe_to_define___extensions__ = yes && |
96 | AC_DEFINE([__EXTENSIONS__]) | 99 | AC_DEFINE([__EXTENSIONS__]) |
97 | AC_DEFINE([_ALL_SOURCE]) | 100 | AC_DEFINE([_ALL_SOURCE]) |
101 | AC_DEFINE([_DARWIN_C_SOURCE]) | ||
98 | AC_DEFINE([_GNU_SOURCE]) | 102 | AC_DEFINE([_GNU_SOURCE]) |
99 | AC_DEFINE([_POSIX_PTHREAD_SEMANTICS]) | 103 | AC_DEFINE([_POSIX_PTHREAD_SEMANTICS]) |
100 | AC_DEFINE([_TANDEM_SOURCE]) | 104 | AC_DEFINE([_TANDEM_SOURCE]) |
105 | AC_CACHE_CHECK([whether _XOPEN_SOURCE should be defined], | ||
106 | [ac_cv_should_define__xopen_source], | ||
107 | [ac_cv_should_define__xopen_source=no | ||
108 | AC_COMPILE_IFELSE( | ||
109 | [AC_LANG_PROGRAM([[ | ||
110 | #include <wchar.h> | ||
111 | mbstate_t x;]])], | ||
112 | [], | ||
113 | [AC_COMPILE_IFELSE( | ||
114 | [AC_LANG_PROGRAM([[ | ||
115 | #define _XOPEN_SOURCE 500 | ||
116 | #include <wchar.h> | ||
117 | mbstate_t x;]])], | ||
118 | [ac_cv_should_define__xopen_source=yes])])]) | ||
119 | test $ac_cv_should_define__xopen_source = yes && | ||
120 | AC_DEFINE([_XOPEN_SOURCE], [500]) | ||
101 | ])# AC_USE_SYSTEM_EXTENSIONS | 121 | ])# AC_USE_SYSTEM_EXTENSIONS |
102 | 122 | ||
103 | # gl_USE_SYSTEM_EXTENSIONS | 123 | # gl_USE_SYSTEM_EXTENSIONS |
diff --git a/gl/m4/extern-inline.m4 b/gl/m4/extern-inline.m4 new file mode 100644 index 00000000..c4c5e7f2 --- /dev/null +++ b/gl/m4/extern-inline.m4 | |||
@@ -0,0 +1,70 @@ | |||
1 | dnl 'extern inline' a la ISO C99. | ||
2 | |||
3 | dnl Copyright 2012-2013 Free Software Foundation, Inc. | ||
4 | dnl This file is free software; the Free Software Foundation | ||
5 | dnl gives unlimited permission to copy and/or distribute it, | ||
6 | dnl with or without modifications, as long as this notice is preserved. | ||
7 | |||
8 | AC_DEFUN([gl_EXTERN_INLINE], | ||
9 | [ | ||
10 | AH_VERBATIM([extern_inline], | ||
11 | [/* Please see the Gnulib manual for how to use these macros. | ||
12 | |||
13 | Suppress extern inline with HP-UX cc, as it appears to be broken; see | ||
14 | <http://lists.gnu.org/archive/html/bug-texinfo/2013-02/msg00030.html>. | ||
15 | |||
16 | Suppress extern inline with Sun C in standards-conformance mode, as it | ||
17 | mishandles inline functions that call each other. E.g., for 'inline void f | ||
18 | (void) { } inline void g (void) { f (); }', c99 incorrectly complains | ||
19 | 'reference to static identifier "f" in extern inline function'. | ||
20 | This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16. | ||
21 | |||
22 | Suppress the use of extern inline on Apple's platforms, as Libc at least | ||
23 | through Libc-825.26 (2013-04-09) is incompatible with it; see, e.g., | ||
24 | <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>. | ||
25 | Perhaps Apple will fix this some day. */ | ||
26 | #if ((__GNUC__ \ | ||
27 | ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \ | ||
28 | : (199901L <= __STDC_VERSION__ \ | ||
29 | && !defined __HP_cc \ | ||
30 | && !(defined __SUNPRO_C && __STDC__))) \ | ||
31 | && !defined __APPLE__) | ||
32 | # define _GL_INLINE inline | ||
33 | # define _GL_EXTERN_INLINE extern inline | ||
34 | #elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \ | ||
35 | && !defined __APPLE__) | ||
36 | # if __GNUC_GNU_INLINE__ | ||
37 | /* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */ | ||
38 | # define _GL_INLINE extern inline __attribute__ ((__gnu_inline__)) | ||
39 | # else | ||
40 | # define _GL_INLINE extern inline | ||
41 | # endif | ||
42 | # define _GL_EXTERN_INLINE extern | ||
43 | #else | ||
44 | # define _GL_INLINE static _GL_UNUSED | ||
45 | # define _GL_EXTERN_INLINE static _GL_UNUSED | ||
46 | #endif | ||
47 | |||
48 | #if 4 < __GNUC__ + (6 <= __GNUC_MINOR__) | ||
49 | # if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ | ||
50 | # define _GL_INLINE_HEADER_CONST_PRAGMA | ||
51 | # else | ||
52 | # define _GL_INLINE_HEADER_CONST_PRAGMA \ | ||
53 | _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"") | ||
54 | # endif | ||
55 | /* Suppress GCC's bogus "no previous prototype for 'FOO'" | ||
56 | and "no previous declaration for 'FOO'" diagnostics, | ||
57 | when FOO is an inline function in the header; see | ||
58 | <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113>. */ | ||
59 | # define _GL_INLINE_HEADER_BEGIN \ | ||
60 | _Pragma ("GCC diagnostic push") \ | ||
61 | _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \ | ||
62 | _Pragma ("GCC diagnostic ignored \"-Wmissing-declarations\"") \ | ||
63 | _GL_INLINE_HEADER_CONST_PRAGMA | ||
64 | # define _GL_INLINE_HEADER_END \ | ||
65 | _Pragma ("GCC diagnostic pop") | ||
66 | #else | ||
67 | # define _GL_INLINE_HEADER_BEGIN | ||
68 | # define _GL_INLINE_HEADER_END | ||
69 | #endif]) | ||
70 | ]) | ||
diff --git a/gl/m4/fcntl-o.m4 b/gl/m4/fcntl-o.m4 index 1adacc8a..87cc4bd2 100644 --- a/gl/m4/fcntl-o.m4 +++ b/gl/m4/fcntl-o.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # fcntl-o.m4 serial 2 | 1 | # fcntl-o.m4 serial 4 |
2 | dnl Copyright (C) 2006, 2009-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2006, 2009-2013 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,12 +17,21 @@ AC_DEFUN([gl_FCNTL_O_FLAGS], | |||
17 | m4_ifdef([AC_USE_SYSTEM_EXTENSIONS], | 17 | m4_ifdef([AC_USE_SYSTEM_EXTENSIONS], |
18 | [AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])], | 18 | [AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])], |
19 | [AC_REQUIRE([AC_GNU_SOURCE])]) | 19 | [AC_REQUIRE([AC_GNU_SOURCE])]) |
20 | |||
21 | AC_CHECK_HEADERS_ONCE([unistd.h]) | ||
22 | AC_CHECK_FUNCS_ONCE([symlink]) | ||
20 | AC_CACHE_CHECK([for working fcntl.h], [gl_cv_header_working_fcntl_h], | 23 | AC_CACHE_CHECK([for working fcntl.h], [gl_cv_header_working_fcntl_h], |
21 | [AC_RUN_IFELSE( | 24 | [AC_RUN_IFELSE( |
22 | [AC_LANG_PROGRAM( | 25 | [AC_LANG_PROGRAM( |
23 | [[#include <sys/types.h> | 26 | [[#include <sys/types.h> |
24 | #include <sys/stat.h> | 27 | #include <sys/stat.h> |
25 | #include <unistd.h> | 28 | #if HAVE_UNISTD_H |
29 | # include <unistd.h> | ||
30 | #else /* on Windows with MSVC */ | ||
31 | # include <io.h> | ||
32 | # include <stdlib.h> | ||
33 | # defined sleep(n) _sleep ((n) * 1000) | ||
34 | #endif | ||
26 | #include <fcntl.h> | 35 | #include <fcntl.h> |
27 | #ifndef O_NOATIME | 36 | #ifndef O_NOATIME |
28 | #define O_NOATIME 0 | 37 | #define O_NOATIME 0 |
@@ -37,34 +46,74 @@ AC_DEFUN([gl_FCNTL_O_FLAGS], | |||
37 | }; | 46 | }; |
38 | ]], | 47 | ]], |
39 | [[ | 48 | [[ |
40 | int status = !constants; | 49 | int result = !constants; |
50 | #if HAVE_SYMLINK | ||
41 | { | 51 | { |
42 | static char const sym[] = "conftest.sym"; | 52 | static char const sym[] = "conftest.sym"; |
43 | if (symlink (".", sym) != 0 | 53 | if (symlink ("/dev/null", sym) != 0) |
44 | || close (open (sym, O_RDONLY | O_NOFOLLOW)) == 0) | 54 | result |= 2; |
45 | status |= 32; | 55 | else |
56 | { | ||
57 | int fd = open (sym, O_WRONLY | O_NOFOLLOW | O_CREAT, 0); | ||
58 | if (fd >= 0) | ||
59 | { | ||
60 | close (fd); | ||
61 | result |= 4; | ||
62 | } | ||
63 | } | ||
64 | if (unlink (sym) != 0 || symlink (".", sym) != 0) | ||
65 | result |= 2; | ||
66 | else | ||
67 | { | ||
68 | int fd = open (sym, O_RDONLY | O_NOFOLLOW); | ||
69 | if (fd >= 0) | ||
70 | { | ||
71 | close (fd); | ||
72 | result |= 4; | ||
73 | } | ||
74 | } | ||
46 | unlink (sym); | 75 | unlink (sym); |
47 | } | 76 | } |
77 | #endif | ||
48 | { | 78 | { |
49 | static char const file[] = "confdefs.h"; | 79 | static char const file[] = "confdefs.h"; |
50 | int fd = open (file, O_RDONLY | O_NOATIME); | 80 | int fd = open (file, O_RDONLY | O_NOATIME); |
51 | char c; | 81 | if (fd < 0) |
52 | struct stat st0, st1; | 82 | result |= 8; |
53 | if (fd < 0 | 83 | else |
54 | || fstat (fd, &st0) != 0 | 84 | { |
55 | || sleep (1) != 0 | 85 | struct stat st0; |
56 | || read (fd, &c, 1) != 1 | 86 | if (fstat (fd, &st0) != 0) |
57 | || close (fd) != 0 | 87 | result |= 16; |
58 | || stat (file, &st1) != 0 | 88 | else |
59 | || st0.st_atime != st1.st_atime) | 89 | { |
60 | status |= 64; | 90 | char c; |
91 | sleep (1); | ||
92 | if (read (fd, &c, 1) != 1) | ||
93 | result |= 24; | ||
94 | else | ||
95 | { | ||
96 | if (close (fd) != 0) | ||
97 | result |= 32; | ||
98 | else | ||
99 | { | ||
100 | struct stat st1; | ||
101 | if (stat (file, &st1) != 0) | ||
102 | result |= 40; | ||
103 | else | ||
104 | if (st0.st_atime != st1.st_atime) | ||
105 | result |= 64; | ||
106 | } | ||
107 | } | ||
108 | } | ||
109 | } | ||
61 | } | 110 | } |
62 | return status;]])], | 111 | return result;]])], |
63 | [gl_cv_header_working_fcntl_h=yes], | 112 | [gl_cv_header_working_fcntl_h=yes], |
64 | [case $? in #( | 113 | [case $? in #( |
65 | 32) gl_cv_header_working_fcntl_h='no (bad O_NOFOLLOW)';; #( | 114 | 4) gl_cv_header_working_fcntl_h='no (bad O_NOFOLLOW)';; #( |
66 | 64) gl_cv_header_working_fcntl_h='no (bad O_NOATIME)';; #( | 115 | 64) gl_cv_header_working_fcntl_h='no (bad O_NOATIME)';; #( |
67 | 96) gl_cv_header_working_fcntl_h='no (bad O_NOATIME, O_NOFOLLOW)';; #( | 116 | 68) gl_cv_header_working_fcntl_h='no (bad O_NOATIME, O_NOFOLLOW)';; #( |
68 | *) gl_cv_header_working_fcntl_h='no';; | 117 | *) gl_cv_header_working_fcntl_h='no';; |
69 | esac], | 118 | esac], |
70 | [gl_cv_header_working_fcntl_h=cross-compiling])]) | 119 | [gl_cv_header_working_fcntl_h=cross-compiling])]) |
diff --git a/gl/m4/fcntl-safer.m4 b/gl/m4/fcntl-safer.m4 deleted file mode 100644 index 1a739b09..00000000 --- a/gl/m4/fcntl-safer.m4 +++ /dev/null | |||
@@ -1,19 +0,0 @@ | |||
1 | #serial 7 | ||
2 | dnl Copyright (C) 2005-2007, 2009-2010 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_FCNTL_SAFER], | ||
8 | [ | ||
9 | AC_LIBOBJ([open-safer]) | ||
10 | AC_LIBOBJ([creat-safer]) | ||
11 | # Prerequisites of lib/open-safer.c. | ||
12 | AC_REQUIRE([gl_PROMOTED_TYPE_MODE_T]) | ||
13 | ]) | ||
14 | |||
15 | AC_DEFUN([gl_OPENAT_SAFER], | ||
16 | [ | ||
17 | AC_REQUIRE([gl_FCNTL_SAFER]) | ||
18 | AC_LIBOBJ([openat-safer]) | ||
19 | ]) | ||
diff --git a/gl/m4/fcntl.m4 b/gl/m4/fcntl.m4 deleted file mode 100644 index fcb5f447..00000000 --- a/gl/m4/fcntl.m4 +++ /dev/null | |||
@@ -1,83 +0,0 @@ | |||
1 | # fcntl.m4 serial 3 | ||
2 | dnl Copyright (C) 2009, 2010 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 | # For now, this module ensures that fcntl() | ||
8 | # - supports F_DUPFD correctly | ||
9 | # - supports or emulates F_DUPFD_CLOEXEC | ||
10 | # - supports F_GETFD | ||
11 | # Still to be ported to mingw: | ||
12 | # - F_SETFD | ||
13 | # - F_GETFL, F_SETFL | ||
14 | # - F_GETOWN, F_SETOWN | ||
15 | # - F_GETLK, F_SETLK, F_SETLKW | ||
16 | AC_DEFUN([gl_FUNC_FCNTL], | ||
17 | [ | ||
18 | dnl Persuade glibc to expose F_DUPFD_CLOEXEC. | ||
19 | AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) | ||
20 | AC_REQUIRE([gl_FCNTL_H_DEFAULTS]) | ||
21 | AC_REQUIRE([AC_CANONICAL_HOST]) | ||
22 | AC_CHECK_FUNCS_ONCE([fcntl]) | ||
23 | if test $ac_cv_func_fcntl = no; then | ||
24 | gl_REPLACE_FCNTL | ||
25 | else | ||
26 | dnl cygwin 1.5.x F_DUPFD has wrong errno, and allows negative target | ||
27 | AC_CACHE_CHECK([whether fcntl handles F_DUPFD correctly], | ||
28 | [gl_cv_func_fcntl_f_dupfd_works], | ||
29 | [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ | ||
30 | #include <fcntl.h> | ||
31 | ]], [[return fcntl (0, F_DUPFD, -1) != -1; | ||
32 | ]])], | ||
33 | [gl_cv_func_fcntl_f_dupfd_works=yes], | ||
34 | [gl_cv_func_fcntl_f_dupfd_works=no], | ||
35 | [# Guess that it works on glibc systems | ||
36 | case $host_os in #(( | ||
37 | *-gnu*) gl_cv_func_fcntl_f_dupfd_works="guessing yes";; | ||
38 | *) gl_cv_func_fcntl_f_dupfd_works="guessing no";; | ||
39 | esac])]) | ||
40 | case $gl_cv_func_fcntl_f_dupfd_works in | ||
41 | *yes) ;; | ||
42 | *) gl_REPLACE_FCNTL | ||
43 | AC_DEFINE([FCNTL_DUPFD_BUGGY], [1], [Define this to 1 if F_DUPFD | ||
44 | behavior does not match POSIX]) ;; | ||
45 | esac | ||
46 | |||
47 | dnl Many systems lack F_DUPFD_CLOEXEC | ||
48 | AC_CACHE_CHECK([whether fcntl understands F_DUPFD_CLOEXEC], | ||
49 | [gl_cv_func_fcntl_f_dupfd_cloexec], | ||
50 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | ||
51 | #include <fcntl.h> | ||
52 | #ifndef F_DUPFD_CLOEXEC | ||
53 | choke me | ||
54 | #endif | ||
55 | ]])], | ||
56 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | ||
57 | #ifdef __linux__ | ||
58 | /* The Linux kernel only added F_DUPFD_CLOEXEC in 2.6.24, so we always replace | ||
59 | it to support the semantics on older kernels that failed with EINVAL. */ | ||
60 | choke me | ||
61 | #endif | ||
62 | ]])], | ||
63 | [gl_cv_func_fcntl_f_dupfd_cloexec=yes], | ||
64 | [gl_cv_func_fcntl_f_dupfd_cloexec="needs runtime check"])], | ||
65 | [gl_cv_func_fcntl_f_dupfd_cloexec=no])]) | ||
66 | if test "$gl_cv_func_fcntl_f_dupfd_cloexec" != yes; then | ||
67 | gl_REPLACE_FCNTL | ||
68 | dnl No witness macro needed for this bug. | ||
69 | fi | ||
70 | fi | ||
71 | ]) | ||
72 | |||
73 | AC_DEFUN([gl_REPLACE_FCNTL], | ||
74 | [ | ||
75 | AC_REQUIRE([gl_FCNTL_H_DEFAULTS]) | ||
76 | AC_CHECK_FUNCS_ONCE([fcntl]) | ||
77 | if test $ac_cv_func_fcntl = no; then | ||
78 | HAVE_FCNTL=0 | ||
79 | else | ||
80 | REPLACE_FCNTL=1 | ||
81 | fi | ||
82 | AC_LIBOBJ([fcntl]) | ||
83 | ]) | ||
diff --git a/gl/m4/fcntl_h.m4 b/gl/m4/fcntl_h.m4 deleted file mode 100644 index e41915c3..00000000 --- a/gl/m4/fcntl_h.m4 +++ /dev/null | |||
@@ -1,43 +0,0 @@ | |||
1 | # serial 12 | ||
2 | # Configure fcntl.h. | ||
3 | dnl Copyright (C) 2006, 2007, 2009, 2010 Free Software Foundation, Inc. | ||
4 | dnl This file is free software; the Free Software Foundation | ||
5 | dnl gives unlimited permission to copy and/or distribute it, | ||
6 | dnl with or without modifications, as long as this notice is preserved. | ||
7 | |||
8 | dnl Written by Paul Eggert. | ||
9 | |||
10 | AC_DEFUN([gl_FCNTL_H], | ||
11 | [ | ||
12 | AC_REQUIRE([gl_FCNTL_H_DEFAULTS]) | ||
13 | AC_REQUIRE([gl_FCNTL_O_FLAGS]) | ||
14 | gl_CHECK_NEXT_HEADERS([fcntl.h]) | ||
15 | |||
16 | dnl Check for declarations of anything we want to poison if the | ||
17 | dnl corresponding gnulib module is not in use, if it is not common | ||
18 | dnl enough to be declared everywhere. | ||
19 | gl_WARN_ON_USE_PREPARE([[#include <fcntl.h> | ||
20 | ]], [fcntl openat]) | ||
21 | ]) | ||
22 | |||
23 | AC_DEFUN([gl_FCNTL_MODULE_INDICATOR], | ||
24 | [ | ||
25 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. | ||
26 | AC_REQUIRE([gl_FCNTL_H_DEFAULTS]) | ||
27 | gl_MODULE_INDICATOR_SET_VARIABLE([$1]) | ||
28 | dnl Define it also as a C macro, for the benefit of the unit tests. | ||
29 | gl_MODULE_INDICATOR_FOR_TESTS([$1]) | ||
30 | ]) | ||
31 | |||
32 | AC_DEFUN([gl_FCNTL_H_DEFAULTS], | ||
33 | [ | ||
34 | GNULIB_FCNTL=0; AC_SUBST([GNULIB_FCNTL]) | ||
35 | GNULIB_OPEN=0; AC_SUBST([GNULIB_OPEN]) | ||
36 | GNULIB_OPENAT=0; AC_SUBST([GNULIB_OPENAT]) | ||
37 | dnl Assume proper GNU behavior unless another module says otherwise. | ||
38 | HAVE_FCNTL=1; AC_SUBST([HAVE_FCNTL]) | ||
39 | HAVE_OPENAT=1; AC_SUBST([HAVE_OPENAT]) | ||
40 | REPLACE_FCNTL=0; AC_SUBST([REPLACE_FCNTL]) | ||
41 | REPLACE_OPEN=0; AC_SUBST([REPLACE_OPEN]) | ||
42 | REPLACE_OPENAT=0; AC_SUBST([REPLACE_OPENAT]) | ||
43 | ]) | ||
diff --git a/gl/m4/float_h.m4 b/gl/m4/float_h.m4 index a74a0d95..397f2d1f 100644 --- a/gl/m4/float_h.m4 +++ b/gl/m4/float_h.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # float_h.m4 serial 3 | 1 | # float_h.m4 serial 9 |
2 | dnl Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007, 2009-2013 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,11 +9,90 @@ AC_DEFUN([gl_FLOAT_H], | |||
9 | AC_REQUIRE([AC_PROG_CC]) | 9 | AC_REQUIRE([AC_PROG_CC]) |
10 | AC_REQUIRE([AC_CANONICAL_HOST]) | 10 | AC_REQUIRE([AC_CANONICAL_HOST]) |
11 | FLOAT_H= | 11 | FLOAT_H= |
12 | REPLACE_FLOAT_LDBL=0 | ||
12 | case "$host_os" in | 13 | case "$host_os" in |
13 | beos* | openbsd*) | 14 | aix* | beos* | openbsd* | mirbsd* | irix*) |
14 | FLOAT_H=float.h | 15 | FLOAT_H=float.h |
15 | gl_CHECK_NEXT_HEADERS([float.h]) | 16 | ;; |
17 | freebsd*) | ||
18 | case "$host_cpu" in | ||
19 | changequote(,)dnl | ||
20 | i[34567]86 ) | ||
21 | changequote([,])dnl | ||
22 | FLOAT_H=float.h | ||
23 | ;; | ||
24 | x86_64 ) | ||
25 | # On x86_64 systems, the C compiler may still be generating | ||
26 | # 32-bit code. | ||
27 | AC_EGREP_CPP([yes], | ||
28 | [#if defined __LP64__ || defined __x86_64__ || defined __amd64__ | ||
29 | yes | ||
30 | #endif], | ||
31 | [], | ||
32 | [FLOAT_H=float.h]) | ||
33 | ;; | ||
34 | esac | ||
35 | ;; | ||
36 | linux*) | ||
37 | case "$host_cpu" in | ||
38 | powerpc*) | ||
39 | FLOAT_H=float.h | ||
40 | ;; | ||
41 | esac | ||
42 | ;; | ||
43 | esac | ||
44 | case "$host_os" in | ||
45 | aix* | freebsd* | linux*) | ||
46 | if test -n "$FLOAT_H"; then | ||
47 | REPLACE_FLOAT_LDBL=1 | ||
48 | fi | ||
16 | ;; | 49 | ;; |
17 | esac | 50 | esac |
51 | |||
52 | dnl Test against glibc-2.7 Linux/SPARC64 bug. | ||
53 | REPLACE_ITOLD=0 | ||
54 | AC_CACHE_CHECK([whether conversion from 'int' to 'long double' works], | ||
55 | [gl_cv_func_itold_works], | ||
56 | [ | ||
57 | AC_RUN_IFELSE( | ||
58 | [AC_LANG_SOURCE([[ | ||
59 | int i = -1; | ||
60 | volatile long double ld; | ||
61 | int main () | ||
62 | { | ||
63 | ld += i * 1.0L; | ||
64 | if (ld > 0) | ||
65 | return 1; | ||
66 | return 0; | ||
67 | }]])], | ||
68 | [gl_cv_func_itold_works=yes], | ||
69 | [gl_cv_func_itold_works=no], | ||
70 | [case "$host" in | ||
71 | sparc*-*-linux*) | ||
72 | AC_EGREP_CPP([yes], | ||
73 | [#if defined __LP64__ || defined __arch64__ | ||
74 | yes | ||
75 | #endif], | ||
76 | [gl_cv_func_itold_works="guessing no"], | ||
77 | [gl_cv_func_itold_works="guessing yes"]) | ||
78 | ;; | ||
79 | *) gl_cv_func_itold_works="guessing yes" ;; | ||
80 | esac | ||
81 | ]) | ||
82 | ]) | ||
83 | case "$gl_cv_func_itold_works" in | ||
84 | *no) | ||
85 | REPLACE_ITOLD=1 | ||
86 | dnl We add the workaround to <float.h> but also to <math.h>, | ||
87 | dnl to increase the chances that the fix function gets pulled in. | ||
88 | FLOAT_H=float.h | ||
89 | ;; | ||
90 | esac | ||
91 | |||
92 | if test -n "$FLOAT_H"; then | ||
93 | gl_NEXT_HEADERS([float.h]) | ||
94 | fi | ||
18 | AC_SUBST([FLOAT_H]) | 95 | AC_SUBST([FLOAT_H]) |
96 | AM_CONDITIONAL([GL_GENERATE_FLOAT_H], [test -n "$FLOAT_H"]) | ||
97 | AC_SUBST([REPLACE_ITOLD]) | ||
19 | ]) | 98 | ]) |
diff --git a/gl/m4/floorf.m4 b/gl/m4/floorf.m4 index fb17a5ea..c892ff9c 100644 --- a/gl/m4/floorf.m4 +++ b/gl/m4/floorf.m4 | |||
@@ -1,16 +1,17 @@ | |||
1 | # floorf.m4 serial 6 | 1 | # floorf.m4 serial 13 |
2 | dnl Copyright (C) 2007, 2009-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007, 2009-2013 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_FLOORF], | 7 | AC_DEFUN([gl_FUNC_FLOORF], |
8 | [ | 8 | [ |
9 | m4_divert_text([DEFAULTS], [gl_floorf_required=plain]) | ||
9 | AC_REQUIRE([gl_MATH_H_DEFAULTS]) | 10 | AC_REQUIRE([gl_MATH_H_DEFAULTS]) |
10 | dnl Persuade glibc <math.h> to declare floorf(). | 11 | dnl Persuade glibc <math.h> to declare floorf(). |
11 | AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) | 12 | AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) |
12 | dnl Test whether floorf() is declared. | 13 | dnl Test whether floorf() is declared. |
13 | AC_CHECK_DECLS([floorf], , , [#include <math.h>]) | 14 | AC_CHECK_DECLS([floorf], , , [[#include <math.h>]]) |
14 | if test "$ac_cv_have_decl_floorf" = yes; then | 15 | if test "$ac_cv_have_decl_floorf" = yes; then |
15 | dnl Test whether floorf() can be used without libm. | 16 | dnl Test whether floorf() can be used without libm. |
16 | gl_FUNC_FLOORF_LIBS | 17 | gl_FUNC_FLOORF_LIBS |
@@ -19,11 +20,54 @@ AC_DEFUN([gl_FUNC_FLOORF], | |||
19 | dnl libm.so, but not in the libm.so that the compiler uses. | 20 | dnl libm.so, but not in the libm.so that the compiler uses. |
20 | REPLACE_FLOORF=1 | 21 | REPLACE_FLOORF=1 |
21 | fi | 22 | fi |
23 | m4_ifdef([gl_FUNC_FLOORF_IEEE], [ | ||
24 | if test $gl_floorf_required = ieee && test $REPLACE_FLOORF = 0; then | ||
25 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
26 | AC_CACHE_CHECK([whether floorf works according to ISO C 99 with IEC 60559], | ||
27 | [gl_cv_func_floorf_ieee], | ||
28 | [ | ||
29 | save_LIBS="$LIBS" | ||
30 | LIBS="$LIBS $FLOORF_LIBM" | ||
31 | AC_RUN_IFELSE( | ||
32 | [AC_LANG_SOURCE([[ | ||
33 | #ifndef __NO_MATH_INLINES | ||
34 | # define __NO_MATH_INLINES 1 /* for glibc */ | ||
35 | #endif | ||
36 | #include <math.h> | ||
37 | ]gl_FLOAT_MINUS_ZERO_CODE[ | ||
38 | ]gl_FLOAT_SIGNBIT_CODE[ | ||
39 | static float dummy (float f) { return 0; } | ||
40 | int main (int argc, char *argv[]) | ||
41 | { | ||
42 | float (*my_floorf) (float) = argc ? floorf : dummy; | ||
43 | /* Test whether floorf (-0.0f) is -0.0f. */ | ||
44 | if (signbitf (minus_zerof) && !signbitf (my_floorf (minus_zerof))) | ||
45 | return 1; | ||
46 | return 0; | ||
47 | } | ||
48 | ]])], | ||
49 | [gl_cv_func_floorf_ieee=yes], | ||
50 | [gl_cv_func_floorf_ieee=no], | ||
51 | [case "$host_os" in | ||
52 | # Guess yes on glibc systems. | ||
53 | *-gnu*) gl_cv_func_floorf_ieee="guessing yes" ;; | ||
54 | # If we don't know, assume the worst. | ||
55 | *) gl_cv_func_floorf_ieee="guessing no" ;; | ||
56 | esac | ||
57 | ]) | ||
58 | LIBS="$save_LIBS" | ||
59 | ]) | ||
60 | case "$gl_cv_func_floorf_ieee" in | ||
61 | *yes) ;; | ||
62 | *) REPLACE_FLOORF=1 ;; | ||
63 | esac | ||
64 | fi | ||
65 | ]) | ||
22 | else | 66 | else |
23 | HAVE_DECL_FLOORF=0 | 67 | HAVE_DECL_FLOORF=0 |
24 | fi | 68 | fi |
25 | if test $HAVE_DECL_FLOORF = 0 || test $REPLACE_FLOORF = 1; then | 69 | if test $HAVE_DECL_FLOORF = 0 || test $REPLACE_FLOORF = 1; then |
26 | AC_LIBOBJ([floorf]) | 70 | dnl No libraries are needed to link lib/floorf.c. |
27 | FLOORF_LIBM= | 71 | FLOORF_LIBM= |
28 | fi | 72 | fi |
29 | AC_SUBST([FLOORF_LIBM]) | 73 | AC_SUBST([FLOORF_LIBM]) |
@@ -35,24 +79,28 @@ AC_DEFUN([gl_FUNC_FLOORF_LIBS], | |||
35 | [ | 79 | [ |
36 | gl_CACHE_VAL_SILENT([gl_cv_func_floorf_libm], [ | 80 | gl_CACHE_VAL_SILENT([gl_cv_func_floorf_libm], [ |
37 | gl_cv_func_floorf_libm=? | 81 | gl_cv_func_floorf_libm=? |
38 | AC_TRY_LINK([ | 82 | AC_LINK_IFELSE( |
39 | #ifndef __NO_MATH_INLINES | 83 | [AC_LANG_PROGRAM( |
40 | # define __NO_MATH_INLINES 1 /* for glibc */ | 84 | [[#ifndef __NO_MATH_INLINES |
41 | #endif | 85 | # define __NO_MATH_INLINES 1 /* for glibc */ |
42 | #include <math.h> | 86 | #endif |
43 | float x;], | 87 | #include <math.h> |
44 | [x = floorf(x);], | 88 | float (*funcptr) (float) = floorf; |
89 | float x;]], | ||
90 | [[x = funcptr(x) + floorf(x);]])], | ||
45 | [gl_cv_func_floorf_libm=]) | 91 | [gl_cv_func_floorf_libm=]) |
46 | if test "$gl_cv_func_floorf_libm" = "?"; then | 92 | if test "$gl_cv_func_floorf_libm" = "?"; then |
47 | save_LIBS="$LIBS" | 93 | save_LIBS="$LIBS" |
48 | LIBS="$LIBS -lm" | 94 | LIBS="$LIBS -lm" |
49 | AC_TRY_LINK([ | 95 | AC_LINK_IFELSE( |
50 | #ifndef __NO_MATH_INLINES | 96 | [AC_LANG_PROGRAM( |
51 | # define __NO_MATH_INLINES 1 /* for glibc */ | 97 | [[#ifndef __NO_MATH_INLINES |
52 | #endif | 98 | # define __NO_MATH_INLINES 1 /* for glibc */ |
53 | #include <math.h> | 99 | #endif |
54 | float x;], | 100 | #include <math.h> |
55 | [x = floorf(x);], | 101 | float (*funcptr) (float) = floorf; |
102 | float x;]], | ||
103 | [[x = funcptr(x) + floorf(x);]])], | ||
56 | [gl_cv_func_floorf_libm="-lm"]) | 104 | [gl_cv_func_floorf_libm="-lm"]) |
57 | LIBS="$save_LIBS" | 105 | LIBS="$save_LIBS" |
58 | fi | 106 | fi |
diff --git a/gl/m4/fstypename.m4 b/gl/m4/fstypename.m4 index 9e81efe3..c72ecb80 100644 --- a/gl/m4/fstypename.m4 +++ b/gl/m4/fstypename.m4 | |||
@@ -6,7 +6,7 @@ dnl See if struct statfs has the f_fstypename member. | |||
6 | dnl If so, define HAVE_STRUCT_STATFS_F_FSTYPENAME. | 6 | dnl If so, define HAVE_STRUCT_STATFS_F_FSTYPENAME. |
7 | dnl | 7 | dnl |
8 | 8 | ||
9 | # Copyright (C) 1998-1999, 2001, 2004, 2006, 2009-2010 Free Software | 9 | # Copyright (C) 1998-1999, 2001, 2004, 2006, 2009-2013 Free Software |
10 | # Foundation, Inc. | 10 | # Foundation, Inc. |
11 | # This file is free software; the Free Software Foundation | 11 | # This file is free software; the Free Software Foundation |
12 | # gives unlimited permission to copy and/or distribute it, | 12 | # gives unlimited permission to copy and/or distribute it, |
diff --git a/gl/m4/fsusage.m4 b/gl/m4/fsusage.m4 index 68684c27..6277bfa5 100644 --- a/gl/m4/fsusage.m4 +++ b/gl/m4/fsusage.m4 | |||
@@ -1,7 +1,7 @@ | |||
1 | # serial 26 | 1 | # serial 30 |
2 | # Obtaining file system usage information. | 2 | # Obtaining file system usage information. |
3 | 3 | ||
4 | # Copyright (C) 1997-1998, 2000-2001, 2003-2010 Free Software Foundation, Inc. | 4 | # Copyright (C) 1997-1998, 2000-2001, 2003-2013 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, |
@@ -19,10 +19,6 @@ AC_DEFUN([gl_FSUSAGE], | |||
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 | ||
23 | AC_LIBOBJ([fsusage]) | ||
24 | gl_PREREQ_FSUSAGE_EXTRA | ||
25 | fi | ||
26 | ]) | 22 | ]) |
27 | 23 | ||
28 | # Try to determine how a program can obtain file system usage information. | 24 | # Try to determine how a program can obtain file system usage information. |
@@ -33,6 +29,12 @@ AC_DEFUN([gl_FSUSAGE], | |||
33 | 29 | ||
34 | AC_DEFUN([gl_FILE_SYSTEM_USAGE], | 30 | AC_DEFUN([gl_FILE_SYSTEM_USAGE], |
35 | [ | 31 | [ |
32 | dnl Enable large-file support. This has the effect of changing the size | ||
33 | dnl of field f_blocks in 'struct statvfs' from 32 bit to 64 bit on | ||
34 | dnl glibc/Hurd, HP-UX 11, Solaris (32-bit mode). It also changes the size | ||
35 | dnl of field f_blocks in 'struct statfs' from 32 bit to 64 bit on | ||
36 | dnl Mac OS X >= 10.5 (32-bit mode). | ||
37 | AC_REQUIRE([AC_SYS_LARGEFILE]) | ||
36 | 38 | ||
37 | AC_MSG_NOTICE([checking how to get file system space usage]) | 39 | AC_MSG_NOTICE([checking how to get file system space usage]) |
38 | ac_fsusage_space=no | 40 | ac_fsusage_space=no |
@@ -40,37 +42,98 @@ ac_fsusage_space=no | |||
40 | # Perform only the link test since it seems there are no variants of the | 42 | # 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]) | 43 | # 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 | 44 | # 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 | 45 | # 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 | 46 | # systems. That system is reported to work fine with STAT_STATFS4 which |
45 | # is what it gets when this test fails. | 47 | # is what it gets when this test fails. |
46 | if test $ac_fsusage_space = no; then | 48 | if test $ac_fsusage_space = no; then |
47 | # glibc/{Hurd,kFreeBSD}, MacOS X >= 10.4, FreeBSD >= 5.0, NetBSD >= 3.0, | 49 | # glibc/{Hurd,kFreeBSD}, FreeBSD >= 5.0, NetBSD >= 3.0, |
48 | # OpenBSD >= 4.4, AIX, HP-UX, IRIX, Solaris, Cygwin, Interix, BeOS. | 50 | # OpenBSD >= 4.4, AIX, HP-UX, IRIX, Solaris, Cygwin, Interix, BeOS. |
49 | AC_CACHE_CHECK([for statvfs function (SVR4)], [fu_cv_sys_stat_statvfs], | 51 | AC_CACHE_CHECK([for statvfs function (SVR4)], [fu_cv_sys_stat_statvfs], |
50 | [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h> | 52 | [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h> |
51 | #if defined __GLIBC__ && defined __linux__ | ||
52 | Do not use statvfs on systems with GNU libc on Linux, because that function | ||
53 | stats all preceding entries in /proc/mounts, and that makes df hang if even | ||
54 | one of the corresponding file systems is hard-mounted, but not available. | ||
55 | statvfs in GNU libc on Hurd, BeOS, Haiku operates differently: it only makes | ||
56 | a system call. | ||
57 | #endif | ||
58 | |||
59 | #ifdef __osf__ | 53 | #ifdef __osf__ |
60 | "Do not use Tru64's statvfs implementation" | 54 | "Do not use Tru64's statvfs implementation" |
61 | #endif | 55 | #endif |
62 | 56 | ||
63 | #include <sys/statvfs.h>]], | 57 | #include <sys/statvfs.h> |
64 | [[struct statvfs fsd; statvfs (0, &fsd);]])], | 58 | |
59 | struct statvfs fsd; | ||
60 | |||
61 | #if defined __APPLE__ && defined __MACH__ | ||
62 | #include <limits.h> | ||
63 | /* On Mac OS X >= 10.5, f_blocks in 'struct statvfs' is a 32-bit quantity; | ||
64 | that commonly limits file systems to 4 TiB. Whereas f_blocks in | ||
65 | 'struct statfs' is a 64-bit type, thanks to the large-file support | ||
66 | that was enabled above. In this case, don't use statvfs(); use statfs() | ||
67 | instead. */ | ||
68 | int check_f_blocks_size[sizeof fsd.f_blocks * CHAR_BIT <= 32 ? -1 : 1]; | ||
69 | #endif | ||
70 | ]], | ||
71 | [[statvfs (0, &fsd);]])], | ||
65 | [fu_cv_sys_stat_statvfs=yes], | 72 | [fu_cv_sys_stat_statvfs=yes], |
66 | [fu_cv_sys_stat_statvfs=no])]) | 73 | [fu_cv_sys_stat_statvfs=no])]) |
67 | if test $fu_cv_sys_stat_statvfs = yes; then | 74 | if test $fu_cv_sys_stat_statvfs = yes; then |
68 | ac_fsusage_space=yes | 75 | ac_fsusage_space=yes |
69 | AC_DEFINE([STAT_STATVFS], [1], | 76 | # AIX >= 5.2 has statvfs64 that has a wider f_blocks field than statvfs. |
70 | [ Define if there is a function named statvfs. (SVR4)]) | 77 | # glibc, HP-UX, IRIX, Solaris have statvfs64 as well, but on these systems |
78 | # statvfs with large-file support is already equivalent to statvfs64. | ||
79 | AC_CACHE_CHECK([whether to use statvfs64], | ||
80 | [fu_cv_sys_stat_statvfs64], | ||
81 | [AC_LINK_IFELSE( | ||
82 | [AC_LANG_PROGRAM( | ||
83 | [[#include <sys/types.h> | ||
84 | #include <sys/statvfs.h> | ||
85 | struct statvfs64 fsd; | ||
86 | int check_f_blocks_larger_in_statvfs64 | ||
87 | [sizeof (((struct statvfs64 *) 0)->f_blocks) | ||
88 | > sizeof (((struct statvfs *) 0)->f_blocks) | ||
89 | ? 1 : -1]; | ||
90 | ]], | ||
91 | [[statvfs64 (0, &fsd);]])], | ||
92 | [fu_cv_sys_stat_statvfs64=yes], | ||
93 | [fu_cv_sys_stat_statvfs64=no]) | ||
94 | ]) | ||
95 | if test $fu_cv_sys_stat_statvfs64 = yes; then | ||
96 | AC_DEFINE([STAT_STATVFS64], [1], | ||
97 | [ Define if statvfs64 should be preferred over statvfs.]) | ||
98 | else | ||
99 | AC_DEFINE([STAT_STATVFS], [1], | ||
100 | [ Define if there is a function named statvfs. (SVR4)]) | ||
101 | fi | ||
71 | fi | 102 | fi |
72 | fi | 103 | fi |
73 | 104 | ||
105 | # Check for this unconditionally so we have a | ||
106 | # good fallback on glibc/Linux > 2.6 < 2.6.36 | ||
107 | AC_MSG_CHECKING([for two-argument statfs with statfs.f_frsize member]) | ||
108 | AC_CACHE_VAL([fu_cv_sys_stat_statfs2_frsize], | ||
109 | [AC_RUN_IFELSE([AC_LANG_SOURCE([[ | ||
110 | #ifdef HAVE_SYS_PARAM_H | ||
111 | #include <sys/param.h> | ||
112 | #endif | ||
113 | #ifdef HAVE_SYS_MOUNT_H | ||
114 | #include <sys/mount.h> | ||
115 | #endif | ||
116 | #ifdef HAVE_SYS_VFS_H | ||
117 | #include <sys/vfs.h> | ||
118 | #endif | ||
119 | int | ||
120 | main () | ||
121 | { | ||
122 | struct statfs fsd; | ||
123 | fsd.f_frsize = 0; | ||
124 | return statfs (".", &fsd) != 0; | ||
125 | }]])], | ||
126 | [fu_cv_sys_stat_statfs2_frsize=yes], | ||
127 | [fu_cv_sys_stat_statfs2_frsize=no], | ||
128 | [fu_cv_sys_stat_statfs2_frsize=no])]) | ||
129 | AC_MSG_RESULT([$fu_cv_sys_stat_statfs2_frsize]) | ||
130 | if test $fu_cv_sys_stat_statfs2_frsize = yes; then | ||
131 | ac_fsusage_space=yes | ||
132 | AC_DEFINE([STAT_STATFS2_FRSIZE], [1], | ||
133 | [ Define if statfs takes 2 args and struct statfs has a field named f_frsize. | ||
134 | (glibc/Linux > 2.6)]) | ||
135 | fi | ||
136 | |||
74 | if test $ac_fsusage_space = no; then | 137 | if test $ac_fsusage_space = no; then |
75 | # DEC Alpha running OSF/1 | 138 | # DEC Alpha running OSF/1 |
76 | AC_MSG_CHECKING([for 3-argument statfs function (DEC OSF/1)]) | 139 | AC_MSG_CHECKING([for 3-argument statfs function (DEC OSF/1)]) |
@@ -98,8 +161,8 @@ if test $ac_fsusage_space = no; then | |||
98 | fi | 161 | fi |
99 | 162 | ||
100 | if test $ac_fsusage_space = no; then | 163 | if test $ac_fsusage_space = no; then |
101 | # glibc/Linux, MacOS X < 10.4, FreeBSD < 5.0, NetBSD < 3.0, OpenBSD < 4.4. | 164 | # glibc/Linux, Mac OS X, FreeBSD < 5.0, NetBSD < 3.0, OpenBSD < 4.4. |
102 | # (glibc/{Hurd,kFreeBSD}, MacOS X >= 10.4, FreeBSD >= 5.0, NetBSD >= 3.0, | 165 | # (glibc/{Hurd,kFreeBSD}, FreeBSD >= 5.0, NetBSD >= 3.0, |
103 | # OpenBSD >= 4.4, AIX, HP-UX, OSF/1, Cygwin already handled above.) | 166 | # OpenBSD >= 4.4, AIX, HP-UX, OSF/1, Cygwin already handled above.) |
104 | # (On IRIX you need to include <sys/statfs.h>, not only <sys/mount.h> and | 167 | # (On IRIX you need to include <sys/statfs.h>, not only <sys/mount.h> and |
105 | # <sys/vfs.h>.) | 168 | # <sys/vfs.h>.) |
diff --git a/gl/m4/getaddrinfo.m4 b/gl/m4/getaddrinfo.m4 index bc3066db..1d631f8c 100644 --- a/gl/m4/getaddrinfo.m4 +++ b/gl/m4/getaddrinfo.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # getaddrinfo.m4 serial 23 | 1 | # getaddrinfo.m4 serial 30 |
2 | dnl Copyright (C) 2004-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2004-2013 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,6 +24,7 @@ AC_DEFUN([gl_GETADDRINFO], | |||
24 | fi]) | 24 | fi]) |
25 | LIBS="$gai_saved_LIBS $GETADDRINFO_LIB" | 25 | LIBS="$gai_saved_LIBS $GETADDRINFO_LIB" |
26 | 26 | ||
27 | HAVE_GETADDRINFO=1 | ||
27 | AC_CACHE_CHECK([for getaddrinfo], [gl_cv_func_getaddrinfo], [ | 28 | AC_CACHE_CHECK([for getaddrinfo], [gl_cv_func_getaddrinfo], [ |
28 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[ | 29 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[ |
29 | #include <sys/types.h> | 30 | #include <sys/types.h> |
@@ -55,16 +56,14 @@ AC_DEFUN([gl_GETADDRINFO], | |||
55 | GETADDRINFO_LIB="-lws2_32" | 56 | GETADDRINFO_LIB="-lws2_32" |
56 | LIBS="$gai_saved_LIBS $GETADDRINFO_LIB" | 57 | LIBS="$gai_saved_LIBS $GETADDRINFO_LIB" |
57 | else | 58 | else |
58 | AC_LIBOBJ([getaddrinfo]) | 59 | HAVE_GETADDRINFO=0 |
59 | fi | 60 | fi |
60 | fi | 61 | fi |
61 | 62 | ||
62 | # We can't use AC_REPLACE_FUNCS here because gai_strerror may be an | 63 | # We can't use AC_REPLACE_FUNCS here because gai_strerror may be an |
63 | # inline function declared in ws2tcpip.h, so we need to get that | 64 | # inline function declared in ws2tcpip.h, so we need to get that |
64 | # header included somehow. | 65 | # header included somehow. |
65 | AC_CACHE_CHECK([for gai_strerror (possibly via ws2tcpip.h)], | 66 | AC_CHECK_DECLS([gai_strerror], [], [], [[ |
66 | gl_cv_func_gai_strerror, [ | ||
67 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[ | ||
68 | #include <sys/types.h> | 67 | #include <sys/types.h> |
69 | #ifdef HAVE_SYS_SOCKET_H | 68 | #ifdef HAVE_SYS_SOCKET_H |
70 | #include <sys/socket.h> | 69 | #include <sys/socket.h> |
@@ -76,11 +75,46 @@ AC_DEFUN([gl_GETADDRINFO], | |||
76 | #include <ws2tcpip.h> | 75 | #include <ws2tcpip.h> |
77 | #endif | 76 | #endif |
78 | #include <stddef.h> | 77 | #include <stddef.h> |
79 | ]], [[gai_strerror (NULL);]])], | 78 | ]]) |
80 | [gl_cv_func_gai_strerror=yes], | 79 | if test $ac_cv_have_decl_gai_strerror = yes; then |
81 | [gl_cv_func_gai_strerror=no])]) | 80 | AC_CHECK_DECLS([gai_strerrorA], [], [], [[ |
82 | if test $gl_cv_func_gai_strerror = no; then | 81 | #include <sys/types.h> |
83 | AC_LIBOBJ([gai_strerror]) | 82 | #ifdef HAVE_SYS_SOCKET_H |
83 | #include <sys/socket.h> | ||
84 | #endif | ||
85 | #ifdef HAVE_NETDB_H | ||
86 | #include <netdb.h> | ||
87 | #endif | ||
88 | #ifdef HAVE_WS2TCPIP_H | ||
89 | #include <ws2tcpip.h> | ||
90 | #endif | ||
91 | #include <stddef.h> | ||
92 | ]]) | ||
93 | dnl check for correct signature | ||
94 | AC_CACHE_CHECK([for gai_strerror with POSIX signature], | ||
95 | [gl_cv_func_gai_strerror_posix_signature], [ | ||
96 | AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ | ||
97 | #include <sys/types.h> | ||
98 | #ifdef HAVE_SYS_SOCKET_H | ||
99 | #include <sys/socket.h> | ||
100 | #endif | ||
101 | #ifdef HAVE_NETDB_H | ||
102 | #include <netdb.h> | ||
103 | #endif | ||
104 | #ifdef HAVE_WS2TCPIP_H | ||
105 | #include <ws2tcpip.h> | ||
106 | #endif | ||
107 | #include <stddef.h> | ||
108 | extern | ||
109 | #ifdef __cplusplus | ||
110 | "C" | ||
111 | #endif | ||
112 | const char *gai_strerror(int);]])], | ||
113 | [gl_cv_func_gai_strerror_posix_signature=yes], | ||
114 | [gl_cv_func_gai_strerror_posix_signature=no])]) | ||
115 | if test $gl_cv_func_gai_strerror_posix_signature = no; then | ||
116 | REPLACE_GAI_STRERROR=1 | ||
117 | fi | ||
84 | fi | 118 | fi |
85 | 119 | ||
86 | LIBS="$gai_saved_LIBS" | 120 | LIBS="$gai_saved_LIBS" |
@@ -100,16 +134,18 @@ AC_DEFUN([gl_PREREQ_GETADDRINFO], [ | |||
100 | AC_REQUIRE([AC_C_RESTRICT]) | 134 | AC_REQUIRE([AC_C_RESTRICT]) |
101 | AC_REQUIRE([gl_SOCKET_FAMILIES]) | 135 | AC_REQUIRE([gl_SOCKET_FAMILIES]) |
102 | AC_REQUIRE([gl_HEADER_SYS_SOCKET]) | 136 | AC_REQUIRE([gl_HEADER_SYS_SOCKET]) |
103 | AC_REQUIRE([AC_C_INLINE]) | ||
104 | AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) | 137 | AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) |
105 | 138 | ||
106 | dnl Including sys/socket.h is wrong for Windows, but Windows does not | 139 | dnl Including sys/socket.h is wrong for Windows, but Windows does not |
107 | dnl have sa_len so the result is correct anyway. | 140 | dnl have sa_len so the result is correct anyway. |
108 | AC_CHECK_MEMBERS([struct sockaddr.sa_len], , , [#include <sys/socket.h>]) | 141 | AC_CHECK_MEMBERS([struct sockaddr.sa_len], , , [ |
142 | #include <sys/types.h> | ||
143 | #include <sys/socket.h> | ||
144 | ]) | ||
109 | 145 | ||
110 | AC_CHECK_HEADERS_ONCE([netinet/in.h]) | 146 | AC_CHECK_HEADERS_ONCE([netinet/in.h]) |
111 | 147 | ||
112 | AC_CHECK_DECLS([getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo],,,[ | 148 | AC_CHECK_DECLS([getaddrinfo, freeaddrinfo, getnameinfo],,,[[ |
113 | /* sys/types.h is not needed according to POSIX, but the | 149 | /* sys/types.h is not needed according to POSIX, but the |
114 | sys/socket.h in i386-unknown-freebsd4.10 and | 150 | sys/socket.h in i386-unknown-freebsd4.10 and |
115 | powerpc-apple-darwin5.5 required it. */ | 151 | powerpc-apple-darwin5.5 required it. */ |
@@ -123,7 +159,7 @@ AC_DEFUN([gl_PREREQ_GETADDRINFO], [ | |||
123 | #ifdef HAVE_WS2TCPIP_H | 159 | #ifdef HAVE_WS2TCPIP_H |
124 | #include <ws2tcpip.h> | 160 | #include <ws2tcpip.h> |
125 | #endif | 161 | #endif |
126 | ]) | 162 | ]]) |
127 | if test $ac_cv_have_decl_getaddrinfo = no; then | 163 | if test $ac_cv_have_decl_getaddrinfo = no; then |
128 | HAVE_DECL_GETADDRINFO=0 | 164 | HAVE_DECL_GETADDRINFO=0 |
129 | fi | 165 | fi |
diff --git a/gl/m4/getdtablesize.m4 b/gl/m4/getdtablesize.m4 deleted file mode 100644 index d2386284..00000000 --- a/gl/m4/getdtablesize.m4 +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | # getdtablesize.m4 serial 1 | ||
2 | dnl Copyright (C) 2008, 2009, 2010 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_GETDTABLESIZE], | ||
8 | [ | ||
9 | AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) | ||
10 | AC_CHECK_FUNCS_ONCE([getdtablesize]) | ||
11 | if test $ac_cv_func_getdtablesize != yes; then | ||
12 | HAVE_GETDTABLESIZE=0 | ||
13 | AC_LIBOBJ([getdtablesize]) | ||
14 | fi | ||
15 | ]) | ||
diff --git a/gl/m4/gethostname.m4 b/gl/m4/gethostname.m4 index ef0b43ef..7413f9e3 100644 --- a/gl/m4/gethostname.m4 +++ b/gl/m4/gethostname.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # gethostname.m4 serial 9 | 1 | # gethostname.m4 serial 13 |
2 | dnl Copyright (C) 2002, 2008, 2009, 2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002, 2008-2013 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. |
@@ -14,7 +14,7 @@ AC_DEFUN([gl_FUNC_GETHOSTNAME], | |||
14 | 14 | ||
15 | dnl Where is gethostname() defined? | 15 | dnl Where is gethostname() defined? |
16 | dnl - On native Windows, it is in ws2_32.dll. | 16 | dnl - On native Windows, it is in ws2_32.dll. |
17 | dnl - Otherwise is is in libc. | 17 | dnl - Otherwise it is in libc. |
18 | GETHOSTNAME_LIB= | 18 | GETHOSTNAME_LIB= |
19 | AC_CHECK_FUNCS([gethostname], , [ | 19 | AC_CHECK_FUNCS([gethostname], , [ |
20 | AC_CACHE_CHECK([for gethostname in winsock2.h and -lws2_32], | 20 | AC_CACHE_CHECK([for gethostname in winsock2.h and -lws2_32], |
@@ -37,12 +37,14 @@ AC_DEFUN([gl_FUNC_GETHOSTNAME], | |||
37 | AC_SUBST([GETHOSTNAME_LIB]) | 37 | AC_SUBST([GETHOSTNAME_LIB]) |
38 | 38 | ||
39 | if test "$ac_cv_func_gethostname" = no; then | 39 | if test "$ac_cv_func_gethostname" = no; then |
40 | AC_LIBOBJ([gethostname]) | ||
41 | HAVE_GETHOSTNAME=0 | 40 | HAVE_GETHOSTNAME=0 |
42 | gl_PREREQ_GETHOSTNAME | ||
43 | fi | 41 | fi |
44 | 42 | ||
45 | dnl Also provide HOST_NAME_MAX when <limits.h> lacks it. | 43 | gl_PREREQ_HOST_NAME_MAX |
44 | ]) | ||
45 | |||
46 | # Provide HOST_NAME_MAX when <limits.h> lacks it. | ||
47 | AC_DEFUN([gl_PREREQ_HOST_NAME_MAX], [ | ||
46 | dnl - On most Unix systems, use MAXHOSTNAMELEN from <sys/param.h> instead. | 48 | dnl - On most Unix systems, use MAXHOSTNAMELEN from <sys/param.h> instead. |
47 | dnl - On Solaris, Cygwin, BeOS, use MAXHOSTNAMELEN from <netdb.h> instead. | 49 | dnl - On Solaris, Cygwin, BeOS, use MAXHOSTNAMELEN from <netdb.h> instead. |
48 | dnl - On mingw, use 256, because | 50 | dnl - On mingw, use 256, because |
@@ -83,7 +85,11 @@ lucky | |||
83 | #if HAVE_NETDB_H | 85 | #if HAVE_NETDB_H |
84 | # include <netdb.h> | 86 | # include <netdb.h> |
85 | #endif | 87 | #endif |
86 | ]) | 88 | ], |
89 | [dnl The system does not define MAXHOSTNAMELEN in any of the common | ||
90 | dnl headers. Use a safe fallback. | ||
91 | gl_cv_decl_HOST_NAME_MAX=256 | ||
92 | ]) | ||
87 | fi | 93 | fi |
88 | fi | 94 | fi |
89 | ]) | 95 | ]) |
diff --git a/gl/m4/getloadavg.m4 b/gl/m4/getloadavg.m4 index 0a731c4f..611372aa 100644 --- a/gl/m4/getloadavg.m4 +++ b/gl/m4/getloadavg.m4 | |||
@@ -1,108 +1,78 @@ | |||
1 | # Check for getloadavg. | 1 | # Check for getloadavg. |
2 | 2 | ||
3 | # Copyright (C) 1992-1996, 1999-2000, 2002-2003, 2006, 2008-2010 Free Software | 3 | # Copyright (C) 1992-1996, 1999-2000, 2002-2003, 2006, 2008-2013 Free Software |
4 | # Foundation, Inc. | 4 | # 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, |
8 | # with or without modifications, as long as this notice is preserved. | 8 | # with or without modifications, as long as this notice is preserved. |
9 | 9 | ||
10 | #serial 6 | ||
11 | |||
10 | # Autoconf defines AC_FUNC_GETLOADAVG, but that is obsolescent. | 12 | # Autoconf defines AC_FUNC_GETLOADAVG, but that is obsolescent. |
11 | # New applications should use gl_GETLOADAVG instead. | 13 | # New applications should use gl_GETLOADAVG instead. |
12 | 14 | ||
13 | # gl_GETLOADAVG(LIBOBJDIR) | 15 | # gl_GETLOADAVG |
14 | # ------------------------ | 16 | # ------------- |
15 | AC_DEFUN([gl_GETLOADAVG], | 17 | AC_DEFUN([gl_GETLOADAVG], |
16 | [AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) | 18 | [AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) |
17 | 19 | ||
18 | # Persuade glibc <stdlib.h> to declare getloadavg(). | 20 | # Persuade glibc <stdlib.h> to declare getloadavg(). |
19 | AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) | 21 | AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) |
20 | 22 | ||
21 | gl_have_func=no # yes means we've found a way to get the load average. | ||
22 | |||
23 | # Make sure getloadavg.c is where it belongs, at configure-time. | ||
24 | test -f "$srcdir/$1/getloadavg.c" || | ||
25 | AC_MSG_ERROR([$srcdir/$1/getloadavg.c is missing]) | ||
26 | |||
27 | gl_save_LIBS=$LIBS | 23 | gl_save_LIBS=$LIBS |
28 | 24 | ||
29 | # Check for getloadavg, but be sure not to touch the cache variable. | 25 | # getloadvg is present in libc on glibc >= 2.2, Mac OS X, FreeBSD >= 2.0, |
30 | (AC_CHECK_FUNC([getloadavg], [exit 0], [exit 1])) && gl_have_func=yes | 26 | # NetBSD >= 0.9, OpenBSD >= 2.0, Solaris >= 7. |
31 | 27 | HAVE_GETLOADAVG=1 | |
32 | # On HPUX9, an unprivileged user can get load averages through this function. | 28 | AC_CHECK_FUNC([getloadavg], [], |
33 | AC_CHECK_FUNCS([pstat_getdynamic]) | 29 | [gl_func_getloadavg_done=no |
34 | 30 | ||
35 | # Solaris has libkstat which does not require root. | 31 | # Some systems with -lutil have (and need) -lkvm as well, some do not. |
36 | AC_CHECK_LIB([kstat], [kstat_open]) | 32 | # On Solaris, -lkvm requires nlist from -lelf, so check that first |
37 | test $ac_cv_lib_kstat_kstat_open = yes && gl_have_func=yes | 33 | # to get the right answer into the cache. |
38 | 34 | # For kstat on solaris, we need to test for libelf and libkvm to force the | |
39 | # AIX has libperfstat which does not require root | 35 | # definition of SVR4 below. |
40 | AC_CHECK_LIB([perfstat], [perfstat_cpu_total]) | 36 | if test $gl_func_getloadavg_done = no; then |
41 | test $ac_cv_lib_perfstat_perfstat_cpu_total = yes && gl_have_func=yes | 37 | AC_CHECK_LIB([elf], [elf_begin], [LIBS="-lelf $LIBS"]) |
42 | 38 | AC_CHECK_LIB([kvm], [kvm_open], [LIBS="-lkvm $LIBS"]) | |
43 | # Some systems with -lutil have (and need) -lkvm as well, some do not. | 39 | # Check for the 4.4BSD definition of getloadavg. |
44 | # On Solaris, -lkvm requires nlist from -lelf, so check that first | 40 | AC_CHECK_LIB([util], [getloadavg], |
45 | # to get the right answer into the cache. | 41 | [LIBS="-lutil $LIBS" gl_func_getloadavg_done=yes]) |
46 | # For kstat on solaris, we need libelf to force the definition of SVR4 below. | 42 | fi |
47 | if test $gl_have_func = no; then | 43 | |
48 | AC_CHECK_LIB([elf], [elf_begin], [LIBS="-lelf $LIBS"]) | 44 | if test $gl_func_getloadavg_done = no; then |
49 | fi | 45 | # There is a commonly available library for RS/6000 AIX. |
50 | if test $gl_have_func = no; then | 46 | # Since it is not a standard part of AIX, it might be installed locally. |
51 | AC_CHECK_LIB([kvm], [kvm_open], [LIBS="-lkvm $LIBS"]) | 47 | gl_getloadavg_LIBS=$LIBS |
52 | # Check for the 4.4BSD definition of getloadavg. | 48 | LIBS="-L/usr/local/lib $LIBS" |
53 | AC_CHECK_LIB([util], [getloadavg], | 49 | AC_CHECK_LIB([getloadavg], [getloadavg], |
54 | [LIBS="-lutil $LIBS" gl_have_func=yes gl_cv_func_getloadavg_setgid=yes]) | 50 | [LIBS="-lgetloadavg $LIBS" gl_func_getloadavg_done=yes], |
55 | fi | 51 | [LIBS=$gl_getloadavg_LIBS]) |
52 | fi | ||
53 | |||
54 | # Set up the replacement function if necessary. | ||
55 | if test $gl_func_getloadavg_done = no; then | ||
56 | HAVE_GETLOADAVG=0 | ||
57 | |||
58 | # Solaris has libkstat which does not require root. | ||
59 | AC_CHECK_LIB([kstat], [kstat_open]) | ||
60 | test $ac_cv_lib_kstat_kstat_open = yes && gl_func_getloadavg_done=yes | ||
61 | |||
62 | # AIX has libperfstat which does not require root | ||
63 | if test $gl_func_getloadavg_done = no; then | ||
64 | AC_CHECK_LIB([perfstat], [perfstat_cpu_total]) | ||
65 | test $ac_cv_lib_perfstat_perfstat_cpu_total = yes && gl_func_getloadavg_done=yes | ||
66 | fi | ||
67 | |||
68 | if test $gl_func_getloadavg_done = no; then | ||
69 | AC_CHECK_HEADER([sys/dg_sys_info.h], | ||
70 | [gl_func_getloadavg_done=yes | ||
71 | AC_DEFINE([DGUX], [1], [Define to 1 for DGUX with <sys/dg_sys_info.h>.]) | ||
72 | AC_CHECK_LIB([dgc], [dg_sys_info])]) | ||
73 | fi | ||
74 | fi]) | ||
56 | 75 | ||
57 | if test $gl_have_func = no; then | ||
58 | # There is a commonly available library for RS/6000 AIX. | ||
59 | # Since it is not a standard part of AIX, it might be installed locally. | ||
60 | gl_getloadavg_LIBS=$LIBS | ||
61 | LIBS="-L/usr/local/lib $LIBS" | ||
62 | AC_CHECK_LIB([getloadavg], [getloadavg], | ||
63 | [LIBS="-lgetloadavg $LIBS"], [LIBS=$gl_getloadavg_LIBS]) | ||
64 | fi | ||
65 | |||
66 | # Make sure it is really in the library, if we think we found it, | ||
67 | # otherwise set up the replacement function. | ||
68 | AC_CHECK_FUNCS([getloadavg], [], | ||
69 | [gl_PREREQ_GETLOADAVG]) | ||
70 | |||
71 | # Some definitions of getloadavg require that the program be installed setgid. | ||
72 | AC_CACHE_CHECK([whether getloadavg requires setgid], | ||
73 | gl_cv_func_getloadavg_setgid, | ||
74 | [AC_EGREP_CPP([Yowza Am I SETGID yet], | ||
75 | [#define CONFIGURING_GETLOADAVG | ||
76 | #include "$srcdir/$1/getloadavg.c" | ||
77 | #ifdef LDAV_PRIVILEGED | ||
78 | Yowza Am I SETGID yet | ||
79 | #endif | ||
80 | ], | ||
81 | gl_cv_func_getloadavg_setgid=yes, | ||
82 | gl_cv_func_getloadavg_setgid=no)]) | ||
83 | if test $gl_cv_func_getloadavg_setgid = yes; then | ||
84 | NEED_SETGID=true | ||
85 | AC_DEFINE([GETLOADAVG_PRIVILEGED], [1], | ||
86 | [Define to 1 if the `getloadavg' function needs to be run setuid | ||
87 | or setgid.]) | ||
88 | else | ||
89 | NEED_SETGID=false | ||
90 | fi | ||
91 | AC_SUBST([NEED_SETGID])dnl | ||
92 | |||
93 | if test $gl_cv_func_getloadavg_setgid = yes; then | ||
94 | AC_CACHE_CHECK([group of /dev/kmem], [gl_cv_group_kmem], | ||
95 | [ # On Solaris, /dev/kmem is a symlink. Get info on the real file. | ||
96 | ac_ls_output=`ls -lgL /dev/kmem 2>/dev/null` | ||
97 | # If we got an error (system does not support symlinks), try without -L. | ||
98 | test -z "$ac_ls_output" && ac_ls_output=`ls -lg /dev/kmem` | ||
99 | gl_cv_group_kmem=`echo $ac_ls_output \ | ||
100 | | sed -ne ['s/[ ][ ]*/ /g | ||
101 | s/^.[sSrwx-]* *[0-9]* *\([^0-9]*\) *.*/\1/ | ||
102 | / /s/.* //;p']` | ||
103 | ]) | ||
104 | AC_SUBST([KMEM_GROUP], [$gl_cv_group_kmem])dnl | ||
105 | fi | ||
106 | if test "x$gl_save_LIBS" = x; then | 76 | if test "x$gl_save_LIBS" = x; then |
107 | GETLOADAVG_LIBS=$LIBS | 77 | GETLOADAVG_LIBS=$LIBS |
108 | else | 78 | else |
@@ -121,58 +91,57 @@ else | |||
121 | HAVE_SYS_LOADAVG_H=0 | 91 | HAVE_SYS_LOADAVG_H=0 |
122 | fi | 92 | fi |
123 | AC_CHECK_DECL([getloadavg], [], [HAVE_DECL_GETLOADAVG=0], | 93 | AC_CHECK_DECL([getloadavg], [], [HAVE_DECL_GETLOADAVG=0], |
124 | [#if HAVE_SYS_LOADAVG_H | 94 | [[#if HAVE_SYS_LOADAVG_H |
125 | # include <sys/loadavg.h> | 95 | # include <sys/loadavg.h> |
126 | #endif | 96 | #endif |
127 | #include <stdlib.h>]) | 97 | #include <stdlib.h>]]) |
128 | ])# gl_GETLOADAVG | 98 | ])# gl_GETLOADAVG |
129 | 99 | ||
130 | 100 | ||
131 | # gl_PREREQ_GETLOADAVG | 101 | # gl_PREREQ_GETLOADAVG |
132 | # -------------------- | 102 | # -------------------- |
133 | # Set up the AC_LIBOBJ replacement of `getloadavg'. | 103 | # Set up the AC_LIBOBJ replacement of 'getloadavg'. |
134 | AC_DEFUN([gl_PREREQ_GETLOADAVG], | 104 | AC_DEFUN([gl_PREREQ_GETLOADAVG], |
135 | [AC_LIBOBJ([getloadavg]) | 105 | [ |
136 | AC_DEFINE([C_GETLOADAVG], [1], [Define to 1 if using `getloadavg.c'.]) | ||
137 | # Figure out what our getloadavg.c needs. | 106 | # Figure out what our getloadavg.c needs. |
138 | gl_have_func=no | 107 | |
139 | AC_CHECK_HEADER([sys/dg_sys_info.h], | 108 | AC_CHECK_HEADERS_ONCE([sys/param.h]) |
140 | [gl_have_func=yes | 109 | |
141 | AC_DEFINE([DGUX], [1], [Define to 1 for DGUX with <sys/dg_sys_info.h>.]) | 110 | # On HPUX9, an unprivileged user can get load averages this way. |
142 | AC_CHECK_LIB([dgc], [dg_sys_info])]) | 111 | if test $gl_func_getloadavg_done = no; then |
112 | AC_CHECK_FUNCS([pstat_getdynamic], [gl_func_getloadavg_done=yes]) | ||
113 | fi | ||
143 | 114 | ||
144 | # We cannot check for <dwarf.h>, because Solaris 2 does not use dwarf (it | 115 | # We cannot check for <dwarf.h>, because Solaris 2 does not use dwarf (it |
145 | # uses stabs), but it is still SVR4. We cannot check for <elf.h> because | 116 | # uses stabs), but it is still SVR4. We cannot check for <elf.h> because |
146 | # Irix 4.0.5F has the header but not the library. | 117 | # Irix 4.0.5F has the header but not the library. |
147 | if test $gl_have_func = no && test "$ac_cv_lib_elf_elf_begin" = yes; then | 118 | if test $gl_func_getloadavg_done = no && test "$ac_cv_lib_elf_elf_begin" = yes \ |
148 | gl_have_func=yes | 119 | && test "$ac_cv_lib_kvm_kvm_open" = yes; then |
120 | gl_func_getloadavg_done=yes | ||
149 | AC_DEFINE([SVR4], [1], [Define to 1 on System V Release 4.]) | 121 | AC_DEFINE([SVR4], [1], [Define to 1 on System V Release 4.]) |
150 | fi | 122 | fi |
151 | 123 | ||
152 | if test $gl_have_func = no; then | 124 | if test $gl_func_getloadavg_done = no; then |
153 | AC_CHECK_HEADER([inq_stats/cpustats.h], | 125 | AC_CHECK_HEADER([inq_stats/cpustats.h], |
154 | [gl_have_func=yes | 126 | [gl_func_getloadavg_done=yes |
155 | AC_DEFINE([UMAX], [1], [Define to 1 for Encore UMAX.]) | 127 | AC_DEFINE([UMAX], [1], [Define to 1 for Encore UMAX.]) |
156 | AC_DEFINE([UMAX4_3], [1], | 128 | AC_DEFINE([UMAX4_3], [1], |
157 | [Define to 1 for Encore UMAX 4.3 that has <inq_status/cpustats.h> | 129 | [Define to 1 for Encore UMAX 4.3 that has <inq_status/cpustats.h> |
158 | instead of <sys/cpustats.h>.])]) | 130 | instead of <sys/cpustats.h>.])]) |
159 | fi | 131 | fi |
160 | 132 | ||
161 | if test $gl_have_func = no; then | 133 | if test $gl_func_getloadavg_done = no; then |
162 | AC_CHECK_HEADER([sys/cpustats.h], | 134 | AC_CHECK_HEADER([sys/cpustats.h], |
163 | [gl_have_func=yes; AC_DEFINE([UMAX])]) | 135 | [gl_func_getloadavg_done=yes; AC_DEFINE([UMAX])]) |
164 | fi | 136 | fi |
165 | 137 | ||
166 | if test $gl_have_func = no; then | 138 | if test $gl_func_getloadavg_done = no; then |
167 | AC_CHECK_HEADERS([mach/mach.h]) | 139 | AC_CHECK_HEADERS([mach/mach.h]) |
168 | fi | 140 | fi |
169 | 141 | ||
170 | AC_CHECK_HEADERS([nlist.h], | 142 | AC_CHECK_HEADERS([nlist.h], |
171 | [AC_CHECK_MEMBERS([struct nlist.n_un.n_name], | 143 | [AC_CHECK_MEMBERS([struct nlist.n_un.n_name], |
172 | [AC_DEFINE([NLIST_NAME_UNION], [1], | 144 | [], [], |
173 | [Define to 1 if your `struct nlist' has an | ||
174 | `n_un' member. Obsolete, depend on | ||
175 | `HAVE_STRUCT_NLIST_N_UN_N_NAME])], [], | ||
176 | [@%:@include <nlist.h>]) | 145 | [@%:@include <nlist.h>]) |
177 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <nlist.h>]], | 146 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <nlist.h>]], |
178 | [[struct nlist x; | 147 | [[struct nlist x; |
diff --git a/gl/m4/getopt.m4 b/gl/m4/getopt.m4 index 5b211e56..50f45091 100644 --- a/gl/m4/getopt.m4 +++ b/gl/m4/getopt.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # getopt.m4 serial 28 | 1 | # getopt.m4 serial 44 |
2 | dnl Copyright (C) 2002-2006, 2008-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2006, 2008-2013 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,10 +9,22 @@ AC_DEFUN([gl_FUNC_GETOPT_POSIX], | |||
9 | [ | 9 | [ |
10 | m4_divert_text([DEFAULTS], [gl_getopt_required=POSIX]) | 10 | m4_divert_text([DEFAULTS], [gl_getopt_required=POSIX]) |
11 | AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) | 11 | AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) |
12 | gl_GETOPT_IFELSE([ | 12 | AC_REQUIRE([gl_GETOPT_CHECK_HEADERS]) |
13 | gl_REPLACE_GETOPT | 13 | dnl Other modules can request the gnulib implementation of the getopt |
14 | ], | 14 | dnl functions unconditionally, by defining gl_REPLACE_GETOPT_ALWAYS. |
15 | []) | 15 | dnl argp.m4 does this. |
16 | m4_ifdef([gl_REPLACE_GETOPT_ALWAYS], [ | ||
17 | REPLACE_GETOPT=1 | ||
18 | ], [ | ||
19 | REPLACE_GETOPT=0 | ||
20 | if test -n "$gl_replace_getopt"; then | ||
21 | REPLACE_GETOPT=1 | ||
22 | fi | ||
23 | ]) | ||
24 | if test $REPLACE_GETOPT = 1; then | ||
25 | dnl Arrange for getopt.h to be created. | ||
26 | gl_GETOPT_SUBSTITUTE_HEADER | ||
27 | fi | ||
16 | ]) | 28 | ]) |
17 | 29 | ||
18 | # Request a POSIX compliant getopt function with GNU extensions (such as | 30 | # Request a POSIX compliant getopt function with GNU extensions (such as |
@@ -25,37 +37,16 @@ AC_DEFUN([gl_FUNC_GETOPT_GNU], | |||
25 | AC_REQUIRE([gl_FUNC_GETOPT_POSIX]) | 37 | AC_REQUIRE([gl_FUNC_GETOPT_POSIX]) |
26 | ]) | 38 | ]) |
27 | 39 | ||
28 | # Request the gnulib implementation of the getopt functions unconditionally. | ||
29 | # argp.m4 uses this. | ||
30 | AC_DEFUN([gl_REPLACE_GETOPT], | ||
31 | [ | ||
32 | dnl Arrange for getopt.h to be created. | ||
33 | gl_GETOPT_SUBSTITUTE_HEADER | ||
34 | dnl Arrange for unistd.h to include getopt.h. | ||
35 | GNULIB_UNISTD_H_GETOPT=1 | ||
36 | dnl Arrange to compile the getopt implementation. | ||
37 | AC_LIBOBJ([getopt]) | ||
38 | AC_LIBOBJ([getopt1]) | ||
39 | gl_PREREQ_GETOPT | ||
40 | ]) | ||
41 | |||
42 | # emacs' configure.in uses this. | ||
43 | AC_DEFUN([gl_GETOPT_IFELSE], | ||
44 | [ | ||
45 | AC_REQUIRE([gl_GETOPT_CHECK_HEADERS]) | ||
46 | AS_IF([test -n "$gl_replace_getopt"], [$1], [$2]) | ||
47 | ]) | ||
48 | |||
49 | # Determine whether to replace the entire getopt facility. | 40 | # Determine whether to replace the entire getopt facility. |
50 | AC_DEFUN([gl_GETOPT_CHECK_HEADERS], | 41 | AC_DEFUN([gl_GETOPT_CHECK_HEADERS], |
51 | [ | 42 | [ |
52 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | 43 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles |
44 | AC_REQUIRE([AC_PROG_AWK]) dnl for awk that supports ENVIRON | ||
53 | 45 | ||
54 | dnl Persuade Solaris <unistd.h> to declare optarg, optind, opterr, optopt. | 46 | dnl Persuade Solaris <unistd.h> to declare optarg, optind, opterr, optopt. |
55 | AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) | 47 | AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) |
56 | 48 | ||
57 | gl_CHECK_NEXT_HEADERS([getopt.h]) | 49 | gl_CHECK_NEXT_HEADERS([getopt.h]) |
58 | AC_CHECK_HEADERS_ONCE([getopt.h]) | ||
59 | if test $ac_cv_header_getopt_h = yes; then | 50 | if test $ac_cv_header_getopt_h = yes; then |
60 | HAVE_GETOPT_H=1 | 51 | HAVE_GETOPT_H=1 |
61 | else | 52 | else |
@@ -75,25 +66,6 @@ AC_DEFUN([gl_GETOPT_CHECK_HEADERS], | |||
75 | AC_CHECK_FUNCS([getopt_long_only], [], [gl_replace_getopt=yes]) | 66 | AC_CHECK_FUNCS([getopt_long_only], [], [gl_replace_getopt=yes]) |
76 | fi | 67 | fi |
77 | 68 | ||
78 | dnl BSD getopt_long uses an incompatible method to reset option processing. | ||
79 | dnl Existence of the variable, in and of itself, is not a reason to replace | ||
80 | dnl getopt, but knowledge of the variable is needed to determine how to | ||
81 | dnl reset and whether a reset reparses the environment. | ||
82 | dnl Solaris supports neither optreset nor optind=0, but keeps no state that | ||
83 | dnl needs a reset beyond setting optind=1; detect Solaris by getopt_clip. | ||
84 | if test -z "$gl_replace_getopt"; then | ||
85 | AC_CHECK_DECLS([optreset], [], | ||
86 | [AC_CHECK_DECLS([getopt_clip], [], [], | ||
87 | [[#include <getopt.h>]]) | ||
88 | ], | ||
89 | [[#include <getopt.h>]]) | ||
90 | fi | ||
91 | |||
92 | dnl mingw's getopt (in libmingwex.a) does weird things when the options | ||
93 | dnl strings starts with '+' and it's not the first call. Some internal state | ||
94 | dnl is left over from earlier calls, and neither setting optind = 0 nor | ||
95 | dnl setting optreset = 1 get rid of this internal state. | ||
96 | dnl POSIX is silent on optind vs. optreset, so we allow either behavior. | ||
97 | dnl POSIX 2008 does not specify leading '+' behavior, but see | 69 | dnl POSIX 2008 does not specify leading '+' behavior, but see |
98 | dnl http://austingroupbugs.net/view.php?id=191 for a recommendation on | 70 | dnl http://austingroupbugs.net/view.php?id=191 for a recommendation on |
99 | dnl the next version of POSIX. For now, we only guarantee leading '+' | 71 | dnl the next version of POSIX. For now, we only guarantee leading '+' |
@@ -102,105 +74,124 @@ AC_DEFUN([gl_GETOPT_CHECK_HEADERS], | |||
102 | AC_CACHE_CHECK([whether getopt is POSIX compatible], | 74 | AC_CACHE_CHECK([whether getopt is POSIX compatible], |
103 | [gl_cv_func_getopt_posix], | 75 | [gl_cv_func_getopt_posix], |
104 | [ | 76 | [ |
105 | dnl This test fails on mingw and succeeds on all other platforms. | 77 | dnl Merging these three different test programs into a single one |
106 | AC_RUN_IFELSE([AC_LANG_SOURCE([[ | 78 | dnl would require a reset mechanism. On BSD systems, it can be done |
79 | dnl through 'optreset'; on some others (glibc), it can be done by | ||
80 | dnl setting 'optind' to 0; on others again (HP-UX, IRIX, OSF/1, | ||
81 | dnl Solaris 9, musl libc), there is no such mechanism. | ||
82 | if test $cross_compiling = no; then | ||
83 | dnl Sanity check. Succeeds everywhere (except on MSVC, | ||
84 | dnl which lacks <unistd.h> and getopt() entirely). | ||
85 | AC_RUN_IFELSE( | ||
86 | [AC_LANG_SOURCE([[ | ||
107 | #include <unistd.h> | 87 | #include <unistd.h> |
108 | #include <stdlib.h> | 88 | #include <stdlib.h> |
109 | #include <string.h> | 89 | #include <string.h> |
110 | 90 | ||
111 | #if !HAVE_DECL_OPTRESET && !HAVE_DECL_GETOPT_CLIP | ||
112 | # define OPTIND_MIN 0 | ||
113 | #else | ||
114 | # define OPTIND_MIN 1 | ||
115 | #endif | ||
116 | |||
117 | int | 91 | int |
118 | main () | 92 | main () |
119 | { | 93 | { |
120 | { | 94 | static char program[] = "program"; |
121 | int argc = 0; | 95 | static char a[] = "-a"; |
122 | char *argv[10]; | 96 | static char foo[] = "foo"; |
123 | int c; | 97 | static char bar[] = "bar"; |
124 | 98 | char *argv[] = { program, a, foo, bar, NULL }; | |
125 | argv[argc++] = "program"; | 99 | int c; |
126 | argv[argc++] = "-a"; | ||
127 | argv[argc++] = "foo"; | ||
128 | argv[argc++] = "bar"; | ||
129 | argv[argc] = NULL; | ||
130 | optind = OPTIND_MIN; | ||
131 | opterr = 0; | ||
132 | 100 | ||
133 | c = getopt (argc, argv, "ab"); | 101 | c = getopt (4, argv, "ab"); |
134 | if (!(c == 'a')) | 102 | if (!(c == 'a')) |
135 | return 1; | 103 | return 1; |
136 | c = getopt (argc, argv, "ab"); | 104 | c = getopt (4, argv, "ab"); |
137 | if (!(c == -1)) | 105 | if (!(c == -1)) |
138 | return 2; | 106 | return 2; |
139 | if (!(optind == 2)) | 107 | if (!(optind == 2)) |
140 | return 3; | 108 | return 3; |
141 | } | 109 | return 0; |
142 | /* Some internal state exists at this point. */ | 110 | } |
143 | { | 111 | ]])], |
144 | int argc = 0; | 112 | [gl_cv_func_getopt_posix=maybe], |
145 | char *argv[10]; | 113 | [gl_cv_func_getopt_posix=no]) |
146 | int c; | 114 | if test $gl_cv_func_getopt_posix = maybe; then |
115 | dnl Sanity check with '+'. Succeeds everywhere (except on MSVC, | ||
116 | dnl which lacks <unistd.h> and getopt() entirely). | ||
117 | AC_RUN_IFELSE( | ||
118 | [AC_LANG_SOURCE([[ | ||
119 | #include <unistd.h> | ||
120 | #include <stdlib.h> | ||
121 | #include <string.h> | ||
147 | 122 | ||
148 | argv[argc++] = "program"; | 123 | int |
149 | argv[argc++] = "donald"; | 124 | main () |
150 | argv[argc++] = "-p"; | 125 | { |
151 | argv[argc++] = "billy"; | 126 | static char program[] = "program"; |
152 | argv[argc++] = "duck"; | 127 | static char donald[] = "donald"; |
153 | argv[argc++] = "-a"; | 128 | static char p[] = "-p"; |
154 | argv[argc++] = "bar"; | 129 | static char billy[] = "billy"; |
155 | argv[argc] = NULL; | 130 | static char duck[] = "duck"; |
156 | optind = OPTIND_MIN; | 131 | static char a[] = "-a"; |
157 | opterr = 0; | 132 | static char bar[] = "bar"; |
133 | char *argv[] = { program, donald, p, billy, duck, a, bar, NULL }; | ||
134 | int c; | ||
158 | 135 | ||
159 | c = getopt (argc, argv, "+abp:q:"); | 136 | c = getopt (7, argv, "+abp:q:"); |
160 | if (!(c == -1)) | 137 | if (!(c == -1)) |
161 | return 4; | 138 | return 4; |
162 | if (!(strcmp (argv[0], "program") == 0)) | 139 | if (!(strcmp (argv[0], "program") == 0)) |
163 | return 5; | 140 | return 5; |
164 | if (!(strcmp (argv[1], "donald") == 0)) | 141 | if (!(strcmp (argv[1], "donald") == 0)) |
165 | return 6; | 142 | return 6; |
166 | if (!(strcmp (argv[2], "-p") == 0)) | 143 | if (!(strcmp (argv[2], "-p") == 0)) |
167 | return 7; | 144 | return 7; |
168 | if (!(strcmp (argv[3], "billy") == 0)) | 145 | if (!(strcmp (argv[3], "billy") == 0)) |
169 | return 8; | 146 | return 8; |
170 | if (!(strcmp (argv[4], "duck") == 0)) | 147 | if (!(strcmp (argv[4], "duck") == 0)) |
171 | return 9; | 148 | return 9; |
172 | if (!(strcmp (argv[5], "-a") == 0)) | 149 | if (!(strcmp (argv[5], "-a") == 0)) |
173 | return 10; | 150 | return 10; |
174 | if (!(strcmp (argv[6], "bar") == 0)) | 151 | if (!(strcmp (argv[6], "bar") == 0)) |
175 | return 11; | 152 | return 11; |
176 | if (!(optind == 1)) | 153 | if (!(optind == 1)) |
177 | return 12; | 154 | return 12; |
178 | } | 155 | return 0; |
179 | /* Detect MacOS 10.5 bug. */ | 156 | } |
180 | { | 157 | ]])], |
181 | char *argv[3] = { "program", "-ab", NULL }; | 158 | [gl_cv_func_getopt_posix=maybe], |
182 | optind = OPTIND_MIN; | 159 | [gl_cv_func_getopt_posix=no]) |
183 | opterr = 0; | 160 | fi |
184 | if (getopt (2, argv, "ab:") != 'a') | 161 | if test $gl_cv_func_getopt_posix = maybe; then |
185 | return 13; | 162 | dnl Detect Mac OS X 10.5, AIX 7.1, mingw bug. |
186 | if (getopt (2, argv, "ab:") != '?') | 163 | AC_RUN_IFELSE( |
187 | return 14; | 164 | [AC_LANG_SOURCE([[ |
188 | if (optopt != 'b') | 165 | #include <unistd.h> |
189 | return 15; | 166 | #include <stdlib.h> |
190 | if (optind != 2) | 167 | #include <string.h> |
191 | return 16; | ||
192 | } | ||
193 | 168 | ||
169 | int | ||
170 | main () | ||
171 | { | ||
172 | static char program[] = "program"; | ||
173 | static char ab[] = "-ab"; | ||
174 | char *argv[3] = { program, ab, NULL }; | ||
175 | if (getopt (2, argv, "ab:") != 'a') | ||
176 | return 13; | ||
177 | if (getopt (2, argv, "ab:") != '?') | ||
178 | return 14; | ||
179 | if (optopt != 'b') | ||
180 | return 15; | ||
181 | if (optind != 2) | ||
182 | return 16; | ||
194 | return 0; | 183 | return 0; |
195 | } | 184 | } |
196 | ]])], | 185 | ]])], |
197 | [gl_cv_func_getopt_posix=yes], [gl_cv_func_getopt_posix=no], | 186 | [gl_cv_func_getopt_posix=yes], |
198 | [case "$host_os" in | 187 | [gl_cv_func_getopt_posix=no]) |
199 | mingw*) gl_cv_func_getopt_posix="guessing no";; | 188 | fi |
200 | darwin*) gl_cv_func_getopt_posix="guessing no";; | 189 | else |
201 | *) gl_cv_func_getopt_posix="guessing yes";; | 190 | case "$host_os" in |
202 | esac | 191 | darwin* | aix* | mingw*) gl_cv_func_getopt_posix="guessing no";; |
203 | ]) | 192 | *) gl_cv_func_getopt_posix="guessing yes";; |
193 | esac | ||
194 | fi | ||
204 | ]) | 195 | ]) |
205 | case "$gl_cv_func_getopt_posix" in | 196 | case "$gl_cv_func_getopt_posix" in |
206 | *no) gl_replace_getopt=yes ;; | 197 | *no) gl_replace_getopt=yes ;; |
@@ -213,82 +204,154 @@ main () | |||
213 | # optstring is necessary for programs like m4 that have POSIX-mandated | 204 | # optstring is necessary for programs like m4 that have POSIX-mandated |
214 | # semantics for supporting options interspersed with files. | 205 | # semantics for supporting options interspersed with files. |
215 | # Also, since getopt_long is a GNU extension, we require optind=0. | 206 | # Also, since getopt_long is a GNU extension, we require optind=0. |
216 | gl_had_POSIXLY_CORRECT=${POSIXLY_CORRECT:+yes} | 207 | # Bash ties 'set -o posix' to a non-exported POSIXLY_CORRECT; |
208 | # so take care to revert to the correct (non-)export state. | ||
209 | dnl GNU Coding Standards currently allow awk but not env; besides, env | ||
210 | dnl is ambiguous with environment values that contain newlines. | ||
211 | gl_awk_probe='BEGIN { if ("POSIXLY_CORRECT" in ENVIRON) print "x" }' | ||
212 | case ${POSIXLY_CORRECT+x}`$AWK "$gl_awk_probe" </dev/null` in | ||
213 | xx) gl_had_POSIXLY_CORRECT=exported ;; | ||
214 | x) gl_had_POSIXLY_CORRECT=yes ;; | ||
215 | *) gl_had_POSIXLY_CORRECT= ;; | ||
216 | esac | ||
217 | POSIXLY_CORRECT=1 | 217 | POSIXLY_CORRECT=1 |
218 | export POSIXLY_CORRECT | 218 | export POSIXLY_CORRECT |
219 | AC_RUN_IFELSE( | 219 | AC_RUN_IFELSE( |
220 | [AC_LANG_PROGRAM([[#include <getopt.h> | 220 | [AC_LANG_PROGRAM([[#include <getopt.h> |
221 | #include <stddef.h> | 221 | #include <stddef.h> |
222 | #include <string.h> | 222 | #include <string.h> |
223 | ]GL_NOCRASH[ | ||
223 | ]], [[ | 224 | ]], [[ |
225 | int result = 0; | ||
226 | |||
227 | nocrash_init(); | ||
228 | |||
224 | /* This code succeeds on glibc 2.8, OpenBSD 4.0, Cygwin, mingw, | 229 | /* This code succeeds on glibc 2.8, OpenBSD 4.0, Cygwin, mingw, |
225 | and fails on MacOS X 10.5, AIX 5.2, HP-UX 11, IRIX 6.5, | 230 | and fails on Mac OS X 10.5, AIX 5.2, HP-UX 11, IRIX 6.5, |
226 | OSF/1 5.1, Solaris 10. */ | 231 | OSF/1 5.1, Solaris 10. */ |
227 | { | 232 | { |
228 | char *myargv[3]; | 233 | static char conftest[] = "conftest"; |
229 | myargv[0] = "conftest"; | 234 | static char plus[] = "-+"; |
230 | myargv[1] = "-+"; | 235 | char *argv[3] = { conftest, plus, NULL }; |
231 | myargv[2] = 0; | ||
232 | opterr = 0; | 236 | opterr = 0; |
233 | if (getopt (2, myargv, "+a") != '?') | 237 | if (getopt (2, argv, "+a") != '?') |
234 | return 1; | 238 | result |= 1; |
235 | } | 239 | } |
236 | /* This code succeeds on glibc 2.8, mingw, | 240 | /* This code succeeds on glibc 2.8, mingw, |
237 | and fails on MacOS X 10.5, OpenBSD 4.0, AIX 5.2, HP-UX 11, | 241 | and fails on Mac OS X 10.5, OpenBSD 4.0, AIX 5.2, HP-UX 11, |
238 | IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x. */ | 242 | IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x. */ |
239 | { | 243 | { |
240 | char *argv[] = { "program", "-p", "foo", "bar", NULL }; | 244 | static char program[] = "program"; |
245 | static char p[] = "-p"; | ||
246 | static char foo[] = "foo"; | ||
247 | static char bar[] = "bar"; | ||
248 | char *argv[] = { program, p, foo, bar, NULL }; | ||
241 | 249 | ||
242 | optind = 1; | 250 | optind = 1; |
243 | if (getopt (4, argv, "p::") != 'p') | 251 | if (getopt (4, argv, "p::") != 'p') |
244 | return 2; | 252 | result |= 2; |
245 | if (optarg != NULL) | 253 | else if (optarg != NULL) |
246 | return 3; | 254 | result |= 4; |
247 | if (getopt (4, argv, "p::") != -1) | 255 | else if (getopt (4, argv, "p::") != -1) |
248 | return 4; | 256 | result |= 6; |
249 | if (optind != 2) | 257 | else if (optind != 2) |
250 | return 5; | 258 | result |= 8; |
251 | } | 259 | } |
252 | /* This code succeeds on glibc 2.8 and fails on Cygwin 1.7.0. */ | 260 | /* This code succeeds on glibc 2.8 and fails on Cygwin 1.7.0. */ |
253 | { | 261 | { |
254 | char *argv[] = { "program", "foo", "-p", NULL }; | 262 | static char program[] = "program"; |
263 | static char foo[] = "foo"; | ||
264 | static char p[] = "-p"; | ||
265 | char *argv[] = { program, foo, p, NULL }; | ||
255 | optind = 0; | 266 | optind = 0; |
256 | if (getopt (3, argv, "-p") != 1) | 267 | if (getopt (3, argv, "-p") != 1) |
257 | return 6; | 268 | result |= 16; |
258 | if (getopt (3, argv, "-p") != 'p') | 269 | else if (getopt (3, argv, "-p") != 'p') |
259 | return 7; | 270 | result |= 16; |
260 | } | 271 | } |
261 | /* This code fails on glibc 2.11. */ | 272 | /* This code fails on glibc 2.11. */ |
262 | { | 273 | { |
263 | char *argv[] = { "program", "-b", "-a", NULL }; | 274 | static char program[] = "program"; |
275 | static char b[] = "-b"; | ||
276 | static char a[] = "-a"; | ||
277 | char *argv[] = { program, b, a, NULL }; | ||
264 | optind = opterr = 0; | 278 | optind = opterr = 0; |
265 | if (getopt (3, argv, "+:a:b") != 'b') | 279 | if (getopt (3, argv, "+:a:b") != 'b') |
266 | return 8; | 280 | result |= 32; |
267 | if (getopt (3, argv, "+:a:b") != ':') | 281 | else if (getopt (3, argv, "+:a:b") != ':') |
268 | return 9; | 282 | result |= 32; |
283 | } | ||
284 | /* This code dumps core on glibc 2.14. */ | ||
285 | { | ||
286 | static char program[] = "program"; | ||
287 | static char w[] = "-W"; | ||
288 | static char dummy[] = "dummy"; | ||
289 | char *argv[] = { program, w, dummy, NULL }; | ||
290 | optind = opterr = 1; | ||
291 | if (getopt (3, argv, "W;") != 'W') | ||
292 | result |= 64; | ||
269 | } | 293 | } |
270 | return 0; | 294 | return result; |
271 | ]])], | 295 | ]])], |
272 | [gl_cv_func_getopt_gnu=yes], | 296 | [gl_cv_func_getopt_gnu=yes], |
273 | [gl_cv_func_getopt_gnu=no], | 297 | [gl_cv_func_getopt_gnu=no], |
274 | [dnl Cross compiling. Guess based on host and declarations. | 298 | [dnl Cross compiling. Assume the worst, even on glibc platforms. |
275 | case $host_os:$ac_cv_have_decl_optreset in | 299 | gl_cv_func_getopt_gnu="guessing no" |
276 | *-gnu*:* | mingw*:*) gl_cv_func_getopt_gnu=no;; | ||
277 | *:yes) gl_cv_func_getopt_gnu=no;; | ||
278 | *) gl_cv_func_getopt_gnu=yes;; | ||
279 | esac | ||
280 | ]) | 300 | ]) |
281 | if test "$gl_had_POSIXLY_CORRECT" != yes; then | 301 | case $gl_had_POSIXLY_CORRECT in |
282 | AS_UNSET([POSIXLY_CORRECT]) | 302 | exported) ;; |
283 | fi | 303 | yes) AS_UNSET([POSIXLY_CORRECT]); POSIXLY_CORRECT=1 ;; |
304 | *) AS_UNSET([POSIXLY_CORRECT]) ;; | ||
305 | esac | ||
284 | ]) | 306 | ]) |
285 | if test "$gl_cv_func_getopt_gnu" = "no"; then | 307 | if test "$gl_cv_func_getopt_gnu" != yes; then |
286 | gl_replace_getopt=yes | 308 | gl_replace_getopt=yes |
309 | else | ||
310 | AC_CACHE_CHECK([for working GNU getopt_long function], | ||
311 | [gl_cv_func_getopt_long_gnu], | ||
312 | [AC_RUN_IFELSE( | ||
313 | [AC_LANG_PROGRAM( | ||
314 | [[#include <getopt.h> | ||
315 | #include <stddef.h> | ||
316 | #include <string.h> | ||
317 | ]], | ||
318 | [[static const struct option long_options[] = | ||
319 | { | ||
320 | { "xtremely-",no_argument, NULL, 1003 }, | ||
321 | { "xtra", no_argument, NULL, 1001 }, | ||
322 | { "xtreme", no_argument, NULL, 1002 }, | ||
323 | { "xtremely", no_argument, NULL, 1003 }, | ||
324 | { NULL, 0, NULL, 0 } | ||
325 | }; | ||
326 | /* This code fails on OpenBSD 5.0. */ | ||
327 | { | ||
328 | static char program[] = "program"; | ||
329 | static char xtremel[] = "--xtremel"; | ||
330 | char *argv[] = { program, xtremel, NULL }; | ||
331 | int option_index; | ||
332 | optind = 1; opterr = 0; | ||
333 | if (getopt_long (2, argv, "", long_options, &option_index) != 1003) | ||
334 | return 1; | ||
335 | } | ||
336 | return 0; | ||
337 | ]])], | ||
338 | [gl_cv_func_getopt_long_gnu=yes], | ||
339 | [gl_cv_func_getopt_long_gnu=no], | ||
340 | [dnl Cross compiling. Guess no on OpenBSD, yes otherwise. | ||
341 | case "$host_os" in | ||
342 | openbsd*) gl_cv_func_getopt_long_gnu="guessing no";; | ||
343 | *) gl_cv_func_getopt_long_gnu="guessing yes";; | ||
344 | esac | ||
345 | ]) | ||
346 | ]) | ||
347 | case "$gl_cv_func_getopt_long_gnu" in | ||
348 | *yes) ;; | ||
349 | *) gl_replace_getopt=yes ;; | ||
350 | esac | ||
287 | fi | 351 | fi |
288 | fi | 352 | fi |
289 | ]) | 353 | ]) |
290 | 354 | ||
291 | # emacs' configure.in uses this. | ||
292 | AC_DEFUN([gl_GETOPT_SUBSTITUTE_HEADER], | 355 | AC_DEFUN([gl_GETOPT_SUBSTITUTE_HEADER], |
293 | [ | 356 | [ |
294 | GETOPT_H=getopt.h | 357 | GETOPT_H=getopt.h |
@@ -299,7 +362,6 @@ AC_DEFUN([gl_GETOPT_SUBSTITUTE_HEADER], | |||
299 | ]) | 362 | ]) |
300 | 363 | ||
301 | # Prerequisites of lib/getopt*. | 364 | # Prerequisites of lib/getopt*. |
302 | # emacs' configure.in uses this. | ||
303 | AC_DEFUN([gl_PREREQ_GETOPT], | 365 | AC_DEFUN([gl_PREREQ_GETOPT], |
304 | [ | 366 | [ |
305 | AC_CHECK_DECLS_ONCE([getenv]) | 367 | AC_CHECK_DECLS_ONCE([getenv]) |
diff --git a/gl/m4/gettext.m4 b/gl/m4/gettext.m4 index f84e6a5d..8d1f0665 100644 --- a/gl/m4/gettext.m4 +++ b/gl/m4/gettext.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # gettext.m4 serial 63 (gettext-0.18) | 1 | # gettext.m4 serial 66 (gettext-0.18.2) |
2 | dnl Copyright (C) 1995-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1995-2013 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. |
@@ -35,7 +35,7 @@ dnl will be ignored. If NEEDSYMBOL is specified and is | |||
35 | dnl 'need-formatstring-macros', then GNU gettext implementations that don't | 35 | dnl 'need-formatstring-macros', then GNU gettext implementations that don't |
36 | dnl support the ISO C 99 <inttypes.h> formatstring macros will be ignored. | 36 | dnl support the ISO C 99 <inttypes.h> formatstring macros will be ignored. |
37 | dnl INTLDIR is used to find the intl libraries. If empty, | 37 | dnl INTLDIR is used to find the intl libraries. If empty, |
38 | dnl the value `$(top_builddir)/intl/' is used. | 38 | dnl the value '$(top_builddir)/intl/' is used. |
39 | dnl | 39 | dnl |
40 | dnl The result of the configuration is one of three cases: | 40 | dnl The result of the configuration is one of three cases: |
41 | dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled | 41 | dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled |
@@ -97,7 +97,7 @@ AC_DEFUN([AM_GNU_GETTEXT], | |||
97 | AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) | 97 | AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) |
98 | ]) | 98 | ]) |
99 | 99 | ||
100 | dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation. | 100 | dnl Sometimes, on Mac OS X, libintl requires linking with CoreFoundation. |
101 | gt_INTL_MACOSX | 101 | gt_INTL_MACOSX |
102 | 102 | ||
103 | dnl Set USE_NLS. | 103 | dnl Set USE_NLS. |
@@ -157,12 +157,18 @@ changequote([,])dnl | |||
157 | fi | 157 | fi |
158 | 158 | ||
159 | AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc], | 159 | AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc], |
160 | [AC_TRY_LINK([#include <libintl.h> | 160 | [AC_LINK_IFELSE( |
161 | [AC_LANG_PROGRAM( | ||
162 | [[ | ||
163 | #include <libintl.h> | ||
161 | $gt_revision_test_code | 164 | $gt_revision_test_code |
162 | extern int _nl_msg_cat_cntr; | 165 | extern int _nl_msg_cat_cntr; |
163 | extern int *_nl_domain_bindings;], | 166 | extern int *_nl_domain_bindings; |
164 | [bindtextdomain ("", ""); | 167 | ]], |
165 | return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings], | 168 | [[ |
169 | bindtextdomain ("", ""); | ||
170 | return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings | ||
171 | ]])], | ||
166 | [eval "$gt_func_gnugettext_libc=yes"], | 172 | [eval "$gt_func_gnugettext_libc=yes"], |
167 | [eval "$gt_func_gnugettext_libc=no"])]) | 173 | [eval "$gt_func_gnugettext_libc=no"])]) |
168 | 174 | ||
@@ -183,35 +189,47 @@ return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_b | |||
183 | gt_save_LIBS="$LIBS" | 189 | gt_save_LIBS="$LIBS" |
184 | LIBS="$LIBS $LIBINTL" | 190 | LIBS="$LIBS $LIBINTL" |
185 | dnl Now see whether libintl exists and does not depend on libiconv. | 191 | dnl Now see whether libintl exists and does not depend on libiconv. |
186 | AC_TRY_LINK([#include <libintl.h> | 192 | AC_LINK_IFELSE( |
193 | [AC_LANG_PROGRAM( | ||
194 | [[ | ||
195 | #include <libintl.h> | ||
187 | $gt_revision_test_code | 196 | $gt_revision_test_code |
188 | extern int _nl_msg_cat_cntr; | 197 | extern int _nl_msg_cat_cntr; |
189 | extern | 198 | extern |
190 | #ifdef __cplusplus | 199 | #ifdef __cplusplus |
191 | "C" | 200 | "C" |
192 | #endif | 201 | #endif |
193 | const char *_nl_expand_alias (const char *);], | 202 | const char *_nl_expand_alias (const char *); |
194 | [bindtextdomain ("", ""); | 203 | ]], |
195 | return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], | 204 | [[ |
205 | bindtextdomain ("", ""); | ||
206 | return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") | ||
207 | ]])], | ||
196 | [eval "$gt_func_gnugettext_libintl=yes"], | 208 | [eval "$gt_func_gnugettext_libintl=yes"], |
197 | [eval "$gt_func_gnugettext_libintl=no"]) | 209 | [eval "$gt_func_gnugettext_libintl=no"]) |
198 | dnl Now see whether libintl exists and depends on libiconv. | 210 | dnl Now see whether libintl exists and depends on libiconv. |
199 | if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then | 211 | if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then |
200 | LIBS="$LIBS $LIBICONV" | 212 | LIBS="$LIBS $LIBICONV" |
201 | AC_TRY_LINK([#include <libintl.h> | 213 | AC_LINK_IFELSE( |
214 | [AC_LANG_PROGRAM( | ||
215 | [[ | ||
216 | #include <libintl.h> | ||
202 | $gt_revision_test_code | 217 | $gt_revision_test_code |
203 | extern int _nl_msg_cat_cntr; | 218 | extern int _nl_msg_cat_cntr; |
204 | extern | 219 | extern |
205 | #ifdef __cplusplus | 220 | #ifdef __cplusplus |
206 | "C" | 221 | "C" |
207 | #endif | 222 | #endif |
208 | const char *_nl_expand_alias (const char *);], | 223 | const char *_nl_expand_alias (const char *); |
209 | [bindtextdomain ("", ""); | 224 | ]], |
210 | return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], | 225 | [[ |
211 | [LIBINTL="$LIBINTL $LIBICONV" | 226 | bindtextdomain ("", ""); |
212 | LTLIBINTL="$LTLIBINTL $LTLIBICONV" | 227 | return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") |
213 | eval "$gt_func_gnugettext_libintl=yes" | 228 | ]])], |
214 | ]) | 229 | [LIBINTL="$LIBINTL $LIBICONV" |
230 | LTLIBINTL="$LTLIBINTL $LTLIBICONV" | ||
231 | eval "$gt_func_gnugettext_libintl=yes" | ||
232 | ]) | ||
215 | fi | 233 | fi |
216 | CPPFLAGS="$gt_save_CPPFLAGS" | 234 | CPPFLAGS="$gt_save_CPPFLAGS" |
217 | LIBS="$gt_save_LIBS"]) | 235 | LIBS="$gt_save_LIBS"]) |
diff --git a/gl/m4/glibc2.m4 b/gl/m4/glibc2.m4 index f148c12c..0e506826 100644 --- a/gl/m4/glibc2.m4 +++ b/gl/m4/glibc2.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # glibc2.m4 serial 2 | 1 | # glibc2.m4 serial 3 |
2 | dnl Copyright (C) 2000-2002, 2004, 2008-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2000-2002, 2004, 2008, 2010-2013 Free Software Foundation, |
3 | dnl Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | 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. |
@@ -15,7 +16,7 @@ AC_DEFUN([gt_GLIBC2], | |||
15 | [ | 16 | [ |
16 | #include <features.h> | 17 | #include <features.h> |
17 | #ifdef __GNU_LIBRARY__ | 18 | #ifdef __GNU_LIBRARY__ |
18 | #if (__GLIBC__ >= 2) | 19 | #if (__GLIBC__ >= 2) && !defined __UCLIBC__ |
19 | Lucky GNU user | 20 | Lucky GNU user |
20 | #endif | 21 | #endif |
21 | #endif | 22 | #endif |
diff --git a/gl/m4/glibc21.m4 b/gl/m4/glibc21.m4 index 68ada9d4..613fb2a4 100644 --- a/gl/m4/glibc21.m4 +++ b/gl/m4/glibc21.m4 | |||
@@ -1,17 +1,18 @@ | |||
1 | # glibc21.m4 serial 4 | 1 | # glibc21.m4 serial 5 |
2 | dnl Copyright (C) 2000-2002, 2004, 2008-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2000-2002, 2004, 2008, 2010-2013 Free Software Foundation, |
3 | dnl Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | 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. |
6 | 7 | ||
7 | # Test for the GNU C Library, version 2.1 or newer. | 8 | # Test for the GNU C Library, version 2.1 or newer, or uClibc. |
8 | # From Bruno Haible. | 9 | # From Bruno Haible. |
9 | 10 | ||
10 | AC_DEFUN([gl_GLIBC21], | 11 | AC_DEFUN([gl_GLIBC21], |
11 | [ | 12 | [ |
12 | AC_CACHE_CHECK([whether we are using the GNU C Library 2.1 or newer], | 13 | AC_CACHE_CHECK([whether we are using the GNU C Library >= 2.1 or uClibc], |
13 | [ac_cv_gnu_library_2_1], | 14 | [ac_cv_gnu_library_2_1], |
14 | [AC_EGREP_CPP([Lucky GNU user], | 15 | [AC_EGREP_CPP([Lucky], |
15 | [ | 16 | [ |
16 | #include <features.h> | 17 | #include <features.h> |
17 | #ifdef __GNU_LIBRARY__ | 18 | #ifdef __GNU_LIBRARY__ |
@@ -19,6 +20,9 @@ AC_DEFUN([gl_GLIBC21], | |||
19 | Lucky GNU user | 20 | Lucky GNU user |
20 | #endif | 21 | #endif |
21 | #endif | 22 | #endif |
23 | #ifdef __UCLIBC__ | ||
24 | Lucky user | ||
25 | #endif | ||
22 | ], | 26 | ], |
23 | [ac_cv_gnu_library_2_1=yes], | 27 | [ac_cv_gnu_library_2_1=yes], |
24 | [ac_cv_gnu_library_2_1=no]) | 28 | [ac_cv_gnu_library_2_1=no]) |
diff --git a/gl/m4/gnulib-cache.m4 b/gl/m4/gnulib-cache.m4 index 1b6516d3..0e1e87d7 100644 --- a/gl/m4/gnulib-cache.m4 +++ b/gl/m4/gnulib-cache.m4 | |||
@@ -1,21 +1,33 @@ | |||
1 | # Copyright (C) 2002-2010 Free Software Foundation, Inc. | 1 | # Copyright (C) 2002-2013 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; you can redistribute it and/or modify |
4 | # General Public License. As a special exception to the GNU General | 4 | # it under the terms of the GNU General Public License as published by |
5 | # Public License, this file may be distributed as part of a program | 5 | # the Free Software Foundation; either version 3 of the License, or |
6 | # that contains a configuration script generated by Autoconf, under | 6 | # (at your option) any later version. |
7 | # | ||
8 | # This file is distributed in the hope that it will be useful, | ||
9 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | # GNU General Public License for more details. | ||
12 | # | ||
13 | # You should have received a copy of the GNU General Public License | ||
14 | # along with this file. If not, see <http://www.gnu.org/licenses/>. | ||
15 | # | ||
16 | # As a special exception to the GNU General Public License, | ||
17 | # this file may be distributed as part of a program that | ||
18 | # contains a configuration script generated by Autoconf, under | ||
7 | # the same distribution terms as the rest of that program. | 19 | # the same distribution terms as the rest of that program. |
8 | # | 20 | # |
9 | # Generated by gnulib-tool. | 21 | # Generated by gnulib-tool. |
10 | # | 22 | # |
11 | # This file represents the specification of how gnulib-tool is used. | 23 | # This file represents the specification of how gnulib-tool is used. |
12 | # It acts as a cache: It is written and read by gnulib-tool. | 24 | # It acts as a cache: It is written and read by gnulib-tool. |
13 | # In projects using CVS, this file is meant to be stored in CVS, | 25 | # In projects that use version control, this file is meant to be put under |
14 | # like the configure.ac and various Makefile.am files. | 26 | # version control, like the configure.ac and various Makefile.am files. |
15 | 27 | ||
16 | 28 | ||
17 | # Specification in the form of a command-line invocation: | 29 | # 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 --tests-base=tests --aux-dir=build-aux --no-libtool --macro-prefix=gl --no-vc-files base64 crypto/sha1 dirname environ floorf fsusage getaddrinfo gethostname getloadavg getopt gettext mountlist regex setenv strsep timegm unsetenv vasprintf vsnprintf | 30 | # gnulib-tool --import --dir=. --lib=libgnu --source-base=gl --m4-base=gl/m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --no-conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files base64 crypto/sha1 dirname environ floorf fsusage getaddrinfo gethostname getloadavg getopt gettext mountlist regex setenv strsep timegm unsetenv vasprintf vsnprintf |
19 | 31 | ||
20 | # Specification in the form of a few gnulib-tool.m4 macro invocations: | 32 | # Specification in the form of a few gnulib-tool.m4 macro invocations: |
21 | gl_LOCAL_DIR([]) | 33 | gl_LOCAL_DIR([]) |
@@ -50,4 +62,5 @@ gl_LIB([libgnu]) | |||
50 | gl_MAKEFILE_NAME([]) | 62 | gl_MAKEFILE_NAME([]) |
51 | gl_MACRO_PREFIX([gl]) | 63 | gl_MACRO_PREFIX([gl]) |
52 | gl_PO_DOMAIN([]) | 64 | gl_PO_DOMAIN([]) |
65 | gl_WITNESS_C_MACRO([]) | ||
53 | gl_VC_FILES([false]) | 66 | gl_VC_FILES([false]) |
diff --git a/gl/m4/gnulib-common.m4 b/gl/m4/gnulib-common.m4 index 4c7ac30d..0ae5a9ec 100644 --- a/gl/m4/gnulib-common.m4 +++ b/gl/m4/gnulib-common.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # gnulib-common.m4 serial 20 | 1 | # gnulib-common.m4 serial 33 |
2 | dnl Copyright (C) 2007-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007-2013 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,11 +12,25 @@ AC_DEFUN([gl_COMMON], [ | |||
12 | AC_REQUIRE([gl_COMMON_BODY]) | 12 | AC_REQUIRE([gl_COMMON_BODY]) |
13 | ]) | 13 | ]) |
14 | AC_DEFUN([gl_COMMON_BODY], [ | 14 | AC_DEFUN([gl_COMMON_BODY], [ |
15 | AH_VERBATIM([_Noreturn], | ||
16 | [/* The _Noreturn keyword of C11. */ | ||
17 | #if ! (defined _Noreturn \ | ||
18 | || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__)) | ||
19 | # if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \ | ||
20 | || 0x5110 <= __SUNPRO_C) | ||
21 | # define _Noreturn __attribute__ ((__noreturn__)) | ||
22 | # elif defined _MSC_VER && 1200 <= _MSC_VER | ||
23 | # define _Noreturn __declspec (noreturn) | ||
24 | # else | ||
25 | # define _Noreturn | ||
26 | # endif | ||
27 | #endif | ||
28 | ]) | ||
15 | AH_VERBATIM([isoc99_inline], | 29 | AH_VERBATIM([isoc99_inline], |
16 | [/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports | 30 | [/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports |
17 | the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of | 31 | the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of |
18 | earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. | 32 | earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. |
19 | __APPLE__ && __MACH__ test for MacOS X. | 33 | __APPLE__ && __MACH__ test for Mac OS X. |
20 | __APPLE_CC__ tests for the Apple compiler and its version. | 34 | __APPLE_CC__ tests for the Apple compiler and its version. |
21 | __STDC_VERSION__ tests for the C99 mode. */ | 35 | __STDC_VERSION__ tests for the C99 mode. */ |
22 | #if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ | 36 | #if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ |
@@ -34,6 +48,20 @@ AC_DEFUN([gl_COMMON_BODY], [ | |||
34 | /* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name | 48 | /* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name |
35 | is a misnomer outside of parameter lists. */ | 49 | is a misnomer outside of parameter lists. */ |
36 | #define _UNUSED_PARAMETER_ _GL_UNUSED | 50 | #define _UNUSED_PARAMETER_ _GL_UNUSED |
51 | |||
52 | /* The __pure__ attribute was added in gcc 2.96. */ | ||
53 | #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) | ||
54 | # define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) | ||
55 | #else | ||
56 | # define _GL_ATTRIBUTE_PURE /* empty */ | ||
57 | #endif | ||
58 | |||
59 | /* The __const__ attribute was added in gcc 2.95. */ | ||
60 | #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) | ||
61 | # define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) | ||
62 | #else | ||
63 | # define _GL_ATTRIBUTE_CONST /* empty */ | ||
64 | #endif | ||
37 | ]) | 65 | ]) |
38 | dnl Preparation for running test programs: | 66 | dnl Preparation for running test programs: |
39 | dnl Tell glibc to write diagnostics from -D_FORTIFY_SOURCE=2 to stderr, not | 67 | dnl Tell glibc to write diagnostics from -D_FORTIFY_SOURCE=2 to stderr, not |
@@ -47,16 +75,49 @@ AC_DEFUN([gl_COMMON_BODY], [ | |||
47 | # expands to a C preprocessor expression that evaluates to 1 or 0, depending | 75 | # expands to a C preprocessor expression that evaluates to 1 or 0, depending |
48 | # whether a gnulib module that has been requested shall be considered present | 76 | # whether a gnulib module that has been requested shall be considered present |
49 | # or not. | 77 | # or not. |
50 | AC_DEFUN([gl_MODULE_INDICATOR_CONDITION], [1]) | 78 | m4_define([gl_MODULE_INDICATOR_CONDITION], [1]) |
51 | 79 | ||
52 | # gl_MODULE_INDICATOR_SET_VARIABLE([modulename]) | 80 | # gl_MODULE_INDICATOR_SET_VARIABLE([modulename]) |
53 | # sets the shell variable that indicates the presence of the given module to | 81 | # sets the shell variable that indicates the presence of the given module to |
54 | # a C preprocessor expression that will evaluate to 1. | 82 | # a C preprocessor expression that will evaluate to 1. |
55 | AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE], | 83 | AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE], |
56 | [ | 84 | [ |
57 | GNULIB_[]m4_translit([[$1]], | 85 | gl_MODULE_INDICATOR_SET_VARIABLE_AUX( |
58 | [abcdefghijklmnopqrstuvwxyz./-], | 86 | [GNULIB_[]m4_translit([[$1]], |
59 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=gl_MODULE_INDICATOR_CONDITION | 87 | [abcdefghijklmnopqrstuvwxyz./-], |
88 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])], | ||
89 | [gl_MODULE_INDICATOR_CONDITION]) | ||
90 | ]) | ||
91 | |||
92 | # gl_MODULE_INDICATOR_SET_VARIABLE_AUX([variable]) | ||
93 | # modifies the shell variable to include the gl_MODULE_INDICATOR_CONDITION. | ||
94 | # The shell variable's value is a C preprocessor expression that evaluates | ||
95 | # to 0 or 1. | ||
96 | AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE_AUX], | ||
97 | [ | ||
98 | m4_if(m4_defn([gl_MODULE_INDICATOR_CONDITION]), [1], | ||
99 | [ | ||
100 | dnl Simplify the expression VALUE || 1 to 1. | ||
101 | $1=1 | ||
102 | ], | ||
103 | [gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR([$1], | ||
104 | [gl_MODULE_INDICATOR_CONDITION])]) | ||
105 | ]) | ||
106 | |||
107 | # gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR([variable], [condition]) | ||
108 | # modifies the shell variable to include the given condition. The shell | ||
109 | # variable's value is a C preprocessor expression that evaluates to 0 or 1. | ||
110 | AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR], | ||
111 | [ | ||
112 | dnl Simplify the expression 1 || CONDITION to 1. | ||
113 | if test "$[]$1" != 1; then | ||
114 | dnl Simplify the expression 0 || CONDITION to CONDITION. | ||
115 | if test "$[]$1" = 0; then | ||
116 | $1=$2 | ||
117 | else | ||
118 | $1="($[]$1 || $2)" | ||
119 | fi | ||
120 | fi | ||
60 | ]) | 121 | ]) |
61 | 122 | ||
62 | # gl_MODULE_INDICATOR([modulename]) | 123 | # gl_MODULE_INDICATOR([modulename]) |
@@ -102,6 +163,40 @@ AC_DEFUN([gl_MODULE_INDICATOR_FOR_TESTS], | |||
102 | [Define to 1 when the gnulib module $1 should be tested.]) | 163 | [Define to 1 when the gnulib module $1 should be tested.]) |
103 | ]) | 164 | ]) |
104 | 165 | ||
166 | # gl_ASSERT_NO_GNULIB_POSIXCHECK | ||
167 | # asserts that there will never be a need to #define GNULIB_POSIXCHECK. | ||
168 | # and thereby enables an optimization of configure and config.h. | ||
169 | # Used by Emacs. | ||
170 | AC_DEFUN([gl_ASSERT_NO_GNULIB_POSIXCHECK], | ||
171 | [ | ||
172 | dnl Override gl_WARN_ON_USE_PREPARE. | ||
173 | dnl But hide this definition from 'aclocal'. | ||
174 | AC_DEFUN([gl_W][ARN_ON_USE_PREPARE], []) | ||
175 | ]) | ||
176 | |||
177 | # gl_ASSERT_NO_GNULIB_TESTS | ||
178 | # asserts that there will be no gnulib tests in the scope of the configure.ac | ||
179 | # and thereby enables an optimization of config.h. | ||
180 | # Used by Emacs. | ||
181 | AC_DEFUN([gl_ASSERT_NO_GNULIB_TESTS], | ||
182 | [ | ||
183 | dnl Override gl_MODULE_INDICATOR_FOR_TESTS. | ||
184 | AC_DEFUN([gl_MODULE_INDICATOR_FOR_TESTS], []) | ||
185 | ]) | ||
186 | |||
187 | # Test whether <features.h> exists. | ||
188 | # Set HAVE_FEATURES_H. | ||
189 | AC_DEFUN([gl_FEATURES_H], | ||
190 | [ | ||
191 | AC_CHECK_HEADERS_ONCE([features.h]) | ||
192 | if test $ac_cv_header_features_h = yes; then | ||
193 | HAVE_FEATURES_H=1 | ||
194 | else | ||
195 | HAVE_FEATURES_H=0 | ||
196 | fi | ||
197 | AC_SUBST([HAVE_FEATURES_H]) | ||
198 | ]) | ||
199 | |||
105 | # m4_foreach_w | 200 | # m4_foreach_w |
106 | # is a backport of autoconf-2.59c's m4_foreach_w. | 201 | # is a backport of autoconf-2.59c's m4_foreach_w. |
107 | # Remove this macro when we can assume autoconf >= 2.60. | 202 | # Remove this macro when we can assume autoconf >= 2.60. |
@@ -117,11 +212,90 @@ m4_ifndef([AS_VAR_IF], | |||
117 | [m4_define([AS_VAR_IF], | 212 | [m4_define([AS_VAR_IF], |
118 | [AS_IF([test x"AS_VAR_GET([$1])" = x""$2], [$3], [$4])])]) | 213 | [AS_IF([test x"AS_VAR_GET([$1])" = x""$2], [$3], [$4])])]) |
119 | 214 | ||
215 | # gl_PROG_CC_C99 | ||
216 | # Modifies the value of the shell variable CC in an attempt to make $CC | ||
217 | # understand ISO C99 source code. | ||
218 | # This is like AC_PROG_CC_C99, except that | ||
219 | # - AC_PROG_CC_C99 did not exist in Autoconf versions < 2.60, | ||
220 | # - AC_PROG_CC_C99 does not mix well with AC_PROG_CC_STDC | ||
221 | # <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00367.html>, | ||
222 | # but many more packages use AC_PROG_CC_STDC than AC_PROG_CC_C99 | ||
223 | # <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00441.html>. | ||
224 | # Remaining problems: | ||
225 | # - When AC_PROG_CC_STDC is invoked twice, it adds the C99 enabling options | ||
226 | # to CC twice | ||
227 | # <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00431.html>. | ||
228 | # - AC_PROG_CC_STDC is likely to change now that C11 is an ISO standard. | ||
229 | AC_DEFUN([gl_PROG_CC_C99], | ||
230 | [ | ||
231 | dnl Change that version number to the minimum Autoconf version that supports | ||
232 | dnl mixing AC_PROG_CC_C99 calls with AC_PROG_CC_STDC calls. | ||
233 | m4_version_prereq([9.0], | ||
234 | [AC_REQUIRE([AC_PROG_CC_C99])], | ||
235 | [AC_REQUIRE([AC_PROG_CC_STDC])]) | ||
236 | ]) | ||
237 | |||
238 | # gl_PROG_AR_RANLIB | ||
239 | # Determines the values for AR, ARFLAGS, RANLIB that fit with the compiler. | ||
240 | # The user can set the variables AR, ARFLAGS, RANLIB if he wants to override | ||
241 | # the values. | ||
242 | AC_DEFUN([gl_PROG_AR_RANLIB], | ||
243 | [ | ||
244 | dnl Minix 3 comes with two toolchains: The Amsterdam Compiler Kit compiler | ||
245 | dnl as "cc", and GCC as "gcc". They have different object file formats and | ||
246 | dnl library formats. In particular, the GNU binutils programs ar, ranlib | ||
247 | dnl produce libraries that work only with gcc, not with cc. | ||
248 | AC_REQUIRE([AC_PROG_CC]) | ||
249 | AC_CACHE_CHECK([for Minix Amsterdam compiler], [gl_cv_c_amsterdam_compiler], | ||
250 | [ | ||
251 | AC_EGREP_CPP([Amsterdam], | ||
252 | [ | ||
253 | #ifdef __ACK__ | ||
254 | Amsterdam | ||
255 | #endif | ||
256 | ], | ||
257 | [gl_cv_c_amsterdam_compiler=yes], | ||
258 | [gl_cv_c_amsterdam_compiler=no]) | ||
259 | ]) | ||
260 | if test -z "$AR"; then | ||
261 | if test $gl_cv_c_amsterdam_compiler = yes; then | ||
262 | AR='cc -c.a' | ||
263 | if test -z "$ARFLAGS"; then | ||
264 | ARFLAGS='-o' | ||
265 | fi | ||
266 | else | ||
267 | dnl Use the Automake-documented default values for AR and ARFLAGS, | ||
268 | dnl but prefer ${host}-ar over ar (useful for cross-compiling). | ||
269 | AC_CHECK_TOOL([AR], [ar], [ar]) | ||
270 | if test -z "$ARFLAGS"; then | ||
271 | ARFLAGS='cru' | ||
272 | fi | ||
273 | fi | ||
274 | else | ||
275 | if test -z "$ARFLAGS"; then | ||
276 | ARFLAGS='cru' | ||
277 | fi | ||
278 | fi | ||
279 | AC_SUBST([AR]) | ||
280 | AC_SUBST([ARFLAGS]) | ||
281 | if test -z "$RANLIB"; then | ||
282 | if test $gl_cv_c_amsterdam_compiler = yes; then | ||
283 | RANLIB=':' | ||
284 | else | ||
285 | dnl Use the ranlib program if it is available. | ||
286 | AC_PROG_RANLIB | ||
287 | fi | ||
288 | fi | ||
289 | AC_SUBST([RANLIB]) | ||
290 | ]) | ||
291 | |||
120 | # AC_PROG_MKDIR_P | 292 | # AC_PROG_MKDIR_P |
121 | # is a backport of autoconf-2.60's AC_PROG_MKDIR_P, with a fix | 293 | # is a backport of autoconf-2.60's AC_PROG_MKDIR_P, with a fix |
122 | # for interoperability with automake-1.9.6 from autoconf-2.62. | 294 | # for interoperability with automake-1.9.6 from autoconf-2.62. |
123 | # Remove this macro when we can assume autoconf >= 2.62 or | 295 | # Remove this macro when we can assume autoconf >= 2.62 or |
124 | # autoconf >= 2.60 && automake >= 1.10. | 296 | # autoconf >= 2.60 && automake >= 1.10. |
297 | # AC_AUTOCONF_VERSION was introduced in 2.62, so use that as the witness. | ||
298 | m4_ifndef([AC_AUTOCONF_VERSION],[ | ||
125 | m4_ifdef([AC_PROG_MKDIR_P], [ | 299 | m4_ifdef([AC_PROG_MKDIR_P], [ |
126 | dnl For automake-1.9.6 && autoconf < 2.62: Ensure MKDIR_P is AC_SUBSTed. | 300 | dnl For automake-1.9.6 && autoconf < 2.62: Ensure MKDIR_P is AC_SUBSTed. |
127 | m4_define([AC_PROG_MKDIR_P], | 301 | m4_define([AC_PROG_MKDIR_P], |
@@ -132,13 +306,15 @@ m4_ifdef([AC_PROG_MKDIR_P], [ | |||
132 | [AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake | 306 | [AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake |
133 | MKDIR_P='$(mkdir_p)' | 307 | MKDIR_P='$(mkdir_p)' |
134 | AC_SUBST([MKDIR_P])])]) | 308 | AC_SUBST([MKDIR_P])])]) |
309 | ]) | ||
135 | 310 | ||
136 | # AC_C_RESTRICT | 311 | # AC_C_RESTRICT |
137 | # This definition overrides the AC_C_RESTRICT macro from autoconf 2.60..2.61, | 312 | # This definition overrides the AC_C_RESTRICT macro from autoconf 2.60..2.61, |
138 | # so that mixed use of GNU C and GNU C++ and mixed use of Sun C and Sun C++ | 313 | # so that mixed use of GNU C and GNU C++ and mixed use of Sun C and Sun C++ |
139 | # works. | 314 | # works. |
140 | # This definition can be removed once autoconf >= 2.62 can be assumed. | 315 | # This definition can be removed once autoconf >= 2.62 can be assumed. |
141 | m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.62]),[-1],[ | 316 | # AC_AUTOCONF_VERSION was introduced in 2.62, so use that as the witness. |
317 | m4_ifndef([AC_AUTOCONF_VERSION],[ | ||
142 | AC_DEFUN([AC_C_RESTRICT], | 318 | AC_DEFUN([AC_C_RESTRICT], |
143 | [AC_CACHE_CHECK([for C/C++ restrict keyword], [ac_cv_c_restrict], | 319 | [AC_CACHE_CHECK([for C/C++ restrict keyword], [ac_cv_c_restrict], |
144 | [ac_cv_c_restrict=no | 320 | [ac_cv_c_restrict=no |
diff --git a/gl/m4/gnulib-comp.m4 b/gl/m4/gnulib-comp.m4 index b5e6b438..c6cc73ae 100644 --- a/gl/m4/gnulib-comp.m4 +++ b/gl/m4/gnulib-comp.m4 | |||
@@ -1,10 +1,22 @@ | |||
1 | # DO NOT EDIT! GENERATED AUTOMATICALLY! | 1 | # DO NOT EDIT! GENERATED AUTOMATICALLY! |
2 | # Copyright (C) 2002-2010 Free Software Foundation, Inc. | 2 | # Copyright (C) 2002-2013 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; you can redistribute it and/or modify |
5 | # General Public License. As a special exception to the GNU General | 5 | # it under the terms of the GNU General Public License as published by |
6 | # Public License, this file may be distributed as part of a program | 6 | # the Free Software Foundation; either version 3 of the License, or |
7 | # that contains a configuration script generated by Autoconf, under | 7 | # (at your option) any later version. |
8 | # | ||
9 | # This file is distributed in the hope that it will be useful, | ||
10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | # GNU General Public License for more details. | ||
13 | # | ||
14 | # You should have received a copy of the GNU General Public License | ||
15 | # along with this file. If not, see <http://www.gnu.org/licenses/>. | ||
16 | # | ||
17 | # As a special exception to the GNU General Public License, | ||
18 | # this file may be distributed as part of a program that | ||
19 | # contains a configuration script generated by Autoconf, under | ||
8 | # the same distribution terms as the rest of that program. | 20 | # the same distribution terms as the rest of that program. |
9 | # | 21 | # |
10 | # Generated by gnulib-tool. | 22 | # Generated by gnulib-tool. |
@@ -12,7 +24,8 @@ | |||
12 | # This file represents the compiled summary of the specification in | 24 | # This file represents the compiled summary of the specification in |
13 | # gnulib-cache.m4. It lists the computed macro invocations that need | 25 | # gnulib-cache.m4. It lists the computed macro invocations that need |
14 | # to be invoked from configure.ac. | 26 | # to be invoked from configure.ac. |
15 | # In projects using CVS, this file can be treated like other built files. | 27 | # In projects that use version control, this file can be treated like |
28 | # other built files. | ||
16 | 29 | ||
17 | 30 | ||
18 | # This macro should be invoked from ./configure.in, in the section | 31 | # This macro should be invoked from ./configure.in, in the section |
@@ -24,39 +37,31 @@ AC_DEFUN([gl_EARLY], | |||
24 | m4_pattern_allow([^gl_ES$])dnl a valid locale name | 37 | m4_pattern_allow([^gl_ES$])dnl a valid locale name |
25 | m4_pattern_allow([^gl_LIBOBJS$])dnl a variable | 38 | m4_pattern_allow([^gl_LIBOBJS$])dnl a variable |
26 | m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable | 39 | m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable |
27 | AC_REQUIRE([AC_PROG_RANLIB]) | 40 | AC_REQUIRE([gl_PROG_AR_RANLIB]) |
28 | # Code from module alignof: | 41 | AC_REQUIRE([AM_PROG_CC_C_O]) |
29 | # Code from module alloca-opt: | 42 | # Code from module alloca-opt: |
30 | # Code from module arg-nonnull: | ||
31 | # Code from module arpa_inet: | 43 | # Code from module arpa_inet: |
32 | # Code from module base64: | 44 | # Code from module base64: |
33 | # Code from module btowc: | 45 | # Code from module btowc: |
34 | # Code from module c++defs: | ||
35 | # Code from module c-strtod: | ||
36 | # Code from module cloexec: | ||
37 | # Code from module close-hook: | ||
38 | # Code from module configmake: | 46 | # Code from module configmake: |
39 | # Code from module crypto/sha1: | 47 | # Code from module crypto/sha1: |
40 | # Code from module dirname: | 48 | # Code from module dirname: |
41 | # Code from module dirname-lgpl: | 49 | # Code from module dirname-lgpl: |
50 | # Code from module dosname: | ||
42 | # Code from module double-slash-root: | 51 | # Code from module double-slash-root: |
43 | # Code from module dup2: | ||
44 | # Code from module environ: | 52 | # Code from module environ: |
45 | # Code from module errno: | 53 | # Code from module errno: |
46 | # Code from module error: | 54 | # Code from module error: |
47 | # Code from module exitfail: | 55 | # Code from module exitfail: |
48 | # Code from module extensions: | 56 | # Code from module extensions: |
49 | AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) | 57 | AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) |
50 | # Code from module fcntl: | 58 | # Code from module extern-inline: |
51 | # Code from module fcntl-h: | 59 | # Code from module fd-hook: |
52 | # Code from module fcntl-safer: | ||
53 | # Code from module float: | 60 | # Code from module float: |
54 | # Code from module floorf: | 61 | # Code from module floorf: |
55 | # Code from module fsusage: | 62 | # Code from module fsusage: |
56 | # Code from module full-read: | 63 | # Code from module full-read: |
57 | # Code from module full-write: | ||
58 | # Code from module getaddrinfo: | 64 | # Code from module getaddrinfo: |
59 | # Code from module getdtablesize: | ||
60 | # Code from module gethostname: | 65 | # Code from module gethostname: |
61 | # Code from module getloadavg: | 66 | # Code from module getloadavg: |
62 | # Code from module getopt: | 67 | # Code from module getopt: |
@@ -68,68 +73,81 @@ AC_DEFUN([gl_EARLY], | |||
68 | # Code from module hostent: | 73 | # Code from module hostent: |
69 | # Code from module include_next: | 74 | # Code from module include_next: |
70 | # Code from module inet_ntop: | 75 | # Code from module inet_ntop: |
71 | # Code from module inline: | ||
72 | # Code from module intprops: | 76 | # Code from module intprops: |
73 | # Code from module langinfo: | 77 | # Code from module langinfo: |
78 | # Code from module largefile: | ||
79 | AC_REQUIRE([AC_SYS_LARGEFILE]) | ||
74 | # Code from module localcharset: | 80 | # Code from module localcharset: |
75 | # Code from module locale: | 81 | # Code from module locale: |
76 | # Code from module malloc: | 82 | # Code from module localeconv: |
83 | # Code from module lock: | ||
84 | # Code from module malloc-gnu: | ||
77 | # Code from module malloc-posix: | 85 | # Code from module malloc-posix: |
78 | # Code from module malloca: | 86 | # Code from module malloca: |
79 | # Code from module math: | 87 | # Code from module math: |
80 | # Code from module mbrtowc: | 88 | # Code from module mbrtowc: |
81 | # Code from module mbsinit: | 89 | # Code from module mbsinit: |
90 | # Code from module mbtowc: | ||
82 | # Code from module memchr: | 91 | # Code from module memchr: |
83 | # Code from module mktime: | 92 | # Code from module mktime: |
93 | # Code from module mktime-internal: | ||
84 | # Code from module mountlist: | 94 | # Code from module mountlist: |
95 | # Code from module msvc-inval: | ||
96 | # Code from module msvc-nothrow: | ||
85 | # Code from module multiarch: | 97 | # Code from module multiarch: |
86 | # Code from module netdb: | 98 | # Code from module netdb: |
87 | # Code from module netinet_in: | 99 | # Code from module netinet_in: |
88 | # Code from module nl_langinfo: | 100 | # Code from module nl_langinfo: |
89 | # Code from module open: | 101 | # Code from module nocrash: |
102 | # Code from module read: | ||
90 | # Code from module regex: | 103 | # Code from module regex: |
91 | # Code from module safe-read: | 104 | # Code from module safe-read: |
92 | # Code from module safe-write: | ||
93 | # Code from module servent: | 105 | # Code from module servent: |
94 | # Code from module setenv: | 106 | # Code from module setenv: |
95 | # Code from module size_max: | 107 | # Code from module size_max: |
108 | # Code from module snippet/_Noreturn: | ||
109 | # Code from module snippet/arg-nonnull: | ||
110 | # Code from module snippet/c++defs: | ||
111 | # Code from module snippet/warn-on-use: | ||
96 | # Code from module snprintf: | 112 | # Code from module snprintf: |
113 | # Code from module socketlib: | ||
97 | # Code from module sockets: | 114 | # Code from module sockets: |
98 | # Code from module socklen: | 115 | # Code from module socklen: |
99 | # Code from module ssize_t: | 116 | # Code from module ssize_t: |
100 | # Code from module stat: | 117 | # Code from module stdalign: |
101 | # Code from module stdbool: | 118 | # Code from module stdbool: |
102 | # Code from module stddef: | 119 | # Code from module stddef: |
103 | # Code from module stdint: | 120 | # Code from module stdint: |
104 | # Code from module stdio: | 121 | # Code from module stdio: |
105 | # Code from module stdlib: | 122 | # Code from module stdlib: |
106 | # Code from module strdup-posix: | ||
107 | # Code from module streq: | 123 | # Code from module streq: |
108 | # Code from module strerror: | 124 | # Code from module strerror: |
125 | # Code from module strerror-override: | ||
109 | # Code from module string: | 126 | # Code from module string: |
110 | # Code from module strndup: | 127 | # Code from module strndup: |
111 | # Code from module strnlen: | 128 | # Code from module strnlen: |
112 | # Code from module strsep: | 129 | # Code from module strsep: |
113 | # Code from module strstr-simple: | 130 | # Code from module strstr-simple: |
114 | # Code from module sys_socket: | 131 | # Code from module sys_socket: |
115 | # Code from module sys_stat: | 132 | # Code from module sys_types: |
133 | # Code from module sys_uio: | ||
134 | # Code from module threadlib: | ||
135 | gl_THREADLIB_EARLY | ||
116 | # Code from module time: | 136 | # Code from module time: |
117 | # Code from module time_r: | 137 | # Code from module time_r: |
118 | # Code from module timegm: | 138 | # Code from module timegm: |
119 | # Code from module unistd: | 139 | # Code from module unistd: |
120 | # Code from module unistd-safer: | ||
121 | # Code from module unsetenv: | 140 | # Code from module unsetenv: |
122 | # Code from module vasnprintf: | 141 | # Code from module vasnprintf: |
123 | # Code from module vasprintf: | 142 | # Code from module vasprintf: |
124 | # Code from module verify: | 143 | # Code from module verify: |
125 | # Code from module vsnprintf: | 144 | # Code from module vsnprintf: |
126 | # Code from module warn-on-use: | ||
127 | # Code from module wchar: | 145 | # Code from module wchar: |
128 | # Code from module wcrtomb: | 146 | # Code from module wcrtomb: |
129 | # Code from module wctype: | 147 | # Code from module wctype-h: |
130 | # Code from module write: | ||
131 | # Code from module xalloc: | 148 | # Code from module xalloc: |
132 | # Code from module xalloc-die: | 149 | # Code from module xalloc-die: |
150 | # Code from module xalloc-oversized: | ||
133 | # Code from module xsize: | 151 | # Code from module xsize: |
134 | # Code from module xstrndup: | 152 | # Code from module xstrndup: |
135 | ]) | 153 | ]) |
@@ -150,252 +168,296 @@ AC_DEFUN([gl_INIT], | |||
150 | m4_pushdef([gl_LIBSOURCES_DIR], []) | 168 | m4_pushdef([gl_LIBSOURCES_DIR], []) |
151 | gl_COMMON | 169 | gl_COMMON |
152 | gl_source_base='gl' | 170 | gl_source_base='gl' |
153 | # Code from module alignof: | ||
154 | # Code from module alloca-opt: | ||
155 | gl_FUNC_ALLOCA | 171 | gl_FUNC_ALLOCA |
156 | # Code from module arg-nonnull: | ||
157 | # Code from module arpa_inet: | ||
158 | gl_HEADER_ARPA_INET | 172 | gl_HEADER_ARPA_INET |
159 | AC_PROG_MKDIR_P | 173 | AC_PROG_MKDIR_P |
160 | # Code from module base64: | ||
161 | gl_FUNC_BASE64 | 174 | gl_FUNC_BASE64 |
162 | # Code from module btowc: | ||
163 | gl_FUNC_BTOWC | 175 | gl_FUNC_BTOWC |
176 | if test $HAVE_BTOWC = 0 || test $REPLACE_BTOWC = 1; then | ||
177 | AC_LIBOBJ([btowc]) | ||
178 | gl_PREREQ_BTOWC | ||
179 | fi | ||
164 | gl_WCHAR_MODULE_INDICATOR([btowc]) | 180 | gl_WCHAR_MODULE_INDICATOR([btowc]) |
165 | # Code from module c++defs: | 181 | gl_CONFIGMAKE_PREP |
166 | # Code from module c-strtod: | ||
167 | gl_C_STRTOD | ||
168 | # Code from module cloexec: | ||
169 | gl_CLOEXEC | ||
170 | gl_MODULE_INDICATOR_FOR_TESTS([cloexec]) | ||
171 | # Code from module close-hook: | ||
172 | # Code from module configmake: | ||
173 | # Code from module crypto/sha1: | ||
174 | gl_SHA1 | 182 | gl_SHA1 |
175 | # Code from module dirname: | ||
176 | gl_DIRNAME | 183 | gl_DIRNAME |
177 | gl_MODULE_INDICATOR([dirname]) | 184 | gl_MODULE_INDICATOR([dirname]) |
178 | # Code from module dirname-lgpl: | ||
179 | gl_DIRNAME_LGPL | 185 | gl_DIRNAME_LGPL |
180 | # Code from module double-slash-root: | ||
181 | gl_DOUBLE_SLASH_ROOT | 186 | gl_DOUBLE_SLASH_ROOT |
182 | # Code from module dup2: | ||
183 | gl_FUNC_DUP2 | ||
184 | gl_UNISTD_MODULE_INDICATOR([dup2]) | ||
185 | # Code from module environ: | ||
186 | gl_ENVIRON | 187 | gl_ENVIRON |
187 | gl_UNISTD_MODULE_INDICATOR([environ]) | 188 | gl_UNISTD_MODULE_INDICATOR([environ]) |
188 | # Code from module errno: | ||
189 | gl_HEADER_ERRNO_H | 189 | gl_HEADER_ERRNO_H |
190 | # Code from module error: | ||
191 | gl_ERROR | 190 | gl_ERROR |
191 | if test $ac_cv_lib_error_at_line = no; then | ||
192 | AC_LIBOBJ([error]) | ||
193 | gl_PREREQ_ERROR | ||
194 | fi | ||
192 | m4_ifdef([AM_XGETTEXT_OPTION], | 195 | m4_ifdef([AM_XGETTEXT_OPTION], |
193 | [AM_][XGETTEXT_OPTION([--flag=error:3:c-format]) | 196 | [AM_][XGETTEXT_OPTION([--flag=error:3:c-format]) |
194 | AM_][XGETTEXT_OPTION([--flag=error_at_line:5:c-format])]) | 197 | AM_][XGETTEXT_OPTION([--flag=error_at_line:5:c-format])]) |
195 | # Code from module exitfail: | 198 | AC_REQUIRE([gl_EXTERN_INLINE]) |
196 | # Code from module extensions: | ||
197 | # Code from module fcntl: | ||
198 | gl_FUNC_FCNTL | ||
199 | gl_FCNTL_MODULE_INDICATOR([fcntl]) | ||
200 | # Code from module fcntl-h: | ||
201 | gl_FCNTL_H | ||
202 | # Code from module fcntl-safer: | ||
203 | gl_FCNTL_SAFER | ||
204 | gl_MODULE_INDICATOR([fcntl-safer]) | ||
205 | # Code from module float: | ||
206 | gl_FLOAT_H | 199 | gl_FLOAT_H |
207 | # Code from module floorf: | 200 | if test $REPLACE_FLOAT_LDBL = 1; then |
201 | AC_LIBOBJ([float]) | ||
202 | fi | ||
203 | if test $REPLACE_ITOLD = 1; then | ||
204 | AC_LIBOBJ([itold]) | ||
205 | fi | ||
208 | gl_FUNC_FLOORF | 206 | gl_FUNC_FLOORF |
207 | if test $HAVE_DECL_FLOORF = 0 || test $REPLACE_FLOORF = 1; then | ||
208 | AC_LIBOBJ([floorf]) | ||
209 | fi | ||
209 | gl_MATH_MODULE_INDICATOR([floorf]) | 210 | gl_MATH_MODULE_INDICATOR([floorf]) |
210 | # Code from module fsusage: | ||
211 | gl_FSUSAGE | 211 | gl_FSUSAGE |
212 | # Code from module full-read: | 212 | if test $gl_cv_fs_space = yes; then |
213 | # Code from module full-write: | 213 | AC_LIBOBJ([fsusage]) |
214 | # Code from module getaddrinfo: | 214 | gl_PREREQ_FSUSAGE_EXTRA |
215 | fi | ||
215 | gl_GETADDRINFO | 216 | gl_GETADDRINFO |
217 | if test $HAVE_GETADDRINFO = 0; then | ||
218 | AC_LIBOBJ([getaddrinfo]) | ||
219 | fi | ||
220 | if test $HAVE_DECL_GAI_STRERROR = 0 || test $REPLACE_GAI_STRERROR = 1; then | ||
221 | AC_LIBOBJ([gai_strerror]) | ||
222 | fi | ||
216 | gl_NETDB_MODULE_INDICATOR([getaddrinfo]) | 223 | gl_NETDB_MODULE_INDICATOR([getaddrinfo]) |
217 | # Code from module getdtablesize: | ||
218 | gl_FUNC_GETDTABLESIZE | ||
219 | gl_UNISTD_MODULE_INDICATOR([getdtablesize]) | ||
220 | # Code from module gethostname: | ||
221 | gl_FUNC_GETHOSTNAME | 224 | gl_FUNC_GETHOSTNAME |
225 | if test $HAVE_GETHOSTNAME = 0; then | ||
226 | AC_LIBOBJ([gethostname]) | ||
227 | gl_PREREQ_GETHOSTNAME | ||
228 | fi | ||
222 | gl_UNISTD_MODULE_INDICATOR([gethostname]) | 229 | gl_UNISTD_MODULE_INDICATOR([gethostname]) |
223 | # Code from module getloadavg: | 230 | gl_GETLOADAVG |
224 | gl_GETLOADAVG([$gl_source_base]) | 231 | if test $HAVE_GETLOADAVG = 0; then |
232 | AC_LIBOBJ([getloadavg]) | ||
233 | gl_PREREQ_GETLOADAVG | ||
234 | fi | ||
225 | gl_STDLIB_MODULE_INDICATOR([getloadavg]) | 235 | gl_STDLIB_MODULE_INDICATOR([getloadavg]) |
226 | # Code from module getopt: | ||
227 | # Code from module getopt-gnu: | ||
228 | gl_FUNC_GETOPT_GNU | 236 | gl_FUNC_GETOPT_GNU |
237 | if test $REPLACE_GETOPT = 1; then | ||
238 | AC_LIBOBJ([getopt]) | ||
239 | AC_LIBOBJ([getopt1]) | ||
240 | gl_PREREQ_GETOPT | ||
241 | dnl Arrange for unistd.h to include getopt.h. | ||
242 | GNULIB_GL_UNISTD_H_GETOPT=1 | ||
243 | fi | ||
244 | AC_SUBST([GNULIB_GL_UNISTD_H_GETOPT]) | ||
229 | gl_MODULE_INDICATOR_FOR_TESTS([getopt-gnu]) | 245 | gl_MODULE_INDICATOR_FOR_TESTS([getopt-gnu]) |
230 | # Code from module getopt-posix: | ||
231 | gl_FUNC_GETOPT_POSIX | 246 | gl_FUNC_GETOPT_POSIX |
232 | # Code from module gettext: | 247 | if test $REPLACE_GETOPT = 1; then |
248 | AC_LIBOBJ([getopt]) | ||
249 | AC_LIBOBJ([getopt1]) | ||
250 | gl_PREREQ_GETOPT | ||
251 | dnl Arrange for unistd.h to include getopt.h. | ||
252 | GNULIB_GL_UNISTD_H_GETOPT=1 | ||
253 | fi | ||
254 | AC_SUBST([GNULIB_GL_UNISTD_H_GETOPT]) | ||
233 | dnl you must add AM_GNU_GETTEXT([external]) or similar to configure.ac. | 255 | dnl you must add AM_GNU_GETTEXT([external]) or similar to configure.ac. |
234 | AM_GNU_GETTEXT_VERSION([0.18.1]) | 256 | AM_GNU_GETTEXT_VERSION([0.18.1]) |
235 | # Code from module gettext-h: | ||
236 | AC_SUBST([LIBINTL]) | 257 | AC_SUBST([LIBINTL]) |
237 | AC_SUBST([LTLIBINTL]) | 258 | AC_SUBST([LTLIBINTL]) |
238 | # Code from module havelib: | ||
239 | # Code from module hostent: | ||
240 | gl_HOSTENT | 259 | gl_HOSTENT |
241 | # Code from module include_next: | ||
242 | # Code from module inet_ntop: | ||
243 | gl_FUNC_INET_NTOP | 260 | gl_FUNC_INET_NTOP |
261 | if test $HAVE_INET_NTOP = 0 || test $REPLACE_INET_NTOP = 1; then | ||
262 | AC_LIBOBJ([inet_ntop]) | ||
263 | gl_PREREQ_INET_NTOP | ||
264 | fi | ||
244 | gl_ARPA_INET_MODULE_INDICATOR([inet_ntop]) | 265 | gl_ARPA_INET_MODULE_INDICATOR([inet_ntop]) |
245 | # Code from module inline: | ||
246 | gl_INLINE | ||
247 | # Code from module intprops: | ||
248 | # Code from module langinfo: | ||
249 | gl_LANGINFO_H | 266 | gl_LANGINFO_H |
250 | # Code from module localcharset: | 267 | AC_REQUIRE([gl_LARGEFILE]) |
251 | gl_LOCALCHARSET | 268 | gl_LOCALCHARSET |
252 | LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(top_builddir)/$gl_source_base\"" | 269 | LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(abs_top_builddir)/$gl_source_base\"" |
253 | AC_SUBST([LOCALCHARSET_TESTS_ENVIRONMENT]) | 270 | AC_SUBST([LOCALCHARSET_TESTS_ENVIRONMENT]) |
254 | # Code from module locale: | ||
255 | gl_LOCALE_H | 271 | gl_LOCALE_H |
256 | # Code from module malloc: | 272 | gl_FUNC_LOCALECONV |
273 | if test $REPLACE_LOCALECONV = 1; then | ||
274 | AC_LIBOBJ([localeconv]) | ||
275 | gl_PREREQ_LOCALECONV | ||
276 | fi | ||
277 | gl_LOCALE_MODULE_INDICATOR([localeconv]) | ||
278 | gl_LOCK | ||
279 | gl_MODULE_INDICATOR([lock]) | ||
257 | gl_FUNC_MALLOC_GNU | 280 | gl_FUNC_MALLOC_GNU |
258 | AC_DEFINE([GNULIB_MALLOC_GNU], 1, [Define to indicate the 'malloc' module.]) | 281 | if test $REPLACE_MALLOC = 1; then |
259 | # Code from module malloc-posix: | 282 | AC_LIBOBJ([malloc]) |
283 | fi | ||
284 | gl_MODULE_INDICATOR([malloc-gnu]) | ||
260 | gl_FUNC_MALLOC_POSIX | 285 | gl_FUNC_MALLOC_POSIX |
286 | if test $REPLACE_MALLOC = 1; then | ||
287 | AC_LIBOBJ([malloc]) | ||
288 | fi | ||
261 | gl_STDLIB_MODULE_INDICATOR([malloc-posix]) | 289 | gl_STDLIB_MODULE_INDICATOR([malloc-posix]) |
262 | # Code from module malloca: | ||
263 | gl_MALLOCA | 290 | gl_MALLOCA |
264 | # Code from module math: | ||
265 | gl_MATH_H | 291 | gl_MATH_H |
266 | # Code from module mbrtowc: | ||
267 | gl_FUNC_MBRTOWC | 292 | gl_FUNC_MBRTOWC |
293 | if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then | ||
294 | AC_LIBOBJ([mbrtowc]) | ||
295 | gl_PREREQ_MBRTOWC | ||
296 | fi | ||
268 | gl_WCHAR_MODULE_INDICATOR([mbrtowc]) | 297 | gl_WCHAR_MODULE_INDICATOR([mbrtowc]) |
269 | # Code from module mbsinit: | ||
270 | gl_FUNC_MBSINIT | 298 | gl_FUNC_MBSINIT |
299 | if test $HAVE_MBSINIT = 0 || test $REPLACE_MBSINIT = 1; then | ||
300 | AC_LIBOBJ([mbsinit]) | ||
301 | gl_PREREQ_MBSINIT | ||
302 | fi | ||
271 | gl_WCHAR_MODULE_INDICATOR([mbsinit]) | 303 | gl_WCHAR_MODULE_INDICATOR([mbsinit]) |
272 | # Code from module memchr: | 304 | gl_FUNC_MBTOWC |
305 | if test $REPLACE_MBTOWC = 1; then | ||
306 | AC_LIBOBJ([mbtowc]) | ||
307 | gl_PREREQ_MBTOWC | ||
308 | fi | ||
309 | gl_STDLIB_MODULE_INDICATOR([mbtowc]) | ||
273 | gl_FUNC_MEMCHR | 310 | gl_FUNC_MEMCHR |
311 | if test $HAVE_MEMCHR = 0 || test $REPLACE_MEMCHR = 1; then | ||
312 | AC_LIBOBJ([memchr]) | ||
313 | gl_PREREQ_MEMCHR | ||
314 | fi | ||
274 | gl_STRING_MODULE_INDICATOR([memchr]) | 315 | gl_STRING_MODULE_INDICATOR([memchr]) |
275 | # Code from module mktime: | ||
276 | gl_FUNC_MKTIME | 316 | gl_FUNC_MKTIME |
317 | if test $REPLACE_MKTIME = 1; then | ||
318 | AC_LIBOBJ([mktime]) | ||
319 | gl_PREREQ_MKTIME | ||
320 | fi | ||
277 | gl_TIME_MODULE_INDICATOR([mktime]) | 321 | gl_TIME_MODULE_INDICATOR([mktime]) |
278 | # Code from module mountlist: | 322 | gl_FUNC_MKTIME_INTERNAL |
323 | if test $REPLACE_MKTIME = 1; then | ||
324 | AC_LIBOBJ([mktime]) | ||
325 | gl_PREREQ_MKTIME | ||
326 | fi | ||
279 | gl_MOUNTLIST | 327 | gl_MOUNTLIST |
280 | # Code from module multiarch: | 328 | if test $gl_cv_list_mounted_fs = yes; then |
329 | AC_LIBOBJ([mountlist]) | ||
330 | gl_PREREQ_MOUNTLIST_EXTRA | ||
331 | fi | ||
332 | gl_MSVC_INVAL | ||
333 | if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then | ||
334 | AC_LIBOBJ([msvc-inval]) | ||
335 | fi | ||
336 | gl_MSVC_NOTHROW | ||
337 | if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then | ||
338 | AC_LIBOBJ([msvc-nothrow]) | ||
339 | fi | ||
281 | gl_MULTIARCH | 340 | gl_MULTIARCH |
282 | # Code from module netdb: | ||
283 | gl_HEADER_NETDB | 341 | gl_HEADER_NETDB |
284 | # Code from module netinet_in: | ||
285 | gl_HEADER_NETINET_IN | 342 | gl_HEADER_NETINET_IN |
286 | AC_PROG_MKDIR_P | 343 | AC_PROG_MKDIR_P |
287 | # Code from module nl_langinfo: | ||
288 | gl_FUNC_NL_LANGINFO | 344 | gl_FUNC_NL_LANGINFO |
345 | if test $HAVE_NL_LANGINFO = 0 || test $REPLACE_NL_LANGINFO = 1; then | ||
346 | AC_LIBOBJ([nl_langinfo]) | ||
347 | fi | ||
289 | gl_LANGINFO_MODULE_INDICATOR([nl_langinfo]) | 348 | gl_LANGINFO_MODULE_INDICATOR([nl_langinfo]) |
290 | # Code from module open: | 349 | gl_FUNC_READ |
291 | gl_FUNC_OPEN | 350 | if test $REPLACE_READ = 1; then |
292 | gl_FCNTL_MODULE_INDICATOR([open]) | 351 | AC_LIBOBJ([read]) |
293 | # Code from module regex: | 352 | gl_PREREQ_READ |
353 | fi | ||
354 | gl_UNISTD_MODULE_INDICATOR([read]) | ||
294 | gl_REGEX | 355 | gl_REGEX |
295 | # Code from module safe-read: | 356 | if test $ac_use_included_regex = yes; then |
296 | gl_SAFE_READ | 357 | AC_LIBOBJ([regex]) |
297 | # Code from module safe-write: | 358 | gl_PREREQ_REGEX |
298 | gl_SAFE_WRITE | 359 | fi |
299 | # Code from module servent: | 360 | gl_PREREQ_SAFE_READ |
300 | gl_SERVENT | 361 | gl_SERVENT |
301 | # Code from module setenv: | ||
302 | gl_FUNC_SETENV | 362 | gl_FUNC_SETENV |
363 | if test $HAVE_SETENV = 0 || test $REPLACE_SETENV = 1; then | ||
364 | AC_LIBOBJ([setenv]) | ||
365 | fi | ||
303 | gl_STDLIB_MODULE_INDICATOR([setenv]) | 366 | gl_STDLIB_MODULE_INDICATOR([setenv]) |
304 | # Code from module size_max: | ||
305 | gl_SIZE_MAX | 367 | gl_SIZE_MAX |
306 | # Code from module snprintf: | ||
307 | gl_FUNC_SNPRINTF | 368 | gl_FUNC_SNPRINTF |
308 | gl_STDIO_MODULE_INDICATOR([snprintf]) | 369 | gl_STDIO_MODULE_INDICATOR([snprintf]) |
309 | # Code from module sockets: | 370 | gl_MODULE_INDICATOR([snprintf]) |
371 | gl_SOCKETLIB | ||
310 | gl_SOCKETS | 372 | gl_SOCKETS |
311 | # Code from module socklen: | ||
312 | gl_TYPE_SOCKLEN_T | 373 | gl_TYPE_SOCKLEN_T |
313 | # Code from module ssize_t: | ||
314 | gt_TYPE_SSIZE_T | 374 | gt_TYPE_SSIZE_T |
315 | # Code from module stat: | 375 | gl_STDALIGN_H |
316 | gl_FUNC_STAT | ||
317 | gl_SYS_STAT_MODULE_INDICATOR([stat]) | ||
318 | # Code from module stdbool: | ||
319 | AM_STDBOOL_H | 376 | AM_STDBOOL_H |
320 | # Code from module stddef: | ||
321 | gl_STDDEF_H | 377 | gl_STDDEF_H |
322 | # Code from module stdint: | ||
323 | gl_STDINT_H | 378 | gl_STDINT_H |
324 | # Code from module stdio: | ||
325 | gl_STDIO_H | 379 | gl_STDIO_H |
326 | # Code from module stdlib: | ||
327 | gl_STDLIB_H | 380 | gl_STDLIB_H |
328 | # Code from module strdup-posix: | ||
329 | gl_FUNC_STRDUP_POSIX | ||
330 | gl_STRING_MODULE_INDICATOR([strdup]) | ||
331 | # Code from module streq: | ||
332 | # Code from module strerror: | ||
333 | gl_FUNC_STRERROR | 381 | gl_FUNC_STRERROR |
382 | if test $REPLACE_STRERROR = 1; then | ||
383 | AC_LIBOBJ([strerror]) | ||
384 | fi | ||
385 | gl_MODULE_INDICATOR([strerror]) | ||
334 | gl_STRING_MODULE_INDICATOR([strerror]) | 386 | gl_STRING_MODULE_INDICATOR([strerror]) |
335 | # Code from module string: | 387 | AC_REQUIRE([gl_HEADER_ERRNO_H]) |
388 | AC_REQUIRE([gl_FUNC_STRERROR_0]) | ||
389 | if test -n "$ERRNO_H" || test $REPLACE_STRERROR_0 = 1; then | ||
390 | AC_LIBOBJ([strerror-override]) | ||
391 | gl_PREREQ_SYS_H_WINSOCK2 | ||
392 | fi | ||
336 | gl_HEADER_STRING_H | 393 | gl_HEADER_STRING_H |
337 | # Code from module strndup: | ||
338 | gl_FUNC_STRNDUP | 394 | gl_FUNC_STRNDUP |
395 | if test $HAVE_STRNDUP = 0 || test $REPLACE_STRNDUP = 1; then | ||
396 | AC_LIBOBJ([strndup]) | ||
397 | fi | ||
339 | gl_STRING_MODULE_INDICATOR([strndup]) | 398 | gl_STRING_MODULE_INDICATOR([strndup]) |
340 | # Code from module strnlen: | ||
341 | gl_FUNC_STRNLEN | 399 | gl_FUNC_STRNLEN |
400 | if test $HAVE_DECL_STRNLEN = 0 || test $REPLACE_STRNLEN = 1; then | ||
401 | AC_LIBOBJ([strnlen]) | ||
402 | gl_PREREQ_STRNLEN | ||
403 | fi | ||
342 | gl_STRING_MODULE_INDICATOR([strnlen]) | 404 | gl_STRING_MODULE_INDICATOR([strnlen]) |
343 | # Code from module strsep: | ||
344 | gl_FUNC_STRSEP | 405 | gl_FUNC_STRSEP |
406 | if test $HAVE_STRSEP = 0; then | ||
407 | AC_LIBOBJ([strsep]) | ||
408 | gl_PREREQ_STRSEP | ||
409 | fi | ||
345 | gl_STRING_MODULE_INDICATOR([strsep]) | 410 | gl_STRING_MODULE_INDICATOR([strsep]) |
346 | # Code from module strstr-simple: | ||
347 | gl_FUNC_STRSTR_SIMPLE | 411 | gl_FUNC_STRSTR_SIMPLE |
412 | if test $REPLACE_STRSTR = 1; then | ||
413 | AC_LIBOBJ([strstr]) | ||
414 | fi | ||
348 | gl_STRING_MODULE_INDICATOR([strstr]) | 415 | gl_STRING_MODULE_INDICATOR([strstr]) |
349 | # Code from module sys_socket: | ||
350 | gl_HEADER_SYS_SOCKET | 416 | gl_HEADER_SYS_SOCKET |
351 | AC_PROG_MKDIR_P | 417 | AC_PROG_MKDIR_P |
352 | # Code from module sys_stat: | 418 | gl_SYS_TYPES_H |
353 | gl_HEADER_SYS_STAT_H | ||
354 | AC_PROG_MKDIR_P | 419 | AC_PROG_MKDIR_P |
355 | # Code from module time: | 420 | gl_HEADER_SYS_UIO |
421 | AC_PROG_MKDIR_P | ||
422 | gl_THREADLIB | ||
356 | gl_HEADER_TIME_H | 423 | gl_HEADER_TIME_H |
357 | # Code from module time_r: | ||
358 | gl_TIME_R | 424 | gl_TIME_R |
425 | if test $HAVE_LOCALTIME_R = 0 || test $REPLACE_LOCALTIME_R = 1; then | ||
426 | AC_LIBOBJ([time_r]) | ||
427 | gl_PREREQ_TIME_R | ||
428 | fi | ||
359 | gl_TIME_MODULE_INDICATOR([time_r]) | 429 | gl_TIME_MODULE_INDICATOR([time_r]) |
360 | # Code from module timegm: | ||
361 | gl_FUNC_TIMEGM | 430 | gl_FUNC_TIMEGM |
431 | if test $HAVE_TIMEGM = 0 || test $REPLACE_TIMEGM = 1; then | ||
432 | AC_LIBOBJ([timegm]) | ||
433 | gl_PREREQ_TIMEGM | ||
434 | fi | ||
362 | gl_TIME_MODULE_INDICATOR([timegm]) | 435 | gl_TIME_MODULE_INDICATOR([timegm]) |
363 | # Code from module unistd: | ||
364 | gl_UNISTD_H | 436 | gl_UNISTD_H |
365 | # Code from module unistd-safer: | ||
366 | gl_UNISTD_SAFER | ||
367 | # Code from module unsetenv: | ||
368 | gl_FUNC_UNSETENV | 437 | gl_FUNC_UNSETENV |
438 | if test $HAVE_UNSETENV = 0 || test $REPLACE_UNSETENV = 1; then | ||
439 | AC_LIBOBJ([unsetenv]) | ||
440 | gl_PREREQ_UNSETENV | ||
441 | fi | ||
369 | gl_STDLIB_MODULE_INDICATOR([unsetenv]) | 442 | gl_STDLIB_MODULE_INDICATOR([unsetenv]) |
370 | # Code from module vasnprintf: | ||
371 | gl_FUNC_VASNPRINTF | 443 | gl_FUNC_VASNPRINTF |
372 | # Code from module vasprintf: | ||
373 | gl_FUNC_VASPRINTF | 444 | gl_FUNC_VASPRINTF |
374 | gl_STDIO_MODULE_INDICATOR([vasprintf]) | 445 | gl_STDIO_MODULE_INDICATOR([vasprintf]) |
375 | m4_ifdef([AM_XGETTEXT_OPTION], | 446 | m4_ifdef([AM_XGETTEXT_OPTION], |
376 | [AM_][XGETTEXT_OPTION([--flag=asprintf:2:c-format]) | 447 | [AM_][XGETTEXT_OPTION([--flag=asprintf:2:c-format]) |
377 | AM_][XGETTEXT_OPTION([--flag=vasprintf:2:c-format])]) | 448 | AM_][XGETTEXT_OPTION([--flag=vasprintf:2:c-format])]) |
378 | # Code from module verify: | ||
379 | # Code from module vsnprintf: | ||
380 | gl_FUNC_VSNPRINTF | 449 | gl_FUNC_VSNPRINTF |
381 | gl_STDIO_MODULE_INDICATOR([vsnprintf]) | 450 | gl_STDIO_MODULE_INDICATOR([vsnprintf]) |
382 | # Code from module warn-on-use: | ||
383 | # Code from module wchar: | ||
384 | gl_WCHAR_H | 451 | gl_WCHAR_H |
385 | # Code from module wcrtomb: | ||
386 | gl_FUNC_WCRTOMB | 452 | gl_FUNC_WCRTOMB |
453 | if test $HAVE_WCRTOMB = 0 || test $REPLACE_WCRTOMB = 1; then | ||
454 | AC_LIBOBJ([wcrtomb]) | ||
455 | gl_PREREQ_WCRTOMB | ||
456 | fi | ||
387 | gl_WCHAR_MODULE_INDICATOR([wcrtomb]) | 457 | gl_WCHAR_MODULE_INDICATOR([wcrtomb]) |
388 | # Code from module wctype: | ||
389 | gl_WCTYPE_H | 458 | gl_WCTYPE_H |
390 | # Code from module write: | ||
391 | gl_FUNC_WRITE | ||
392 | gl_UNISTD_MODULE_INDICATOR([write]) | ||
393 | # Code from module xalloc: | ||
394 | gl_XALLOC | 459 | gl_XALLOC |
395 | # Code from module xalloc-die: | ||
396 | # Code from module xsize: | ||
397 | gl_XSIZE | 460 | gl_XSIZE |
398 | # Code from module xstrndup: | ||
399 | gl_XSTRNDUP | 461 | gl_XSTRNDUP |
400 | # End of code from modules | 462 | # End of code from modules |
401 | m4_ifval(gl_LIBSOURCES_LIST, [ | 463 | m4_ifval(gl_LIBSOURCES_LIST, [ |
@@ -537,11 +599,11 @@ AC_DEFUN([gltests_LIBSOURCES], [ | |||
537 | # This macro records the list of files which have been installed by | 599 | # This macro records the list of files which have been installed by |
538 | # gnulib-tool and may be removed by future gnulib-tool invocations. | 600 | # gnulib-tool and may be removed by future gnulib-tool invocations. |
539 | AC_DEFUN([gl_FILE_LIST], [ | 601 | AC_DEFUN([gl_FILE_LIST], [ |
540 | build-aux/arg-nonnull.h | ||
541 | build-aux/c++defs.h | ||
542 | build-aux/config.rpath | 602 | build-aux/config.rpath |
543 | build-aux/warn-on-use.h | 603 | build-aux/snippet/_Noreturn.h |
544 | lib/alignof.h | 604 | build-aux/snippet/arg-nonnull.h |
605 | build-aux/snippet/c++defs.h | ||
606 | build-aux/snippet/warn-on-use.h | ||
545 | lib/alloca.in.h | 607 | lib/alloca.in.h |
546 | lib/arpa_inet.in.h | 608 | lib/arpa_inet.in.h |
547 | lib/asnprintf.c | 609 | lib/asnprintf.c |
@@ -551,30 +613,20 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
551 | lib/basename-lgpl.c | 613 | lib/basename-lgpl.c |
552 | lib/basename.c | 614 | lib/basename.c |
553 | lib/btowc.c | 615 | lib/btowc.c |
554 | lib/c-strtod.c | ||
555 | lib/c-strtod.h | ||
556 | lib/cloexec.c | ||
557 | lib/cloexec.h | ||
558 | lib/close-hook.c | ||
559 | lib/close-hook.h | ||
560 | lib/config.charset | 616 | lib/config.charset |
561 | lib/creat-safer.c | ||
562 | lib/dirname-lgpl.c | 617 | lib/dirname-lgpl.c |
563 | lib/dirname.c | 618 | lib/dirname.c |
564 | lib/dirname.h | 619 | lib/dirname.h |
565 | lib/dup-safer.c | 620 | lib/dosname.h |
566 | lib/dup2.c | ||
567 | lib/errno.in.h | 621 | lib/errno.in.h |
568 | lib/error.c | 622 | lib/error.c |
569 | lib/error.h | 623 | lib/error.h |
570 | lib/exitfail.c | 624 | lib/exitfail.c |
571 | lib/exitfail.h | 625 | lib/exitfail.h |
572 | lib/fcntl--.h | 626 | lib/fd-hook.c |
573 | lib/fcntl-safer.h | 627 | lib/fd-hook.h |
574 | lib/fcntl.c | ||
575 | lib/fcntl.in.h | ||
576 | lib/fd-safer.c | ||
577 | lib/float+.h | 628 | lib/float+.h |
629 | lib/float.c | ||
578 | lib/float.in.h | 630 | lib/float.in.h |
579 | lib/floor.c | 631 | lib/floor.c |
580 | lib/floorf.c | 632 | lib/floorf.c |
@@ -583,10 +635,8 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
583 | lib/full-read.c | 635 | lib/full-read.c |
584 | lib/full-read.h | 636 | lib/full-read.h |
585 | lib/full-write.c | 637 | lib/full-write.c |
586 | lib/full-write.h | ||
587 | lib/gai_strerror.c | 638 | lib/gai_strerror.c |
588 | lib/getaddrinfo.c | 639 | lib/getaddrinfo.c |
589 | lib/getdtablesize.c | ||
590 | lib/gethostname.c | 640 | lib/gethostname.c |
591 | lib/getloadavg.c | 641 | lib/getloadavg.c |
592 | lib/getopt.c | 642 | lib/getopt.c |
@@ -594,35 +644,45 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
594 | lib/getopt1.c | 644 | lib/getopt1.c |
595 | lib/getopt_int.h | 645 | lib/getopt_int.h |
596 | lib/gettext.h | 646 | lib/gettext.h |
647 | lib/glthread/lock.c | ||
648 | lib/glthread/lock.h | ||
649 | lib/glthread/threadlib.c | ||
597 | lib/inet_ntop.c | 650 | lib/inet_ntop.c |
598 | lib/intprops.h | 651 | lib/intprops.h |
652 | lib/itold.c | ||
599 | lib/langinfo.in.h | 653 | lib/langinfo.in.h |
600 | lib/localcharset.c | 654 | lib/localcharset.c |
601 | lib/localcharset.h | 655 | lib/localcharset.h |
602 | lib/locale.in.h | 656 | lib/locale.in.h |
657 | lib/localeconv.c | ||
603 | lib/malloc.c | 658 | lib/malloc.c |
604 | lib/malloca.c | 659 | lib/malloca.c |
605 | lib/malloca.h | 660 | lib/malloca.h |
606 | lib/malloca.valgrind | 661 | lib/malloca.valgrind |
662 | lib/math.c | ||
607 | lib/math.in.h | 663 | lib/math.in.h |
608 | lib/mbrtowc.c | 664 | lib/mbrtowc.c |
609 | lib/mbsinit.c | 665 | lib/mbsinit.c |
666 | lib/mbtowc-impl.h | ||
667 | lib/mbtowc.c | ||
610 | lib/memchr.c | 668 | lib/memchr.c |
611 | lib/memchr.valgrind | 669 | lib/memchr.valgrind |
612 | lib/mktime-internal.h | 670 | lib/mktime-internal.h |
613 | lib/mktime.c | 671 | lib/mktime.c |
614 | lib/mountlist.c | 672 | lib/mountlist.c |
615 | lib/mountlist.h | 673 | lib/mountlist.h |
674 | lib/msvc-inval.c | ||
675 | lib/msvc-inval.h | ||
676 | lib/msvc-nothrow.c | ||
677 | lib/msvc-nothrow.h | ||
616 | lib/netdb.in.h | 678 | lib/netdb.in.h |
617 | lib/netinet_in.in.h | 679 | lib/netinet_in.in.h |
618 | lib/nl_langinfo.c | 680 | lib/nl_langinfo.c |
619 | lib/open-safer.c | ||
620 | lib/open.c | ||
621 | lib/pipe-safer.c | ||
622 | lib/printf-args.c | 681 | lib/printf-args.c |
623 | lib/printf-args.h | 682 | lib/printf-args.h |
624 | lib/printf-parse.c | 683 | lib/printf-parse.c |
625 | lib/printf-parse.h | 684 | lib/printf-parse.h |
685 | lib/read.c | ||
626 | lib/ref-add.sin | 686 | lib/ref-add.sin |
627 | lib/ref-del.sin | 687 | lib/ref-del.sin |
628 | lib/regcomp.c | 688 | lib/regcomp.c |
@@ -633,8 +693,6 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
633 | lib/regexec.c | 693 | lib/regexec.c |
634 | lib/safe-read.c | 694 | lib/safe-read.c |
635 | lib/safe-read.h | 695 | lib/safe-read.h |
636 | lib/safe-write.c | ||
637 | lib/safe-write.h | ||
638 | lib/setenv.c | 696 | lib/setenv.c |
639 | lib/sha1.c | 697 | lib/sha1.c |
640 | lib/sha1.h | 698 | lib/sha1.h |
@@ -642,16 +700,16 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
642 | lib/snprintf.c | 700 | lib/snprintf.c |
643 | lib/sockets.c | 701 | lib/sockets.c |
644 | lib/sockets.h | 702 | lib/sockets.h |
645 | lib/stat.c | 703 | lib/stdalign.in.h |
646 | lib/stdbool.in.h | 704 | lib/stdbool.in.h |
647 | lib/stddef.in.h | 705 | lib/stddef.in.h |
648 | lib/stdint.in.h | 706 | lib/stdint.in.h |
649 | lib/stdio-write.c | ||
650 | lib/stdio.in.h | 707 | lib/stdio.in.h |
651 | lib/stdlib.in.h | 708 | lib/stdlib.in.h |
652 | lib/str-two-way.h | 709 | lib/str-two-way.h |
653 | lib/strdup.c | ||
654 | lib/streq.h | 710 | lib/streq.h |
711 | lib/strerror-override.c | ||
712 | lib/strerror-override.h | ||
655 | lib/strerror.c | 713 | lib/strerror.c |
656 | lib/string.in.h | 714 | lib/string.in.h |
657 | lib/stripslash.c | 715 | lib/stripslash.c |
@@ -659,13 +717,14 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
659 | lib/strnlen.c | 717 | lib/strnlen.c |
660 | lib/strsep.c | 718 | lib/strsep.c |
661 | lib/strstr.c | 719 | lib/strstr.c |
720 | lib/sys_socket.c | ||
662 | lib/sys_socket.in.h | 721 | lib/sys_socket.in.h |
663 | lib/sys_stat.in.h | 722 | lib/sys_types.in.h |
723 | lib/sys_uio.in.h | ||
664 | lib/time.in.h | 724 | lib/time.in.h |
665 | lib/time_r.c | 725 | lib/time_r.c |
666 | lib/timegm.c | 726 | lib/timegm.c |
667 | lib/unistd--.h | 727 | lib/unistd.c |
668 | lib/unistd-safer.h | ||
669 | lib/unistd.in.h | 728 | lib/unistd.in.h |
670 | lib/unsetenv.c | 729 | lib/unsetenv.c |
671 | lib/vasnprintf.c | 730 | lib/vasnprintf.c |
@@ -676,42 +735,38 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
676 | lib/w32sock.h | 735 | lib/w32sock.h |
677 | lib/wchar.in.h | 736 | lib/wchar.in.h |
678 | lib/wcrtomb.c | 737 | lib/wcrtomb.c |
738 | lib/wctype-h.c | ||
679 | lib/wctype.in.h | 739 | lib/wctype.in.h |
680 | lib/write.c | ||
681 | lib/xalloc-die.c | 740 | lib/xalloc-die.c |
741 | lib/xalloc-oversized.h | ||
682 | lib/xalloc.h | 742 | lib/xalloc.h |
683 | lib/xmalloc.c | 743 | lib/xmalloc.c |
744 | lib/xsize.c | ||
684 | lib/xsize.h | 745 | lib/xsize.h |
685 | lib/xstrndup.c | 746 | lib/xstrndup.c |
686 | lib/xstrndup.h | 747 | lib/xstrndup.h |
687 | m4/00gnulib.m4 | 748 | m4/00gnulib.m4 |
688 | m4/alloca.m4 | 749 | m4/alloca.m4 |
689 | m4/arpa_inet_h.m4 | 750 | m4/arpa_inet_h.m4 |
690 | m4/asm-underscore.m4 | ||
691 | m4/base64.m4 | 751 | m4/base64.m4 |
692 | m4/btowc.m4 | 752 | m4/btowc.m4 |
693 | m4/c-strtod.m4 | ||
694 | m4/cloexec.m4 | ||
695 | m4/codeset.m4 | 753 | m4/codeset.m4 |
754 | m4/configmake.m4 | ||
696 | m4/dirname.m4 | 755 | m4/dirname.m4 |
697 | m4/dos.m4 | ||
698 | m4/double-slash-root.m4 | 756 | m4/double-slash-root.m4 |
699 | m4/dup2.m4 | ||
700 | m4/eealloc.m4 | 757 | m4/eealloc.m4 |
701 | m4/environ.m4 | 758 | m4/environ.m4 |
702 | m4/errno_h.m4 | 759 | m4/errno_h.m4 |
703 | m4/error.m4 | 760 | m4/error.m4 |
761 | m4/exponentd.m4 | ||
704 | m4/extensions.m4 | 762 | m4/extensions.m4 |
763 | m4/extern-inline.m4 | ||
705 | m4/fcntl-o.m4 | 764 | m4/fcntl-o.m4 |
706 | m4/fcntl-safer.m4 | ||
707 | m4/fcntl.m4 | ||
708 | m4/fcntl_h.m4 | ||
709 | m4/float_h.m4 | 765 | m4/float_h.m4 |
710 | m4/floorf.m4 | 766 | m4/floorf.m4 |
711 | m4/fstypename.m4 | 767 | m4/fstypename.m4 |
712 | m4/fsusage.m4 | 768 | m4/fsusage.m4 |
713 | m4/getaddrinfo.m4 | 769 | m4/getaddrinfo.m4 |
714 | m4/getdtablesize.m4 | ||
715 | m4/gethostname.m4 | 770 | m4/gethostname.m4 |
716 | m4/getloadavg.m4 | 771 | m4/getloadavg.m4 |
717 | m4/getopt.m4 | 772 | m4/getopt.m4 |
@@ -723,7 +778,6 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
723 | m4/iconv.m4 | 778 | m4/iconv.m4 |
724 | m4/include_next.m4 | 779 | m4/include_next.m4 |
725 | m4/inet_ntop.m4 | 780 | m4/inet_ntop.m4 |
726 | m4/inline.m4 | ||
727 | m4/intdiv0.m4 | 781 | m4/intdiv0.m4 |
728 | m4/intl.m4 | 782 | m4/intl.m4 |
729 | m4/intldir.m4 | 783 | m4/intldir.m4 |
@@ -733,6 +787,7 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
733 | m4/inttypes-pri.m4 | 787 | m4/inttypes-pri.m4 |
734 | m4/inttypes_h.m4 | 788 | m4/inttypes_h.m4 |
735 | m4/langinfo_h.m4 | 789 | m4/langinfo_h.m4 |
790 | m4/largefile.m4 | ||
736 | m4/lcmessage.m4 | 791 | m4/lcmessage.m4 |
737 | m4/lib-ld.m4 | 792 | m4/lib-ld.m4 |
738 | m4/lib-link.m4 | 793 | m4/lib-link.m4 |
@@ -742,6 +797,7 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
742 | m4/locale-ja.m4 | 797 | m4/locale-ja.m4 |
743 | m4/locale-zh.m4 | 798 | m4/locale-zh.m4 |
744 | m4/locale_h.m4 | 799 | m4/locale_h.m4 |
800 | m4/localeconv.m4 | ||
745 | m4/lock.m4 | 801 | m4/lock.m4 |
746 | m4/longlong.m4 | 802 | m4/longlong.m4 |
747 | m4/ls-mntd-fs.m4 | 803 | m4/ls-mntd-fs.m4 |
@@ -751,42 +807,45 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
751 | m4/mbrtowc.m4 | 807 | m4/mbrtowc.m4 |
752 | m4/mbsinit.m4 | 808 | m4/mbsinit.m4 |
753 | m4/mbstate_t.m4 | 809 | m4/mbstate_t.m4 |
810 | m4/mbtowc.m4 | ||
754 | m4/memchr.m4 | 811 | m4/memchr.m4 |
755 | m4/mktime.m4 | 812 | m4/mktime.m4 |
756 | m4/mmap-anon.m4 | 813 | m4/mmap-anon.m4 |
757 | m4/mode_t.m4 | ||
758 | m4/mountlist.m4 | 814 | m4/mountlist.m4 |
815 | m4/msvc-inval.m4 | ||
816 | m4/msvc-nothrow.m4 | ||
759 | m4/multiarch.m4 | 817 | m4/multiarch.m4 |
760 | m4/netdb_h.m4 | 818 | m4/netdb_h.m4 |
761 | m4/netinet_in_h.m4 | 819 | m4/netinet_in_h.m4 |
762 | m4/nl_langinfo.m4 | 820 | m4/nl_langinfo.m4 |
763 | m4/nls.m4 | 821 | m4/nls.m4 |
822 | m4/nocrash.m4 | ||
823 | m4/off_t.m4 | ||
764 | m4/onceonly.m4 | 824 | m4/onceonly.m4 |
765 | m4/open.m4 | ||
766 | m4/po.m4 | 825 | m4/po.m4 |
767 | m4/printf-posix.m4 | 826 | m4/printf-posix.m4 |
768 | m4/printf.m4 | 827 | m4/printf.m4 |
769 | m4/progtest.m4 | 828 | m4/progtest.m4 |
829 | m4/read.m4 | ||
770 | m4/regex.m4 | 830 | m4/regex.m4 |
771 | m4/safe-read.m4 | 831 | m4/safe-read.m4 |
772 | m4/safe-write.m4 | ||
773 | m4/servent.m4 | 832 | m4/servent.m4 |
774 | m4/setenv.m4 | 833 | m4/setenv.m4 |
775 | m4/sha1.m4 | 834 | m4/sha1.m4 |
776 | m4/size_max.m4 | 835 | m4/size_max.m4 |
777 | m4/snprintf.m4 | 836 | m4/snprintf.m4 |
837 | m4/socketlib.m4 | ||
778 | m4/sockets.m4 | 838 | m4/sockets.m4 |
779 | m4/socklen.m4 | 839 | m4/socklen.m4 |
780 | m4/sockpfaf.m4 | 840 | m4/sockpfaf.m4 |
781 | m4/ssize_t.m4 | 841 | m4/ssize_t.m4 |
782 | m4/stat.m4 | 842 | m4/stdalign.m4 |
783 | m4/stdbool.m4 | 843 | m4/stdbool.m4 |
784 | m4/stddef_h.m4 | 844 | m4/stddef_h.m4 |
785 | m4/stdint.m4 | 845 | m4/stdint.m4 |
786 | m4/stdint_h.m4 | 846 | m4/stdint_h.m4 |
787 | m4/stdio_h.m4 | 847 | m4/stdio_h.m4 |
788 | m4/stdlib_h.m4 | 848 | m4/stdlib_h.m4 |
789 | m4/strdup.m4 | ||
790 | m4/strerror.m4 | 849 | m4/strerror.m4 |
791 | m4/string_h.m4 | 850 | m4/string_h.m4 |
792 | m4/strndup.m4 | 851 | m4/strndup.m4 |
@@ -794,13 +853,13 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
794 | m4/strsep.m4 | 853 | m4/strsep.m4 |
795 | m4/strstr.m4 | 854 | m4/strstr.m4 |
796 | m4/sys_socket_h.m4 | 855 | m4/sys_socket_h.m4 |
797 | m4/sys_stat_h.m4 | 856 | m4/sys_types_h.m4 |
857 | m4/sys_uio_h.m4 | ||
798 | m4/threadlib.m4 | 858 | m4/threadlib.m4 |
799 | m4/time_h.m4 | 859 | m4/time_h.m4 |
800 | m4/time_r.m4 | 860 | m4/time_r.m4 |
801 | m4/timegm.m4 | 861 | m4/timegm.m4 |
802 | m4/uintmax_t.m4 | 862 | m4/uintmax_t.m4 |
803 | m4/unistd-safer.m4 | ||
804 | m4/unistd_h.m4 | 863 | m4/unistd_h.m4 |
805 | m4/vasnprintf.m4 | 864 | m4/vasnprintf.m4 |
806 | m4/vasprintf.m4 | 865 | m4/vasprintf.m4 |
@@ -812,7 +871,6 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
812 | m4/wcrtomb.m4 | 871 | m4/wcrtomb.m4 |
813 | m4/wctype_h.m4 | 872 | m4/wctype_h.m4 |
814 | m4/wint_t.m4 | 873 | m4/wint_t.m4 |
815 | m4/write.m4 | ||
816 | m4/xalloc.m4 | 874 | m4/xalloc.m4 |
817 | m4/xsize.m4 | 875 | m4/xsize.m4 |
818 | m4/xstrndup.m4 | 876 | m4/xstrndup.m4 |
diff --git a/gl/m4/gnulib-tool.m4 b/gl/m4/gnulib-tool.m4 index 69e7733b..f3dea1a9 100644 --- a/gl/m4/gnulib-tool.m4 +++ b/gl/m4/gnulib-tool.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # gnulib-tool.m4 serial 2 | 1 | # gnulib-tool.m4 serial 2 |
2 | dnl Copyright (C) 2004-2005, 2009-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2004-2005, 2009-2013 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. |
diff --git a/gl/m4/hostent.m4 b/gl/m4/hostent.m4 index 11110411..72be876b 100644 --- a/gl/m4/hostent.m4 +++ b/gl/m4/hostent.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # hostent.m4 serial 1 | 1 | # hostent.m4 serial 2 |
2 | dnl Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2008, 2010-2013 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. |
@@ -28,12 +28,16 @@ AC_DEFUN([gl_HOSTENT], | |||
28 | [gl_cv_w32_gethostbyname=no | 28 | [gl_cv_w32_gethostbyname=no |
29 | gl_save_LIBS="$LIBS" | 29 | gl_save_LIBS="$LIBS" |
30 | LIBS="$LIBS -lws2_32" | 30 | LIBS="$LIBS -lws2_32" |
31 | AC_TRY_LINK([ | 31 | AC_LINK_IFELSE( |
32 | [AC_LANG_PROGRAM( | ||
33 | [[ | ||
32 | #ifdef HAVE_WINSOCK2_H | 34 | #ifdef HAVE_WINSOCK2_H |
33 | #include <winsock2.h> | 35 | #include <winsock2.h> |
34 | #endif | 36 | #endif |
35 | #include <stddef.h> | 37 | #include <stddef.h> |
36 | ], [gethostbyname(NULL);], [gl_cv_w32_gethostbyname=yes]) | 38 | ]], |
39 | [[gethostbyname(NULL);]])], | ||
40 | [gl_cv_w32_gethostbyname=yes]) | ||
37 | LIBS="$gl_save_LIBS" | 41 | LIBS="$gl_save_LIBS" |
38 | ]) | 42 | ]) |
39 | if test "$gl_cv_w32_gethostbyname" = "yes"; then | 43 | if test "$gl_cv_w32_gethostbyname" = "yes"; then |
diff --git a/gl/m4/iconv.m4 b/gl/m4/iconv.m4 index e2041b9b..a5036465 100644 --- a/gl/m4/iconv.m4 +++ b/gl/m4/iconv.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # iconv.m4 serial 11 (gettext-0.18.1) | 1 | # iconv.m4 serial 18 (gettext-0.18.2) |
2 | dnl Copyright (C) 2000-2002, 2007-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2000-2002, 2007-2013 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. |
@@ -30,27 +30,35 @@ AC_DEFUN([AM_ICONV_LINK], | |||
30 | dnl Add $INCICONV to CPPFLAGS before performing the following checks, | 30 | dnl Add $INCICONV to CPPFLAGS before performing the following checks, |
31 | dnl because if the user has installed libiconv and not disabled its use | 31 | dnl because if the user has installed libiconv and not disabled its use |
32 | dnl via --without-libiconv-prefix, he wants to use it. The first | 32 | dnl via --without-libiconv-prefix, he wants to use it. The first |
33 | dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. | 33 | dnl AC_LINK_IFELSE will then fail, the second AC_LINK_IFELSE will succeed. |
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_LINK_IFELSE( |
41 | #include <iconv.h>], | 41 | [AC_LANG_PROGRAM( |
42 | [iconv_t cd = iconv_open("",""); | 42 | [[ |
43 | iconv(cd,NULL,NULL,NULL,NULL); | 43 | #include <stdlib.h> |
44 | iconv_close(cd);], | 44 | #include <iconv.h> |
45 | ]], | ||
46 | [[iconv_t cd = iconv_open("",""); | ||
47 | iconv(cd,NULL,NULL,NULL,NULL); | ||
48 | iconv_close(cd);]])], | ||
45 | [am_cv_func_iconv=yes]) | 49 | [am_cv_func_iconv=yes]) |
46 | if test "$am_cv_func_iconv" != yes; then | 50 | if test "$am_cv_func_iconv" != yes; then |
47 | am_save_LIBS="$LIBS" | 51 | am_save_LIBS="$LIBS" |
48 | LIBS="$LIBS $LIBICONV" | 52 | LIBS="$LIBS $LIBICONV" |
49 | AC_TRY_LINK([#include <stdlib.h> | 53 | AC_LINK_IFELSE( |
50 | #include <iconv.h>], | 54 | [AC_LANG_PROGRAM( |
51 | [iconv_t cd = iconv_open("",""); | 55 | [[ |
52 | iconv(cd,NULL,NULL,NULL,NULL); | 56 | #include <stdlib.h> |
53 | iconv_close(cd);], | 57 | #include <iconv.h> |
58 | ]], | ||
59 | [[iconv_t cd = iconv_open("",""); | ||
60 | iconv(cd,NULL,NULL,NULL,NULL); | ||
61 | iconv_close(cd);]])], | ||
54 | [am_cv_lib_iconv=yes] | 62 | [am_cv_lib_iconv=yes] |
55 | [am_cv_func_iconv=yes]) | 63 | [am_cv_func_iconv=yes]) |
56 | LIBS="$am_save_LIBS" | 64 | LIBS="$am_save_LIBS" |
@@ -58,16 +66,19 @@ AC_DEFUN([AM_ICONV_LINK], | |||
58 | ]) | 66 | ]) |
59 | if test "$am_cv_func_iconv" = yes; then | 67 | if test "$am_cv_func_iconv" = yes; then |
60 | AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [ | 68 | AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [ |
61 | dnl This tests against bugs in AIX 5.1, HP-UX 11.11, Solaris 10. | 69 | dnl This tests against bugs in AIX 5.1, AIX 6.1..7.1, HP-UX 11.11, |
70 | dnl Solaris 10. | ||
62 | am_save_LIBS="$LIBS" | 71 | am_save_LIBS="$LIBS" |
63 | if test $am_cv_lib_iconv = yes; then | 72 | if test $am_cv_lib_iconv = yes; then |
64 | LIBS="$LIBS $LIBICONV" | 73 | LIBS="$LIBS $LIBICONV" |
65 | fi | 74 | fi |
66 | AC_TRY_RUN([ | 75 | AC_RUN_IFELSE( |
76 | [AC_LANG_SOURCE([[ | ||
67 | #include <iconv.h> | 77 | #include <iconv.h> |
68 | #include <string.h> | 78 | #include <string.h> |
69 | int main () | 79 | int main () |
70 | { | 80 | { |
81 | int result = 0; | ||
71 | /* Test against AIX 5.1 bug: Failures are not distinguishable from successful | 82 | /* Test against AIX 5.1 bug: Failures are not distinguishable from successful |
72 | returns. */ | 83 | returns. */ |
73 | { | 84 | { |
@@ -84,7 +95,8 @@ int main () | |||
84 | (char **) &inptr, &inbytesleft, | 95 | (char **) &inptr, &inbytesleft, |
85 | &outptr, &outbytesleft); | 96 | &outptr, &outbytesleft); |
86 | if (res == 0) | 97 | if (res == 0) |
87 | return 1; | 98 | result |= 1; |
99 | iconv_close (cd_utf8_to_88591); | ||
88 | } | 100 | } |
89 | } | 101 | } |
90 | /* Test against Solaris 10 bug: Failures are not distinguishable from | 102 | /* Test against Solaris 10 bug: Failures are not distinguishable from |
@@ -103,7 +115,27 @@ int main () | |||
103 | (char **) &inptr, &inbytesleft, | 115 | (char **) &inptr, &inbytesleft, |
104 | &outptr, &outbytesleft); | 116 | &outptr, &outbytesleft); |
105 | if (res == 0) | 117 | if (res == 0) |
106 | return 1; | 118 | result |= 2; |
119 | iconv_close (cd_ascii_to_88591); | ||
120 | } | ||
121 | } | ||
122 | /* Test against AIX 6.1..7.1 bug: Buffer overrun. */ | ||
123 | { | ||
124 | iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1"); | ||
125 | if (cd_88591_to_utf8 != (iconv_t)(-1)) | ||
126 | { | ||
127 | static const char input[] = "\304"; | ||
128 | static char buf[2] = { (char)0xDE, (char)0xAD }; | ||
129 | const char *inptr = input; | ||
130 | size_t inbytesleft = 1; | ||
131 | char *outptr = buf; | ||
132 | size_t outbytesleft = 1; | ||
133 | size_t res = iconv (cd_88591_to_utf8, | ||
134 | (char **) &inptr, &inbytesleft, | ||
135 | &outptr, &outbytesleft); | ||
136 | if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD) | ||
137 | result |= 4; | ||
138 | iconv_close (cd_88591_to_utf8); | ||
107 | } | 139 | } |
108 | } | 140 | } |
109 | #if 0 /* This bug could be worked around by the caller. */ | 141 | #if 0 /* This bug could be worked around by the caller. */ |
@@ -122,7 +154,8 @@ int main () | |||
122 | (char **) &inptr, &inbytesleft, | 154 | (char **) &inptr, &inbytesleft, |
123 | &outptr, &outbytesleft); | 155 | &outptr, &outbytesleft); |
124 | if ((int)res > 0) | 156 | if ((int)res > 0) |
125 | return 1; | 157 | result |= 8; |
158 | iconv_close (cd_88591_to_utf8); | ||
126 | } | 159 | } |
127 | } | 160 | } |
128 | #endif | 161 | #endif |
@@ -136,13 +169,19 @@ int main () | |||
136 | && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) | 169 | && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) |
137 | /* Try HP-UX names. */ | 170 | /* Try HP-UX names. */ |
138 | && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) | 171 | && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) |
139 | return 1; | 172 | result |= 16; |
140 | return 0; | 173 | return result; |
141 | }], [am_cv_func_iconv_works=yes], [am_cv_func_iconv_works=no], | 174 | }]])], |
142 | [case "$host_os" in | 175 | [am_cv_func_iconv_works=yes], |
176 | [am_cv_func_iconv_works=no], | ||
177 | [ | ||
178 | changequote(,)dnl | ||
179 | case "$host_os" in | ||
143 | aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; | 180 | aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; |
144 | *) am_cv_func_iconv_works="guessing yes" ;; | 181 | *) am_cv_func_iconv_works="guessing yes" ;; |
145 | esac]) | 182 | esac |
183 | changequote([,])dnl | ||
184 | ]) | ||
146 | LIBS="$am_save_LIBS" | 185 | LIBS="$am_save_LIBS" |
147 | ]) | 186 | ]) |
148 | case "$am_cv_func_iconv_works" in | 187 | case "$am_cv_func_iconv_works" in |
@@ -183,32 +222,47 @@ m4_define([gl_iconv_AC_DEFUN], | |||
183 | m4_version_prereq([2.64], | 222 | m4_version_prereq([2.64], |
184 | [[AC_DEFUN_ONCE( | 223 | [[AC_DEFUN_ONCE( |
185 | [$1], [$2])]], | 224 | [$1], [$2])]], |
186 | [[AC_DEFUN( | 225 | [m4_ifdef([gl_00GNULIB], |
187 | [$1], [$2])]])) | 226 | [[AC_DEFUN_ONCE( |
227 | [$1], [$2])]], | ||
228 | [[AC_DEFUN( | ||
229 | [$1], [$2])]])])) | ||
188 | gl_iconv_AC_DEFUN([AM_ICONV], | 230 | gl_iconv_AC_DEFUN([AM_ICONV], |
189 | [ | 231 | [ |
190 | AM_ICONV_LINK | 232 | AM_ICONV_LINK |
191 | if test "$am_cv_func_iconv" = yes; then | 233 | if test "$am_cv_func_iconv" = yes; then |
192 | AC_MSG_CHECKING([for iconv declaration]) | 234 | AC_MSG_CHECKING([for iconv declaration]) |
193 | AC_CACHE_VAL([am_cv_proto_iconv], [ | 235 | AC_CACHE_VAL([am_cv_proto_iconv], [ |
194 | AC_TRY_COMPILE([ | 236 | AC_COMPILE_IFELSE( |
237 | [AC_LANG_PROGRAM( | ||
238 | [[ | ||
195 | #include <stdlib.h> | 239 | #include <stdlib.h> |
196 | #include <iconv.h> | 240 | #include <iconv.h> |
197 | extern | 241 | extern |
198 | #ifdef __cplusplus | 242 | #ifdef __cplusplus |
199 | "C" | 243 | "C" |
200 | #endif | 244 | #endif |
201 | #if defined(__STDC__) || defined(__cplusplus) | 245 | #if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) |
202 | size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); | 246 | size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); |
203 | #else | 247 | #else |
204 | size_t iconv(); | 248 | size_t iconv(); |
205 | #endif | 249 | #endif |
206 | ], [], [am_cv_proto_iconv_arg1=""], [am_cv_proto_iconv_arg1="const"]) | 250 | ]], |
251 | [[]])], | ||
252 | [am_cv_proto_iconv_arg1=""], | ||
253 | [am_cv_proto_iconv_arg1="const"]) | ||
207 | 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);"]) | 254 | 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);"]) |
208 | am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` | 255 | am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` |
209 | AC_MSG_RESULT([ | 256 | AC_MSG_RESULT([ |
210 | $am_cv_proto_iconv]) | 257 | $am_cv_proto_iconv]) |
211 | AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1], | 258 | AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1], |
212 | [Define as const if the declaration of iconv() needs const.]) | 259 | [Define as const if the declaration of iconv() needs const.]) |
260 | dnl Also substitute ICONV_CONST in the gnulib generated <iconv.h>. | ||
261 | m4_ifdef([gl_ICONV_H_DEFAULTS], | ||
262 | [AC_REQUIRE([gl_ICONV_H_DEFAULTS]) | ||
263 | if test -n "$am_cv_proto_iconv_arg1"; then | ||
264 | ICONV_CONST="const" | ||
265 | fi | ||
266 | ]) | ||
213 | fi | 267 | fi |
214 | ]) | 268 | ]) |
diff --git a/gl/m4/include_next.m4 b/gl/m4/include_next.m4 index c7e0672f..108d9456 100644 --- a/gl/m4/include_next.m4 +++ b/gl/m4/include_next.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # include_next.m4 serial 14 | 1 | # include_next.m4 serial 23 |
2 | dnl Copyright (C) 2006-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2006-2013 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,6 +24,13 @@ 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 | 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 | 25 | dnl effect; we are therefore careful to use 'defined __STDC__' or '1' instead |
26 | dnl of plain '__STDC__'. | 26 | dnl of plain '__STDC__'. |
27 | dnl | ||
28 | dnl PRAGMA_COLUMNS can be used in files that override system header files, so | ||
29 | dnl as to avoid compilation errors on HP NonStop systems when the gnulib file | ||
30 | dnl is included by a system header file that does a "#pragma COLUMNS 80" (which | ||
31 | dnl has the effect of truncating the lines of that file and all files that it | ||
32 | dnl includes to 80 columns) and the gnulib file has lines longer than 80 | ||
33 | dnl columns. | ||
27 | 34 | ||
28 | AC_DEFUN([gl_INCLUDE_NEXT], | 35 | AC_DEFUN([gl_INCLUDE_NEXT], |
29 | [ | 36 | [ |
@@ -68,10 +75,11 @@ EOF | |||
68 | EOF | 75 | EOF |
69 | gl_save_CPPFLAGS="$CPPFLAGS" | 76 | gl_save_CPPFLAGS="$CPPFLAGS" |
70 | CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1b -Iconftestd2" | 77 | CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1b -Iconftestd2" |
71 | AC_COMPILE_IFELSE([#include <conftest.h>], | 78 | dnl We intentionally avoid using AC_LANG_SOURCE here. |
79 | AC_COMPILE_IFELSE([AC_LANG_DEFINES_PROVIDED[#include <conftest.h>]], | ||
72 | [gl_cv_have_include_next=yes], | 80 | [gl_cv_have_include_next=yes], |
73 | [CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1a -Iconftestd2" | 81 | [CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1a -Iconftestd2" |
74 | AC_COMPILE_IFELSE([#include <conftest.h>], | 82 | AC_COMPILE_IFELSE([AC_LANG_DEFINES_PROVIDED[#include <conftest.h>]], |
75 | [gl_cv_have_include_next=buggy], | 83 | [gl_cv_have_include_next=buggy], |
76 | [gl_cv_have_include_next=no]) | 84 | [gl_cv_have_include_next=no]) |
77 | ]) | 85 | ]) |
@@ -97,6 +105,24 @@ EOF | |||
97 | AC_SUBST([INCLUDE_NEXT]) | 105 | AC_SUBST([INCLUDE_NEXT]) |
98 | AC_SUBST([INCLUDE_NEXT_AS_FIRST_DIRECTIVE]) | 106 | AC_SUBST([INCLUDE_NEXT_AS_FIRST_DIRECTIVE]) |
99 | AC_SUBST([PRAGMA_SYSTEM_HEADER]) | 107 | AC_SUBST([PRAGMA_SYSTEM_HEADER]) |
108 | AC_CACHE_CHECK([whether system header files limit the line length], | ||
109 | [gl_cv_pragma_columns], | ||
110 | [dnl HP NonStop systems, which define __TANDEM, have this misfeature. | ||
111 | AC_EGREP_CPP([choke me], | ||
112 | [ | ||
113 | #ifdef __TANDEM | ||
114 | choke me | ||
115 | #endif | ||
116 | ], | ||
117 | [gl_cv_pragma_columns=yes], | ||
118 | [gl_cv_pragma_columns=no]) | ||
119 | ]) | ||
120 | if test $gl_cv_pragma_columns = yes; then | ||
121 | PRAGMA_COLUMNS="#pragma COLUMNS 10000" | ||
122 | else | ||
123 | PRAGMA_COLUMNS= | ||
124 | fi | ||
125 | AC_SUBST([PRAGMA_COLUMNS]) | ||
100 | ]) | 126 | ]) |
101 | 127 | ||
102 | # gl_CHECK_NEXT_HEADERS(HEADER1 HEADER2 ...) | 128 | # gl_CHECK_NEXT_HEADERS(HEADER1 HEADER2 ...) |
@@ -117,71 +143,128 @@ EOF | |||
117 | # even if the compiler does not support include_next. | 143 | # even if the compiler does not support include_next. |
118 | # The three "///" are to pacify Sun C 5.8, which otherwise would say | 144 | # The three "///" are to pacify Sun C 5.8, which otherwise would say |
119 | # "warning: #include of /usr/include/... may be non-portable". | 145 | # "warning: #include of /usr/include/... may be non-portable". |
120 | # Use `""', not `<>', so that the /// cannot be confused with a C99 comment. | 146 | # Use '""', not '<>', so that the /// cannot be confused with a C99 comment. |
121 | # Note: This macro assumes that the header file is not empty after | 147 | # Note: This macro assumes that the header file is not empty after |
122 | # preprocessing, i.e. it does not only define preprocessor macros but also | 148 | # preprocessing, i.e. it does not only define preprocessor macros but also |
123 | # provides some type/enum definitions or function/variable declarations. | 149 | # provides some type/enum definitions or function/variable declarations. |
150 | # | ||
151 | # This macro also checks whether each header exists, by invoking | ||
152 | # AC_CHECK_HEADERS_ONCE or AC_CHECK_HEADERS on each argument. | ||
124 | AC_DEFUN([gl_CHECK_NEXT_HEADERS], | 153 | AC_DEFUN([gl_CHECK_NEXT_HEADERS], |
125 | [ | 154 | [ |
155 | gl_NEXT_HEADERS_INTERNAL([$1], [check]) | ||
156 | ]) | ||
157 | |||
158 | # gl_NEXT_HEADERS(HEADER1 HEADER2 ...) | ||
159 | # ------------------------------------ | ||
160 | # Like gl_CHECK_NEXT_HEADERS, except do not check whether the headers exist. | ||
161 | # This is suitable for headers like <stddef.h> that are standardized by C89 | ||
162 | # and therefore can be assumed to exist. | ||
163 | AC_DEFUN([gl_NEXT_HEADERS], | ||
164 | [ | ||
165 | gl_NEXT_HEADERS_INTERNAL([$1], [assume]) | ||
166 | ]) | ||
167 | |||
168 | # The guts of gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. | ||
169 | AC_DEFUN([gl_NEXT_HEADERS_INTERNAL], | ||
170 | [ | ||
126 | AC_REQUIRE([gl_INCLUDE_NEXT]) | 171 | AC_REQUIRE([gl_INCLUDE_NEXT]) |
127 | AC_REQUIRE([AC_CANONICAL_HOST]) | 172 | AC_REQUIRE([AC_CANONICAL_HOST]) |
128 | AC_CHECK_HEADERS_ONCE([$1]) | ||
129 | 173 | ||
174 | m4_if([$2], [check], | ||
175 | [AC_CHECK_HEADERS_ONCE([$1]) | ||
176 | ]) | ||
177 | |||
178 | dnl FIXME: gl_next_header and gl_header_exists must be used unquoted | ||
179 | dnl until we can assume autoconf 2.64 or newer. | ||
130 | m4_foreach_w([gl_HEADER_NAME], [$1], | 180 | m4_foreach_w([gl_HEADER_NAME], [$1], |
131 | [AS_VAR_PUSHDEF([gl_next_header], | 181 | [AS_VAR_PUSHDEF([gl_next_header], |
132 | [gl_cv_next_]m4_defn([gl_HEADER_NAME])) | 182 | [gl_cv_next_]m4_defn([gl_HEADER_NAME])) |
133 | if test $gl_cv_have_include_next = yes; then | 183 | if test $gl_cv_have_include_next = yes; then |
134 | AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>']) | 184 | AS_VAR_SET(gl_next_header, ['<'gl_HEADER_NAME'>']) |
135 | else | 185 | else |
136 | AC_CACHE_CHECK( | 186 | AC_CACHE_CHECK( |
137 | [absolute name of <]m4_defn([gl_HEADER_NAME])[>], | 187 | [absolute name of <]m4_defn([gl_HEADER_NAME])[>], |
138 | m4_defn([gl_next_header]), | 188 | m4_defn([gl_next_header]), |
139 | [AS_VAR_PUSHDEF([gl_header_exists], | 189 | [m4_if([$2], [check], |
140 | [ac_cv_header_]m4_defn([gl_HEADER_NAME])) | 190 | [AS_VAR_PUSHDEF([gl_header_exists], |
141 | if test AS_VAR_GET(gl_header_exists) = yes; then | 191 | [ac_cv_header_]m4_defn([gl_HEADER_NAME])) |
142 | AC_LANG_CONFTEST( | 192 | if test AS_VAR_GET(gl_header_exists) = yes; then |
143 | [AC_LANG_SOURCE( | 193 | AS_VAR_POPDEF([gl_header_exists]) |
144 | [[#include <]]m4_dquote(m4_defn([gl_HEADER_NAME]))[[>]] | 194 | ]) |
145 | )]) | 195 | AC_LANG_CONFTEST( |
146 | dnl AIX "xlc -E" and "cc -E" omit #line directives for header files | 196 | [AC_LANG_SOURCE( |
147 | dnl that contain only a #include of other header files and no | 197 | [[#include <]]m4_dquote(m4_defn([gl_HEADER_NAME]))[[>]] |
148 | dnl non-comment tokens of their own. This leads to a failure to | 198 | )]) |
149 | dnl detect the absolute name of <dirent.h>, <signal.h>, <poll.h> | 199 | dnl AIX "xlc -E" and "cc -E" omit #line directives for header |
150 | dnl and others. The workaround is to force preservation of comments | 200 | dnl files that contain only a #include of other header files and |
151 | dnl through option -C. This ensures all necessary #line directives | 201 | dnl no non-comment tokens of their own. This leads to a failure |
152 | dnl are present. GCC supports option -C as well. | 202 | dnl to detect the absolute name of <dirent.h>, <signal.h>, |
153 | case "$host_os" in | 203 | dnl <poll.h> and others. The workaround is to force preservation |
154 | aix*) gl_absname_cpp="$ac_cpp -C" ;; | 204 | dnl of comments through option -C. This ensures all necessary |
155 | *) gl_absname_cpp="$ac_cpp" ;; | 205 | dnl #line directives are present. GCC supports option -C as well. |
156 | esac | 206 | case "$host_os" in |
157 | dnl eval is necessary to expand gl_absname_cpp. | 207 | aix*) gl_absname_cpp="$ac_cpp -C" ;; |
158 | dnl Ultrix and Pyramid sh refuse to redirect output of eval, | 208 | *) gl_absname_cpp="$ac_cpp" ;; |
159 | dnl so use subshell. | 209 | esac |
160 | AS_VAR_SET([gl_next_header], | 210 | changequote(,) |
161 | ['"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | | 211 | case "$host_os" in |
162 | sed -n '\#/]m4_defn([gl_HEADER_NAME])[#{ | 212 | mingw*) |
163 | s#.*"\(.*/]m4_defn([gl_HEADER_NAME])[\)".*#\1# | 213 | dnl For the sake of native Windows compilers (excluding gcc), |
164 | s#^/[^/]#//&# | 214 | dnl treat backslash as a directory separator, like /. |
165 | p | 215 | dnl Actually, these compilers use a double-backslash as |
166 | q | 216 | dnl directory separator, inside the |
167 | }'`'"']) | 217 | dnl # line "filename" |
168 | else | 218 | dnl directives. |
169 | AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>']) | 219 | gl_dirsep_regex='[/\\]' |
170 | fi | 220 | ;; |
171 | AS_VAR_POPDEF([gl_header_exists])]) | 221 | *) |
222 | gl_dirsep_regex='\/' | ||
223 | ;; | ||
224 | esac | ||
225 | dnl A sed expression that turns a string into a basic regular | ||
226 | dnl expression, for use within "/.../". | ||
227 | gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' | ||
228 | changequote([,]) | ||
229 | gl_header_literal_regex=`echo ']m4_defn([gl_HEADER_NAME])[' \ | ||
230 | | sed -e "$gl_make_literal_regex_sed"` | ||
231 | gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ | ||
232 | s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ | ||
233 | changequote(,)dnl | ||
234 | s|^/[^/]|//&| | ||
235 | changequote([,])dnl | ||
236 | p | ||
237 | q | ||
238 | }' | ||
239 | dnl eval is necessary to expand gl_absname_cpp. | ||
240 | dnl Ultrix and Pyramid sh refuse to redirect output of eval, | ||
241 | dnl so use subshell. | ||
242 | AS_VAR_SET(gl_next_header, | ||
243 | ['"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | | ||
244 | sed -n "$gl_absolute_header_sed"`'"']) | ||
245 | m4_if([$2], [check], | ||
246 | [else | ||
247 | AS_VAR_SET(gl_next_header, ['<'gl_HEADER_NAME'>']) | ||
248 | fi | ||
249 | ]) | ||
250 | ]) | ||
172 | fi | 251 | fi |
173 | AC_SUBST( | 252 | AC_SUBST( |
174 | AS_TR_CPP([NEXT_]m4_defn([gl_HEADER_NAME])), | 253 | AS_TR_CPP([NEXT_]m4_defn([gl_HEADER_NAME])), |
175 | [AS_VAR_GET([gl_next_header])]) | 254 | [AS_VAR_GET(gl_next_header)]) |
176 | if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then | 255 | if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then |
177 | # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' | 256 | # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' |
178 | gl_next_as_first_directive='<'gl_HEADER_NAME'>' | 257 | gl_next_as_first_directive='<'gl_HEADER_NAME'>' |
179 | else | 258 | else |
180 | # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' | 259 | # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' |
181 | gl_next_as_first_directive=AS_VAR_GET([gl_next_header]) | 260 | gl_next_as_first_directive=AS_VAR_GET(gl_next_header) |
182 | fi | 261 | fi |
183 | AC_SUBST( | 262 | AC_SUBST( |
184 | AS_TR_CPP([NEXT_AS_FIRST_DIRECTIVE_]m4_defn([gl_HEADER_NAME])), | 263 | AS_TR_CPP([NEXT_AS_FIRST_DIRECTIVE_]m4_defn([gl_HEADER_NAME])), |
185 | [$gl_next_as_first_directive]) | 264 | [$gl_next_as_first_directive]) |
186 | AS_VAR_POPDEF([gl_next_header])]) | 265 | AS_VAR_POPDEF([gl_next_header])]) |
187 | ]) | 266 | ]) |
267 | |||
268 | # Autoconf 2.68 added warnings for our use of AC_COMPILE_IFELSE; | ||
269 | # this fallback is safe for all earlier autoconf versions. | ||
270 | m4_define_default([AC_LANG_DEFINES_PROVIDED]) | ||
diff --git a/gl/m4/inet_ntop.m4 b/gl/m4/inet_ntop.m4 index a6d219c2..476f063f 100644 --- a/gl/m4/inet_ntop.m4 +++ b/gl/m4/inet_ntop.m4 | |||
@@ -1,38 +1,68 @@ | |||
1 | # inet_ntop.m4 serial 12 | 1 | # inet_ntop.m4 serial 19 |
2 | dnl Copyright (C) 2005, 2006, 2008, 2009, 2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2005-2006, 2008-2013 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_INET_NTOP], | 7 | AC_DEFUN([gl_FUNC_INET_NTOP], |
8 | [ | 8 | [ |
9 | AC_REQUIRE([gl_ARPA_INET_H_DEFAULTS]) | ||
10 | |||
9 | dnl Persuade Solaris <arpa/inet.h> to declare inet_ntop. | 11 | dnl Persuade Solaris <arpa/inet.h> to declare inet_ntop. |
10 | AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) | 12 | AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) |
11 | 13 | ||
12 | gl_REPLACE_ARPA_INET_H | 14 | AC_REQUIRE([AC_C_RESTRICT]) |
13 | 15 | ||
14 | dnl Most platforms that provide inet_ntop define it in libc. | 16 | dnl Most platforms that provide inet_ntop define it in libc. |
15 | dnl Solaris 8..10 provide inet_ntop in libnsl instead. | 17 | dnl Solaris 8..10 provide inet_ntop in libnsl instead. |
16 | gl_save_LIBS=$LIBS | 18 | dnl Solaris 2.6..7 provide inet_ntop in libresolv instead. |
17 | AC_SEARCH_LIBS([inet_ntop], [nsl], [], | 19 | dnl Native Windows provides it in -lws2_32 instead, with a declaration in |
18 | [AC_REPLACE_FUNCS([inet_ntop])]) | 20 | dnl <ws2tcpip.h>, and it uses stdcall calling convention, not cdecl |
19 | LIBS=$gl_save_LIBS | 21 | dnl (hence we cannot use AC_CHECK_FUNCS, AC_SEARCH_LIBS to find it). |
22 | HAVE_INET_NTOP=1 | ||
20 | INET_NTOP_LIB= | 23 | INET_NTOP_LIB= |
21 | if test "$ac_cv_search_inet_ntop" != "no" && | 24 | gl_PREREQ_SYS_H_WINSOCK2 |
22 | test "$ac_cv_search_inet_ntop" != "none required"; then | 25 | if test $HAVE_WINSOCK2_H = 1; then |
23 | INET_NTOP_LIB="$ac_cv_search_inet_ntop" | 26 | AC_CHECK_DECLS([inet_ntop],,, [[#include <ws2tcpip.h>]]) |
27 | if test $ac_cv_have_decl_inet_ntop = yes; then | ||
28 | dnl It needs to be overridden, because the stdcall calling convention | ||
29 | dnl is not compliant with POSIX. | ||
30 | REPLACE_INET_NTOP=1 | ||
31 | INET_NTOP_LIB="-lws2_32" | ||
32 | else | ||
33 | HAVE_DECL_INET_NTOP=0 | ||
34 | HAVE_INET_NTOP=0 | ||
35 | fi | ||
36 | else | ||
37 | gl_save_LIBS=$LIBS | ||
38 | AC_SEARCH_LIBS([inet_ntop], [nsl resolv], [], | ||
39 | [AC_CHECK_FUNCS([inet_ntop]) | ||
40 | if test $ac_cv_func_inet_ntop = no; then | ||
41 | HAVE_INET_NTOP=0 | ||
42 | fi | ||
43 | ]) | ||
44 | LIBS=$gl_save_LIBS | ||
45 | |||
46 | if test "$ac_cv_search_inet_ntop" != "no" \ | ||
47 | && test "$ac_cv_search_inet_ntop" != "none required"; then | ||
48 | INET_NTOP_LIB="$ac_cv_search_inet_ntop" | ||
49 | fi | ||
50 | |||
51 | AC_CHECK_HEADERS_ONCE([netdb.h]) | ||
52 | AC_CHECK_DECLS([inet_ntop],,, | ||
53 | [[#include <arpa/inet.h> | ||
54 | #if HAVE_NETDB_H | ||
55 | # include <netdb.h> | ||
56 | #endif | ||
57 | ]]) | ||
58 | if test $ac_cv_have_decl_inet_ntop = no; then | ||
59 | HAVE_DECL_INET_NTOP=0 | ||
60 | fi | ||
24 | fi | 61 | fi |
25 | AC_SUBST([INET_NTOP_LIB]) | 62 | AC_SUBST([INET_NTOP_LIB]) |
26 | |||
27 | gl_PREREQ_INET_NTOP | ||
28 | ]) | 63 | ]) |
29 | 64 | ||
30 | # Prerequisites of lib/inet_ntop.c. | 65 | # Prerequisites of lib/inet_ntop.c. |
31 | AC_DEFUN([gl_PREREQ_INET_NTOP], [ | 66 | AC_DEFUN([gl_PREREQ_INET_NTOP], [ |
32 | AC_CHECK_DECLS([inet_ntop],,,[#include <arpa/inet.h>]) | ||
33 | if test $ac_cv_have_decl_inet_ntop = no; then | ||
34 | HAVE_DECL_INET_NTOP=0 | ||
35 | fi | ||
36 | AC_REQUIRE([gl_SOCKET_FAMILIES]) | 67 | AC_REQUIRE([gl_SOCKET_FAMILIES]) |
37 | AC_REQUIRE([AC_C_RESTRICT]) | ||
38 | ]) | 68 | ]) |
diff --git a/gl/m4/inline.m4 b/gl/m4/inline.m4 deleted file mode 100644 index 4ef768de..00000000 --- a/gl/m4/inline.m4 +++ /dev/null | |||
@@ -1,40 +0,0 @@ | |||
1 | # inline.m4 serial 4 | ||
2 | dnl Copyright (C) 2006, 2009, 2010 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 for the 'inline' keyword or equivalent. | ||
8 | dnl Define 'inline' to a supported equivalent, or to nothing if not supported, | ||
9 | dnl like AC_C_INLINE does. Also, define HAVE_INLINE if 'inline' or an | ||
10 | dnl equivalent is effectively supported, i.e. if the compiler is likely to | ||
11 | dnl drop unused 'static inline' functions. | ||
12 | AC_DEFUN([gl_INLINE], | ||
13 | [ | ||
14 | AC_REQUIRE([AC_C_INLINE]) | ||
15 | AC_CACHE_CHECK([whether the compiler generally respects inline], | ||
16 | [gl_cv_c_inline_effective], | ||
17 | [if test $ac_cv_c_inline = no; then | ||
18 | gl_cv_c_inline_effective=no | ||
19 | else | ||
20 | dnl GCC defines __NO_INLINE__ if not optimizing or if -fno-inline is | ||
21 | dnl specified. | ||
22 | dnl Use AC_COMPILE_IFELSE here, not AC_EGREP_CPP, because the result | ||
23 | dnl depends on optimization flags, which can be in CFLAGS. | ||
24 | dnl (AC_EGREP_CPP looks only at the CPPFLAGS.) | ||
25 | AC_COMPILE_IFELSE( | ||
26 | [AC_LANG_PROGRAM([[]], | ||
27 | [[#ifdef __NO_INLINE__ | ||
28 | #error "inline is not effective" | ||
29 | #endif]])], | ||
30 | [gl_cv_c_inline_effective=yes], | ||
31 | [gl_cv_c_inline_effective=no]) | ||
32 | fi | ||
33 | ]) | ||
34 | if test $gl_cv_c_inline_effective = yes; then | ||
35 | AC_DEFINE([HAVE_INLINE], [1], | ||
36 | [Define to 1 if the compiler supports one of the keywords | ||
37 | 'inline', '__inline__', '__inline' and effectively inlines | ||
38 | functions marked as such.]) | ||
39 | fi | ||
40 | ]) | ||
diff --git a/gl/m4/intdiv0.m4 b/gl/m4/intdiv0.m4 index 289c4df5..74d0e80d 100644 --- a/gl/m4/intdiv0.m4 +++ b/gl/m4/intdiv0.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # intdiv0.m4 serial 3 (gettext-0.18) | 1 | # intdiv0.m4 serial 6 (gettext-0.18.2) |
2 | dnl Copyright (C) 2002, 2007-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002, 2007-2008, 2010-2013 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. |
@@ -18,7 +18,7 @@ AC_DEFUN([gt_INTDIV0], | |||
18 | changequote(,)dnl | 18 | changequote(,)dnl |
19 | case "$host_os" in | 19 | case "$host_os" in |
20 | macos* | darwin[6-9]* | darwin[1-9][0-9]*) | 20 | macos* | darwin[6-9]* | darwin[1-9][0-9]*) |
21 | # On MacOS X 10.2 or newer, just assume the same as when cross- | 21 | # On Mac OS X 10.2 or newer, just assume the same as when cross- |
22 | # compiling. If we were to perform the real test, 1 Crash Report | 22 | # compiling. If we were to perform the real test, 1 Crash Report |
23 | # dialog window would pop up. | 23 | # dialog window would pop up. |
24 | case "$host_cpu" in | 24 | case "$host_cpu" in |
@@ -29,7 +29,8 @@ changequote(,)dnl | |||
29 | esac | 29 | esac |
30 | changequote([,])dnl | 30 | changequote([,])dnl |
31 | if test -z "$gt_cv_int_divbyzero_sigfpe"; then | 31 | if test -z "$gt_cv_int_divbyzero_sigfpe"; then |
32 | AC_TRY_RUN([ | 32 | AC_RUN_IFELSE( |
33 | [AC_LANG_SOURCE([[ | ||
33 | #include <stdlib.h> | 34 | #include <stdlib.h> |
34 | #include <signal.h> | 35 | #include <signal.h> |
35 | 36 | ||
@@ -59,9 +60,11 @@ int main () | |||
59 | 60 | ||
60 | z = x / y; | 61 | z = x / y; |
61 | nan = y / y; | 62 | nan = y / y; |
62 | exit (1); | 63 | exit (2); |
63 | } | 64 | } |
64 | ], [gt_cv_int_divbyzero_sigfpe=yes], [gt_cv_int_divbyzero_sigfpe=no], | 65 | ]])], |
66 | [gt_cv_int_divbyzero_sigfpe=yes], | ||
67 | [gt_cv_int_divbyzero_sigfpe=no], | ||
65 | [ | 68 | [ |
66 | # Guess based on the CPU. | 69 | # Guess based on the CPU. |
67 | changequote(,)dnl | 70 | changequote(,)dnl |
diff --git a/gl/m4/intl.m4 b/gl/m4/intl.m4 index 335b23c2..959bd042 100644 --- a/gl/m4/intl.m4 +++ b/gl/m4/intl.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # intl.m4 serial 17 (gettext-0.18) | 1 | # intl.m4 serial 23 (gettext-0.18.3) |
2 | dnl Copyright (C) 1995-2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1995-2013 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-2009. | 18 | dnl Bruno Haible <haible@clisp.cons.org>, 2000-2009. |
19 | 19 | ||
20 | AC_PREREQ([2.52]) | 20 | AC_PREREQ([2.60]) |
21 | 21 | ||
22 | dnl Checks for all prerequisites of the intl subdirectory, | 22 | dnl Checks for all prerequisites of the intl subdirectory, |
23 | dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS, | 23 | dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS, |
@@ -25,7 +25,7 @@ dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL. | |||
25 | AC_DEFUN([AM_INTL_SUBDIR], | 25 | AC_DEFUN([AM_INTL_SUBDIR], |
26 | [ | 26 | [ |
27 | AC_REQUIRE([AC_PROG_INSTALL])dnl | 27 | AC_REQUIRE([AC_PROG_INSTALL])dnl |
28 | AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake | 28 | AC_REQUIRE([AC_PROG_MKDIR_P])dnl |
29 | AC_REQUIRE([AC_PROG_CC])dnl | 29 | AC_REQUIRE([AC_PROG_CC])dnl |
30 | AC_REQUIRE([AC_CANONICAL_HOST])dnl | 30 | AC_REQUIRE([AC_CANONICAL_HOST])dnl |
31 | AC_REQUIRE([gt_GLIBC2])dnl | 31 | AC_REQUIRE([gt_GLIBC2])dnl |
@@ -55,21 +55,19 @@ AC_DEFUN([AM_INTL_SUBDIR], | |||
55 | [AC_DEFINE([ptrdiff_t], [long], | 55 | [AC_DEFINE([ptrdiff_t], [long], |
56 | [Define as the type of the result of subtracting two pointers, if the system doesn't define it.]) | 56 | [Define as the type of the result of subtracting two pointers, if the system doesn't define it.]) |
57 | ]) | 57 | ]) |
58 | AC_CHECK_HEADERS([stddef.h stdlib.h string.h]) | 58 | AC_CHECK_HEADERS([features.h stddef.h stdlib.h string.h]) |
59 | AC_CHECK_FUNCS([asprintf fwprintf newlocale putenv setenv setlocale \ | 59 | AC_CHECK_FUNCS([asprintf fwprintf newlocale putenv setenv setlocale \ |
60 | snprintf strnlen wcslen wcsnlen mbrtowc wcrtomb]) | 60 | snprintf strnlen wcslen wcsnlen mbrtowc wcrtomb]) |
61 | 61 | ||
62 | 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 |
63 | 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). |
64 | gt_CHECK_DECL(_snprintf, [#include <stdio.h>]) | 64 | AC_CHECK_DECLS([_snprintf _snwprintf], , , [#include <stdio.h>]) |
65 | gt_CHECK_DECL(_snwprintf, [#include <stdio.h>]) | ||
66 | 65 | ||
67 | dnl Use the *_unlocked functions only if they are declared. | 66 | dnl Use the *_unlocked functions only if they are declared. |
68 | dnl (because some of them were defined without being declared in Solaris | 67 | dnl (because some of them were defined without being declared in Solaris |
69 | dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built | 68 | dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built |
70 | dnl on Solaris 2.5.1 to run on Solaris 2.6). | 69 | dnl on Solaris 2.5.1 to run on Solaris 2.6). |
71 | dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13. | 70 | AC_CHECK_DECLS([getc_unlocked], , , [#include <stdio.h>]) |
72 | gt_CHECK_DECL(getc_unlocked, [#include <stdio.h>]) | ||
73 | 71 | ||
74 | case $gt_cv_func_printf_posix in | 72 | case $gt_cv_func_printf_posix in |
75 | *yes) HAVE_POSIX_PRINTF=1 ;; | 73 | *yes) HAVE_POSIX_PRINTF=1 ;; |
@@ -220,9 +218,10 @@ AC_DEFUN([gt_INTL_SUBDIR_CORE], | |||
220 | AC_REQUIRE([gt_INTTYPES_PRI])dnl | 218 | AC_REQUIRE([gt_INTTYPES_PRI])dnl |
221 | AC_REQUIRE([gl_LOCK])dnl | 219 | AC_REQUIRE([gl_LOCK])dnl |
222 | 220 | ||
223 | AC_TRY_LINK( | 221 | AC_LINK_IFELSE( |
224 | [int foo (int a) { a = __builtin_expect (a, 10); return a == 10 ? 0 : 1; }], | 222 | [AC_LANG_PROGRAM( |
225 | [], | 223 | [[int foo (int a) { a = __builtin_expect (a, 10); return a == 10 ? 0 : 1; }]], |
224 | [[]])], | ||
226 | [AC_DEFINE([HAVE_BUILTIN_EXPECT], [1], | 225 | [AC_DEFINE([HAVE_BUILTIN_EXPECT], [1], |
227 | [Define to 1 if the compiler understands __builtin_expect.])]) | 226 | [Define to 1 if the compiler understands __builtin_expect.])]) |
228 | 227 | ||
@@ -235,9 +234,7 @@ AC_DEFUN([gt_INTL_SUBDIR_CORE], | |||
235 | dnl (because some of them were defined without being declared in Solaris | 234 | dnl (because some of them were defined without being declared in Solaris |
236 | dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built | 235 | dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built |
237 | dnl on Solaris 2.5.1 to run on Solaris 2.6). | 236 | dnl on Solaris 2.5.1 to run on Solaris 2.6). |
238 | dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13. | 237 | AC_CHECK_DECLS([feof_unlocked fgets_unlocked], , , [#include <stdio.h>]) |
239 | gt_CHECK_DECL([feof_unlocked], [#include <stdio.h>]) | ||
240 | gt_CHECK_DECL([fgets_unlocked], [#include <stdio.h>]) | ||
241 | 238 | ||
242 | AM_ICONV | 239 | AM_ICONV |
243 | 240 | ||
@@ -272,23 +269,3 @@ changequote([,])dnl | |||
272 | INTLBISON=: | 269 | INTLBISON=: |
273 | fi | 270 | fi |
274 | ]) | 271 | ]) |
275 | |||
276 | |||
277 | dnl gt_CHECK_DECL(FUNC, INCLUDES) | ||
278 | dnl Check whether a function is declared. | ||
279 | AC_DEFUN([gt_CHECK_DECL], | ||
280 | [ | ||
281 | AC_CACHE_CHECK([whether $1 is declared], [ac_cv_have_decl_$1], | ||
282 | [AC_TRY_COMPILE([$2], [ | ||
283 | #ifndef $1 | ||
284 | char *p = (char *) $1; | ||
285 | #endif | ||
286 | ], ac_cv_have_decl_$1=yes, ac_cv_have_decl_$1=no)]) | ||
287 | if test $ac_cv_have_decl_$1 = yes; then | ||
288 | gt_value=1 | ||
289 | else | ||
290 | gt_value=0 | ||
291 | fi | ||
292 | AC_DEFINE_UNQUOTED([HAVE_DECL_]translit($1, [a-z], [A-Z]), [$gt_value], | ||
293 | [Define to 1 if you have the declaration of `$1', and to 0 if you don't.]) | ||
294 | ]) | ||
diff --git a/gl/m4/intldir.m4 b/gl/m4/intldir.m4 index ebae76d3..388ecd6f 100644 --- a/gl/m4/intldir.m4 +++ b/gl/m4/intldir.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # intldir.m4 serial 2 (gettext-0.18) | 1 | # intldir.m4 serial 2 (gettext-0.18) |
2 | dnl Copyright (C) 2006, 2009-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2006, 2009-2013 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. |
diff --git a/gl/m4/intlmacosx.m4 b/gl/m4/intlmacosx.m4 index dd910259..ab97d39f 100644 --- a/gl/m4/intlmacosx.m4 +++ b/gl/m4/intlmacosx.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # intlmacosx.m4 serial 3 (gettext-0.18) | 1 | # intlmacosx.m4 serial 5 (gettext-0.18.2) |
2 | dnl Copyright (C) 2004-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2004-2013 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,35 +13,40 @@ 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 | dnl Checks for special options needed on MacOS X. | 16 | dnl Checks for special options needed on Mac OS X. |
17 | dnl Defines INTL_MACOSX_LIBS. | 17 | dnl Defines INTL_MACOSX_LIBS. |
18 | AC_DEFUN([gt_INTL_MACOSX], | 18 | 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 Mac OS 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_LINK_IFELSE( |
26 | [CFPreferencesCopyAppValue(NULL, NULL)], | 26 | [AC_LANG_PROGRAM( |
27 | [[#include <CoreFoundation/CFPreferences.h>]], | ||
28 | [[CFPreferencesCopyAppValue(NULL, NULL)]])], | ||
27 | [gt_cv_func_CFPreferencesCopyAppValue=yes], | 29 | [gt_cv_func_CFPreferencesCopyAppValue=yes], |
28 | [gt_cv_func_CFPreferencesCopyAppValue=no]) | 30 | [gt_cv_func_CFPreferencesCopyAppValue=no]) |
29 | LIBS="$gt_save_LIBS"]) | 31 | LIBS="$gt_save_LIBS"]) |
30 | if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then | 32 | if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then |
31 | AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1], | 33 | AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1], |
32 | [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) | 34 | [Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) |
33 | fi | 35 | fi |
34 | dnl Check for API introduced in MacOS X 10.3. | 36 | dnl Check for API introduced in Mac OS X 10.3. |
35 | AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent], | 37 | AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent], |
36 | [gt_save_LIBS="$LIBS" | 38 | [gt_save_LIBS="$LIBS" |
37 | LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" | 39 | LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" |
38 | AC_TRY_LINK([#include <CoreFoundation/CFLocale.h>], [CFLocaleCopyCurrent();], | 40 | AC_LINK_IFELSE( |
41 | [AC_LANG_PROGRAM( | ||
42 | [[#include <CoreFoundation/CFLocale.h>]], | ||
43 | [[CFLocaleCopyCurrent();]])], | ||
39 | [gt_cv_func_CFLocaleCopyCurrent=yes], | 44 | [gt_cv_func_CFLocaleCopyCurrent=yes], |
40 | [gt_cv_func_CFLocaleCopyCurrent=no]) | 45 | [gt_cv_func_CFLocaleCopyCurrent=no]) |
41 | LIBS="$gt_save_LIBS"]) | 46 | LIBS="$gt_save_LIBS"]) |
42 | if test $gt_cv_func_CFLocaleCopyCurrent = yes; then | 47 | if test $gt_cv_func_CFLocaleCopyCurrent = yes; then |
43 | AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1], | 48 | AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1], |
44 | [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) | 49 | [Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) |
45 | fi | 50 | fi |
46 | INTL_MACOSX_LIBS= | 51 | INTL_MACOSX_LIBS= |
47 | if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then | 52 | if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then |
diff --git a/gl/m4/intmax.m4 b/gl/m4/intmax.m4 index 74aaaf5e..18733a52 100644 --- a/gl/m4/intmax.m4 +++ b/gl/m4/intmax.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # intmax.m4 serial 5 (gettext-0.18) | 1 | # intmax.m4 serial 6 (gettext-0.18.2) |
2 | dnl Copyright (C) 2002-2005, 2008-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2005, 2008-2013 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,9 @@ AC_DEFUN([gt_TYPE_INTMAX_T], | |||
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_COMPILE_IFELSE( |
17 | [AC_LANG_PROGRAM( | ||
18 | [[ | ||
17 | #include <stddef.h> | 19 | #include <stddef.h> |
18 | #include <stdlib.h> | 20 | #include <stdlib.h> |
19 | #if HAVE_STDINT_H_WITH_UINTMAX | 21 | #if HAVE_STDINT_H_WITH_UINTMAX |
@@ -22,8 +24,9 @@ AC_DEFUN([gt_TYPE_INTMAX_T], | |||
22 | #if HAVE_INTTYPES_H_WITH_UINTMAX | 24 | #if HAVE_INTTYPES_H_WITH_UINTMAX |
23 | #include <inttypes.h> | 25 | #include <inttypes.h> |
24 | #endif | 26 | #endif |
25 | ], [intmax_t x = -1; | 27 | ]], |
26 | return !x;], | 28 | [[intmax_t x = -1; |
29 | return !x;]])], | ||
27 | [gt_cv_c_intmax_t=yes], | 30 | [gt_cv_c_intmax_t=yes], |
28 | [gt_cv_c_intmax_t=no])]) | 31 | [gt_cv_c_intmax_t=no])]) |
29 | if test $gt_cv_c_intmax_t = yes; then | 32 | if test $gt_cv_c_intmax_t = yes; then |
diff --git a/gl/m4/intmax_t.m4 b/gl/m4/intmax_t.m4 index 975caac5..6ea70531 100644 --- a/gl/m4/intmax_t.m4 +++ b/gl/m4/intmax_t.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # intmax_t.m4 serial 7 | 1 | # intmax_t.m4 serial 8 |
2 | dnl Copyright (C) 1997-2004, 2006-2007, 2009-2010 Free Software Foundation, | 2 | dnl Copyright (C) 1997-2004, 2006-2007, 2009-2013 Free Software Foundation, |
3 | dnl Inc. | 3 | dnl 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, |
@@ -7,7 +7,7 @@ dnl with or without modifications, as long as this notice is preserved. | |||
7 | 7 | ||
8 | dnl From Paul Eggert. | 8 | dnl From Paul Eggert. |
9 | 9 | ||
10 | AC_PREREQ([2.13]) | 10 | AC_PREREQ([2.53]) |
11 | 11 | ||
12 | # Define intmax_t to 'long' or 'long long' | 12 | # Define intmax_t to 'long' or 'long long' |
13 | # if it is not already defined in <stdint.h> or <inttypes.h>. | 13 | # if it is not already defined in <stdint.h> or <inttypes.h>. |
@@ -38,7 +38,9 @@ AC_DEFUN([gt_AC_TYPE_INTMAX_T], | |||
38 | AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) | 38 | AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) |
39 | AC_REQUIRE([gl_AC_HEADER_STDINT_H]) | 39 | AC_REQUIRE([gl_AC_HEADER_STDINT_H]) |
40 | AC_CACHE_CHECK([for intmax_t], [gt_cv_c_intmax_t], | 40 | AC_CACHE_CHECK([for intmax_t], [gt_cv_c_intmax_t], |
41 | [AC_TRY_COMPILE([ | 41 | [AC_COMPILE_IFELSE( |
42 | [AC_LANG_PROGRAM( | ||
43 | [[ | ||
42 | #include <stddef.h> | 44 | #include <stddef.h> |
43 | #include <stdlib.h> | 45 | #include <stdlib.h> |
44 | #if HAVE_STDINT_H_WITH_UINTMAX | 46 | #if HAVE_STDINT_H_WITH_UINTMAX |
@@ -47,7 +49,10 @@ AC_DEFUN([gt_AC_TYPE_INTMAX_T], | |||
47 | #if HAVE_INTTYPES_H_WITH_UINTMAX | 49 | #if HAVE_INTTYPES_H_WITH_UINTMAX |
48 | #include <inttypes.h> | 50 | #include <inttypes.h> |
49 | #endif | 51 | #endif |
50 | ], [intmax_t x = -1; return !x;], gt_cv_c_intmax_t=yes, gt_cv_c_intmax_t=no)]) | 52 | ]], |
53 | [[intmax_t x = -1; return !x;]])], | ||
54 | [gt_cv_c_intmax_t=yes], | ||
55 | [gt_cv_c_intmax_t=no])]) | ||
51 | if test $gt_cv_c_intmax_t = yes; then | 56 | if test $gt_cv_c_intmax_t = yes; then |
52 | AC_DEFINE([HAVE_INTMAX_T], [1], | 57 | AC_DEFINE([HAVE_INTMAX_T], [1], |
53 | [Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>.]) | 58 | [Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>.]) |
diff --git a/gl/m4/inttypes-pri.m4 b/gl/m4/inttypes-pri.m4 index 718a4f4e..e5a1e057 100644 --- a/gl/m4/inttypes-pri.m4 +++ b/gl/m4/inttypes-pri.m4 | |||
@@ -1,12 +1,12 @@ | |||
1 | # inttypes-pri.m4 serial 6 (gettext-0.18) | 1 | # inttypes-pri.m4 serial 7 (gettext-0.18.2) |
2 | dnl Copyright (C) 1997-2002, 2006, 2008-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1997-2002, 2006, 2008-2013 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.53]) |
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. |
@@ -18,11 +18,17 @@ AC_DEFUN([gt_INTTYPES_PRI], | |||
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_COMPILE_IFELSE( |
22 | [AC_LANG_PROGRAM( | ||
23 | [[ | ||
24 | #include <inttypes.h> | ||
22 | #ifdef PRId32 | 25 | #ifdef PRId32 |
23 | char *p = PRId32; | 26 | char *p = PRId32; |
24 | #endif | 27 | #endif |
25 | ], [], [gt_cv_inttypes_pri_broken=no], [gt_cv_inttypes_pri_broken=yes]) | 28 | ]], |
29 | [[]])], | ||
30 | [gt_cv_inttypes_pri_broken=no], | ||
31 | [gt_cv_inttypes_pri_broken=yes]) | ||
26 | ]) | 32 | ]) |
27 | fi | 33 | fi |
28 | if test "$gt_cv_inttypes_pri_broken" = yes; then | 34 | if test "$gt_cv_inttypes_pri_broken" = yes; then |
diff --git a/gl/m4/inttypes_h.m4 b/gl/m4/inttypes_h.m4 index 782d77ed..5f05ac58 100644 --- a/gl/m4/inttypes_h.m4 +++ b/gl/m4/inttypes_h.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # inttypes_h.m4 serial 9 | 1 | # inttypes_h.m4 serial 10 |
2 | dnl Copyright (C) 1997-2004, 2006, 2008-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1997-2004, 2006, 2008-2013 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,12 +12,15 @@ dnl From Paul Eggert. | |||
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_COMPILE_IFELSE( |
16 | [#include <sys/types.h> | 16 | [AC_LANG_PROGRAM( |
17 | #include <inttypes.h>], | 17 | [[ |
18 | [uintmax_t i = (uintmax_t) -1; return !i;], | 18 | #include <sys/types.h> |
19 | [gl_cv_header_inttypes_h=yes], | 19 | #include <inttypes.h> |
20 | [gl_cv_header_inttypes_h=no])]) | 20 | ]], |
21 | [[uintmax_t i = (uintmax_t) -1; return !i;]])], | ||
22 | [gl_cv_header_inttypes_h=yes], | ||
23 | [gl_cv_header_inttypes_h=no])]) | ||
21 | if test $gl_cv_header_inttypes_h = yes; then | 24 | if test $gl_cv_header_inttypes_h = yes; then |
22 | AC_DEFINE_UNQUOTED([HAVE_INTTYPES_H_WITH_UINTMAX], [1], | 25 | AC_DEFINE_UNQUOTED([HAVE_INTTYPES_H_WITH_UINTMAX], [1], |
23 | [Define if <inttypes.h> exists, doesn't clash with <sys/types.h>, | 26 | [Define if <inttypes.h> exists, doesn't clash with <sys/types.h>, |
diff --git a/gl/m4/langinfo_h.m4 b/gl/m4/langinfo_h.m4 index 11a56980..73bef8bc 100644 --- a/gl/m4/langinfo_h.m4 +++ b/gl/m4/langinfo_h.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # langinfo_h.m4 serial 6 | 1 | # langinfo_h.m4 serial 7 |
2 | dnl Copyright (C) 2009-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2009-2013 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,12 +16,14 @@ AC_DEFUN([gl_LANGINFO_H], | |||
16 | 16 | ||
17 | dnl Determine whether <langinfo.h> exists. It is missing on mingw and BeOS. | 17 | dnl Determine whether <langinfo.h> exists. It is missing on mingw and BeOS. |
18 | HAVE_LANGINFO_CODESET=0 | 18 | HAVE_LANGINFO_CODESET=0 |
19 | HAVE_LANGINFO_T_FMT_AMPM=0 | ||
19 | HAVE_LANGINFO_ERA=0 | 20 | HAVE_LANGINFO_ERA=0 |
21 | HAVE_LANGINFO_YESEXPR=0 | ||
20 | AC_CHECK_HEADERS_ONCE([langinfo.h]) | 22 | AC_CHECK_HEADERS_ONCE([langinfo.h]) |
21 | if test $ac_cv_header_langinfo_h = yes; then | 23 | if test $ac_cv_header_langinfo_h = yes; then |
22 | HAVE_LANGINFO_H=1 | 24 | HAVE_LANGINFO_H=1 |
23 | dnl Determine what <langinfo.h> defines. CODESET and ERA etc. are missing | 25 | dnl Determine what <langinfo.h> defines. CODESET and ERA etc. are missing |
24 | dnl on OpenBSD 3.8. | 26 | dnl on OpenBSD 3.8. T_FMT_AMPM and YESEXPR, NOEXPR are missing on IRIX 5.3. |
25 | AC_CACHE_CHECK([whether langinfo.h defines CODESET], | 27 | AC_CACHE_CHECK([whether langinfo.h defines CODESET], |
26 | [gl_cv_header_langinfo_codeset], | 28 | [gl_cv_header_langinfo_codeset], |
27 | [AC_COMPILE_IFELSE( | 29 | [AC_COMPILE_IFELSE( |
@@ -34,6 +36,18 @@ int a = CODESET; | |||
34 | if test $gl_cv_header_langinfo_codeset = yes; then | 36 | if test $gl_cv_header_langinfo_codeset = yes; then |
35 | HAVE_LANGINFO_CODESET=1 | 37 | HAVE_LANGINFO_CODESET=1 |
36 | fi | 38 | fi |
39 | AC_CACHE_CHECK([whether langinfo.h defines T_FMT_AMPM], | ||
40 | [gl_cv_header_langinfo_t_fmt_ampm], | ||
41 | [AC_COMPILE_IFELSE( | ||
42 | [AC_LANG_PROGRAM([[#include <langinfo.h> | ||
43 | int a = T_FMT_AMPM; | ||
44 | ]])], | ||
45 | [gl_cv_header_langinfo_t_fmt_ampm=yes], | ||
46 | [gl_cv_header_langinfo_t_fmt_ampm=no]) | ||
47 | ]) | ||
48 | if test $gl_cv_header_langinfo_t_fmt_ampm = yes; then | ||
49 | HAVE_LANGINFO_T_FMT_AMPM=1 | ||
50 | fi | ||
37 | AC_CACHE_CHECK([whether langinfo.h defines ERA], | 51 | AC_CACHE_CHECK([whether langinfo.h defines ERA], |
38 | [gl_cv_header_langinfo_era], | 52 | [gl_cv_header_langinfo_era], |
39 | [AC_COMPILE_IFELSE( | 53 | [AC_COMPILE_IFELSE( |
@@ -46,12 +60,26 @@ int a = ERA; | |||
46 | if test $gl_cv_header_langinfo_era = yes; then | 60 | if test $gl_cv_header_langinfo_era = yes; then |
47 | HAVE_LANGINFO_ERA=1 | 61 | HAVE_LANGINFO_ERA=1 |
48 | fi | 62 | fi |
63 | AC_CACHE_CHECK([whether langinfo.h defines YESEXPR], | ||
64 | [gl_cv_header_langinfo_yesexpr], | ||
65 | [AC_COMPILE_IFELSE( | ||
66 | [AC_LANG_PROGRAM([[#include <langinfo.h> | ||
67 | int a = YESEXPR; | ||
68 | ]])], | ||
69 | [gl_cv_header_langinfo_yesexpr=yes], | ||
70 | [gl_cv_header_langinfo_yesexpr=no]) | ||
71 | ]) | ||
72 | if test $gl_cv_header_langinfo_yesexpr = yes; then | ||
73 | HAVE_LANGINFO_YESEXPR=1 | ||
74 | fi | ||
49 | else | 75 | else |
50 | HAVE_LANGINFO_H=0 | 76 | HAVE_LANGINFO_H=0 |
51 | fi | 77 | fi |
52 | AC_SUBST([HAVE_LANGINFO_H]) | 78 | AC_SUBST([HAVE_LANGINFO_H]) |
53 | AC_SUBST([HAVE_LANGINFO_CODESET]) | 79 | AC_SUBST([HAVE_LANGINFO_CODESET]) |
80 | AC_SUBST([HAVE_LANGINFO_T_FMT_AMPM]) | ||
54 | AC_SUBST([HAVE_LANGINFO_ERA]) | 81 | AC_SUBST([HAVE_LANGINFO_ERA]) |
82 | AC_SUBST([HAVE_LANGINFO_YESEXPR]) | ||
55 | 83 | ||
56 | dnl Check for declarations of anything we want to poison if the | 84 | dnl Check for declarations of anything we want to poison if the |
57 | dnl corresponding gnulib module is not in use. | 85 | dnl corresponding gnulib module is not in use. |
diff --git a/gl/m4/largefile.m4 b/gl/m4/largefile.m4 new file mode 100644 index 00000000..1e605e3d --- /dev/null +++ b/gl/m4/largefile.m4 | |||
@@ -0,0 +1,146 @@ | |||
1 | # Enable large files on systems where this is not the default. | ||
2 | |||
3 | # Copyright 1992-1996, 1998-2013 Free Software Foundation, Inc. | ||
4 | # This file is free software; the Free Software Foundation | ||
5 | # gives unlimited permission to copy and/or distribute it, | ||
6 | # with or without modifications, as long as this notice is preserved. | ||
7 | |||
8 | # The following implementation works around a problem in autoconf <= 2.69; | ||
9 | # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5, | ||
10 | # or configures them incorrectly in some cases. | ||
11 | m4_version_prereq([2.70], [] ,[ | ||
12 | |||
13 | # _AC_SYS_LARGEFILE_TEST_INCLUDES | ||
14 | # ------------------------------- | ||
15 | m4_define([_AC_SYS_LARGEFILE_TEST_INCLUDES], | ||
16 | [@%:@include <sys/types.h> | ||
17 | /* Check that off_t can represent 2**63 - 1 correctly. | ||
18 | We can't simply define LARGE_OFF_T to be 9223372036854775807, | ||
19 | since some C++ compilers masquerading as C compilers | ||
20 | incorrectly reject 9223372036854775807. */ | ||
21 | @%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) | ||
22 | int off_t_is_large[[(LARGE_OFF_T % 2147483629 == 721 | ||
23 | && LARGE_OFF_T % 2147483647 == 1) | ||
24 | ? 1 : -1]];[]dnl | ||
25 | ]) | ||
26 | |||
27 | |||
28 | # _AC_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, VALUE, | ||
29 | # CACHE-VAR, | ||
30 | # DESCRIPTION, | ||
31 | # PROLOGUE, [FUNCTION-BODY]) | ||
32 | # -------------------------------------------------------- | ||
33 | m4_define([_AC_SYS_LARGEFILE_MACRO_VALUE], | ||
34 | [AC_CACHE_CHECK([for $1 value needed for large files], [$3], | ||
35 | [while :; do | ||
36 | m4_ifval([$6], [AC_LINK_IFELSE], [AC_COMPILE_IFELSE])( | ||
37 | [AC_LANG_PROGRAM([$5], [$6])], | ||
38 | [$3=no; break]) | ||
39 | m4_ifval([$6], [AC_LINK_IFELSE], [AC_COMPILE_IFELSE])( | ||
40 | [AC_LANG_PROGRAM([@%:@define $1 $2 | ||
41 | $5], [$6])], | ||
42 | [$3=$2; break]) | ||
43 | $3=unknown | ||
44 | break | ||
45 | done]) | ||
46 | case $$3 in #( | ||
47 | no | unknown) ;; | ||
48 | *) AC_DEFINE_UNQUOTED([$1], [$$3], [$4]);; | ||
49 | esac | ||
50 | rm -rf conftest*[]dnl | ||
51 | ])# _AC_SYS_LARGEFILE_MACRO_VALUE | ||
52 | |||
53 | |||
54 | # AC_SYS_LARGEFILE | ||
55 | # ---------------- | ||
56 | # By default, many hosts won't let programs access large files; | ||
57 | # one must use special compiler options to get large-file access to work. | ||
58 | # For more details about this brain damage please see: | ||
59 | # http://www.unix-systems.org/version2/whatsnew/lfs20mar.html | ||
60 | AC_DEFUN([AC_SYS_LARGEFILE], | ||
61 | [AC_ARG_ENABLE(largefile, | ||
62 | [ --disable-largefile omit support for large files]) | ||
63 | if test "$enable_largefile" != no; then | ||
64 | |||
65 | AC_CACHE_CHECK([for special C compiler options needed for large files], | ||
66 | ac_cv_sys_largefile_CC, | ||
67 | [ac_cv_sys_largefile_CC=no | ||
68 | if test "$GCC" != yes; then | ||
69 | ac_save_CC=$CC | ||
70 | while :; do | ||
71 | # IRIX 6.2 and later do not support large files by default, | ||
72 | # so use the C compiler's -n32 option if that helps. | ||
73 | AC_LANG_CONFTEST([AC_LANG_PROGRAM([_AC_SYS_LARGEFILE_TEST_INCLUDES])]) | ||
74 | AC_COMPILE_IFELSE([], [break]) | ||
75 | CC="$CC -n32" | ||
76 | AC_COMPILE_IFELSE([], [ac_cv_sys_largefile_CC=' -n32'; break]) | ||
77 | break | ||
78 | done | ||
79 | CC=$ac_save_CC | ||
80 | rm -f conftest.$ac_ext | ||
81 | fi]) | ||
82 | if test "$ac_cv_sys_largefile_CC" != no; then | ||
83 | CC=$CC$ac_cv_sys_largefile_CC | ||
84 | fi | ||
85 | |||
86 | _AC_SYS_LARGEFILE_MACRO_VALUE(_FILE_OFFSET_BITS, 64, | ||
87 | ac_cv_sys_file_offset_bits, | ||
88 | [Number of bits in a file offset, on hosts where this is settable.], | ||
89 | [_AC_SYS_LARGEFILE_TEST_INCLUDES]) | ||
90 | if test $ac_cv_sys_file_offset_bits = unknown; then | ||
91 | _AC_SYS_LARGEFILE_MACRO_VALUE(_LARGE_FILES, 1, | ||
92 | ac_cv_sys_large_files, | ||
93 | [Define for large files, on AIX-style hosts.], | ||
94 | [_AC_SYS_LARGEFILE_TEST_INCLUDES]) | ||
95 | fi | ||
96 | |||
97 | AC_DEFINE([_DARWIN_USE_64_BIT_INODE], [1], | ||
98 | [Enable large inode numbers on Mac OS X 10.5.]) | ||
99 | fi | ||
100 | ])# AC_SYS_LARGEFILE | ||
101 | ])# m4_version_prereq 2.70 | ||
102 | |||
103 | # Enable large files on systems where this is implemented by Gnulib, not by the | ||
104 | # system headers. | ||
105 | # Set the variables WINDOWS_64_BIT_OFF_T, WINDOWS_64_BIT_ST_SIZE if Gnulib | ||
106 | # overrides ensure that off_t or 'struct size.st_size' are 64-bit, respectively. | ||
107 | AC_DEFUN([gl_LARGEFILE], | ||
108 | [ | ||
109 | AC_REQUIRE([AC_CANONICAL_HOST]) | ||
110 | case "$host_os" in | ||
111 | mingw*) | ||
112 | dnl Native Windows. | ||
113 | dnl mingw64 defines off_t to a 64-bit type already, if | ||
114 | dnl _FILE_OFFSET_BITS=64, which is ensured by AC_SYS_LARGEFILE. | ||
115 | AC_CACHE_CHECK([for 64-bit off_t], [gl_cv_type_off_t_64], | ||
116 | [AC_COMPILE_IFELSE( | ||
117 | [AC_LANG_PROGRAM( | ||
118 | [[#include <sys/types.h> | ||
119 | int verify_off_t_size[sizeof (off_t) >= 8 ? 1 : -1]; | ||
120 | ]], | ||
121 | [[]])], | ||
122 | [gl_cv_type_off_t_64=yes], [gl_cv_type_off_t_64=no]) | ||
123 | ]) | ||
124 | if test $gl_cv_type_off_t_64 = no; then | ||
125 | WINDOWS_64_BIT_OFF_T=1 | ||
126 | else | ||
127 | WINDOWS_64_BIT_OFF_T=0 | ||
128 | fi | ||
129 | dnl But all native Windows platforms (including mingw64) have a 32-bit | ||
130 | dnl st_size member in 'struct stat'. | ||
131 | WINDOWS_64_BIT_ST_SIZE=1 | ||
132 | ;; | ||
133 | *) | ||
134 | dnl Nothing to do on gnulib's side. | ||
135 | dnl A 64-bit off_t is | ||
136 | dnl - already the default on Mac OS X, FreeBSD, NetBSD, OpenBSD, IRIX, | ||
137 | dnl OSF/1, Cygwin, | ||
138 | dnl - enabled by _FILE_OFFSET_BITS=64 (ensured by AC_SYS_LARGEFILE) on | ||
139 | dnl glibc, HP-UX, Solaris, | ||
140 | dnl - enabled by _LARGE_FILES=1 (ensured by AC_SYS_LARGEFILE) on AIX, | ||
141 | dnl - impossible to achieve on Minix 3.1.8. | ||
142 | WINDOWS_64_BIT_OFF_T=0 | ||
143 | WINDOWS_64_BIT_ST_SIZE=0 | ||
144 | ;; | ||
145 | esac | ||
146 | ]) | ||
diff --git a/gl/m4/lcmessage.m4 b/gl/m4/lcmessage.m4 index 1a705431..d62a175f 100644 --- a/gl/m4/lcmessage.m4 +++ b/gl/m4/lcmessage.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # lcmessage.m4 serial 6 (gettext-0.18) | 1 | # lcmessage.m4 serial 7 (gettext-0.18.2) |
2 | dnl Copyright (C) 1995-2002, 2004-2005, 2008-2010 Free Software Foundation, | 2 | dnl Copyright (C) 1995-2002, 2004-2005, 2008-2013 Free Software Foundation, |
3 | dnl Inc. | 3 | dnl 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, |
@@ -22,8 +22,12 @@ dnl Ulrich Drepper <drepper@cygnus.com>, 1995. | |||
22 | AC_DEFUN([gt_LC_MESSAGES], | 22 | AC_DEFUN([gt_LC_MESSAGES], |
23 | [ | 23 | [ |
24 | AC_CACHE_CHECK([for LC_MESSAGES], [gt_cv_val_LC_MESSAGES], | 24 | AC_CACHE_CHECK([for LC_MESSAGES], [gt_cv_val_LC_MESSAGES], |
25 | [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES], | 25 | [AC_LINK_IFELSE( |
26 | [gt_cv_val_LC_MESSAGES=yes], [gt_cv_val_LC_MESSAGES=no])]) | 26 | [AC_LANG_PROGRAM( |
27 | [[#include <locale.h>]], | ||
28 | [[return LC_MESSAGES]])], | ||
29 | [gt_cv_val_LC_MESSAGES=yes], | ||
30 | [gt_cv_val_LC_MESSAGES=no])]) | ||
27 | if test $gt_cv_val_LC_MESSAGES = yes; then | 31 | if test $gt_cv_val_LC_MESSAGES = yes; then |
28 | AC_DEFINE([HAVE_LC_MESSAGES], [1], | 32 | AC_DEFINE([HAVE_LC_MESSAGES], [1], |
29 | [Define if your <locale.h> file defines LC_MESSAGES.]) | 33 | [Define if your <locale.h> file defines LC_MESSAGES.]) |
diff --git a/gl/m4/lib-ld.m4 b/gl/m4/lib-ld.m4 index ebb30528..c145e478 100644 --- a/gl/m4/lib-ld.m4 +++ b/gl/m4/lib-ld.m4 | |||
@@ -1,50 +1,56 @@ | |||
1 | # lib-ld.m4 serial 4 (gettext-0.18) | 1 | # lib-ld.m4 serial 6 |
2 | dnl Copyright (C) 1996-2003, 2009-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1996-2003, 2009-2013 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 Subroutines of libtool.m4, | 7 | dnl Subroutines of libtool.m4, |
8 | dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision | 8 | dnl with replacements s/_*LT_PATH/AC_LIB_PROG/ and s/lt_/acl_/ to avoid |
9 | dnl with libtool.m4. | 9 | dnl collision 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-2.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 lds 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'*) |
17 | acl_cv_prog_gnu_ld=yes ;; | 17 | acl_cv_prog_gnu_ld=yes |
18 | ;; | ||
18 | *) | 19 | *) |
19 | acl_cv_prog_gnu_ld=no ;; | 20 | acl_cv_prog_gnu_ld=no |
21 | ;; | ||
20 | esac]) | 22 | esac]) |
21 | with_gnu_ld=$acl_cv_prog_gnu_ld | 23 | with_gnu_ld=$acl_cv_prog_gnu_ld |
22 | ]) | 24 | ]) |
23 | 25 | ||
24 | dnl From libtool-1.4. Sets the variable LD. | 26 | dnl From libtool-2.4. Sets the variable LD. |
25 | AC_DEFUN([AC_LIB_PROG_LD], | 27 | AC_DEFUN([AC_LIB_PROG_LD], |
26 | [AC_ARG_WITH([gnu-ld], | 28 | [AC_REQUIRE([AC_PROG_CC])dnl |
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) | ||
29 | AC_REQUIRE([AC_PROG_CC])dnl | ||
30 | AC_REQUIRE([AC_CANONICAL_HOST])dnl | 29 | AC_REQUIRE([AC_CANONICAL_HOST])dnl |
30 | |||
31 | AC_ARG_WITH([gnu-ld], | ||
32 | [AS_HELP_STRING([--with-gnu-ld], | ||
33 | [assume the C compiler uses GNU ld [default=no]])], | ||
34 | [test "$withval" = no || with_gnu_ld=yes], | ||
35 | [with_gnu_ld=no])dnl | ||
36 | |||
31 | # Prepare PATH_SEPARATOR. | 37 | # Prepare PATH_SEPARATOR. |
32 | # The user is always right. | 38 | # The user is always right. |
33 | if test "${PATH_SEPARATOR+set}" != set; then | 39 | if test "${PATH_SEPARATOR+set}" != set; then |
34 | echo "#! /bin/sh" >conf$$.sh | 40 | # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which |
35 | echo "exit 0" >>conf$$.sh | 41 | # contains only /bin. Note that ksh looks also at the FPATH variable, |
36 | chmod +x conf$$.sh | 42 | # so we have to set that as well for the test. |
37 | if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then | 43 | PATH_SEPARATOR=: |
38 | PATH_SEPARATOR=';' | 44 | (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ |
39 | else | 45 | && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ |
40 | PATH_SEPARATOR=: | 46 | || PATH_SEPARATOR=';' |
41 | fi | 47 | } |
42 | rm -f conf$$.sh | ||
43 | fi | 48 | fi |
49 | |||
44 | ac_prog=ld | 50 | ac_prog=ld |
45 | if test "$GCC" = yes; then | 51 | if test "$GCC" = yes; then |
46 | # Check if gcc -print-prog-name=ld gives a path. | 52 | # Check if gcc -print-prog-name=ld gives a path. |
47 | AC_MSG_CHECKING([for ld used by GCC]) | 53 | AC_MSG_CHECKING([for ld used by $CC]) |
48 | case $host in | 54 | case $host in |
49 | *-*-mingw*) | 55 | *-*-mingw*) |
50 | # gcc leaves a trailing carriage return which upsets mingw | 56 | # gcc leaves a trailing carriage return which upsets mingw |
@@ -54,11 +60,11 @@ if test "$GCC" = yes; then | |||
54 | esac | 60 | esac |
55 | case $ac_prog in | 61 | case $ac_prog in |
56 | # Accept absolute paths. | 62 | # Accept absolute paths. |
57 | [[\\/]* | [A-Za-z]:[\\/]*)] | 63 | [[\\/]]* | ?:[[\\/]]*) |
58 | [re_direlt='/[^/][^/]*/\.\./'] | 64 | re_direlt='/[[^/]][[^/]]*/\.\./' |
59 | # Canonicalize the path of ld | 65 | # Canonicalize the pathname of ld |
60 | ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` | 66 | ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'` |
61 | while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do | 67 | while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do |
62 | ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` | 68 | ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` |
63 | done | 69 | done |
64 | test -z "$LD" && LD="$ac_prog" | 70 | test -z "$LD" && LD="$ac_prog" |
@@ -79,23 +85,26 @@ else | |||
79 | fi | 85 | fi |
80 | AC_CACHE_VAL([acl_cv_path_LD], | 86 | AC_CACHE_VAL([acl_cv_path_LD], |
81 | [if test -z "$LD"; then | 87 | [if test -z "$LD"; then |
82 | IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" | 88 | acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR |
83 | for ac_dir in $PATH; do | 89 | for ac_dir in $PATH; do |
90 | IFS="$acl_save_ifs" | ||
84 | test -z "$ac_dir" && ac_dir=. | 91 | test -z "$ac_dir" && ac_dir=. |
85 | if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then | 92 | if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then |
86 | acl_cv_path_LD="$ac_dir/$ac_prog" | 93 | acl_cv_path_LD="$ac_dir/$ac_prog" |
87 | # Check to see if the program is GNU ld. I'd rather use --version, | 94 | # Check to see if the program is GNU ld. I'd rather use --version, |
88 | # but apparently some GNU ld's only accept -v. | 95 | # but apparently some variants of GNU ld only accept -v. |
89 | # Break only if it was the GNU/non-GNU ld that we prefer. | 96 | # Break only if it was the GNU/non-GNU ld that we prefer. |
90 | case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in | 97 | case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in |
91 | *GNU* | *'with BFD'*) | 98 | *GNU* | *'with BFD'*) |
92 | test "$with_gnu_ld" != no && break ;; | 99 | test "$with_gnu_ld" != no && break |
100 | ;; | ||
93 | *) | 101 | *) |
94 | test "$with_gnu_ld" != yes && break ;; | 102 | test "$with_gnu_ld" != yes && break |
103 | ;; | ||
95 | esac | 104 | esac |
96 | fi | 105 | fi |
97 | done | 106 | done |
98 | IFS="$ac_save_ifs" | 107 | IFS="$acl_save_ifs" |
99 | else | 108 | else |
100 | acl_cv_path_LD="$LD" # Let the user override the test with a path. | 109 | acl_cv_path_LD="$LD" # Let the user override the test with a path. |
101 | fi]) | 110 | fi]) |
diff --git a/gl/m4/lib-link.m4 b/gl/m4/lib-link.m4 index 9f3be3a2..073f0405 100644 --- a/gl/m4/lib-link.m4 +++ b/gl/m4/lib-link.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # lib-link.m4 serial 24 (gettext-0.18.2) | 1 | # lib-link.m4 serial 26 (gettext-0.18.2) |
2 | dnl Copyright (C) 2001-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2001-2013 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. |
@@ -85,7 +85,8 @@ AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], | |||
85 | *" -l"*) LIBS="$LIBS $LIB[]NAME" ;; | 85 | *" -l"*) LIBS="$LIBS $LIB[]NAME" ;; |
86 | *) LIBS="$LIB[]NAME $LIBS" ;; | 86 | *) LIBS="$LIB[]NAME $LIBS" ;; |
87 | esac | 87 | esac |
88 | AC_TRY_LINK([$3], [$4], | 88 | AC_LINK_IFELSE( |
89 | [AC_LANG_PROGRAM([[$3]], [[$4]])], | ||
89 | [ac_cv_lib[]Name=yes], | 90 | [ac_cv_lib[]Name=yes], |
90 | [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])']) | 91 | [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])']) |
91 | LIBS="$ac_save_LIBS" | 92 | LIBS="$ac_save_LIBS" |
@@ -115,6 +116,8 @@ AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], | |||
115 | dnl Determine the platform dependent parameters needed to use rpath: | 116 | dnl Determine the platform dependent parameters needed to use rpath: |
116 | dnl acl_libext, | 117 | dnl acl_libext, |
117 | dnl acl_shlibext, | 118 | dnl acl_shlibext, |
119 | dnl acl_libname_spec, | ||
120 | dnl acl_library_names_spec, | ||
118 | dnl acl_hardcode_libdir_flag_spec, | 121 | dnl acl_hardcode_libdir_flag_spec, |
119 | dnl acl_hardcode_libdir_separator, | 122 | dnl acl_hardcode_libdir_separator, |
120 | dnl acl_hardcode_direct, | 123 | dnl acl_hardcode_direct, |
diff --git a/gl/m4/lib-prefix.m4 b/gl/m4/lib-prefix.m4 index 1601ceae..60908e8f 100644 --- a/gl/m4/lib-prefix.m4 +++ b/gl/m4/lib-prefix.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # lib-prefix.m4 serial 7 (gettext-0.18) | 1 | # lib-prefix.m4 serial 7 (gettext-0.18) |
2 | dnl Copyright (C) 2001-2005, 2008-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2001-2005, 2008-2013 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. |
diff --git a/gl/m4/localcharset.m4 b/gl/m4/localcharset.m4 index ee2e801b..2e93e581 100644 --- a/gl/m4/localcharset.m4 +++ b/gl/m4/localcharset.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # localcharset.m4 serial 7 | 1 | # localcharset.m4 serial 7 |
2 | dnl Copyright (C) 2002, 2004, 2006, 2009, 2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002, 2004, 2006, 2009-2013 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. |
diff --git a/gl/m4/locale-fr.m4 b/gl/m4/locale-fr.m4 index 001f5390..ef199e39 100644 --- a/gl/m4/locale-fr.m4 +++ b/gl/m4/locale-fr.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # locale-fr.m4 serial 11 | 1 | # locale-fr.m4 serial 17 |
2 | dnl Copyright (C) 2003, 2005-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2003, 2005-2013 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. |
@@ -25,17 +25,30 @@ struct tm t; | |||
25 | char buf[16]; | 25 | char buf[16]; |
26 | int main () { | 26 | int main () { |
27 | /* Check whether the given locale name is recognized by the system. */ | 27 | /* Check whether the given locale name is recognized by the system. */ |
28 | #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ | ||
29 | /* On native Windows, setlocale(category, "") looks at the system settings, | ||
30 | not at the environment variables. Also, when an encoding suffix such | ||
31 | as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE | ||
32 | category of the locale to "C". */ | ||
33 | if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL | ||
34 | || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) | ||
35 | return 1; | ||
36 | #else | ||
28 | if (setlocale (LC_ALL, "") == NULL) return 1; | 37 | if (setlocale (LC_ALL, "") == NULL) return 1; |
38 | #endif | ||
29 | /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". | 39 | /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". |
30 | On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) | 40 | On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) |
31 | is empty, and the behaviour of Tcl 8.4 in this locale is not useful. | 41 | is empty, and the behaviour of Tcl 8.4 in this locale is not useful. |
32 | On OpenBSD 4.0, when an unsupported locale is specified, setlocale() | 42 | On OpenBSD 4.0, when an unsupported locale is specified, setlocale() |
33 | succeeds but then nl_langinfo(CODESET) is "646". In this situation, | 43 | succeeds but then nl_langinfo(CODESET) is "646". In this situation, |
34 | some unit tests fail. */ | 44 | some unit tests fail. |
45 | On MirBSD 10, when an unsupported locale is specified, setlocale() | ||
46 | succeeds but then nl_langinfo(CODESET) is "UTF-8". */ | ||
35 | #if HAVE_LANGINFO_CODESET | 47 | #if HAVE_LANGINFO_CODESET |
36 | { | 48 | { |
37 | const char *cs = nl_langinfo (CODESET); | 49 | const char *cs = nl_langinfo (CODESET); |
38 | if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) | 50 | if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 |
51 | || strcmp (cs, "UTF-8") == 0) | ||
39 | return 1; | 52 | return 1; |
40 | } | 53 | } |
41 | #endif | 54 | #endif |
@@ -50,46 +63,67 @@ int main () { | |||
50 | one byte long. This excludes the UTF-8 encoding. */ | 63 | one byte long. This excludes the UTF-8 encoding. */ |
51 | t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; | 64 | t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; |
52 | if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1; | 65 | if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1; |
66 | #if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ | ||
53 | /* Check whether the decimal separator is a comma. | 67 | /* Check whether the decimal separator is a comma. |
54 | On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point | 68 | On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point |
55 | are nl_langinfo(RADIXCHAR) are both ".". */ | 69 | are nl_langinfo(RADIXCHAR) are both ".". */ |
56 | if (localeconv () ->decimal_point[0] != ',') return 1; | 70 | if (localeconv () ->decimal_point[0] != ',') return 1; |
71 | #endif | ||
57 | return 0; | 72 | return 0; |
58 | } | 73 | } |
59 | changequote([,])dnl | 74 | changequote([,])dnl |
60 | ])]) | 75 | ])]) |
61 | if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then | 76 | if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then |
62 | # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because | 77 | case "$host_os" in |
63 | # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the | 78 | # Handle native Windows specially, because there setlocale() interprets |
64 | # configure script would override the LC_ALL setting. Likewise for | 79 | # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", |
65 | # LC_CTYPE, which is also set at the beginning of the configure script. | 80 | # "fr" or "fra" as "French" or "French_France.1252", |
66 | # Test for the usual locale name. | 81 | # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", |
67 | if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | 82 | # "ja" as "Japanese" or "Japanese_Japan.932", |
68 | gt_cv_locale_fr=fr_FR | 83 | # and similar. |
69 | else | 84 | mingw*) |
70 | # Test for the locale name with explicit encoding suffix. | 85 | # Test for the native Windows locale name. |
71 | if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | 86 | if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then |
72 | gt_cv_locale_fr=fr_FR.ISO-8859-1 | 87 | gt_cv_locale_fr=French_France.1252 |
73 | else | ||
74 | # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name. | ||
75 | if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | ||
76 | gt_cv_locale_fr=fr_FR.ISO8859-1 | ||
77 | else | 88 | else |
78 | # Test for the HP-UX locale name. | 89 | # None found. |
79 | if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | 90 | gt_cv_locale_fr=none |
80 | gt_cv_locale_fr=fr_FR.iso88591 | 91 | fi |
92 | ;; | ||
93 | *) | ||
94 | # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because | ||
95 | # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the | ||
96 | # configure script would override the LC_ALL setting. Likewise for | ||
97 | # LC_CTYPE, which is also set at the beginning of the configure script. | ||
98 | # Test for the usual locale name. | ||
99 | if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | ||
100 | gt_cv_locale_fr=fr_FR | ||
101 | else | ||
102 | # Test for the locale name with explicit encoding suffix. | ||
103 | if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | ||
104 | gt_cv_locale_fr=fr_FR.ISO-8859-1 | ||
81 | else | 105 | else |
82 | # Test for the Solaris 7 locale name. | 106 | # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name. |
83 | if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | 107 | if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then |
84 | gt_cv_locale_fr=fr | 108 | gt_cv_locale_fr=fr_FR.ISO8859-1 |
85 | else | 109 | else |
86 | # None found. | 110 | # Test for the HP-UX locale name. |
87 | gt_cv_locale_fr=none | 111 | if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then |
112 | gt_cv_locale_fr=fr_FR.iso88591 | ||
113 | else | ||
114 | # Test for the Solaris 7 locale name. | ||
115 | if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | ||
116 | gt_cv_locale_fr=fr | ||
117 | else | ||
118 | # None found. | ||
119 | gt_cv_locale_fr=none | ||
120 | fi | ||
121 | fi | ||
88 | fi | 122 | fi |
89 | fi | 123 | fi |
90 | fi | 124 | fi |
91 | fi | 125 | ;; |
92 | fi | 126 | esac |
93 | fi | 127 | fi |
94 | rm -fr conftest* | 128 | rm -fr conftest* |
95 | ]) | 129 | ]) |
@@ -119,9 +153,19 @@ int main () { | |||
119 | variables, and all locales use the UTF-8 encoding. */ | 153 | variables, and all locales use the UTF-8 encoding. */ |
120 | #if !(defined __BEOS__ || defined __HAIKU__) | 154 | #if !(defined __BEOS__ || defined __HAIKU__) |
121 | /* Check whether the given locale name is recognized by the system. */ | 155 | /* Check whether the given locale name is recognized by the system. */ |
156 | # if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ | ||
157 | /* On native Windows, setlocale(category, "") looks at the system settings, | ||
158 | not at the environment variables. Also, when an encoding suffix such | ||
159 | as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE | ||
160 | category of the locale to "C". */ | ||
161 | if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL | ||
162 | || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) | ||
163 | return 1; | ||
164 | # else | ||
122 | if (setlocale (LC_ALL, "") == NULL) return 1; | 165 | if (setlocale (LC_ALL, "") == NULL) return 1; |
166 | # endif | ||
123 | /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". | 167 | /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". |
124 | On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) | 168 | On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) |
125 | is empty, and the behaviour of Tcl 8.4 in this locale is not useful. | 169 | is empty, and the behaviour of Tcl 8.4 in this locale is not useful. |
126 | On OpenBSD 4.0, when an unsupported locale is specified, setlocale() | 170 | On OpenBSD 4.0, when an unsupported locale is specified, setlocale() |
127 | succeeds but then nl_langinfo(CODESET) is "646". In this situation, | 171 | succeeds but then nl_langinfo(CODESET) is "646". In this situation, |
@@ -147,36 +191,57 @@ int main () { | |||
147 | || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v') | 191 | || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v') |
148 | return 1; | 192 | return 1; |
149 | #endif | 193 | #endif |
194 | #if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ | ||
150 | /* Check whether the decimal separator is a comma. | 195 | /* Check whether the decimal separator is a comma. |
151 | On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point | 196 | On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point |
152 | are nl_langinfo(RADIXCHAR) are both ".". */ | 197 | are nl_langinfo(RADIXCHAR) are both ".". */ |
153 | if (localeconv () ->decimal_point[0] != ',') return 1; | 198 | if (localeconv () ->decimal_point[0] != ',') return 1; |
199 | #endif | ||
154 | return 0; | 200 | return 0; |
155 | } | 201 | } |
156 | changequote([,])dnl | 202 | changequote([,])dnl |
157 | ])]) | 203 | ])]) |
158 | if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then | 204 | if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then |
159 | # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because | 205 | case "$host_os" in |
160 | # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the | 206 | # Handle native Windows specially, because there setlocale() interprets |
161 | # configure script would override the LC_ALL setting. Likewise for | 207 | # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", |
162 | # LC_CTYPE, which is also set at the beginning of the configure script. | 208 | # "fr" or "fra" as "French" or "French_France.1252", |
163 | # Test for the usual locale name. | 209 | # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", |
164 | if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | 210 | # "ja" as "Japanese" or "Japanese_Japan.932", |
165 | gt_cv_locale_fr_utf8=fr_FR | 211 | # and similar. |
166 | else | 212 | mingw*) |
167 | # Test for the locale name with explicit encoding suffix. | 213 | # Test for the hypothetical native Windows locale name. |
168 | if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | 214 | if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then |
169 | gt_cv_locale_fr_utf8=fr_FR.UTF-8 | 215 | gt_cv_locale_fr_utf8=French_France.65001 |
170 | else | ||
171 | # Test for the Solaris 7 locale name. | ||
172 | if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | ||
173 | gt_cv_locale_fr_utf8=fr.UTF-8 | ||
174 | else | 216 | else |
175 | # None found. | 217 | # None found. |
176 | gt_cv_locale_fr_utf8=none | 218 | gt_cv_locale_fr_utf8=none |
177 | fi | 219 | fi |
178 | fi | 220 | ;; |
179 | fi | 221 | *) |
222 | # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because | ||
223 | # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the | ||
224 | # configure script would override the LC_ALL setting. Likewise for | ||
225 | # LC_CTYPE, which is also set at the beginning of the configure script. | ||
226 | # Test for the usual locale name. | ||
227 | if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | ||
228 | gt_cv_locale_fr_utf8=fr_FR | ||
229 | else | ||
230 | # Test for the locale name with explicit encoding suffix. | ||
231 | if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | ||
232 | gt_cv_locale_fr_utf8=fr_FR.UTF-8 | ||
233 | else | ||
234 | # Test for the Solaris 7 locale name. | ||
235 | if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | ||
236 | gt_cv_locale_fr_utf8=fr.UTF-8 | ||
237 | else | ||
238 | # None found. | ||
239 | gt_cv_locale_fr_utf8=none | ||
240 | fi | ||
241 | fi | ||
242 | fi | ||
243 | ;; | ||
244 | esac | ||
180 | fi | 245 | fi |
181 | rm -fr conftest* | 246 | rm -fr conftest* |
182 | ]) | 247 | ]) |
diff --git a/gl/m4/locale-ja.m4 b/gl/m4/locale-ja.m4 index 0eedaf14..132a3e77 100644 --- a/gl/m4/locale-ja.m4 +++ b/gl/m4/locale-ja.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # locale-ja.m4 serial 7 | 1 | # locale-ja.m4 serial 12 |
2 | dnl Copyright (C) 2003, 2005-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2003, 2005-2013 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,30 @@ int main () | |||
27 | { | 27 | { |
28 | const char *p; | 28 | const char *p; |
29 | /* Check whether the given locale name is recognized by the system. */ | 29 | /* Check whether the given locale name is recognized by the system. */ |
30 | #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ | ||
31 | /* On native Windows, setlocale(category, "") looks at the system settings, | ||
32 | not at the environment variables. Also, when an encoding suffix such | ||
33 | as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE | ||
34 | category of the locale to "C". */ | ||
35 | if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL | ||
36 | || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) | ||
37 | return 1; | ||
38 | #else | ||
30 | if (setlocale (LC_ALL, "") == NULL) return 1; | 39 | if (setlocale (LC_ALL, "") == NULL) return 1; |
40 | #endif | ||
31 | /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". | 41 | /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". |
32 | On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) | 42 | On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) |
33 | is empty, and the behaviour of Tcl 8.4 in this locale is not useful. | 43 | is empty, and the behaviour of Tcl 8.4 in this locale is not useful. |
34 | On OpenBSD 4.0, when an unsupported locale is specified, setlocale() | 44 | On OpenBSD 4.0, when an unsupported locale is specified, setlocale() |
35 | succeeds but then nl_langinfo(CODESET) is "646". In this situation, | 45 | succeeds but then nl_langinfo(CODESET) is "646". In this situation, |
36 | some unit tests fail. */ | 46 | some unit tests fail. |
47 | On MirBSD 10, when an unsupported locale is specified, setlocale() | ||
48 | succeeds but then nl_langinfo(CODESET) is "UTF-8". */ | ||
37 | #if HAVE_LANGINFO_CODESET | 49 | #if HAVE_LANGINFO_CODESET |
38 | { | 50 | { |
39 | const char *cs = nl_langinfo (CODESET); | 51 | const char *cs = nl_langinfo (CODESET); |
40 | if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) | 52 | if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 |
53 | || strcmp (cs, "UTF-8") == 0) | ||
41 | return 1; | 54 | return 1; |
42 | } | 55 | } |
43 | #endif | 56 | #endif |
@@ -52,7 +65,7 @@ int main () | |||
52 | if (MB_CUR_MAX == 1) | 65 | if (MB_CUR_MAX == 1) |
53 | return 1; | 66 | return 1; |
54 | /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. | 67 | /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. |
55 | This excludes the UTF-8 encoding. */ | 68 | This excludes the UTF-8 encoding (except on MirBSD). */ |
56 | t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; | 69 | t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; |
57 | if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; | 70 | if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; |
58 | for (p = buf; *p != '\0'; p++) | 71 | for (p = buf; *p != '\0'; p++) |
@@ -63,42 +76,58 @@ int main () | |||
63 | changequote([,])dnl | 76 | changequote([,])dnl |
64 | ])]) | 77 | ])]) |
65 | if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then | 78 | if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then |
66 | # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because | 79 | case "$host_os" in |
67 | # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the | 80 | # Handle native Windows specially, because there setlocale() interprets |
68 | # configure script would override the LC_ALL setting. Likewise for | 81 | # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", |
69 | # LC_CTYPE, which is also set at the beginning of the configure script. | 82 | # "fr" or "fra" as "French" or "French_France.1252", |
70 | # Test for the AIX locale name. | 83 | # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", |
71 | if (LC_ALL=ja_JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | 84 | # "ja" as "Japanese" or "Japanese_Japan.932", |
72 | gt_cv_locale_ja=ja_JP | 85 | # and similar. |
73 | else | 86 | mingw*) |
74 | # Test for the locale name with explicit encoding suffix. | 87 | # Note that on native Windows, the Japanese locale is |
75 | if (LC_ALL=ja_JP.EUC-JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | 88 | # Japanese_Japan.932, and CP932 is very different from EUC-JP, so we |
76 | gt_cv_locale_ja=ja_JP.EUC-JP | 89 | # cannot use it here. |
77 | else | 90 | gt_cv_locale_ja=none |
78 | # Test for the HP-UX, OSF/1, NetBSD locale name. | 91 | ;; |
79 | if (LC_ALL=ja_JP.eucJP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | 92 | *) |
80 | gt_cv_locale_ja=ja_JP.eucJP | 93 | # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because |
94 | # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the | ||
95 | # configure script would override the LC_ALL setting. Likewise for | ||
96 | # LC_CTYPE, which is also set at the beginning of the configure script. | ||
97 | # Test for the AIX locale name. | ||
98 | if (LC_ALL=ja_JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | ||
99 | gt_cv_locale_ja=ja_JP | ||
81 | else | 100 | else |
82 | # Test for the IRIX, FreeBSD locale name. | 101 | # Test for the locale name with explicit encoding suffix. |
83 | if (LC_ALL=ja_JP.EUC LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | 102 | if (LC_ALL=ja_JP.EUC-JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then |
84 | gt_cv_locale_ja=ja_JP.EUC | 103 | gt_cv_locale_ja=ja_JP.EUC-JP |
85 | else | 104 | else |
86 | # Test for the Solaris 7 locale name. | 105 | # Test for the HP-UX, OSF/1, NetBSD locale name. |
87 | if (LC_ALL=ja LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | 106 | if (LC_ALL=ja_JP.eucJP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then |
88 | gt_cv_locale_ja=ja | 107 | gt_cv_locale_ja=ja_JP.eucJP |
89 | else | 108 | else |
90 | # Special test for NetBSD 1.6. | 109 | # Test for the IRIX, FreeBSD locale name. |
91 | if test -f /usr/share/locale/ja_JP.eucJP/LC_CTYPE; then | 110 | if (LC_ALL=ja_JP.EUC LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then |
92 | gt_cv_locale_ja=ja_JP.eucJP | 111 | gt_cv_locale_ja=ja_JP.EUC |
93 | else | 112 | else |
94 | # None found. | 113 | # Test for the Solaris 7 locale name. |
95 | gt_cv_locale_ja=none | 114 | if (LC_ALL=ja LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then |
115 | gt_cv_locale_ja=ja | ||
116 | else | ||
117 | # Special test for NetBSD 1.6. | ||
118 | if test -f /usr/share/locale/ja_JP.eucJP/LC_CTYPE; then | ||
119 | gt_cv_locale_ja=ja_JP.eucJP | ||
120 | else | ||
121 | # None found. | ||
122 | gt_cv_locale_ja=none | ||
123 | fi | ||
124 | fi | ||
96 | fi | 125 | fi |
97 | fi | 126 | fi |
98 | fi | 127 | fi |
99 | fi | 128 | fi |
100 | fi | 129 | ;; |
101 | fi | 130 | esac |
102 | fi | 131 | fi |
103 | rm -fr conftest* | 132 | rm -fr conftest* |
104 | ]) | 133 | ]) |
diff --git a/gl/m4/locale-zh.m4 b/gl/m4/locale-zh.m4 index 777fd141..4eed73f4 100644 --- a/gl/m4/locale-zh.m4 +++ b/gl/m4/locale-zh.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # locale-zh.m4 serial 6 | 1 | # locale-zh.m4 serial 12 |
2 | dnl Copyright (C) 2003, 2005-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2003, 2005-2013 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. |
@@ -28,17 +28,30 @@ int main () | |||
28 | { | 28 | { |
29 | const char *p; | 29 | const char *p; |
30 | /* Check whether the given locale name is recognized by the system. */ | 30 | /* Check whether the given locale name is recognized by the system. */ |
31 | #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ | ||
32 | /* On native Windows, setlocale(category, "") looks at the system settings, | ||
33 | not at the environment variables. Also, when an encoding suffix such | ||
34 | as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE | ||
35 | category of the locale to "C". */ | ||
36 | if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL | ||
37 | || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) | ||
38 | return 1; | ||
39 | #else | ||
31 | if (setlocale (LC_ALL, "") == NULL) return 1; | 40 | if (setlocale (LC_ALL, "") == NULL) return 1; |
41 | #endif | ||
32 | /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". | 42 | /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". |
33 | On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) | 43 | On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) |
34 | is empty, and the behaviour of Tcl 8.4 in this locale is not useful. | 44 | is empty, and the behaviour of Tcl 8.4 in this locale is not useful. |
35 | On OpenBSD 4.0, when an unsupported locale is specified, setlocale() | 45 | On OpenBSD 4.0, when an unsupported locale is specified, setlocale() |
36 | succeeds but then nl_langinfo(CODESET) is "646". In this situation, | 46 | succeeds but then nl_langinfo(CODESET) is "646". In this situation, |
37 | some unit tests fail. */ | 47 | some unit tests fail. |
48 | On MirBSD 10, when an unsupported locale is specified, setlocale() | ||
49 | succeeds but then nl_langinfo(CODESET) is "UTF-8". */ | ||
38 | #if HAVE_LANGINFO_CODESET | 50 | #if HAVE_LANGINFO_CODESET |
39 | { | 51 | { |
40 | const char *cs = nl_langinfo (CODESET); | 52 | const char *cs = nl_langinfo (CODESET); |
41 | if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) | 53 | if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 |
54 | || strcmp (cs, "UTF-8") == 0) | ||
42 | return 1; | 55 | return 1; |
43 | } | 56 | } |
44 | #endif | 57 | #endif |
@@ -49,7 +62,7 @@ int main () | |||
49 | if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; | 62 | if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; |
50 | #endif | 63 | #endif |
51 | /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. | 64 | /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. |
52 | This excludes the UTF-8 encoding. */ | 65 | This excludes the UTF-8 encoding (except on MirBSD). */ |
53 | t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; | 66 | t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; |
54 | if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; | 67 | if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; |
55 | for (p = buf; *p != '\0'; p++) | 68 | for (p = buf; *p != '\0'; p++) |
@@ -64,22 +77,47 @@ int main () | |||
64 | changequote([,])dnl | 77 | changequote([,])dnl |
65 | ])]) | 78 | ])]) |
66 | if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then | 79 | if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then |
67 | # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because | 80 | case "$host_os" in |
68 | # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the | 81 | # Handle native Windows specially, because there setlocale() interprets |
69 | # configure script would override the LC_ALL setting. Likewise for | 82 | # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", |
70 | # LC_CTYPE, which is also set at the beginning of the configure script. | 83 | # "fr" or "fra" as "French" or "French_France.1252", |
71 | # Test for the locale name without encoding suffix. | 84 | # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", |
72 | if (LC_ALL=zh_CN LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | 85 | # "ja" as "Japanese" or "Japanese_Japan.932", |
73 | gt_cv_locale_zh_CN=zh_CN | 86 | # and similar. |
74 | else | 87 | mingw*) |
75 | # Test for the locale name with explicit encoding suffix. | 88 | # Test for the hypothetical native Windows locale name. |
76 | if (LC_ALL=zh_CN.GB18030 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | 89 | if (LC_ALL=Chinese_China.54936 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then |
77 | gt_cv_locale_zh_CN=zh_CN.GB18030 | 90 | gt_cv_locale_zh_CN=Chinese_China.54936 |
78 | else | 91 | else |
79 | # None found. | 92 | # None found. |
93 | gt_cv_locale_zh_CN=none | ||
94 | fi | ||
95 | ;; | ||
96 | solaris2.8) | ||
97 | # On Solaris 8, the locales zh_CN.GB18030, zh_CN.GBK, zh.GBK are | ||
98 | # broken. One witness is the test case in gl_MBRTOWC_SANITYCHECK. | ||
99 | # Another witness is that "LC_ALL=zh_CN.GB18030 bash -c true" dumps core. | ||
80 | gt_cv_locale_zh_CN=none | 100 | gt_cv_locale_zh_CN=none |
81 | fi | 101 | ;; |
82 | fi | 102 | *) |
103 | # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because | ||
104 | # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the | ||
105 | # configure script would override the LC_ALL setting. Likewise for | ||
106 | # LC_CTYPE, which is also set at the beginning of the configure script. | ||
107 | # Test for the locale name without encoding suffix. | ||
108 | if (LC_ALL=zh_CN LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | ||
109 | gt_cv_locale_zh_CN=zh_CN | ||
110 | else | ||
111 | # Test for the locale name with explicit encoding suffix. | ||
112 | if (LC_ALL=zh_CN.GB18030 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | ||
113 | gt_cv_locale_zh_CN=zh_CN.GB18030 | ||
114 | else | ||
115 | # None found. | ||
116 | gt_cv_locale_zh_CN=none | ||
117 | fi | ||
118 | fi | ||
119 | ;; | ||
120 | esac | ||
83 | else | 121 | else |
84 | # If there was a link error, due to mblen(), the system is so old that | 122 | # If there was a link error, due to mblen(), the system is so old that |
85 | # it certainly doesn't have a chinese locale. | 123 | # it certainly doesn't have a chinese locale. |
diff --git a/gl/m4/locale_h.m4 b/gl/m4/locale_h.m4 index 18a119b8..8bd12e80 100644 --- a/gl/m4/locale_h.m4 +++ b/gl/m4/locale_h.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # locale_h.m4 serial 10 | 1 | # locale_h.m4 serial 19 |
2 | dnl Copyright (C) 2007, 2009-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007, 2009-2013 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,16 +10,30 @@ AC_DEFUN([gl_LOCALE_H], | |||
10 | dnl once only, before all statements that occur in other macros. | 10 | dnl once only, before all statements that occur in other macros. |
11 | AC_REQUIRE([gl_LOCALE_H_DEFAULTS]) | 11 | AC_REQUIRE([gl_LOCALE_H_DEFAULTS]) |
12 | 12 | ||
13 | dnl Persuade glibc <locale.h> to define locale_t. | 13 | dnl Persuade glibc <locale.h> to define locale_t and the int_p_*, int_n_* |
14 | dnl members of 'struct lconv'. | ||
14 | AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) | 15 | AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) |
15 | 16 | ||
16 | dnl If <stddef.h> is replaced, then <locale.h> must also be replaced. | 17 | dnl If <stddef.h> is replaced, then <locale.h> must also be replaced. |
17 | AC_REQUIRE([gl_STDDEF_H]) | 18 | AC_REQUIRE([gl_STDDEF_H]) |
18 | 19 | ||
20 | dnl Solaris 11 2011-11 defines the int_p_*, int_n_* members of 'struct lconv' | ||
21 | dnl only if _LCONV_C99 is defined. | ||
22 | AC_REQUIRE([AC_CANONICAL_HOST]) | ||
23 | case "$host_os" in | ||
24 | solaris*) | ||
25 | AC_DEFINE([_LCONV_C99], [1], [Define to 1 on Solaris.]) | ||
26 | ;; | ||
27 | esac | ||
28 | |||
19 | AC_CACHE_CHECK([whether locale.h conforms to POSIX:2001], | 29 | AC_CACHE_CHECK([whether locale.h conforms to POSIX:2001], |
20 | [gl_cv_header_locale_h_posix2001], | 30 | [gl_cv_header_locale_h_posix2001], |
21 | [AC_TRY_COMPILE([#include <locale.h> | 31 | [AC_COMPILE_IFELSE( |
22 | int x = LC_MESSAGES;], [], | 32 | [AC_LANG_PROGRAM( |
33 | [[#include <locale.h> | ||
34 | int x = LC_MESSAGES; | ||
35 | int y = sizeof (((struct lconv *) 0)->decimal_point);]], | ||
36 | [[]])], | ||
23 | [gl_cv_header_locale_h_posix2001=yes], | 37 | [gl_cv_header_locale_h_posix2001=yes], |
24 | [gl_cv_header_locale_h_posix2001=no])]) | 38 | [gl_cv_header_locale_h_posix2001=no])]) |
25 | 39 | ||
@@ -28,12 +42,15 @@ int x = LC_MESSAGES;], [], | |||
28 | if test $ac_cv_header_xlocale_h = yes; then | 42 | if test $ac_cv_header_xlocale_h = yes; then |
29 | HAVE_XLOCALE_H=1 | 43 | HAVE_XLOCALE_H=1 |
30 | dnl Check whether use of locale_t requires inclusion of <xlocale.h>, | 44 | dnl Check whether use of locale_t requires inclusion of <xlocale.h>, |
31 | dnl e.g. on MacOS X 10.5. If <locale.h> does not define locale_t by | 45 | dnl e.g. on Mac OS X 10.5. If <locale.h> does not define locale_t by |
32 | dnl itself, we assume that <xlocale.h> will do so. | 46 | dnl itself, we assume that <xlocale.h> will do so. |
33 | AC_CACHE_CHECK([whether locale.h defines locale_t], | 47 | AC_CACHE_CHECK([whether locale.h defines locale_t], |
34 | [gl_cv_header_locale_has_locale_t], | 48 | [gl_cv_header_locale_has_locale_t], |
35 | [AC_TRY_COMPILE([#include <locale.h> | 49 | [AC_COMPILE_IFELSE( |
36 | locale_t x;], [], | 50 | [AC_LANG_PROGRAM( |
51 | [[#include <locale.h> | ||
52 | locale_t x;]], | ||
53 | [[]])], | ||
37 | [gl_cv_header_locale_has_locale_t=yes], | 54 | [gl_cv_header_locale_has_locale_t=yes], |
38 | [gl_cv_header_locale_has_locale_t=no]) | 55 | [gl_cv_header_locale_has_locale_t=no]) |
39 | ]) | 56 | ]) |
@@ -48,15 +65,29 @@ locale_t x;], [], | |||
48 | fi | 65 | fi |
49 | AC_SUBST([HAVE_XLOCALE_H]) | 66 | AC_SUBST([HAVE_XLOCALE_H]) |
50 | 67 | ||
51 | dnl <locale.h> is always overridden, because of GNULIB_POSIXCHECK. | 68 | dnl Check whether 'struct lconv' is complete. |
52 | gl_CHECK_NEXT_HEADERS([locale.h]) | 69 | dnl Bionic libc's 'struct lconv' is just a dummy. |
53 | 70 | dnl On OpenBSD 4.9, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.x, | |
54 | if test -n "$STDDEF_H" \ | 71 | dnl mingw, MSVC 9, it lacks the int_p_* and int_n_* members. |
55 | || test $gl_cv_header_locale_h_posix2001 = no \ | 72 | AC_CACHE_CHECK([whether struct lconv is properly defined], |
56 | || test $gl_cv_header_locale_h_needs_xlocale_h = yes; then | 73 | [gl_cv_sys_struct_lconv_ok], |
57 | gl_REPLACE_LOCALE_H | 74 | [AC_COMPILE_IFELSE( |
75 | [AC_LANG_PROGRAM( | ||
76 | [[#include <locale.h> | ||
77 | struct lconv l; | ||
78 | int x = sizeof (l.decimal_point); | ||
79 | int y = sizeof (l.int_p_cs_precedes);]], | ||
80 | [[]])], | ||
81 | [gl_cv_sys_struct_lconv_ok=yes], | ||
82 | [gl_cv_sys_struct_lconv_ok=no]) | ||
83 | ]) | ||
84 | if test $gl_cv_sys_struct_lconv_ok = no; then | ||
85 | REPLACE_STRUCT_LCONV=1 | ||
58 | fi | 86 | fi |
59 | 87 | ||
88 | dnl <locale.h> is always overridden, because of GNULIB_POSIXCHECK. | ||
89 | gl_NEXT_HEADERS([locale.h]) | ||
90 | |||
60 | dnl Check for declarations of anything we want to poison if the | 91 | dnl Check for declarations of anything we want to poison if the |
61 | dnl corresponding gnulib module is not in use. | 92 | dnl corresponding gnulib module is not in use. |
62 | gl_WARN_ON_USE_PREPARE([[#include <locale.h> | 93 | gl_WARN_ON_USE_PREPARE([[#include <locale.h> |
@@ -64,14 +95,8 @@ locale_t x;], [], | |||
64 | #if HAVE_XLOCALE_H | 95 | #if HAVE_XLOCALE_H |
65 | # include <xlocale.h> | 96 | # include <xlocale.h> |
66 | #endif | 97 | #endif |
67 | ]], [duplocale]) | 98 | ]], |
68 | ]) | 99 | [setlocale duplocale]) |
69 | |||
70 | dnl Unconditionally enables the replacement of <locale.h>. | ||
71 | AC_DEFUN([gl_REPLACE_LOCALE_H], | ||
72 | [ | ||
73 | dnl This is a no-op, because <locale.h> is always overridden. | ||
74 | : | ||
75 | ]) | 100 | ]) |
76 | 101 | ||
77 | AC_DEFUN([gl_LOCALE_MODULE_INDICATOR], | 102 | AC_DEFUN([gl_LOCALE_MODULE_INDICATOR], |
@@ -85,8 +110,13 @@ AC_DEFUN([gl_LOCALE_MODULE_INDICATOR], | |||
85 | 110 | ||
86 | AC_DEFUN([gl_LOCALE_H_DEFAULTS], | 111 | AC_DEFUN([gl_LOCALE_H_DEFAULTS], |
87 | [ | 112 | [ |
113 | GNULIB_LOCALECONV=0; AC_SUBST([GNULIB_LOCALECONV]) | ||
114 | GNULIB_SETLOCALE=0; AC_SUBST([GNULIB_SETLOCALE]) | ||
88 | GNULIB_DUPLOCALE=0; AC_SUBST([GNULIB_DUPLOCALE]) | 115 | GNULIB_DUPLOCALE=0; AC_SUBST([GNULIB_DUPLOCALE]) |
89 | dnl Assume proper GNU behavior unless another module says otherwise. | 116 | dnl Assume proper GNU behavior unless another module says otherwise. |
90 | HAVE_DUPLOCALE=1; AC_SUBST([HAVE_DUPLOCALE]) | 117 | HAVE_DUPLOCALE=1; AC_SUBST([HAVE_DUPLOCALE]) |
91 | REPLACE_DUPLOCALE=0; AC_SUBST([REPLACE_DUPLOCALE]) | 118 | REPLACE_LOCALECONV=0; AC_SUBST([REPLACE_LOCALECONV]) |
119 | REPLACE_SETLOCALE=0; AC_SUBST([REPLACE_SETLOCALE]) | ||
120 | REPLACE_DUPLOCALE=0; AC_SUBST([REPLACE_DUPLOCALE]) | ||
121 | REPLACE_STRUCT_LCONV=0; AC_SUBST([REPLACE_STRUCT_LCONV]) | ||
92 | ]) | 122 | ]) |
diff --git a/gl/m4/localeconv.m4 b/gl/m4/localeconv.m4 new file mode 100644 index 00000000..b8bb5964 --- /dev/null +++ b/gl/m4/localeconv.m4 | |||
@@ -0,0 +1,22 @@ | |||
1 | # localeconv.m4 serial 1 | ||
2 | dnl Copyright (C) 2012-2013 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_LOCALECONV], | ||
8 | [ | ||
9 | AC_REQUIRE([gl_LOCALE_H_DEFAULTS]) | ||
10 | AC_REQUIRE([gl_LOCALE_H]) | ||
11 | |||
12 | if test $REPLACE_STRUCT_LCONV = 1; then | ||
13 | REPLACE_LOCALECONV=1 | ||
14 | fi | ||
15 | ]) | ||
16 | |||
17 | # Prerequisites of lib/localeconv.c. | ||
18 | AC_DEFUN([gl_PREREQ_LOCALECONV], | ||
19 | [ | ||
20 | AC_CHECK_MEMBERS([struct lconv.decimal_point], [], [], | ||
21 | [[#include <locale.h>]]) | ||
22 | ]) | ||
diff --git a/gl/m4/lock.m4 b/gl/m4/lock.m4 index 9da8465e..aae1701a 100644 --- a/gl/m4/lock.m4 +++ b/gl/m4/lock.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # lock.m4 serial 10 (gettext-0.18) | 1 | # lock.m4 serial 13 (gettext-0.18.2) |
2 | dnl Copyright (C) 2005-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2005-2013 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 @@ AC_DEFUN([gl_LOCK], | |||
10 | [ | 10 | [ |
11 | AC_REQUIRE([gl_THREADLIB]) | 11 | AC_REQUIRE([gl_THREADLIB]) |
12 | if test "$gl_threads_api" = posix; then | 12 | if test "$gl_threads_api" = posix; then |
13 | # OSF/1 4.0 and MacOS X 10.1 lack the pthread_rwlock_t type and the | 13 | # OSF/1 4.0 and Mac OS X 10.1 lack the pthread_rwlock_t type and the |
14 | # pthread_rwlock_* functions. | 14 | # pthread_rwlock_* functions. |
15 | AC_CHECK_TYPE([pthread_rwlock_t], | 15 | AC_CHECK_TYPE([pthread_rwlock_t], |
16 | [AC_DEFINE([HAVE_PTHREAD_RWLOCK], [1], | 16 | [AC_DEFINE([HAVE_PTHREAD_RWLOCK], [1], |
@@ -18,20 +18,25 @@ AC_DEFUN([gl_LOCK], | |||
18 | [], | 18 | [], |
19 | [#include <pthread.h>]) | 19 | [#include <pthread.h>]) |
20 | # glibc defines PTHREAD_MUTEX_RECURSIVE as enum, not as a macro. | 20 | # glibc defines PTHREAD_MUTEX_RECURSIVE as enum, not as a macro. |
21 | AC_TRY_COMPILE([#include <pthread.h>], | 21 | AC_COMPILE_IFELSE([ |
22 | [#if __FreeBSD__ == 4 | 22 | AC_LANG_PROGRAM( |
23 | [[#include <pthread.h>]], | ||
24 | [[ | ||
25 | #if __FreeBSD__ == 4 | ||
23 | error "No, in FreeBSD 4.0 recursive mutexes actually don't work." | 26 | error "No, in FreeBSD 4.0 recursive mutexes actually don't work." |
27 | #elif (defined __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ \ | ||
28 | && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1070) | ||
29 | error "No, in Mac OS X < 10.7 recursive mutexes actually don't work." | ||
24 | #else | 30 | #else |
25 | int x = (int)PTHREAD_MUTEX_RECURSIVE; | 31 | int x = (int)PTHREAD_MUTEX_RECURSIVE; |
26 | return !x; | 32 | return !x; |
27 | #endif], | 33 | #endif |
34 | ]])], | ||
28 | [AC_DEFINE([HAVE_PTHREAD_MUTEX_RECURSIVE], [1], | 35 | [AC_DEFINE([HAVE_PTHREAD_MUTEX_RECURSIVE], [1], |
29 | [Define if the <pthread.h> defines PTHREAD_MUTEX_RECURSIVE.])]) | 36 | [Define if the <pthread.h> defines PTHREAD_MUTEX_RECURSIVE.])]) |
30 | fi | 37 | fi |
31 | gl_PREREQ_LOCK | 38 | gl_PREREQ_LOCK |
32 | ]) | 39 | ]) |
33 | 40 | ||
34 | # Prerequisites of lib/lock.c. | 41 | # Prerequisites of lib/glthread/lock.c. |
35 | AC_DEFUN([gl_PREREQ_LOCK], [ | 42 | AC_DEFUN([gl_PREREQ_LOCK], [:]) |
36 | AC_REQUIRE([AC_C_INLINE]) | ||
37 | ]) | ||
diff --git a/gl/m4/longlong.m4 b/gl/m4/longlong.m4 index cca3c1a9..3af6ab5a 100644 --- a/gl/m4/longlong.m4 +++ b/gl/m4/longlong.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # longlong.m4 serial 14 | 1 | # longlong.m4 serial 17 |
2 | dnl Copyright (C) 1999-2007, 2009-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1999-2007, 2009-2013 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,8 @@ dnl with or without modifications, as long as this notice is preserved. | |||
7 | dnl From Paul Eggert. | 7 | dnl From Paul Eggert. |
8 | 8 | ||
9 | # Define HAVE_LONG_LONG_INT if 'long long int' works. | 9 | # Define HAVE_LONG_LONG_INT if 'long long int' works. |
10 | # This fixes a bug in Autoconf 2.61, but can be removed once we | 10 | # This fixes a bug in Autoconf 2.61, and can be faster |
11 | # assume 2.62 everywhere. | 11 | # than what's in Autoconf 2.62 through 2.68. |
12 | 12 | ||
13 | # Note: If the type 'long long int' exists but is only 32 bits large | 13 | # Note: If the type 'long long int' exists but is only 32 bits large |
14 | # (as on some very old compilers), HAVE_LONG_LONG_INT will not be | 14 | # (as on some very old compilers), HAVE_LONG_LONG_INT will not be |
@@ -16,44 +16,48 @@ dnl From Paul Eggert. | |||
16 | 16 | ||
17 | AC_DEFUN([AC_TYPE_LONG_LONG_INT], | 17 | AC_DEFUN([AC_TYPE_LONG_LONG_INT], |
18 | [ | 18 | [ |
19 | AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT]) | ||
19 | AC_CACHE_CHECK([for long long int], [ac_cv_type_long_long_int], | 20 | AC_CACHE_CHECK([for long long int], [ac_cv_type_long_long_int], |
20 | [AC_LINK_IFELSE( | 21 | [ac_cv_type_long_long_int=yes |
21 | [_AC_TYPE_LONG_LONG_SNIPPET], | 22 | if test "x${ac_cv_prog_cc_c99-no}" = xno; then |
22 | [dnl This catches a bug in Tandem NonStop Kernel (OSS) cc -O circa 2004. | 23 | ac_cv_type_long_long_int=$ac_cv_type_unsigned_long_long_int |
23 | dnl If cross compiling, assume the bug isn't important, since | 24 | if test $ac_cv_type_long_long_int = yes; then |
24 | dnl nobody cross compiles for this platform as far as we know. | 25 | dnl Catch a bug in Tandem NonStop Kernel (OSS) cc -O circa 2004. |
25 | AC_RUN_IFELSE( | 26 | dnl If cross compiling, assume the bug is not important, since |
26 | [AC_LANG_PROGRAM( | 27 | dnl nobody cross compiles for this platform as far as we know. |
27 | [[@%:@include <limits.h> | 28 | AC_RUN_IFELSE( |
28 | @%:@ifndef LLONG_MAX | 29 | [AC_LANG_PROGRAM( |
29 | @%:@ define HALF \ | 30 | [[@%:@include <limits.h> |
30 | (1LL << (sizeof (long long int) * CHAR_BIT - 2)) | 31 | @%:@ifndef LLONG_MAX |
31 | @%:@ define LLONG_MAX (HALF - 1 + HALF) | 32 | @%:@ define HALF \ |
32 | @%:@endif]], | 33 | (1LL << (sizeof (long long int) * CHAR_BIT - 2)) |
33 | [[long long int n = 1; | 34 | @%:@ define LLONG_MAX (HALF - 1 + HALF) |
34 | int i; | 35 | @%:@endif]], |
35 | for (i = 0; ; i++) | 36 | [[long long int n = 1; |
36 | { | 37 | int i; |
37 | long long int m = n << i; | 38 | for (i = 0; ; i++) |
38 | if (m >> i != n) | 39 | { |
39 | return 1; | 40 | long long int m = n << i; |
40 | if (LLONG_MAX / 2 < m) | 41 | if (m >> i != n) |
41 | break; | 42 | return 1; |
42 | } | 43 | if (LLONG_MAX / 2 < m) |
43 | return 0;]])], | 44 | break; |
44 | [ac_cv_type_long_long_int=yes], | 45 | } |
45 | [ac_cv_type_long_long_int=no], | 46 | return 0;]])], |
46 | [ac_cv_type_long_long_int=yes])], | 47 | [], |
47 | [ac_cv_type_long_long_int=no])]) | 48 | [ac_cv_type_long_long_int=no], |
49 | [:]) | ||
50 | fi | ||
51 | fi]) | ||
48 | if test $ac_cv_type_long_long_int = yes; then | 52 | if test $ac_cv_type_long_long_int = yes; then |
49 | AC_DEFINE([HAVE_LONG_LONG_INT], [1], | 53 | AC_DEFINE([HAVE_LONG_LONG_INT], [1], |
50 | [Define to 1 if the system has the type `long long int'.]) | 54 | [Define to 1 if the system has the type 'long long int'.]) |
51 | fi | 55 | fi |
52 | ]) | 56 | ]) |
53 | 57 | ||
54 | # Define HAVE_UNSIGNED_LONG_LONG_INT if 'unsigned long long int' works. | 58 | # Define HAVE_UNSIGNED_LONG_LONG_INT if 'unsigned long long int' works. |
55 | # This fixes a bug in Autoconf 2.61, but can be removed once we | 59 | # This fixes a bug in Autoconf 2.61, and can be faster |
56 | # assume 2.62 everywhere. | 60 | # than what's in Autoconf 2.62 through 2.68. |
57 | 61 | ||
58 | # Note: If the type 'unsigned long long int' exists but is only 32 bits | 62 | # Note: If the type 'unsigned long long int' exists but is only 32 bits |
59 | # large (as on some very old compilers), AC_TYPE_UNSIGNED_LONG_LONG_INT | 63 | # large (as on some very old compilers), AC_TYPE_UNSIGNED_LONG_LONG_INT |
@@ -64,13 +68,16 @@ AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT], | |||
64 | [ | 68 | [ |
65 | AC_CACHE_CHECK([for unsigned long long int], | 69 | AC_CACHE_CHECK([for unsigned long long int], |
66 | [ac_cv_type_unsigned_long_long_int], | 70 | [ac_cv_type_unsigned_long_long_int], |
67 | [AC_LINK_IFELSE( | 71 | [ac_cv_type_unsigned_long_long_int=yes |
68 | [_AC_TYPE_LONG_LONG_SNIPPET], | 72 | if test "x${ac_cv_prog_cc_c99-no}" = xno; then |
69 | [ac_cv_type_unsigned_long_long_int=yes], | 73 | AC_LINK_IFELSE( |
70 | [ac_cv_type_unsigned_long_long_int=no])]) | 74 | [_AC_TYPE_LONG_LONG_SNIPPET], |
75 | [], | ||
76 | [ac_cv_type_unsigned_long_long_int=no]) | ||
77 | fi]) | ||
71 | if test $ac_cv_type_unsigned_long_long_int = yes; then | 78 | if test $ac_cv_type_unsigned_long_long_int = yes; then |
72 | AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], [1], | 79 | AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], [1], |
73 | [Define to 1 if the system has the type `unsigned long long int'.]) | 80 | [Define to 1 if the system has the type 'unsigned long long int'.]) |
74 | fi | 81 | fi |
75 | ]) | 82 | ]) |
76 | 83 | ||
diff --git a/gl/m4/ls-mntd-fs.m4 b/gl/m4/ls-mntd-fs.m4 index 40b93366..fb116c8b 100644 --- a/gl/m4/ls-mntd-fs.m4 +++ b/gl/m4/ls-mntd-fs.m4 | |||
@@ -1,7 +1,7 @@ | |||
1 | # serial 28 | 1 | # serial 30 |
2 | # How to list mounted file systems. | 2 | # How to list mounted file systems. |
3 | 3 | ||
4 | # Copyright (C) 1998-2004, 2006, 2009-2010 Free Software Foundation, Inc. | 4 | # Copyright (C) 1998-2004, 2006, 2009-2013 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, |
@@ -70,7 +70,7 @@ AC_FUNC_GETMNTENT | |||
70 | # with other getmntent implementations. | 70 | # with other getmntent implementations. |
71 | 71 | ||
72 | # NOTE: Normally, I wouldn't use a check for system type as I've done for | 72 | # NOTE: Normally, I wouldn't use a check for system type as I've done for |
73 | # `CRAY' below since that goes against the whole autoconf philosophy. But | 73 | # 'CRAY' below since that goes against the whole autoconf philosophy. But |
74 | # I think there is too great a chance that some non-Cray system has a | 74 | # I think there is too great a chance that some non-Cray system has a |
75 | # function named listmntent to risk the false positive. | 75 | # function named listmntent to risk the false positive. |
76 | 76 | ||
@@ -110,7 +110,7 @@ if test -z "$ac_list_mounted_fs"; then | |||
110 | AC_DEFINE([MOUNTED_VMOUNT], [1], | 110 | AC_DEFINE([MOUNTED_VMOUNT], [1], |
111 | [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 |
112 | 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 |
113 | that declares `struct vmount.' (AIX)]) | 113 | that declares 'struct vmount'. (AIX)]) |
114 | fi | 114 | fi |
115 | fi | 115 | fi |
116 | 116 | ||
@@ -247,7 +247,11 @@ if test -z "$ac_list_mounted_fs"; then | |||
247 | #if HAVE_SYS_STATVFS_H | 247 | #if HAVE_SYS_STATVFS_H |
248 | # include <sys/statvfs.h> | 248 | # include <sys/statvfs.h> |
249 | #endif | 249 | #endif |
250 | extern int getmntinfo (struct statfs **, int); | 250 | extern |
251 | #ifdef __cplusplus | ||
252 | "C" | ||
253 | #endif | ||
254 | int getmntinfo (struct statfs **, int); | ||
251 | ]], [])], | 255 | ]], [])], |
252 | [fu_cv_sys_mounted_getmntinfo2=no], | 256 | [fu_cv_sys_mounted_getmntinfo2=no], |
253 | [fu_cv_sys_mounted_getmntinfo2=yes]) | 257 | [fu_cv_sys_mounted_getmntinfo2=yes]) |
@@ -326,6 +330,23 @@ if test -z "$ac_list_mounted_fs"; then | |||
326 | fi | 330 | fi |
327 | 331 | ||
328 | if test -z "$ac_list_mounted_fs"; then | 332 | if test -z "$ac_list_mounted_fs"; then |
333 | # Interix / BSD alike statvfs | ||
334 | # the code is really interix specific, so make sure, we're on it. | ||
335 | case "$host" in | ||
336 | *-interix*) | ||
337 | AC_CHECK_FUNCS([statvfs]) | ||
338 | if test $ac_cv_func_statvfs = yes; then | ||
339 | ac_list_mounted_fs=found | ||
340 | AC_DEFINE([MOUNTED_INTERIX_STATVFS], [1], | ||
341 | [Define if we are on interix, and ought to use statvfs plus | ||
342 | some special knowledge on where mounted file systems can be | ||
343 | found. (Interix)]) | ||
344 | fi | ||
345 | ;; | ||
346 | esac | ||
347 | fi | ||
348 | |||
349 | if test -z "$ac_list_mounted_fs"; then | ||
329 | AC_MSG_ERROR([could not determine how to read list of mounted file systems]) | 350 | AC_MSG_ERROR([could not determine how to read list of mounted file systems]) |
330 | # FIXME -- no need to abort building the whole package | 351 | # FIXME -- no need to abort building the whole package |
331 | # Can't build mountlist.c or anything that needs its functions | 352 | # Can't build mountlist.c or anything that needs its functions |
diff --git a/gl/m4/malloc.m4 b/gl/m4/malloc.m4 index fe5befc2..4b24a0b1 100644 --- a/gl/m4/malloc.m4 +++ b/gl/m4/malloc.m4 | |||
@@ -1,9 +1,47 @@ | |||
1 | # malloc.m4 serial 10 | 1 | # malloc.m4 serial 14 |
2 | dnl Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007, 2009-2013 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 | m4_version_prereq([2.70], [] ,[ | ||
8 | |||
9 | # This is taken from the following Autoconf patch: | ||
10 | # http://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=7fbb553727ed7e0e689a17594b58559ecf3ea6e9 | ||
11 | AC_DEFUN([_AC_FUNC_MALLOC_IF], | ||
12 | [ | ||
13 | AC_REQUIRE([AC_HEADER_STDC])dnl | ||
14 | AC_REQUIRE([AC_CANONICAL_HOST])dnl for cross-compiles | ||
15 | AC_CHECK_HEADERS([stdlib.h]) | ||
16 | AC_CACHE_CHECK([for GNU libc compatible malloc], | ||
17 | [ac_cv_func_malloc_0_nonnull], | ||
18 | [AC_RUN_IFELSE( | ||
19 | [AC_LANG_PROGRAM( | ||
20 | [[#if defined STDC_HEADERS || defined HAVE_STDLIB_H | ||
21 | # include <stdlib.h> | ||
22 | #else | ||
23 | char *malloc (); | ||
24 | #endif | ||
25 | ]], | ||
26 | [[return ! malloc (0);]]) | ||
27 | ], | ||
28 | [ac_cv_func_malloc_0_nonnull=yes], | ||
29 | [ac_cv_func_malloc_0_nonnull=no], | ||
30 | [case "$host_os" in | ||
31 | # Guess yes on platforms where we know the result. | ||
32 | *-gnu* | freebsd* | netbsd* | openbsd* \ | ||
33 | | hpux* | solaris* | cygwin* | mingw*) | ||
34 | ac_cv_func_malloc_0_nonnull=yes ;; | ||
35 | # If we don't know, assume the worst. | ||
36 | *) ac_cv_func_malloc_0_nonnull=no ;; | ||
37 | esac | ||
38 | ]) | ||
39 | ]) | ||
40 | AS_IF([test $ac_cv_func_malloc_0_nonnull = yes], [$1], [$2]) | ||
41 | ])# _AC_FUNC_MALLOC_IF | ||
42 | |||
43 | ]) | ||
44 | |||
7 | # gl_FUNC_MALLOC_GNU | 45 | # gl_FUNC_MALLOC_GNU |
8 | # ------------------ | 46 | # ------------------ |
9 | # Test whether 'malloc (0)' is handled like in GNU libc, and replace malloc if | 47 | # Test whether 'malloc (0)' is handled like in GNU libc, and replace malloc if |
@@ -13,11 +51,11 @@ AC_DEFUN([gl_FUNC_MALLOC_GNU], | |||
13 | AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) | 51 | AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) |
14 | dnl _AC_FUNC_MALLOC_IF is defined in Autoconf. | 52 | dnl _AC_FUNC_MALLOC_IF is defined in Autoconf. |
15 | _AC_FUNC_MALLOC_IF( | 53 | _AC_FUNC_MALLOC_IF( |
16 | [AC_DEFINE([HAVE_MALLOC], [1], | 54 | [AC_DEFINE([HAVE_MALLOC_GNU], [1], |
17 | [Define to 1 if your system has a GNU libc compatible 'malloc' | 55 | [Define to 1 if your system has a GNU libc compatible 'malloc' |
18 | function, and to 0 otherwise.])], | 56 | function, and to 0 otherwise.])], |
19 | [AC_DEFINE([HAVE_MALLOC], [0]) | 57 | [AC_DEFINE([HAVE_MALLOC_GNU], [0]) |
20 | gl_REPLACE_MALLOC | 58 | REPLACE_MALLOC=1 |
21 | ]) | 59 | ]) |
22 | ]) | 60 | ]) |
23 | 61 | ||
@@ -33,7 +71,7 @@ AC_DEFUN([gl_FUNC_MALLOC_POSIX], | |||
33 | AC_DEFINE([HAVE_MALLOC_POSIX], [1], | 71 | AC_DEFINE([HAVE_MALLOC_POSIX], [1], |
34 | [Define if the 'malloc' function is POSIX compliant.]) | 72 | [Define if the 'malloc' function is POSIX compliant.]) |
35 | else | 73 | else |
36 | gl_REPLACE_MALLOC | 74 | REPLACE_MALLOC=1 |
37 | fi | 75 | fi |
38 | ]) | 76 | ]) |
39 | 77 | ||
@@ -47,16 +85,14 @@ AC_DEFUN([gl_CHECK_MALLOC_POSIX], | |||
47 | dnl It is too dangerous to try to allocate a large amount of memory: | 85 | dnl It is too dangerous to try to allocate a large amount of memory: |
48 | dnl some systems go to their knees when you do that. So assume that | 86 | dnl some systems go to their knees when you do that. So assume that |
49 | dnl all Unix implementations of the function are POSIX compliant. | 87 | dnl all Unix implementations of the function are POSIX compliant. |
50 | AC_TRY_COMPILE([], | 88 | AC_COMPILE_IFELSE( |
51 | [#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ | 89 | [AC_LANG_PROGRAM( |
52 | choke me | 90 | [[]], |
53 | #endif | 91 | [[#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ |
54 | ], [gl_cv_func_malloc_posix=yes], [gl_cv_func_malloc_posix=no]) | 92 | choke me |
93 | #endif | ||
94 | ]])], | ||
95 | [gl_cv_func_malloc_posix=yes], | ||
96 | [gl_cv_func_malloc_posix=no]) | ||
55 | ]) | 97 | ]) |
56 | ]) | 98 | ]) |
57 | |||
58 | AC_DEFUN([gl_REPLACE_MALLOC], | ||
59 | [ | ||
60 | AC_LIBOBJ([malloc]) | ||
61 | REPLACE_MALLOC=1 | ||
62 | ]) | ||
diff --git a/gl/m4/malloca.m4 b/gl/m4/malloca.m4 index e07c6d93..791ce10d 100644 --- a/gl/m4/malloca.m4 +++ b/gl/m4/malloca.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # malloca.m4 serial 1 | 1 | # malloca.m4 serial 1 |
2 | dnl Copyright (C) 2003-2004, 2006-2007, 2009-2010 Free Software Foundation, | 2 | dnl Copyright (C) 2003-2004, 2006-2007, 2009-2013 Free Software Foundation, |
3 | dnl Inc. | 3 | dnl 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, |
diff --git a/gl/m4/math_h.m4 b/gl/m4/math_h.m4 index 2d89ca3f..bf0845fd 100644 --- a/gl/m4/math_h.m4 +++ b/gl/m4/math_h.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # math_h.m4 serial 21 | 1 | # math_h.m4 serial 114 |
2 | dnl Copyright (C) 2007-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007-2013 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,6 @@ 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_REQUIRE([AC_C_INLINE]) | ||
12 | 11 | ||
13 | AC_CACHE_CHECK([whether NAN macro works], [gl_cv_header_math_nan_works], | 12 | AC_CACHE_CHECK([whether NAN macro works], [gl_cv_header_math_nan_works], |
14 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <math.h>]], | 13 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <math.h>]], |
@@ -38,9 +37,20 @@ AC_DEFUN([gl_MATH_H], | |||
38 | 37 | ||
39 | dnl Check for declarations of anything we want to poison if the | 38 | dnl Check for declarations of anything we want to poison if the |
40 | dnl corresponding gnulib module is not in use. | 39 | dnl corresponding gnulib module is not in use. |
41 | gl_WARN_ON_USE_PREPARE([[#include <math.h> | 40 | gl_WARN_ON_USE_PREPARE([[#include <math.h>]], |
42 | ]], [acosl asinl atanl ceilf ceill cosl expl floorf floorl frexpl | 41 | [acosf acosl asinf asinl atanf atanl |
43 | ldexpl logb logl round roundf roundl sinl sqrtl tanl trunc truncf truncl]) | 42 | cbrt cbrtf cbrtl ceilf ceill copysign copysignf copysignl cosf cosl coshf |
43 | expf expl exp2 exp2f exp2l expm1 expm1f expm1l | ||
44 | fabsf fabsl floorf floorl fma fmaf fmal | ||
45 | fmod fmodf fmodl frexpf frexpl hypotf hypotl | ||
46 | ilogb ilogbf ilogbl | ||
47 | ldexpf ldexpl | ||
48 | log logf logl log10 log10f log10l log1p log1pf log1pl log2 log2f log2l | ||
49 | logb logbf logbl | ||
50 | modf modff modfl powf | ||
51 | remainder remainderf remainderl | ||
52 | rint rintf rintl round roundf roundl sinf sinl sinhf sqrtf sqrtl | ||
53 | tanf tanl tanhf trunc truncf truncl]) | ||
44 | ]) | 54 | ]) |
45 | 55 | ||
46 | AC_DEFUN([gl_MATH_MODULE_INDICATOR], | 56 | AC_DEFUN([gl_MATH_MODULE_INDICATOR], |
@@ -54,62 +64,189 @@ AC_DEFUN([gl_MATH_MODULE_INDICATOR], | |||
54 | 64 | ||
55 | AC_DEFUN([gl_MATH_H_DEFAULTS], | 65 | AC_DEFUN([gl_MATH_H_DEFAULTS], |
56 | [ | 66 | [ |
57 | GNULIB_ACOSL=0; AC_SUBST([GNULIB_ACOSL]) | 67 | GNULIB_ACOSF=0; AC_SUBST([GNULIB_ACOSF]) |
58 | GNULIB_ASINL=0; AC_SUBST([GNULIB_ASINL]) | 68 | GNULIB_ACOSL=0; AC_SUBST([GNULIB_ACOSL]) |
59 | GNULIB_ATANL=0; AC_SUBST([GNULIB_ATANL]) | 69 | GNULIB_ASINF=0; AC_SUBST([GNULIB_ASINF]) |
60 | GNULIB_CEILF=0; AC_SUBST([GNULIB_CEILF]) | 70 | GNULIB_ASINL=0; AC_SUBST([GNULIB_ASINL]) |
61 | GNULIB_CEILL=0; AC_SUBST([GNULIB_CEILL]) | 71 | GNULIB_ATANF=0; AC_SUBST([GNULIB_ATANF]) |
62 | GNULIB_COSL=0; AC_SUBST([GNULIB_COSL]) | 72 | GNULIB_ATANL=0; AC_SUBST([GNULIB_ATANL]) |
63 | GNULIB_EXPL=0; AC_SUBST([GNULIB_EXPL]) | 73 | GNULIB_ATAN2F=0; AC_SUBST([GNULIB_ATAN2F]) |
64 | GNULIB_FLOORF=0; AC_SUBST([GNULIB_FLOORF]) | 74 | GNULIB_CBRT=0; AC_SUBST([GNULIB_CBRT]) |
65 | GNULIB_FLOORL=0; AC_SUBST([GNULIB_FLOORL]) | 75 | GNULIB_CBRTF=0; AC_SUBST([GNULIB_CBRTF]) |
66 | GNULIB_FREXP=0; AC_SUBST([GNULIB_FREXP]) | 76 | GNULIB_CBRTL=0; AC_SUBST([GNULIB_CBRTL]) |
67 | GNULIB_FREXPL=0; AC_SUBST([GNULIB_FREXPL]) | 77 | GNULIB_CEIL=0; AC_SUBST([GNULIB_CEIL]) |
68 | GNULIB_ISFINITE=0; AC_SUBST([GNULIB_ISFINITE]) | 78 | GNULIB_CEILF=0; AC_SUBST([GNULIB_CEILF]) |
69 | GNULIB_ISINF=0; AC_SUBST([GNULIB_ISINF]) | 79 | GNULIB_CEILL=0; AC_SUBST([GNULIB_CEILL]) |
70 | GNULIB_ISNAN=0; AC_SUBST([GNULIB_ISNAN]) | 80 | GNULIB_COPYSIGN=0; AC_SUBST([GNULIB_COPYSIGN]) |
71 | GNULIB_ISNANF=0; AC_SUBST([GNULIB_ISNANF]) | 81 | GNULIB_COPYSIGNF=0; AC_SUBST([GNULIB_COPYSIGNF]) |
72 | GNULIB_ISNAND=0; AC_SUBST([GNULIB_ISNAND]) | 82 | GNULIB_COPYSIGNL=0; AC_SUBST([GNULIB_COPYSIGNL]) |
73 | GNULIB_ISNANL=0; AC_SUBST([GNULIB_ISNANL]) | 83 | GNULIB_COSF=0; AC_SUBST([GNULIB_COSF]) |
74 | GNULIB_LDEXPL=0; AC_SUBST([GNULIB_LDEXPL]) | 84 | GNULIB_COSL=0; AC_SUBST([GNULIB_COSL]) |
75 | GNULIB_LOGB=0; AC_SUBST([GNULIB_LOGB]) | 85 | GNULIB_COSHF=0; AC_SUBST([GNULIB_COSHF]) |
76 | GNULIB_LOGL=0; AC_SUBST([GNULIB_LOGL]) | 86 | GNULIB_EXPF=0; AC_SUBST([GNULIB_EXPF]) |
77 | GNULIB_ROUND=0; AC_SUBST([GNULIB_ROUND]) | 87 | GNULIB_EXPL=0; AC_SUBST([GNULIB_EXPL]) |
78 | GNULIB_ROUNDF=0; AC_SUBST([GNULIB_ROUNDF]) | 88 | GNULIB_EXP2=0; AC_SUBST([GNULIB_EXP2]) |
79 | GNULIB_ROUNDL=0; AC_SUBST([GNULIB_ROUNDL]) | 89 | GNULIB_EXP2F=0; AC_SUBST([GNULIB_EXP2F]) |
80 | GNULIB_SIGNBIT=0; AC_SUBST([GNULIB_SIGNBIT]) | 90 | GNULIB_EXP2L=0; AC_SUBST([GNULIB_EXP2L]) |
81 | GNULIB_SINL=0; AC_SUBST([GNULIB_SINL]) | 91 | GNULIB_EXPM1=0; AC_SUBST([GNULIB_EXPM1]) |
82 | GNULIB_SQRTL=0; AC_SUBST([GNULIB_SQRTL]) | 92 | GNULIB_EXPM1F=0; AC_SUBST([GNULIB_EXPM1F]) |
83 | GNULIB_TANL=0; AC_SUBST([GNULIB_TANL]) | 93 | GNULIB_EXPM1L=0; AC_SUBST([GNULIB_EXPM1L]) |
84 | GNULIB_TRUNC=0; AC_SUBST([GNULIB_TRUNC]) | 94 | GNULIB_FABSF=0; AC_SUBST([GNULIB_FABSF]) |
85 | GNULIB_TRUNCF=0; AC_SUBST([GNULIB_TRUNCF]) | 95 | GNULIB_FABSL=0; AC_SUBST([GNULIB_FABSL]) |
86 | GNULIB_TRUNCL=0; AC_SUBST([GNULIB_TRUNCL]) | 96 | GNULIB_FLOOR=0; AC_SUBST([GNULIB_FLOOR]) |
97 | GNULIB_FLOORF=0; AC_SUBST([GNULIB_FLOORF]) | ||
98 | GNULIB_FLOORL=0; AC_SUBST([GNULIB_FLOORL]) | ||
99 | GNULIB_FMA=0; AC_SUBST([GNULIB_FMA]) | ||
100 | GNULIB_FMAF=0; AC_SUBST([GNULIB_FMAF]) | ||
101 | GNULIB_FMAL=0; AC_SUBST([GNULIB_FMAL]) | ||
102 | GNULIB_FMOD=0; AC_SUBST([GNULIB_FMOD]) | ||
103 | GNULIB_FMODF=0; AC_SUBST([GNULIB_FMODF]) | ||
104 | GNULIB_FMODL=0; AC_SUBST([GNULIB_FMODL]) | ||
105 | GNULIB_FREXPF=0; AC_SUBST([GNULIB_FREXPF]) | ||
106 | GNULIB_FREXP=0; AC_SUBST([GNULIB_FREXP]) | ||
107 | GNULIB_FREXPL=0; AC_SUBST([GNULIB_FREXPL]) | ||
108 | GNULIB_HYPOT=0; AC_SUBST([GNULIB_HYPOT]) | ||
109 | GNULIB_HYPOTF=0; AC_SUBST([GNULIB_HYPOTF]) | ||
110 | GNULIB_HYPOTL=0; AC_SUBST([GNULIB_HYPOTL]) | ||
111 | GNULIB_ILOGB=0; AC_SUBST([GNULIB_ILOGB]) | ||
112 | GNULIB_ILOGBF=0; AC_SUBST([GNULIB_ILOGBF]) | ||
113 | GNULIB_ILOGBL=0; AC_SUBST([GNULIB_ILOGBL]) | ||
114 | GNULIB_ISFINITE=0; AC_SUBST([GNULIB_ISFINITE]) | ||
115 | GNULIB_ISINF=0; AC_SUBST([GNULIB_ISINF]) | ||
116 | GNULIB_ISNAN=0; AC_SUBST([GNULIB_ISNAN]) | ||
117 | GNULIB_ISNANF=0; AC_SUBST([GNULIB_ISNANF]) | ||
118 | GNULIB_ISNAND=0; AC_SUBST([GNULIB_ISNAND]) | ||
119 | GNULIB_ISNANL=0; AC_SUBST([GNULIB_ISNANL]) | ||
120 | GNULIB_LDEXPF=0; AC_SUBST([GNULIB_LDEXPF]) | ||
121 | GNULIB_LDEXPL=0; AC_SUBST([GNULIB_LDEXPL]) | ||
122 | GNULIB_LOG=0; AC_SUBST([GNULIB_LOG]) | ||
123 | GNULIB_LOGF=0; AC_SUBST([GNULIB_LOGF]) | ||
124 | GNULIB_LOGL=0; AC_SUBST([GNULIB_LOGL]) | ||
125 | GNULIB_LOG10=0; AC_SUBST([GNULIB_LOG10]) | ||
126 | GNULIB_LOG10F=0; AC_SUBST([GNULIB_LOG10F]) | ||
127 | GNULIB_LOG10L=0; AC_SUBST([GNULIB_LOG10L]) | ||
128 | GNULIB_LOG1P=0; AC_SUBST([GNULIB_LOG1P]) | ||
129 | GNULIB_LOG1PF=0; AC_SUBST([GNULIB_LOG1PF]) | ||
130 | GNULIB_LOG1PL=0; AC_SUBST([GNULIB_LOG1PL]) | ||
131 | GNULIB_LOG2=0; AC_SUBST([GNULIB_LOG2]) | ||
132 | GNULIB_LOG2F=0; AC_SUBST([GNULIB_LOG2F]) | ||
133 | GNULIB_LOG2L=0; AC_SUBST([GNULIB_LOG2L]) | ||
134 | GNULIB_LOGB=0; AC_SUBST([GNULIB_LOGB]) | ||
135 | GNULIB_LOGBF=0; AC_SUBST([GNULIB_LOGBF]) | ||
136 | GNULIB_LOGBL=0; AC_SUBST([GNULIB_LOGBL]) | ||
137 | GNULIB_MODF=0; AC_SUBST([GNULIB_MODF]) | ||
138 | GNULIB_MODFF=0; AC_SUBST([GNULIB_MODFF]) | ||
139 | GNULIB_MODFL=0; AC_SUBST([GNULIB_MODFL]) | ||
140 | GNULIB_POWF=0; AC_SUBST([GNULIB_POWF]) | ||
141 | GNULIB_REMAINDER=0; AC_SUBST([GNULIB_REMAINDER]) | ||
142 | GNULIB_REMAINDERF=0; AC_SUBST([GNULIB_REMAINDERF]) | ||
143 | GNULIB_REMAINDERL=0; AC_SUBST([GNULIB_REMAINDERL]) | ||
144 | GNULIB_RINT=0; AC_SUBST([GNULIB_RINT]) | ||
145 | GNULIB_RINTF=0; AC_SUBST([GNULIB_RINTF]) | ||
146 | GNULIB_RINTL=0; AC_SUBST([GNULIB_RINTL]) | ||
147 | GNULIB_ROUND=0; AC_SUBST([GNULIB_ROUND]) | ||
148 | GNULIB_ROUNDF=0; AC_SUBST([GNULIB_ROUNDF]) | ||
149 | GNULIB_ROUNDL=0; AC_SUBST([GNULIB_ROUNDL]) | ||
150 | GNULIB_SIGNBIT=0; AC_SUBST([GNULIB_SIGNBIT]) | ||
151 | GNULIB_SINF=0; AC_SUBST([GNULIB_SINF]) | ||
152 | GNULIB_SINL=0; AC_SUBST([GNULIB_SINL]) | ||
153 | GNULIB_SINHF=0; AC_SUBST([GNULIB_SINHF]) | ||
154 | GNULIB_SQRTF=0; AC_SUBST([GNULIB_SQRTF]) | ||
155 | GNULIB_SQRTL=0; AC_SUBST([GNULIB_SQRTL]) | ||
156 | GNULIB_TANF=0; AC_SUBST([GNULIB_TANF]) | ||
157 | GNULIB_TANL=0; AC_SUBST([GNULIB_TANL]) | ||
158 | GNULIB_TANHF=0; AC_SUBST([GNULIB_TANHF]) | ||
159 | GNULIB_TRUNC=0; AC_SUBST([GNULIB_TRUNC]) | ||
160 | GNULIB_TRUNCF=0; AC_SUBST([GNULIB_TRUNCF]) | ||
161 | GNULIB_TRUNCL=0; AC_SUBST([GNULIB_TRUNCL]) | ||
87 | dnl Assume proper GNU behavior unless another module says otherwise. | 162 | dnl Assume proper GNU behavior unless another module says otherwise. |
163 | HAVE_ACOSF=1; AC_SUBST([HAVE_ACOSF]) | ||
88 | HAVE_ACOSL=1; AC_SUBST([HAVE_ACOSL]) | 164 | HAVE_ACOSL=1; AC_SUBST([HAVE_ACOSL]) |
165 | HAVE_ASINF=1; AC_SUBST([HAVE_ASINF]) | ||
89 | HAVE_ASINL=1; AC_SUBST([HAVE_ASINL]) | 166 | HAVE_ASINL=1; AC_SUBST([HAVE_ASINL]) |
167 | HAVE_ATANF=1; AC_SUBST([HAVE_ATANF]) | ||
90 | HAVE_ATANL=1; AC_SUBST([HAVE_ATANL]) | 168 | HAVE_ATANL=1; AC_SUBST([HAVE_ATANL]) |
169 | HAVE_ATAN2F=1; AC_SUBST([HAVE_ATAN2F]) | ||
170 | HAVE_CBRT=1; AC_SUBST([HAVE_CBRT]) | ||
171 | HAVE_CBRTF=1; AC_SUBST([HAVE_CBRTF]) | ||
172 | HAVE_CBRTL=1; AC_SUBST([HAVE_CBRTL]) | ||
173 | HAVE_COPYSIGN=1; AC_SUBST([HAVE_COPYSIGN]) | ||
174 | HAVE_COPYSIGNL=1; AC_SUBST([HAVE_COPYSIGNL]) | ||
175 | HAVE_COSF=1; AC_SUBST([HAVE_COSF]) | ||
91 | HAVE_COSL=1; AC_SUBST([HAVE_COSL]) | 176 | HAVE_COSL=1; AC_SUBST([HAVE_COSL]) |
177 | HAVE_COSHF=1; AC_SUBST([HAVE_COSHF]) | ||
178 | HAVE_EXPF=1; AC_SUBST([HAVE_EXPF]) | ||
92 | HAVE_EXPL=1; AC_SUBST([HAVE_EXPL]) | 179 | HAVE_EXPL=1; AC_SUBST([HAVE_EXPL]) |
180 | HAVE_EXPM1=1; AC_SUBST([HAVE_EXPM1]) | ||
181 | HAVE_EXPM1F=1; AC_SUBST([HAVE_EXPM1F]) | ||
182 | HAVE_FABSF=1; AC_SUBST([HAVE_FABSF]) | ||
183 | HAVE_FABSL=1; AC_SUBST([HAVE_FABSL]) | ||
184 | HAVE_FMA=1; AC_SUBST([HAVE_FMA]) | ||
185 | HAVE_FMAF=1; AC_SUBST([HAVE_FMAF]) | ||
186 | HAVE_FMAL=1; AC_SUBST([HAVE_FMAL]) | ||
187 | HAVE_FMODF=1; AC_SUBST([HAVE_FMODF]) | ||
188 | HAVE_FMODL=1; AC_SUBST([HAVE_FMODL]) | ||
189 | HAVE_FREXPF=1; AC_SUBST([HAVE_FREXPF]) | ||
190 | HAVE_HYPOTF=1; AC_SUBST([HAVE_HYPOTF]) | ||
191 | HAVE_HYPOTL=1; AC_SUBST([HAVE_HYPOTL]) | ||
192 | HAVE_ILOGB=1; AC_SUBST([HAVE_ILOGB]) | ||
193 | HAVE_ILOGBF=1; AC_SUBST([HAVE_ILOGBF]) | ||
194 | HAVE_ILOGBL=1; AC_SUBST([HAVE_ILOGBL]) | ||
93 | HAVE_ISNANF=1; AC_SUBST([HAVE_ISNANF]) | 195 | HAVE_ISNANF=1; AC_SUBST([HAVE_ISNANF]) |
94 | HAVE_ISNAND=1; AC_SUBST([HAVE_ISNAND]) | 196 | HAVE_ISNAND=1; AC_SUBST([HAVE_ISNAND]) |
95 | HAVE_ISNANL=1; AC_SUBST([HAVE_ISNANL]) | 197 | HAVE_ISNANL=1; AC_SUBST([HAVE_ISNANL]) |
198 | HAVE_LDEXPF=1; AC_SUBST([HAVE_LDEXPF]) | ||
199 | HAVE_LOGF=1; AC_SUBST([HAVE_LOGF]) | ||
96 | HAVE_LOGL=1; AC_SUBST([HAVE_LOGL]) | 200 | HAVE_LOGL=1; AC_SUBST([HAVE_LOGL]) |
201 | HAVE_LOG10F=1; AC_SUBST([HAVE_LOG10F]) | ||
202 | HAVE_LOG10L=1; AC_SUBST([HAVE_LOG10L]) | ||
203 | HAVE_LOG1P=1; AC_SUBST([HAVE_LOG1P]) | ||
204 | HAVE_LOG1PF=1; AC_SUBST([HAVE_LOG1PF]) | ||
205 | HAVE_LOG1PL=1; AC_SUBST([HAVE_LOG1PL]) | ||
206 | HAVE_LOGBF=1; AC_SUBST([HAVE_LOGBF]) | ||
207 | HAVE_LOGBL=1; AC_SUBST([HAVE_LOGBL]) | ||
208 | HAVE_MODFF=1; AC_SUBST([HAVE_MODFF]) | ||
209 | HAVE_MODFL=1; AC_SUBST([HAVE_MODFL]) | ||
210 | HAVE_POWF=1; AC_SUBST([HAVE_POWF]) | ||
211 | HAVE_REMAINDER=1; AC_SUBST([HAVE_REMAINDER]) | ||
212 | HAVE_REMAINDERF=1; AC_SUBST([HAVE_REMAINDERF]) | ||
213 | HAVE_RINT=1; AC_SUBST([HAVE_RINT]) | ||
214 | HAVE_RINTL=1; AC_SUBST([HAVE_RINTL]) | ||
215 | HAVE_SINF=1; AC_SUBST([HAVE_SINF]) | ||
97 | HAVE_SINL=1; AC_SUBST([HAVE_SINL]) | 216 | HAVE_SINL=1; AC_SUBST([HAVE_SINL]) |
217 | HAVE_SINHF=1; AC_SUBST([HAVE_SINHF]) | ||
218 | HAVE_SQRTF=1; AC_SUBST([HAVE_SQRTF]) | ||
98 | HAVE_SQRTL=1; AC_SUBST([HAVE_SQRTL]) | 219 | HAVE_SQRTL=1; AC_SUBST([HAVE_SQRTL]) |
220 | HAVE_TANF=1; AC_SUBST([HAVE_TANF]) | ||
99 | HAVE_TANL=1; AC_SUBST([HAVE_TANL]) | 221 | HAVE_TANL=1; AC_SUBST([HAVE_TANL]) |
222 | HAVE_TANHF=1; AC_SUBST([HAVE_TANHF]) | ||
100 | HAVE_DECL_ACOSL=1; AC_SUBST([HAVE_DECL_ACOSL]) | 223 | HAVE_DECL_ACOSL=1; AC_SUBST([HAVE_DECL_ACOSL]) |
101 | HAVE_DECL_ASINL=1; AC_SUBST([HAVE_DECL_ASINL]) | 224 | HAVE_DECL_ASINL=1; AC_SUBST([HAVE_DECL_ASINL]) |
102 | HAVE_DECL_ATANL=1; AC_SUBST([HAVE_DECL_ATANL]) | 225 | HAVE_DECL_ATANL=1; AC_SUBST([HAVE_DECL_ATANL]) |
226 | HAVE_DECL_CBRTF=1; AC_SUBST([HAVE_DECL_CBRTF]) | ||
227 | HAVE_DECL_CBRTL=1; AC_SUBST([HAVE_DECL_CBRTL]) | ||
103 | HAVE_DECL_CEILF=1; AC_SUBST([HAVE_DECL_CEILF]) | 228 | HAVE_DECL_CEILF=1; AC_SUBST([HAVE_DECL_CEILF]) |
104 | HAVE_DECL_CEILL=1; AC_SUBST([HAVE_DECL_CEILL]) | 229 | HAVE_DECL_CEILL=1; AC_SUBST([HAVE_DECL_CEILL]) |
230 | HAVE_DECL_COPYSIGNF=1; AC_SUBST([HAVE_DECL_COPYSIGNF]) | ||
105 | HAVE_DECL_COSL=1; AC_SUBST([HAVE_DECL_COSL]) | 231 | HAVE_DECL_COSL=1; AC_SUBST([HAVE_DECL_COSL]) |
106 | HAVE_DECL_EXPL=1; AC_SUBST([HAVE_DECL_EXPL]) | 232 | HAVE_DECL_EXPL=1; AC_SUBST([HAVE_DECL_EXPL]) |
233 | HAVE_DECL_EXP2=1; AC_SUBST([HAVE_DECL_EXP2]) | ||
234 | HAVE_DECL_EXP2F=1; AC_SUBST([HAVE_DECL_EXP2F]) | ||
235 | HAVE_DECL_EXP2L=1; AC_SUBST([HAVE_DECL_EXP2L]) | ||
236 | HAVE_DECL_EXPM1L=1; AC_SUBST([HAVE_DECL_EXPM1L]) | ||
107 | HAVE_DECL_FLOORF=1; AC_SUBST([HAVE_DECL_FLOORF]) | 237 | HAVE_DECL_FLOORF=1; AC_SUBST([HAVE_DECL_FLOORF]) |
108 | HAVE_DECL_FLOORL=1; AC_SUBST([HAVE_DECL_FLOORL]) | 238 | HAVE_DECL_FLOORL=1; AC_SUBST([HAVE_DECL_FLOORL]) |
109 | HAVE_DECL_FREXPL=1; AC_SUBST([HAVE_DECL_FREXPL]) | 239 | HAVE_DECL_FREXPL=1; AC_SUBST([HAVE_DECL_FREXPL]) |
110 | HAVE_DECL_LDEXPL=1; AC_SUBST([HAVE_DECL_LDEXPL]) | 240 | HAVE_DECL_LDEXPL=1; AC_SUBST([HAVE_DECL_LDEXPL]) |
111 | HAVE_DECL_LOGB=1; AC_SUBST([HAVE_DECL_LOGB]) | ||
112 | HAVE_DECL_LOGL=1; AC_SUBST([HAVE_DECL_LOGL]) | 241 | HAVE_DECL_LOGL=1; AC_SUBST([HAVE_DECL_LOGL]) |
242 | HAVE_DECL_LOG10L=1; AC_SUBST([HAVE_DECL_LOG10L]) | ||
243 | HAVE_DECL_LOG2=1; AC_SUBST([HAVE_DECL_LOG2]) | ||
244 | HAVE_DECL_LOG2F=1; AC_SUBST([HAVE_DECL_LOG2F]) | ||
245 | HAVE_DECL_LOG2L=1; AC_SUBST([HAVE_DECL_LOG2L]) | ||
246 | HAVE_DECL_LOGB=1; AC_SUBST([HAVE_DECL_LOGB]) | ||
247 | HAVE_DECL_REMAINDER=1; AC_SUBST([HAVE_DECL_REMAINDER]) | ||
248 | HAVE_DECL_REMAINDERL=1; AC_SUBST([HAVE_DECL_REMAINDERL]) | ||
249 | HAVE_DECL_RINTF=1; AC_SUBST([HAVE_DECL_RINTF]) | ||
113 | HAVE_DECL_ROUND=1; AC_SUBST([HAVE_DECL_ROUND]) | 250 | HAVE_DECL_ROUND=1; AC_SUBST([HAVE_DECL_ROUND]) |
114 | HAVE_DECL_ROUNDF=1; AC_SUBST([HAVE_DECL_ROUNDF]) | 251 | HAVE_DECL_ROUNDF=1; AC_SUBST([HAVE_DECL_ROUNDF]) |
115 | HAVE_DECL_ROUNDL=1; AC_SUBST([HAVE_DECL_ROUNDL]) | 252 | HAVE_DECL_ROUNDL=1; AC_SUBST([HAVE_DECL_ROUNDL]) |
@@ -119,22 +256,98 @@ AC_DEFUN([gl_MATH_H_DEFAULTS], | |||
119 | HAVE_DECL_TRUNC=1; AC_SUBST([HAVE_DECL_TRUNC]) | 256 | HAVE_DECL_TRUNC=1; AC_SUBST([HAVE_DECL_TRUNC]) |
120 | HAVE_DECL_TRUNCF=1; AC_SUBST([HAVE_DECL_TRUNCF]) | 257 | HAVE_DECL_TRUNCF=1; AC_SUBST([HAVE_DECL_TRUNCF]) |
121 | HAVE_DECL_TRUNCL=1; AC_SUBST([HAVE_DECL_TRUNCL]) | 258 | HAVE_DECL_TRUNCL=1; AC_SUBST([HAVE_DECL_TRUNCL]) |
259 | REPLACE_CBRTF=0; AC_SUBST([REPLACE_CBRTF]) | ||
260 | REPLACE_CBRTL=0; AC_SUBST([REPLACE_CBRTL]) | ||
261 | REPLACE_CEIL=0; AC_SUBST([REPLACE_CEIL]) | ||
122 | REPLACE_CEILF=0; AC_SUBST([REPLACE_CEILF]) | 262 | REPLACE_CEILF=0; AC_SUBST([REPLACE_CEILF]) |
123 | REPLACE_CEILL=0; AC_SUBST([REPLACE_CEILL]) | 263 | REPLACE_CEILL=0; AC_SUBST([REPLACE_CEILL]) |
264 | REPLACE_EXPM1=0; AC_SUBST([REPLACE_EXPM1]) | ||
265 | REPLACE_EXPM1F=0; AC_SUBST([REPLACE_EXPM1F]) | ||
266 | REPLACE_EXP2=0; AC_SUBST([REPLACE_EXP2]) | ||
267 | REPLACE_EXP2L=0; AC_SUBST([REPLACE_EXP2L]) | ||
268 | REPLACE_FABSL=0; AC_SUBST([REPLACE_FABSL]) | ||
269 | REPLACE_FLOOR=0; AC_SUBST([REPLACE_FLOOR]) | ||
124 | REPLACE_FLOORF=0; AC_SUBST([REPLACE_FLOORF]) | 270 | REPLACE_FLOORF=0; AC_SUBST([REPLACE_FLOORF]) |
125 | REPLACE_FLOORL=0; AC_SUBST([REPLACE_FLOORL]) | 271 | REPLACE_FLOORL=0; AC_SUBST([REPLACE_FLOORL]) |
272 | REPLACE_FMA=0; AC_SUBST([REPLACE_FMA]) | ||
273 | REPLACE_FMAF=0; AC_SUBST([REPLACE_FMAF]) | ||
274 | REPLACE_FMAL=0; AC_SUBST([REPLACE_FMAL]) | ||
275 | REPLACE_FMOD=0; AC_SUBST([REPLACE_FMOD]) | ||
276 | REPLACE_FMODF=0; AC_SUBST([REPLACE_FMODF]) | ||
277 | REPLACE_FMODL=0; AC_SUBST([REPLACE_FMODL]) | ||
278 | REPLACE_FREXPF=0; AC_SUBST([REPLACE_FREXPF]) | ||
126 | REPLACE_FREXP=0; AC_SUBST([REPLACE_FREXP]) | 279 | REPLACE_FREXP=0; AC_SUBST([REPLACE_FREXP]) |
127 | REPLACE_FREXPL=0; AC_SUBST([REPLACE_FREXPL]) | 280 | REPLACE_FREXPL=0; AC_SUBST([REPLACE_FREXPL]) |
128 | REPLACE_HUGE_VAL=0; AC_SUBST([REPLACE_HUGE_VAL]) | 281 | REPLACE_HUGE_VAL=0; AC_SUBST([REPLACE_HUGE_VAL]) |
282 | REPLACE_HYPOT=0; AC_SUBST([REPLACE_HYPOT]) | ||
283 | REPLACE_HYPOTF=0; AC_SUBST([REPLACE_HYPOTF]) | ||
284 | REPLACE_HYPOTL=0; AC_SUBST([REPLACE_HYPOTL]) | ||
285 | REPLACE_ILOGB=0; AC_SUBST([REPLACE_ILOGB]) | ||
286 | REPLACE_ILOGBF=0; AC_SUBST([REPLACE_ILOGBF]) | ||
129 | REPLACE_ISFINITE=0; AC_SUBST([REPLACE_ISFINITE]) | 287 | REPLACE_ISFINITE=0; AC_SUBST([REPLACE_ISFINITE]) |
130 | REPLACE_ISINF=0; AC_SUBST([REPLACE_ISINF]) | 288 | REPLACE_ISINF=0; AC_SUBST([REPLACE_ISINF]) |
131 | REPLACE_ISNAN=0; AC_SUBST([REPLACE_ISNAN]) | 289 | REPLACE_ISNAN=0; AC_SUBST([REPLACE_ISNAN]) |
132 | REPLACE_LDEXPL=0; AC_SUBST([REPLACE_LDEXPL]) | 290 | REPLACE_LDEXPL=0; AC_SUBST([REPLACE_LDEXPL]) |
291 | REPLACE_LOG=0; AC_SUBST([REPLACE_LOG]) | ||
292 | REPLACE_LOGF=0; AC_SUBST([REPLACE_LOGF]) | ||
293 | REPLACE_LOGL=0; AC_SUBST([REPLACE_LOGL]) | ||
294 | REPLACE_LOG10=0; AC_SUBST([REPLACE_LOG10]) | ||
295 | REPLACE_LOG10F=0; AC_SUBST([REPLACE_LOG10F]) | ||
296 | REPLACE_LOG10L=0; AC_SUBST([REPLACE_LOG10L]) | ||
297 | REPLACE_LOG1P=0; AC_SUBST([REPLACE_LOG1P]) | ||
298 | REPLACE_LOG1PF=0; AC_SUBST([REPLACE_LOG1PF]) | ||
299 | REPLACE_LOG1PL=0; AC_SUBST([REPLACE_LOG1PL]) | ||
300 | REPLACE_LOG2=0; AC_SUBST([REPLACE_LOG2]) | ||
301 | REPLACE_LOG2F=0; AC_SUBST([REPLACE_LOG2F]) | ||
302 | REPLACE_LOG2L=0; AC_SUBST([REPLACE_LOG2L]) | ||
303 | REPLACE_LOGB=0; AC_SUBST([REPLACE_LOGB]) | ||
304 | REPLACE_LOGBF=0; AC_SUBST([REPLACE_LOGBF]) | ||
305 | REPLACE_LOGBL=0; AC_SUBST([REPLACE_LOGBL]) | ||
306 | REPLACE_MODF=0; AC_SUBST([REPLACE_MODF]) | ||
307 | REPLACE_MODFF=0; AC_SUBST([REPLACE_MODFF]) | ||
308 | REPLACE_MODFL=0; AC_SUBST([REPLACE_MODFL]) | ||
133 | REPLACE_NAN=0; AC_SUBST([REPLACE_NAN]) | 309 | REPLACE_NAN=0; AC_SUBST([REPLACE_NAN]) |
310 | REPLACE_REMAINDER=0; AC_SUBST([REPLACE_REMAINDER]) | ||
311 | REPLACE_REMAINDERF=0; AC_SUBST([REPLACE_REMAINDERF]) | ||
312 | REPLACE_REMAINDERL=0; AC_SUBST([REPLACE_REMAINDERL]) | ||
134 | REPLACE_ROUND=0; AC_SUBST([REPLACE_ROUND]) | 313 | REPLACE_ROUND=0; AC_SUBST([REPLACE_ROUND]) |
135 | REPLACE_ROUNDF=0; AC_SUBST([REPLACE_ROUNDF]) | 314 | REPLACE_ROUNDF=0; AC_SUBST([REPLACE_ROUNDF]) |
136 | REPLACE_ROUNDL=0; AC_SUBST([REPLACE_ROUNDL]) | 315 | REPLACE_ROUNDL=0; AC_SUBST([REPLACE_ROUNDL]) |
137 | REPLACE_SIGNBIT=0; AC_SUBST([REPLACE_SIGNBIT]) | 316 | REPLACE_SIGNBIT=0; AC_SUBST([REPLACE_SIGNBIT]) |
138 | REPLACE_SIGNBIT_USING_GCC=0; AC_SUBST([REPLACE_SIGNBIT_USING_GCC]) | 317 | REPLACE_SIGNBIT_USING_GCC=0; AC_SUBST([REPLACE_SIGNBIT_USING_GCC]) |
318 | REPLACE_SQRTL=0; AC_SUBST([REPLACE_SQRTL]) | ||
319 | REPLACE_TRUNC=0; AC_SUBST([REPLACE_TRUNC]) | ||
320 | REPLACE_TRUNCF=0; AC_SUBST([REPLACE_TRUNCF]) | ||
139 | REPLACE_TRUNCL=0; AC_SUBST([REPLACE_TRUNCL]) | 321 | REPLACE_TRUNCL=0; AC_SUBST([REPLACE_TRUNCL]) |
140 | ]) | 322 | ]) |
323 | |||
324 | # gl_LONG_DOUBLE_VS_DOUBLE | ||
325 | # determines whether 'long double' and 'double' have the same representation. | ||
326 | # Sets variable HAVE_SAME_LONG_DOUBLE_AS_DOUBLE to 0 or 1, and defines | ||
327 | # HAVE_SAME_LONG_DOUBLE_AS_DOUBLE accordingly. | ||
328 | # The currently known platforms where this is the case are: | ||
329 | # Linux/HPPA, Minix 3.1.8, AIX 5, AIX 6 and 7 with xlc, MSVC 9. | ||
330 | AC_DEFUN([gl_LONG_DOUBLE_VS_DOUBLE], | ||
331 | [ | ||
332 | AC_CACHE_CHECK([whether long double and double are the same], | ||
333 | [gl_cv_long_double_equals_double], | ||
334 | [AC_COMPILE_IFELSE( | ||
335 | [AC_LANG_PROGRAM([[#include <float.h>]], | ||
336 | [[typedef int check[sizeof (long double) == sizeof (double) | ||
337 | && LDBL_MANT_DIG == DBL_MANT_DIG | ||
338 | && LDBL_MAX_EXP == DBL_MAX_EXP | ||
339 | && LDBL_MIN_EXP == DBL_MIN_EXP | ||
340 | ? 1 : -1]; | ||
341 | ]])], | ||
342 | [gl_cv_long_double_equals_double=yes], | ||
343 | [gl_cv_long_double_equals_double=no]) | ||
344 | ]) | ||
345 | if test $gl_cv_long_double_equals_double = yes; then | ||
346 | AC_DEFINE([HAVE_SAME_LONG_DOUBLE_AS_DOUBLE], [1], | ||
347 | [Define to 1 if 'long double' and 'double' have the same representation.]) | ||
348 | HAVE_SAME_LONG_DOUBLE_AS_DOUBLE=1 | ||
349 | else | ||
350 | HAVE_SAME_LONG_DOUBLE_AS_DOUBLE=0 | ||
351 | fi | ||
352 | AC_SUBST([HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]) | ||
353 | ]) | ||
diff --git a/gl/m4/mbrtowc.m4 b/gl/m4/mbrtowc.m4 index 606de5c9..4c9f3886 100644 --- a/gl/m4/mbrtowc.m4 +++ b/gl/m4/mbrtowc.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # mbrtowc.m4 serial 17 | 1 | # mbrtowc.m4 serial 25 |
2 | dnl Copyright (C) 2001-2002, 2004-2005, 2008-2010 Free Software Foundation, | 2 | dnl Copyright (C) 2001-2002, 2004-2005, 2008-2013 Free Software Foundation, |
3 | dnl Inc. | 3 | dnl 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, |
@@ -15,16 +15,40 @@ AC_DEFUN([gl_FUNC_MBRTOWC], | |||
15 | AC_CHECK_FUNCS_ONCE([mbrtowc]) | 15 | AC_CHECK_FUNCS_ONCE([mbrtowc]) |
16 | if test $ac_cv_func_mbrtowc = no; then | 16 | if test $ac_cv_func_mbrtowc = no; then |
17 | HAVE_MBRTOWC=0 | 17 | HAVE_MBRTOWC=0 |
18 | AC_CHECK_DECLS([mbrtowc],,, [[ | ||
19 | /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before | ||
20 | <wchar.h>. | ||
21 | BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be | ||
22 | included before <wchar.h>. */ | ||
23 | #include <stddef.h> | ||
24 | #include <stdio.h> | ||
25 | #include <time.h> | ||
26 | #include <wchar.h> | ||
27 | ]]) | ||
28 | if test $ac_cv_have_decl_mbrtowc = yes; then | ||
29 | dnl On Minix 3.1.8, the system's <wchar.h> declares mbrtowc() although | ||
30 | dnl it does not have the function. Avoid a collision with gnulib's | ||
31 | dnl replacement. | ||
32 | REPLACE_MBRTOWC=1 | ||
33 | fi | ||
18 | else | 34 | else |
19 | if test $REPLACE_MBSTATE_T = 1; then | 35 | if test $REPLACE_MBSTATE_T = 1; then |
20 | REPLACE_MBRTOWC=1 | 36 | REPLACE_MBRTOWC=1 |
21 | else | 37 | else |
22 | gl_MBRTOWC_NULL_ARG | 38 | gl_MBRTOWC_NULL_ARG1 |
39 | gl_MBRTOWC_NULL_ARG2 | ||
23 | gl_MBRTOWC_RETVAL | 40 | gl_MBRTOWC_RETVAL |
24 | gl_MBRTOWC_NUL_RETVAL | 41 | gl_MBRTOWC_NUL_RETVAL |
25 | case "$gl_cv_func_mbrtowc_null_arg" in | 42 | case "$gl_cv_func_mbrtowc_null_arg1" in |
43 | *yes) ;; | ||
44 | *) AC_DEFINE([MBRTOWC_NULL_ARG1_BUG], [1], | ||
45 | [Define if the mbrtowc function has the NULL pwc argument bug.]) | ||
46 | REPLACE_MBRTOWC=1 | ||
47 | ;; | ||
48 | esac | ||
49 | case "$gl_cv_func_mbrtowc_null_arg2" in | ||
26 | *yes) ;; | 50 | *yes) ;; |
27 | *) AC_DEFINE([MBRTOWC_NULL_ARG_BUG], [1], | 51 | *) AC_DEFINE([MBRTOWC_NULL_ARG2_BUG], [1], |
28 | [Define if the mbrtowc function has the NULL string argument bug.]) | 52 | [Define if the mbrtowc function has the NULL string argument bug.]) |
29 | REPLACE_MBRTOWC=1 | 53 | REPLACE_MBRTOWC=1 |
30 | ;; | 54 | ;; |
@@ -45,11 +69,6 @@ AC_DEFUN([gl_FUNC_MBRTOWC], | |||
45 | esac | 69 | esac |
46 | fi | 70 | fi |
47 | fi | 71 | fi |
48 | if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then | ||
49 | gl_REPLACE_WCHAR_H | ||
50 | AC_LIBOBJ([mbrtowc]) | ||
51 | gl_PREREQ_MBRTOWC | ||
52 | fi | ||
53 | ]) | 72 | ]) |
54 | 73 | ||
55 | dnl Test whether mbsinit() and mbrtowc() need to be overridden in a way that | 74 | dnl Test whether mbsinit() and mbrtowc() need to be overridden in a way that |
@@ -80,9 +99,6 @@ AC_DEFUN([gl_MBSTATE_T_BROKEN], | |||
80 | else | 99 | else |
81 | REPLACE_MBSTATE_T=1 | 100 | REPLACE_MBSTATE_T=1 |
82 | fi | 101 | fi |
83 | if test $REPLACE_MBSTATE_T = 1; then | ||
84 | gl_REPLACE_WCHAR_H | ||
85 | fi | ||
86 | ]) | 102 | ]) |
87 | 103 | ||
88 | dnl Test whether mbrtowc puts the state into non-initial state when parsing an | 104 | dnl Test whether mbrtowc puts the state into non-initial state when parsing an |
@@ -101,16 +117,24 @@ AC_DEFUN([gl_MBRTOWC_INCOMPLETE_STATE], | |||
101 | dnl is present. | 117 | dnl is present. |
102 | changequote(,)dnl | 118 | changequote(,)dnl |
103 | case "$host_os" in | 119 | case "$host_os" in |
104 | # Guess no on AIX and OSF/1. | 120 | # Guess no on AIX and OSF/1. |
105 | osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;; | 121 | aix* | osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;; |
106 | # Guess yes otherwise. | 122 | # Guess yes otherwise. |
107 | *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;; | 123 | *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;; |
108 | esac | 124 | esac |
109 | changequote([,])dnl | 125 | changequote([,])dnl |
110 | if test $LOCALE_JA != none; then | 126 | if test $LOCALE_JA != none; then |
111 | AC_TRY_RUN([ | 127 | AC_RUN_IFELSE( |
128 | [AC_LANG_SOURCE([[ | ||
112 | #include <locale.h> | 129 | #include <locale.h> |
113 | #include <string.h> | 130 | #include <string.h> |
131 | /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before | ||
132 | <wchar.h>. | ||
133 | BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be | ||
134 | included before <wchar.h>. */ | ||
135 | #include <stddef.h> | ||
136 | #include <stdio.h> | ||
137 | #include <time.h> | ||
114 | #include <wchar.h> | 138 | #include <wchar.h> |
115 | int main () | 139 | int main () |
116 | { | 140 | { |
@@ -126,7 +150,7 @@ int main () | |||
126 | return 1; | 150 | return 1; |
127 | } | 151 | } |
128 | return 0; | 152 | return 0; |
129 | }], | 153 | }]])], |
130 | [gl_cv_func_mbrtowc_incomplete_state=yes], | 154 | [gl_cv_func_mbrtowc_incomplete_state=yes], |
131 | [gl_cv_func_mbrtowc_incomplete_state=no], | 155 | [gl_cv_func_mbrtowc_incomplete_state=no], |
132 | [:]) | 156 | [:]) |
@@ -156,10 +180,18 @@ changequote(,)dnl | |||
156 | esac | 180 | esac |
157 | changequote([,])dnl | 181 | changequote([,])dnl |
158 | if test $LOCALE_ZH_CN != none; then | 182 | if test $LOCALE_ZH_CN != none; then |
159 | AC_TRY_RUN([ | 183 | AC_RUN_IFELSE( |
184 | [AC_LANG_SOURCE([[ | ||
160 | #include <locale.h> | 185 | #include <locale.h> |
161 | #include <stdlib.h> | 186 | #include <stdlib.h> |
162 | #include <string.h> | 187 | #include <string.h> |
188 | /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before | ||
189 | <wchar.h>. | ||
190 | BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be | ||
191 | included before <wchar.h>. */ | ||
192 | #include <stddef.h> | ||
193 | #include <stdio.h> | ||
194 | #include <time.h> | ||
163 | #include <wchar.h> | 195 | #include <wchar.h> |
164 | int main () | 196 | int main () |
165 | { | 197 | { |
@@ -178,7 +210,7 @@ int main () | |||
178 | return 1; | 210 | return 1; |
179 | } | 211 | } |
180 | return 0; | 212 | return 0; |
181 | }], | 213 | }]])], |
182 | [gl_cv_func_mbrtowc_sanitycheck=yes], | 214 | [gl_cv_func_mbrtowc_sanitycheck=yes], |
183 | [gl_cv_func_mbrtowc_sanitycheck=no], | 215 | [gl_cv_func_mbrtowc_sanitycheck=no], |
184 | [:]) | 216 | [:]) |
@@ -186,31 +218,109 @@ int main () | |||
186 | ]) | 218 | ]) |
187 | ]) | 219 | ]) |
188 | 220 | ||
221 | dnl Test whether mbrtowc supports a NULL pwc argument correctly. | ||
222 | dnl Result is gl_cv_func_mbrtowc_null_arg1. | ||
223 | |||
224 | AC_DEFUN([gl_MBRTOWC_NULL_ARG1], | ||
225 | [ | ||
226 | AC_REQUIRE([AC_PROG_CC]) | ||
227 | AC_REQUIRE([gt_LOCALE_FR_UTF8]) | ||
228 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
229 | AC_CACHE_CHECK([whether mbrtowc handles a NULL pwc argument], | ||
230 | [gl_cv_func_mbrtowc_null_arg1], | ||
231 | [ | ||
232 | dnl Initial guess, used when cross-compiling or when no suitable locale | ||
233 | dnl is present. | ||
234 | changequote(,)dnl | ||
235 | case "$host_os" in | ||
236 | # Guess no on Solaris. | ||
237 | solaris*) gl_cv_func_mbrtowc_null_arg1="guessing no" ;; | ||
238 | # Guess yes otherwise. | ||
239 | *) gl_cv_func_mbrtowc_null_arg1="guessing yes" ;; | ||
240 | esac | ||
241 | changequote([,])dnl | ||
242 | if test $LOCALE_FR_UTF8 != none; then | ||
243 | AC_RUN_IFELSE( | ||
244 | [AC_LANG_SOURCE([[ | ||
245 | #include <locale.h> | ||
246 | #include <stdlib.h> | ||
247 | #include <string.h> | ||
248 | /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before | ||
249 | <wchar.h>. | ||
250 | BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be | ||
251 | included before <wchar.h>. */ | ||
252 | #include <stddef.h> | ||
253 | #include <stdio.h> | ||
254 | #include <time.h> | ||
255 | #include <wchar.h> | ||
256 | int main () | ||
257 | { | ||
258 | int result = 0; | ||
259 | |||
260 | if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) | ||
261 | { | ||
262 | char input[] = "\303\237er"; | ||
263 | mbstate_t state; | ||
264 | wchar_t wc; | ||
265 | size_t ret; | ||
266 | |||
267 | memset (&state, '\0', sizeof (mbstate_t)); | ||
268 | wc = (wchar_t) 0xBADFACE; | ||
269 | ret = mbrtowc (&wc, input, 5, &state); | ||
270 | if (ret != 2) | ||
271 | result |= 1; | ||
272 | if (!mbsinit (&state)) | ||
273 | result |= 2; | ||
274 | |||
275 | memset (&state, '\0', sizeof (mbstate_t)); | ||
276 | ret = mbrtowc (NULL, input, 5, &state); | ||
277 | if (ret != 2) /* Solaris 7 fails here: ret is -1. */ | ||
278 | result |= 4; | ||
279 | if (!mbsinit (&state)) | ||
280 | result |= 8; | ||
281 | } | ||
282 | return result; | ||
283 | }]])], | ||
284 | [gl_cv_func_mbrtowc_null_arg1=yes], | ||
285 | [gl_cv_func_mbrtowc_null_arg1=no], | ||
286 | [:]) | ||
287 | fi | ||
288 | ]) | ||
289 | ]) | ||
290 | |||
189 | dnl Test whether mbrtowc supports a NULL string argument correctly. | 291 | dnl Test whether mbrtowc supports a NULL string argument correctly. |
190 | dnl Result is gl_cv_func_mbrtowc_null_arg. | 292 | dnl Result is gl_cv_func_mbrtowc_null_arg2. |
191 | 293 | ||
192 | AC_DEFUN([gl_MBRTOWC_NULL_ARG], | 294 | AC_DEFUN([gl_MBRTOWC_NULL_ARG2], |
193 | [ | 295 | [ |
194 | AC_REQUIRE([AC_PROG_CC]) | 296 | AC_REQUIRE([AC_PROG_CC]) |
195 | AC_REQUIRE([gt_LOCALE_FR_UTF8]) | 297 | AC_REQUIRE([gt_LOCALE_FR_UTF8]) |
196 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | 298 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles |
197 | AC_CACHE_CHECK([whether mbrtowc handles a NULL string argument], | 299 | AC_CACHE_CHECK([whether mbrtowc handles a NULL string argument], |
198 | [gl_cv_func_mbrtowc_null_arg], | 300 | [gl_cv_func_mbrtowc_null_arg2], |
199 | [ | 301 | [ |
200 | dnl Initial guess, used when cross-compiling or when no suitable locale | 302 | dnl Initial guess, used when cross-compiling or when no suitable locale |
201 | dnl is present. | 303 | dnl is present. |
202 | changequote(,)dnl | 304 | changequote(,)dnl |
203 | case "$host_os" in | 305 | case "$host_os" in |
204 | # Guess no on OSF/1. | 306 | # Guess no on OSF/1. |
205 | osf*) gl_cv_func_mbrtowc_null_arg="guessing no" ;; | 307 | osf*) gl_cv_func_mbrtowc_null_arg2="guessing no" ;; |
206 | # Guess yes otherwise. | 308 | # Guess yes otherwise. |
207 | *) gl_cv_func_mbrtowc_null_arg="guessing yes" ;; | 309 | *) gl_cv_func_mbrtowc_null_arg2="guessing yes" ;; |
208 | esac | 310 | esac |
209 | changequote([,])dnl | 311 | changequote([,])dnl |
210 | if test $LOCALE_FR_UTF8 != none; then | 312 | if test $LOCALE_FR_UTF8 != none; then |
211 | AC_TRY_RUN([ | 313 | AC_RUN_IFELSE( |
314 | [AC_LANG_SOURCE([[ | ||
212 | #include <locale.h> | 315 | #include <locale.h> |
213 | #include <string.h> | 316 | #include <string.h> |
317 | /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before | ||
318 | <wchar.h>. | ||
319 | BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be | ||
320 | included before <wchar.h>. */ | ||
321 | #include <stddef.h> | ||
322 | #include <stdio.h> | ||
323 | #include <time.h> | ||
214 | #include <wchar.h> | 324 | #include <wchar.h> |
215 | int main () | 325 | int main () |
216 | { | 326 | { |
@@ -228,7 +338,10 @@ int main () | |||
228 | return 1; | 338 | return 1; |
229 | } | 339 | } |
230 | return 0; | 340 | return 0; |
231 | }], [gl_cv_func_mbrtowc_null_arg=yes], [gl_cv_func_mbrtowc_null_arg=no], [:]) | 341 | }]])], |
342 | [gl_cv_func_mbrtowc_null_arg2=yes], | ||
343 | [gl_cv_func_mbrtowc_null_arg2=no], | ||
344 | [:]) | ||
232 | fi | 345 | fi |
233 | ]) | 346 | ]) |
234 | ]) | 347 | ]) |
@@ -243,7 +356,7 @@ AC_DEFUN([gl_MBRTOWC_RETVAL], | |||
243 | AC_REQUIRE([AC_PROG_CC]) | 356 | AC_REQUIRE([AC_PROG_CC]) |
244 | AC_REQUIRE([gt_LOCALE_FR_UTF8]) | 357 | AC_REQUIRE([gt_LOCALE_FR_UTF8]) |
245 | AC_REQUIRE([gt_LOCALE_JA]) | 358 | AC_REQUIRE([gt_LOCALE_JA]) |
246 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | 359 | AC_REQUIRE([AC_CANONICAL_HOST]) |
247 | AC_CACHE_CHECK([whether mbrtowc has a correct return value], | 360 | AC_CACHE_CHECK([whether mbrtowc has a correct return value], |
248 | [gl_cv_func_mbrtowc_retval], | 361 | [gl_cv_func_mbrtowc_retval], |
249 | [ | 362 | [ |
@@ -251,19 +364,30 @@ AC_DEFUN([gl_MBRTOWC_RETVAL], | |||
251 | dnl is present. | 364 | dnl is present. |
252 | changequote(,)dnl | 365 | changequote(,)dnl |
253 | case "$host_os" in | 366 | case "$host_os" in |
254 | # Guess no on HP-UX and Solaris. | 367 | # Guess no on HP-UX, Solaris, native Windows. |
255 | hpux* | solaris*) gl_cv_func_mbrtowc_retval="guessing no" ;; | 368 | hpux* | solaris* | mingw*) gl_cv_func_mbrtowc_retval="guessing no" ;; |
256 | # Guess yes otherwise. | 369 | # Guess yes otherwise. |
257 | *) gl_cv_func_mbrtowc_retval="guessing yes" ;; | 370 | *) gl_cv_func_mbrtowc_retval="guessing yes" ;; |
258 | esac | 371 | esac |
259 | changequote([,])dnl | 372 | changequote([,])dnl |
260 | if test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none; then | 373 | if test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none \ |
261 | AC_TRY_RUN([ | 374 | || { case "$host_os" in mingw*) true;; *) false;; esac; }; then |
375 | AC_RUN_IFELSE( | ||
376 | [AC_LANG_SOURCE([[ | ||
262 | #include <locale.h> | 377 | #include <locale.h> |
263 | #include <string.h> | 378 | #include <string.h> |
379 | /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before | ||
380 | <wchar.h>. | ||
381 | BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be | ||
382 | included before <wchar.h>. */ | ||
383 | #include <stddef.h> | ||
384 | #include <stdio.h> | ||
385 | #include <time.h> | ||
264 | #include <wchar.h> | 386 | #include <wchar.h> |
265 | int main () | 387 | int main () |
266 | { | 388 | { |
389 | int result = 0; | ||
390 | int found_some_locale = 0; | ||
267 | /* This fails on Solaris. */ | 391 | /* This fails on Solaris. */ |
268 | if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) | 392 | if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) |
269 | { | 393 | { |
@@ -276,8 +400,9 @@ int main () | |||
276 | { | 400 | { |
277 | input[1] = '\0'; | 401 | input[1] = '\0'; |
278 | if (mbrtowc (&wc, input + 2, 5, &state) != 1) | 402 | if (mbrtowc (&wc, input + 2, 5, &state) != 1) |
279 | return 1; | 403 | result |= 1; |
280 | } | 404 | } |
405 | found_some_locale = 1; | ||
281 | } | 406 | } |
282 | /* This fails on HP-UX 11.11. */ | 407 | /* This fails on HP-UX 11.11. */ |
283 | if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) | 408 | if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) |
@@ -291,13 +416,63 @@ int main () | |||
291 | { | 416 | { |
292 | input[1] = '\0'; | 417 | input[1] = '\0'; |
293 | if (mbrtowc (&wc, input + 2, 5, &state) != 2) | 418 | if (mbrtowc (&wc, input + 2, 5, &state) != 2) |
294 | return 1; | 419 | result |= 2; |
295 | } | 420 | } |
421 | found_some_locale = 1; | ||
296 | } | 422 | } |
297 | return 0; | 423 | /* This fails on native Windows. */ |
298 | }], | 424 | if (setlocale (LC_ALL, "Japanese_Japan.932") != NULL) |
425 | { | ||
426 | char input[] = "<\223\372\226\173\214\352>"; /* "<日本語>" */ | ||
427 | mbstate_t state; | ||
428 | wchar_t wc; | ||
429 | |||
430 | memset (&state, '\0', sizeof (mbstate_t)); | ||
431 | if (mbrtowc (&wc, input + 3, 1, &state) == (size_t)(-2)) | ||
432 | { | ||
433 | input[3] = '\0'; | ||
434 | if (mbrtowc (&wc, input + 4, 4, &state) != 1) | ||
435 | result |= 4; | ||
436 | } | ||
437 | found_some_locale = 1; | ||
438 | } | ||
439 | if (setlocale (LC_ALL, "Chinese_Taiwan.950") != NULL) | ||
440 | { | ||
441 | char input[] = "<\244\351\245\273\273\171>"; /* "<日本語>" */ | ||
442 | mbstate_t state; | ||
443 | wchar_t wc; | ||
444 | |||
445 | memset (&state, '\0', sizeof (mbstate_t)); | ||
446 | if (mbrtowc (&wc, input + 3, 1, &state) == (size_t)(-2)) | ||
447 | { | ||
448 | input[3] = '\0'; | ||
449 | if (mbrtowc (&wc, input + 4, 4, &state) != 1) | ||
450 | result |= 8; | ||
451 | } | ||
452 | found_some_locale = 1; | ||
453 | } | ||
454 | if (setlocale (LC_ALL, "Chinese_China.936") != NULL) | ||
455 | { | ||
456 | char input[] = "<\310\325\261\276\325\132>"; /* "<日本語>" */ | ||
457 | mbstate_t state; | ||
458 | wchar_t wc; | ||
459 | |||
460 | memset (&state, '\0', sizeof (mbstate_t)); | ||
461 | if (mbrtowc (&wc, input + 3, 1, &state) == (size_t)(-2)) | ||
462 | { | ||
463 | input[3] = '\0'; | ||
464 | if (mbrtowc (&wc, input + 4, 4, &state) != 1) | ||
465 | result |= 16; | ||
466 | } | ||
467 | found_some_locale = 1; | ||
468 | } | ||
469 | return (found_some_locale ? result : 77); | ||
470 | }]])], | ||
299 | [gl_cv_func_mbrtowc_retval=yes], | 471 | [gl_cv_func_mbrtowc_retval=yes], |
300 | [gl_cv_func_mbrtowc_retval=no], | 472 | [if test $? != 77; then |
473 | gl_cv_func_mbrtowc_retval=no | ||
474 | fi | ||
475 | ], | ||
301 | [:]) | 476 | [:]) |
302 | fi | 477 | fi |
303 | ]) | 478 | ]) |
@@ -325,9 +500,17 @@ changequote(,)dnl | |||
325 | esac | 500 | esac |
326 | changequote([,])dnl | 501 | changequote([,])dnl |
327 | if test $LOCALE_ZH_CN != none; then | 502 | if test $LOCALE_ZH_CN != none; then |
328 | AC_TRY_RUN([ | 503 | AC_RUN_IFELSE( |
504 | [AC_LANG_SOURCE([[ | ||
329 | #include <locale.h> | 505 | #include <locale.h> |
330 | #include <string.h> | 506 | #include <string.h> |
507 | /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before | ||
508 | <wchar.h>. | ||
509 | BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be | ||
510 | included before <wchar.h>. */ | ||
511 | #include <stddef.h> | ||
512 | #include <stdio.h> | ||
513 | #include <time.h> | ||
331 | #include <wchar.h> | 514 | #include <wchar.h> |
332 | int main () | 515 | int main () |
333 | { | 516 | { |
@@ -342,7 +525,7 @@ int main () | |||
342 | return 1; | 525 | return 1; |
343 | } | 526 | } |
344 | return 0; | 527 | return 0; |
345 | }], | 528 | }]])], |
346 | [gl_cv_func_mbrtowc_nul_retval=yes], | 529 | [gl_cv_func_mbrtowc_nul_retval=yes], |
347 | [gl_cv_func_mbrtowc_nul_retval=no], | 530 | [gl_cv_func_mbrtowc_nul_retval=no], |
348 | [:]) | 531 | [:]) |
@@ -358,10 +541,8 @@ AC_DEFUN([gl_PREREQ_MBRTOWC], [ | |||
358 | 541 | ||
359 | dnl From Paul Eggert | 542 | dnl From Paul Eggert |
360 | 543 | ||
361 | dnl This override of an autoconf macro can be removed when autoconf 2.60 or | 544 | dnl This is an override of an autoconf macro. |
362 | dnl newer can be assumed everywhere. | ||
363 | 545 | ||
364 | m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.60]),[-1],[ | ||
365 | AC_DEFUN([AC_FUNC_MBRTOWC], | 546 | AC_DEFUN([AC_FUNC_MBRTOWC], |
366 | [ | 547 | [ |
367 | dnl Same as AC_FUNC_MBRTOWC in autoconf-2.60. | 548 | dnl Same as AC_FUNC_MBRTOWC in autoconf-2.60. |
@@ -369,7 +550,14 @@ AC_DEFUN([AC_FUNC_MBRTOWC], | |||
369 | gl_cv_func_mbrtowc, | 550 | gl_cv_func_mbrtowc, |
370 | [AC_LINK_IFELSE( | 551 | [AC_LINK_IFELSE( |
371 | [AC_LANG_PROGRAM( | 552 | [AC_LANG_PROGRAM( |
372 | [[#include <wchar.h>]], | 553 | [[/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be |
554 | included before <wchar.h>. | ||
555 | BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> | ||
556 | must be included before <wchar.h>. */ | ||
557 | #include <stddef.h> | ||
558 | #include <stdio.h> | ||
559 | #include <time.h> | ||
560 | #include <wchar.h>]], | ||
373 | [[wchar_t wc; | 561 | [[wchar_t wc; |
374 | char const s[] = ""; | 562 | char const s[] = ""; |
375 | size_t n = 1; | 563 | size_t n = 1; |
@@ -382,4 +570,3 @@ AC_DEFUN([AC_FUNC_MBRTOWC], | |||
382 | [Define to 1 if mbrtowc and mbstate_t are properly declared.]) | 570 | [Define to 1 if mbrtowc and mbstate_t are properly declared.]) |
383 | fi | 571 | fi |
384 | ]) | 572 | ]) |
385 | ]) | ||
diff --git a/gl/m4/mbsinit.m4 b/gl/m4/mbsinit.m4 index 46c106fc..2e6d0921 100644 --- a/gl/m4/mbsinit.m4 +++ b/gl/m4/mbsinit.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # mbsinit.m4 serial 4 | 1 | # mbsinit.m4 serial 8 |
2 | dnl Copyright (C) 2008, 2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2008, 2010-2013 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,6 +7,7 @@ dnl with or without modifications, as long as this notice is preserved. | |||
7 | AC_DEFUN([gl_FUNC_MBSINIT], | 7 | AC_DEFUN([gl_FUNC_MBSINIT], |
8 | [ | 8 | [ |
9 | AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) | 9 | AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) |
10 | AC_REQUIRE([AC_CANONICAL_HOST]) | ||
10 | 11 | ||
11 | AC_REQUIRE([AC_TYPE_MBSTATE_T]) | 12 | AC_REQUIRE([AC_TYPE_MBSTATE_T]) |
12 | gl_MBSTATE_T_BROKEN | 13 | gl_MBSTATE_T_BROKEN |
@@ -14,16 +15,34 @@ AC_DEFUN([gl_FUNC_MBSINIT], | |||
14 | AC_CHECK_FUNCS_ONCE([mbsinit]) | 15 | AC_CHECK_FUNCS_ONCE([mbsinit]) |
15 | if test $ac_cv_func_mbsinit = no; then | 16 | if test $ac_cv_func_mbsinit = no; then |
16 | HAVE_MBSINIT=0 | 17 | HAVE_MBSINIT=0 |
18 | AC_CHECK_DECLS([mbsinit],,, [[ | ||
19 | /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before | ||
20 | <wchar.h>. | ||
21 | BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be | ||
22 | included before <wchar.h>. */ | ||
23 | #include <stddef.h> | ||
24 | #include <stdio.h> | ||
25 | #include <time.h> | ||
26 | #include <wchar.h> | ||
27 | ]]) | ||
28 | if test $ac_cv_have_decl_mbsinit = yes; then | ||
29 | dnl On Minix 3.1.8, the system's <wchar.h> declares mbsinit() although | ||
30 | dnl it does not have the function. Avoid a collision with gnulib's | ||
31 | dnl replacement. | ||
32 | REPLACE_MBSINIT=1 | ||
33 | fi | ||
17 | else | 34 | else |
18 | if test $REPLACE_MBSTATE_T = 1; then | 35 | if test $REPLACE_MBSTATE_T = 1; then |
19 | REPLACE_MBSINIT=1 | 36 | REPLACE_MBSINIT=1 |
37 | else | ||
38 | dnl On mingw, mbsinit() always returns 1, which is inappropriate for | ||
39 | dnl states produced by mbrtowc() for an incomplete multibyte character | ||
40 | dnl in multibyte locales. | ||
41 | case "$host_os" in | ||
42 | mingw*) REPLACE_MBSINIT=1 ;; | ||
43 | esac | ||
20 | fi | 44 | fi |
21 | fi | 45 | fi |
22 | if test $HAVE_MBSINIT = 0 || test $REPLACE_MBSINIT = 1; then | ||
23 | gl_REPLACE_WCHAR_H | ||
24 | AC_LIBOBJ([mbsinit]) | ||
25 | gl_PREREQ_MBSINIT | ||
26 | fi | ||
27 | ]) | 46 | ]) |
28 | 47 | ||
29 | # Prerequisites of lib/mbsinit.c. | 48 | # Prerequisites of lib/mbsinit.c. |
diff --git a/gl/m4/mbstate_t.m4 b/gl/m4/mbstate_t.m4 index 3e2df29f..ed001179 100644 --- a/gl/m4/mbstate_t.m4 +++ b/gl/m4/mbstate_t.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # mbstate_t.m4 serial 12 | 1 | # mbstate_t.m4 serial 13 |
2 | dnl Copyright (C) 2000-2002, 2008-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2000-2002, 2008-2013 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,7 +20,14 @@ AC_DEFUN([AC_TYPE_MBSTATE_T], | |||
20 | [AC_COMPILE_IFELSE( | 20 | [AC_COMPILE_IFELSE( |
21 | [AC_LANG_PROGRAM( | 21 | [AC_LANG_PROGRAM( |
22 | [AC_INCLUDES_DEFAULT[ | 22 | [AC_INCLUDES_DEFAULT[ |
23 | # include <wchar.h>]], | 23 | /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before |
24 | <wchar.h>. | ||
25 | BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be | ||
26 | included before <wchar.h>. */ | ||
27 | #include <stddef.h> | ||
28 | #include <stdio.h> | ||
29 | #include <time.h> | ||
30 | #include <wchar.h>]], | ||
24 | [[mbstate_t x; return sizeof x;]])], | 31 | [[mbstate_t x; return sizeof x;]])], |
25 | [ac_cv_type_mbstate_t=yes], | 32 | [ac_cv_type_mbstate_t=yes], |
26 | [ac_cv_type_mbstate_t=no])]) | 33 | [ac_cv_type_mbstate_t=no])]) |
diff --git a/gl/m4/mbtowc.m4 b/gl/m4/mbtowc.m4 new file mode 100644 index 00000000..e4794619 --- /dev/null +++ b/gl/m4/mbtowc.m4 | |||
@@ -0,0 +1,19 @@ | |||
1 | # mbtowc.m4 serial 2 | ||
2 | dnl Copyright (C) 2011-2013 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_MBTOWC], | ||
8 | [ | ||
9 | AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) | ||
10 | |||
11 | if false; then | ||
12 | REPLACE_MBTOWC=1 | ||
13 | fi | ||
14 | ]) | ||
15 | |||
16 | # Prerequisites of lib/mbtowc.c. | ||
17 | AC_DEFUN([gl_PREREQ_MBTOWC], [ | ||
18 | : | ||
19 | ]) | ||
diff --git a/gl/m4/memchr.m4 b/gl/m4/memchr.m4 index ab773b81..2d8abe75 100644 --- a/gl/m4/memchr.m4 +++ b/gl/m4/memchr.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # memchr.m4 serial 8 | 1 | # memchr.m4 serial 12 |
2 | dnl Copyright (C) 2002-2004, 2009-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2004, 2009-2013 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,10 +11,16 @@ AC_DEFUN_ONCE([gl_FUNC_MEMCHR], | |||
11 | AC_CHECK_HEADERS_ONCE([sys/mman.h]) | 11 | AC_CHECK_HEADERS_ONCE([sys/mman.h]) |
12 | AC_CHECK_FUNCS_ONCE([mprotect]) | 12 | AC_CHECK_FUNCS_ONCE([mprotect]) |
13 | 13 | ||
14 | dnl These days, we assume memchr is present. But just in case... | ||
15 | AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) | 14 | AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) |
16 | AC_CHECK_FUNCS_ONCE([memchr]) | 15 | m4_ifdef([gl_FUNC_MEMCHR_OBSOLETE], [ |
17 | if test $ac_cv_func_memchr = yes; then | 16 | dnl These days, we assume memchr is present. But if support for old |
17 | dnl platforms is desired: | ||
18 | AC_CHECK_FUNCS_ONCE([memchr]) | ||
19 | if test $ac_cv_func_memchr = no; then | ||
20 | HAVE_MEMCHR=0 | ||
21 | fi | ||
22 | ]) | ||
23 | if test $HAVE_MEMCHR = 1; then | ||
18 | # Detect platform-specific bugs in some versions of glibc: | 24 | # Detect platform-specific bugs in some versions of glibc: |
19 | # memchr should not dereference anything with length 0 | 25 | # memchr should not dereference anything with length 0 |
20 | # http://bugzilla.redhat.com/499689 | 26 | # http://bugzilla.redhat.com/499689 |
@@ -35,6 +41,7 @@ AC_DEFUN_ONCE([gl_FUNC_MEMCHR], | |||
35 | # endif | 41 | # endif |
36 | #endif | 42 | #endif |
37 | ]], [[ | 43 | ]], [[ |
44 | int result = 0; | ||
38 | char *fence = NULL; | 45 | char *fence = NULL; |
39 | #if HAVE_SYS_MMAN_H && HAVE_MPROTECT | 46 | #if HAVE_SYS_MMAN_H && HAVE_MPROTECT |
40 | # if HAVE_MAP_ANONYMOUS | 47 | # if HAVE_MAP_ANONYMOUS |
@@ -58,24 +65,20 @@ AC_DEFUN_ONCE([gl_FUNC_MEMCHR], | |||
58 | if (fence) | 65 | if (fence) |
59 | { | 66 | { |
60 | if (memchr (fence, 0, 0)) | 67 | if (memchr (fence, 0, 0)) |
61 | return 1; | 68 | result |= 1; |
62 | strcpy (fence - 9, "12345678"); | 69 | strcpy (fence - 9, "12345678"); |
63 | if (memchr (fence - 9, 0, 79) != fence - 1) | 70 | if (memchr (fence - 9, 0, 79) != fence - 1) |
64 | return 2; | 71 | result |= 2; |
72 | if (memchr (fence - 1, 0, 3) != fence - 1) | ||
73 | result |= 4; | ||
65 | } | 74 | } |
66 | return 0; | 75 | return result; |
67 | ]])], [gl_cv_func_memchr_works=yes], [gl_cv_func_memchr_works=no], | 76 | ]])], [gl_cv_func_memchr_works=yes], [gl_cv_func_memchr_works=no], |
68 | [dnl Be pessimistic for now. | 77 | [dnl Be pessimistic for now. |
69 | gl_cv_func_memchr_works="guessing no"])]) | 78 | gl_cv_func_memchr_works="guessing no"])]) |
70 | if test "$gl_cv_func_memchr_works" != yes; then | 79 | if test "$gl_cv_func_memchr_works" != yes; then |
71 | REPLACE_MEMCHR=1 | 80 | REPLACE_MEMCHR=1 |
72 | fi | 81 | fi |
73 | else | ||
74 | HAVE_MEMCHR=0 | ||
75 | fi | ||
76 | if test $HAVE_MEMCHR = 0 || test $REPLACE_MEMCHR = 1; then | ||
77 | AC_LIBOBJ([memchr]) | ||
78 | gl_PREREQ_MEMCHR | ||
79 | fi | 82 | fi |
80 | ]) | 83 | ]) |
81 | 84 | ||
diff --git a/gl/m4/mktime.m4 b/gl/m4/mktime.m4 index 44b8d878..faefb770 100644 --- a/gl/m4/mktime.m4 +++ b/gl/m4/mktime.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # serial 15 | 1 | # serial 25 |
2 | dnl Copyright (C) 2002-2003, 2005-2007, 2009-2010 Free Software Foundation, | 2 | dnl Copyright (C) 2002-2003, 2005-2007, 2009-2013 Free Software Foundation, |
3 | dnl Inc. | 3 | dnl 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, |
@@ -7,24 +7,24 @@ dnl with or without modifications, as long as this notice is preserved. | |||
7 | 7 | ||
8 | dnl From Jim Meyering. | 8 | dnl From Jim Meyering. |
9 | 9 | ||
10 | # Redefine AC_FUNC_MKTIME, to fix a bug in Autoconf 2.61a and earlier. | 10 | AC_DEFUN([gl_FUNC_MKTIME], |
11 | # This redefinition can be removed once a new version of Autoconf is assumed. | 11 | [ |
12 | # The redefinition is taken from | 12 | AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) |
13 | # <http://cvs.sv.gnu.org/viewcvs/*checkout*/autoconf/autoconf/lib/autoconf/functions.m4?rev=1.119>. | 13 | |
14 | # AC_FUNC_MKTIME | 14 | dnl We don't use AC_FUNC_MKTIME any more, because it is no longer maintained |
15 | # -------------- | 15 | dnl in Autoconf and because it invokes AC_LIBOBJ. |
16 | AC_DEFUN([AC_FUNC_MKTIME], | 16 | AC_CHECK_HEADERS_ONCE([unistd.h]) |
17 | [AC_CHECK_HEADERS_ONCE([unistd.h]) | 17 | AC_CHECK_DECLS_ONCE([alarm]) |
18 | AC_CHECK_FUNCS_ONCE([alarm]) | 18 | AC_REQUIRE([gl_MULTIARCH]) |
19 | AC_REQUIRE([gl_MULTIARCH]) | 19 | if test $APPLE_UNIVERSAL_BUILD = 1; then |
20 | if test $APPLE_UNIVERSAL_BUILD = 1; then | 20 | # A universal build on Apple Mac OS X platforms. |
21 | # A universal build on Apple MacOS X platforms. | 21 | # The test result would be 'yes' in 32-bit mode and 'no' in 64-bit mode. |
22 | # The test result would be 'yes' in 32-bit mode and 'no' in 64-bit mode. | 22 | # But we need a configuration result that is valid in both modes. |
23 | # But we need a configuration result that is valid in both modes. | 23 | gl_cv_func_working_mktime=no |
24 | ac_cv_func_working_mktime=no | 24 | fi |
25 | fi | 25 | AC_CACHE_CHECK([for working mktime], [gl_cv_func_working_mktime], |
26 | AC_CACHE_CHECK([for working mktime], [ac_cv_func_working_mktime], | 26 | [AC_RUN_IFELSE( |
27 | [AC_RUN_IFELSE([AC_LANG_SOURCE( | 27 | [AC_LANG_SOURCE( |
28 | [[/* Test program from Paul Eggert and Tony Leneis. */ | 28 | [[/* Test program from Paul Eggert and Tony Leneis. */ |
29 | #include <limits.h> | 29 | #include <limits.h> |
30 | #include <stdlib.h> | 30 | #include <stdlib.h> |
@@ -34,8 +34,8 @@ AC_CACHE_CHECK([for working mktime], [ac_cv_func_working_mktime], | |||
34 | # include <unistd.h> | 34 | # include <unistd.h> |
35 | #endif | 35 | #endif |
36 | 36 | ||
37 | #ifndef HAVE_ALARM | 37 | #if HAVE_DECL_ALARM |
38 | # define alarm(X) /* empty */ | 38 | # include <signal.h> |
39 | #endif | 39 | #endif |
40 | 40 | ||
41 | /* Work around redefinition to rpl_putenv by other config tests. */ | 41 | /* Work around redefinition to rpl_putenv by other config tests. */ |
@@ -165,22 +165,29 @@ year_2050_test () | |||
165 | int | 165 | int |
166 | main () | 166 | main () |
167 | { | 167 | { |
168 | int result = 0; | ||
168 | time_t t, delta; | 169 | time_t t, delta; |
169 | int i, j; | 170 | int i, j; |
171 | int time_t_signed_magnitude = (time_t) ~ (time_t) 0 < (time_t) -1; | ||
172 | int time_t_signed = ! ((time_t) 0 < (time_t) -1); | ||
170 | 173 | ||
174 | #if HAVE_DECL_ALARM | ||
171 | /* This test makes some buggy mktime implementations loop. | 175 | /* This test makes some buggy mktime implementations loop. |
172 | Give up after 60 seconds; a mktime slower than that | 176 | Give up after 60 seconds; a mktime slower than that |
173 | isn't worth using anyway. */ | 177 | isn't worth using anyway. */ |
178 | signal (SIGALRM, SIG_DFL); | ||
174 | alarm (60); | 179 | alarm (60); |
180 | #endif | ||
175 | 181 | ||
176 | for (;;) | 182 | time_t_max = (! time_t_signed |
177 | { | 183 | ? (time_t) -1 |
178 | t = (time_t_max << 1) + 1; | 184 | : ((((time_t) 1 << (sizeof (time_t) * CHAR_BIT - 2)) - 1) |
179 | if (t <= time_t_max) | 185 | * 2 + 1)); |
180 | break; | 186 | time_t_min = (! time_t_signed |
181 | time_t_max = t; | 187 | ? (time_t) 0 |
182 | } | 188 | : time_t_signed_magnitude |
183 | time_t_min = - ((time_t) ~ (time_t) 0 == (time_t) -1) - time_t_max; | 189 | ? ~ (time_t) 0 |
190 | : ~ time_t_max); | ||
184 | 191 | ||
185 | delta = time_t_max / 997; /* a suitable prime number */ | 192 | delta = time_t_max / 997; /* a suitable prime number */ |
186 | for (i = 0; i < N_STRINGS; i++) | 193 | for (i = 0; i < N_STRINGS; i++) |
@@ -188,47 +195,59 @@ main () | |||
188 | if (tz_strings[i]) | 195 | if (tz_strings[i]) |
189 | putenv (tz_strings[i]); | 196 | putenv (tz_strings[i]); |
190 | 197 | ||
191 | for (t = 0; t <= time_t_max - delta; t += delta) | 198 | for (t = 0; t <= time_t_max - delta && (result & 1) == 0; t += delta) |
192 | if (! mktime_test (t)) | 199 | if (! mktime_test (t)) |
193 | return 1; | 200 | result |= 1; |
194 | if (! (mktime_test ((time_t) 1) | 201 | if ((result & 2) == 0 |
195 | && mktime_test ((time_t) (60 * 60)) | 202 | && ! (mktime_test ((time_t) 1) |
196 | && mktime_test ((time_t) (60 * 60 * 24)))) | 203 | && mktime_test ((time_t) (60 * 60)) |
197 | return 1; | 204 | && mktime_test ((time_t) (60 * 60 * 24)))) |
198 | 205 | result |= 2; | |
199 | for (j = 1; ; j <<= 1) | 206 | |
200 | if (! bigtime_test (j)) | 207 | for (j = 1; (result & 4) == 0; j <<= 1) |
201 | return 1; | 208 | { |
202 | else if (INT_MAX / 2 < j) | 209 | if (! bigtime_test (j)) |
203 | break; | 210 | result |= 4; |
204 | if (! bigtime_test (INT_MAX)) | 211 | if (INT_MAX / 2 < j) |
205 | return 1; | 212 | break; |
213 | } | ||
214 | if ((result & 8) == 0 && ! bigtime_test (INT_MAX)) | ||
215 | result |= 8; | ||
206 | } | 216 | } |
207 | return ! (irix_6_4_bug () && spring_forward_gap () && year_2050_test ()); | 217 | if (! irix_6_4_bug ()) |
218 | result |= 16; | ||
219 | if (! spring_forward_gap ()) | ||
220 | result |= 32; | ||
221 | if (! year_2050_test ()) | ||
222 | result |= 64; | ||
223 | return result; | ||
208 | }]])], | 224 | }]])], |
209 | [ac_cv_func_working_mktime=yes], | 225 | [gl_cv_func_working_mktime=yes], |
210 | [ac_cv_func_working_mktime=no], | 226 | [gl_cv_func_working_mktime=no], |
211 | [ac_cv_func_working_mktime=no])]) | 227 | [gl_cv_func_working_mktime=no]) |
212 | if test $ac_cv_func_working_mktime = no; then | 228 | ]) |
213 | AC_LIBOBJ([mktime]) | ||
214 | fi | ||
215 | ])# AC_FUNC_MKTIME | ||
216 | 229 | ||
217 | AC_DEFUN([gl_FUNC_MKTIME], | 230 | if test $gl_cv_func_working_mktime = no; then |
218 | [ | ||
219 | AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) | ||
220 | AC_FUNC_MKTIME | ||
221 | dnl Note: AC_FUNC_MKTIME does AC_LIBOBJ([mktime]). | ||
222 | if test $ac_cv_func_working_mktime = no; then | ||
223 | REPLACE_MKTIME=1 | 231 | REPLACE_MKTIME=1 |
224 | gl_PREREQ_MKTIME | ||
225 | else | 232 | else |
226 | REPLACE_MKTIME=0 | 233 | REPLACE_MKTIME=0 |
227 | fi | 234 | fi |
228 | ]) | 235 | ]) |
229 | 236 | ||
230 | # Prerequisites of lib/mktime.c. | 237 | AC_DEFUN([gl_FUNC_MKTIME_INTERNAL], [ |
231 | AC_DEFUN([gl_PREREQ_MKTIME], | 238 | AC_REQUIRE([gl_FUNC_MKTIME]) |
232 | [ | 239 | if test $REPLACE_MKTIME = 0; then |
233 | AC_REQUIRE([AC_C_INLINE]) | 240 | dnl BeOS has __mktime_internal in libc, but other platforms don't. |
241 | AC_CHECK_FUNC([__mktime_internal], | ||
242 | [AC_DEFINE([mktime_internal], [__mktime_internal], | ||
243 | [Define to the real name of the mktime_internal function.]) | ||
244 | ], | ||
245 | [dnl mktime works but it doesn't export __mktime_internal, | ||
246 | dnl so we need to substitute our own mktime implementation. | ||
247 | REPLACE_MKTIME=1 | ||
248 | ]) | ||
249 | fi | ||
234 | ]) | 250 | ]) |
251 | |||
252 | # Prerequisites of lib/mktime.c. | ||
253 | AC_DEFUN([gl_PREREQ_MKTIME], [:]) | ||
diff --git a/gl/m4/mmap-anon.m4 b/gl/m4/mmap-anon.m4 index a6b7b9ac..9b60ddfa 100644 --- a/gl/m4/mmap-anon.m4 +++ b/gl/m4/mmap-anon.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # mmap-anon.m4 serial 8 | 1 | # mmap-anon.m4 serial 10 |
2 | dnl Copyright (C) 2005, 2007, 2009-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2005, 2007, 2009-2013 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,16 +9,12 @@ dnl with or without modifications, as long as this notice is preserved. | |||
9 | # - On Linux, AIX, OSF/1, Solaris, Cygwin, Interix, Haiku, both MAP_ANONYMOUS | 9 | # - On Linux, AIX, OSF/1, Solaris, Cygwin, Interix, Haiku, both MAP_ANONYMOUS |
10 | # and MAP_ANON exist and have the same value. | 10 | # and MAP_ANON exist and have the same value. |
11 | # - On HP-UX, only MAP_ANONYMOUS exists. | 11 | # - On HP-UX, only MAP_ANONYMOUS exists. |
12 | # - On MacOS X, FreeBSD, NetBSD, OpenBSD, only MAP_ANON exists. | 12 | # - On Mac OS X, FreeBSD, NetBSD, OpenBSD, only MAP_ANON exists. |
13 | # - On IRIX, neither exists, and a file descriptor opened to /dev/zero must be | 13 | # - On IRIX, neither exists, and a file descriptor opened to /dev/zero must be |
14 | # used. | 14 | # used. |
15 | 15 | ||
16 | AC_DEFUN([gl_FUNC_MMAP_ANON], | 16 | AC_DEFUN([gl_FUNC_MMAP_ANON], |
17 | [ | 17 | [ |
18 | dnl Work around a bug of AC_EGREP_CPP in autoconf-2.57. | ||
19 | AC_REQUIRE([AC_PROG_CPP]) | ||
20 | AC_REQUIRE([AC_PROG_EGREP]) | ||
21 | |||
22 | dnl Persuade glibc <sys/mman.h> to define MAP_ANONYMOUS. | 18 | dnl Persuade glibc <sys/mman.h> to define MAP_ANONYMOUS. |
23 | AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) | 19 | AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) |
24 | 20 | ||
@@ -31,18 +27,18 @@ AC_DEFUN([gl_FUNC_MMAP_ANON], | |||
31 | gl_have_mmap_anonymous=no | 27 | gl_have_mmap_anonymous=no |
32 | if test $gl_have_mmap = yes; then | 28 | if test $gl_have_mmap = yes; then |
33 | AC_MSG_CHECKING([for MAP_ANONYMOUS]) | 29 | AC_MSG_CHECKING([for MAP_ANONYMOUS]) |
34 | AC_EGREP_CPP([I cant identify this map.], [ | 30 | AC_EGREP_CPP([I cannot identify this map], [ |
35 | #include <sys/mman.h> | 31 | #include <sys/mman.h> |
36 | #ifdef MAP_ANONYMOUS | 32 | #ifdef MAP_ANONYMOUS |
37 | I cant identify this map. | 33 | I cannot identify this map |
38 | #endif | 34 | #endif |
39 | ], | 35 | ], |
40 | [gl_have_mmap_anonymous=yes]) | 36 | [gl_have_mmap_anonymous=yes]) |
41 | if test $gl_have_mmap_anonymous != yes; then | 37 | if test $gl_have_mmap_anonymous != yes; then |
42 | AC_EGREP_CPP([I cant identify this map.], [ | 38 | AC_EGREP_CPP([I cannot identify this map], [ |
43 | #include <sys/mman.h> | 39 | #include <sys/mman.h> |
44 | #ifdef MAP_ANON | 40 | #ifdef MAP_ANON |
45 | I cant identify this map. | 41 | I cannot identify this map |
46 | #endif | 42 | #endif |
47 | ], | 43 | ], |
48 | [AC_DEFINE([MAP_ANONYMOUS], [MAP_ANON], | 44 | [AC_DEFINE([MAP_ANONYMOUS], [MAP_ANON], |
diff --git a/gl/m4/mode_t.m4 b/gl/m4/mode_t.m4 deleted file mode 100644 index 3178dfd3..00000000 --- a/gl/m4/mode_t.m4 +++ /dev/null | |||
@@ -1,26 +0,0 @@ | |||
1 | # mode_t.m4 serial 2 | ||
2 | dnl Copyright (C) 2009-2010 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 | # For using mode_t, it's sufficient to use AC_TYPE_MODE_T and | ||
8 | # include <sys/types.h>. | ||
9 | |||
10 | # Define PROMOTED_MODE_T to the type that is the result of "default argument | ||
11 | # promotion" (ISO C 6.5.2.2.(6)) of the type mode_t. | ||
12 | AC_DEFUN([gl_PROMOTED_TYPE_MODE_T], | ||
13 | [ | ||
14 | AC_REQUIRE([AC_TYPE_MODE_T]) | ||
15 | AC_CACHE_CHECK([for promoted mode_t type], [gl_cv_promoted_mode_t], [ | ||
16 | dnl Assume mode_t promotes to 'int' if and only if it is smaller than 'int', | ||
17 | dnl and to itself otherwise. This assumption is not guaranteed by the ISO C | ||
18 | dnl standard, but we don't know of any real-world counterexamples. | ||
19 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>]], | ||
20 | [[typedef int array[2 * (sizeof (mode_t) < sizeof (int)) - 1];]])], | ||
21 | [gl_cv_promoted_mode_t='int'], | ||
22 | [gl_cv_promoted_mode_t='mode_t']) | ||
23 | ]) | ||
24 | AC_DEFINE_UNQUOTED([PROMOTED_MODE_T], [$gl_cv_promoted_mode_t], | ||
25 | [Define to the type that is the result of default argument promotions of type mode_t.]) | ||
26 | ]) | ||
diff --git a/gl/m4/mountlist.m4 b/gl/m4/mountlist.m4 index f2d59501..cd137c91 100644 --- a/gl/m4/mountlist.m4 +++ b/gl/m4/mountlist.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # serial 10 | 1 | # serial 11 |
2 | dnl Copyright (C) 2002-2006, 2009-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2006, 2009-2013 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,10 +8,6 @@ AC_DEFUN([gl_MOUNTLIST], | |||
8 | [ | 8 | [ |
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 | ||
12 | AC_LIBOBJ([mountlist]) | ||
13 | gl_PREREQ_MOUNTLIST_EXTRA | ||
14 | fi | ||
15 | ]) | 11 | ]) |
16 | 12 | ||
17 | # Prerequisites of lib/mountlist.c not done by gl_LIST_MOUNTED_FILE_SYSTEMS. | 13 | # Prerequisites of lib/mountlist.c not done by gl_LIST_MOUNTED_FILE_SYSTEMS. |
diff --git a/gl/m4/msvc-inval.m4 b/gl/m4/msvc-inval.m4 new file mode 100644 index 00000000..9a6a47a7 --- /dev/null +++ b/gl/m4/msvc-inval.m4 | |||
@@ -0,0 +1,19 @@ | |||
1 | # msvc-inval.m4 serial 1 | ||
2 | dnl Copyright (C) 2011-2013 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_MSVC_INVAL], | ||
8 | [ | ||
9 | AC_CHECK_FUNCS_ONCE([_set_invalid_parameter_handler]) | ||
10 | if test $ac_cv_func__set_invalid_parameter_handler = yes; then | ||
11 | HAVE_MSVC_INVALID_PARAMETER_HANDLER=1 | ||
12 | AC_DEFINE([HAVE_MSVC_INVALID_PARAMETER_HANDLER], [1], | ||
13 | [Define to 1 on MSVC platforms that have the "invalid parameter handler" | ||
14 | concept.]) | ||
15 | else | ||
16 | HAVE_MSVC_INVALID_PARAMETER_HANDLER=0 | ||
17 | fi | ||
18 | AC_SUBST([HAVE_MSVC_INVALID_PARAMETER_HANDLER]) | ||
19 | ]) | ||
diff --git a/gl/m4/cloexec.m4 b/gl/m4/msvc-nothrow.m4 index c75595ca..a39618a4 100644 --- a/gl/m4/cloexec.m4 +++ b/gl/m4/msvc-nothrow.m4 | |||
@@ -1,10 +1,10 @@ | |||
1 | #serial 6 | 1 | # msvc-nothrow.m4 serial 1 |
2 | dnl Copyright (C) 2004-2006, 2009-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2011-2013 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_CLOEXEC], | 7 | AC_DEFUN([gl_MSVC_NOTHROW], |
8 | [ | 8 | [ |
9 | AC_LIBOBJ([cloexec]) | 9 | AC_REQUIRE([gl_MSVC_INVAL]) |
10 | ]) | 10 | ]) |
diff --git a/gl/m4/multiarch.m4 b/gl/m4/multiarch.m4 index 389bd2bb..552ec7e7 100644 --- a/gl/m4/multiarch.m4 +++ b/gl/m4/multiarch.m4 | |||
@@ -1,12 +1,12 @@ | |||
1 | # multiarch.m4 serial 5 | 1 | # multiarch.m4 serial 7 |
2 | dnl Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2008-2013 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 | # Determine whether the compiler is or may be producing universal binaries. | 7 | # Determine whether the compiler is or may be producing universal binaries. |
8 | # | 8 | # |
9 | # On MacOS X 10.5 and later systems, the user can create libraries and | 9 | # On Mac OS X 10.5 and later systems, the user can create libraries and |
10 | # executables that work on multiple system types--known as "fat" or | 10 | # executables that work on multiple system types--known as "fat" or |
11 | # "universal" binaries--by specifying multiple '-arch' options to the | 11 | # "universal" binaries--by specifying multiple '-arch' options to the |
12 | # compiler but only a single '-arch' option to the preprocessor. Like | 12 | # compiler but only a single '-arch' option to the preprocessor. Like |
@@ -16,8 +16,7 @@ dnl with or without modifications, as long as this notice is preserved. | |||
16 | # CXX="g++ -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" | 17 | # CPP="gcc -E" CXXCPP="g++ -E" |
18 | # | 18 | # |
19 | # Detect this situation and set the macro AA_APPLE_UNIVERSAL_BUILD at the | 19 | # Detect this situation and set APPLE_UNIVERSAL_BUILD accordingly. |
20 | # beginning of config.h and set APPLE_UNIVERSAL_BUILD accordingly. | ||
21 | 20 | ||
22 | AC_DEFUN_ONCE([gl_MULTIARCH], | 21 | AC_DEFUN_ONCE([gl_MULTIARCH], |
23 | [ | 22 | [ |
@@ -55,8 +54,6 @@ AC_DEFUN_ONCE([gl_MULTIARCH], | |||
55 | done | 54 | done |
56 | ]) | 55 | ]) |
57 | if test $gl_cv_c_multiarch = yes; then | 56 | if test $gl_cv_c_multiarch = yes; then |
58 | AC_DEFINE([AA_APPLE_UNIVERSAL_BUILD], [1], | ||
59 | [Define if the compiler is building for multiple architectures of Apple platforms at once.]) | ||
60 | APPLE_UNIVERSAL_BUILD=1 | 57 | APPLE_UNIVERSAL_BUILD=1 |
61 | else | 58 | else |
62 | APPLE_UNIVERSAL_BUILD=0 | 59 | APPLE_UNIVERSAL_BUILD=0 |
diff --git a/gl/m4/netdb_h.m4 b/gl/m4/netdb_h.m4 index c870fb61..2c69f999 100644 --- a/gl/m4/netdb_h.m4 +++ b/gl/m4/netdb_h.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # netdb_h.m4 serial 9 | 1 | # netdb_h.m4 serial 11 |
2 | dnl Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2008-2013 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,6 @@ dnl with or without modifications, as long as this notice is preserved. | |||
7 | AC_DEFUN([gl_HEADER_NETDB], | 7 | AC_DEFUN([gl_HEADER_NETDB], |
8 | [ | 8 | [ |
9 | AC_REQUIRE([gl_NETDB_H_DEFAULTS]) | 9 | AC_REQUIRE([gl_NETDB_H_DEFAULTS]) |
10 | AC_CHECK_HEADERS_ONCE([netdb.h]) | ||
11 | gl_CHECK_NEXT_HEADERS([netdb.h]) | 10 | gl_CHECK_NEXT_HEADERS([netdb.h]) |
12 | if test $ac_cv_header_netdb_h = yes; then | 11 | if test $ac_cv_header_netdb_h = yes; then |
13 | HAVE_NETDB_H=1 | 12 | HAVE_NETDB_H=1 |
@@ -27,6 +26,8 @@ AC_DEFUN([gl_NETDB_MODULE_INDICATOR], | |||
27 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. | 26 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. |
28 | AC_REQUIRE([gl_NETDB_H_DEFAULTS]) | 27 | AC_REQUIRE([gl_NETDB_H_DEFAULTS]) |
29 | gl_MODULE_INDICATOR_SET_VARIABLE([$1]) | 28 | gl_MODULE_INDICATOR_SET_VARIABLE([$1]) |
29 | dnl Define it also as a C macro, for the benefit of the unit tests. | ||
30 | gl_MODULE_INDICATOR_FOR_TESTS([$1]) | ||
30 | ]) | 31 | ]) |
31 | 32 | ||
32 | AC_DEFUN([gl_NETDB_H_DEFAULTS], | 33 | AC_DEFUN([gl_NETDB_H_DEFAULTS], |
@@ -38,4 +39,5 @@ AC_DEFUN([gl_NETDB_H_DEFAULTS], | |||
38 | HAVE_DECL_GAI_STRERROR=1; AC_SUBST([HAVE_DECL_GAI_STRERROR]) | 39 | HAVE_DECL_GAI_STRERROR=1; AC_SUBST([HAVE_DECL_GAI_STRERROR]) |
39 | HAVE_DECL_GETADDRINFO=1; AC_SUBST([HAVE_DECL_GETADDRINFO]) | 40 | HAVE_DECL_GETADDRINFO=1; AC_SUBST([HAVE_DECL_GETADDRINFO]) |
40 | HAVE_DECL_GETNAMEINFO=1; AC_SUBST([HAVE_DECL_GETNAMEINFO]) | 41 | HAVE_DECL_GETNAMEINFO=1; AC_SUBST([HAVE_DECL_GETNAMEINFO]) |
42 | REPLACE_GAI_STRERROR=0; AC_SUBST([REPLACE_GAI_STRERROR]) | ||
41 | ]) | 43 | ]) |
diff --git a/gl/m4/netinet_in_h.m4 b/gl/m4/netinet_in_h.m4 index cc7a44cc..21971b29 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 4 | 1 | # netinet_in_h.m4 serial 5 |
2 | dnl Copyright (C) 2006-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2006-2013 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,4 +27,5 @@ AC_DEFUN([gl_HEADER_NETINET_IN], | |||
27 | AC_SUBST([HAVE_NETINET_IN_H]) | 27 | AC_SUBST([HAVE_NETINET_IN_H]) |
28 | fi | 28 | fi |
29 | AC_SUBST([NETINET_IN_H]) | 29 | AC_SUBST([NETINET_IN_H]) |
30 | AM_CONDITIONAL([GL_GENERATE_NETINET_IN_H], [test -n "$NETINET_IN_H"]) | ||
30 | ]) | 31 | ]) |
diff --git a/gl/m4/nl_langinfo.m4 b/gl/m4/nl_langinfo.m4 index ad456a26..25e21015 100644 --- a/gl/m4/nl_langinfo.m4 +++ b/gl/m4/nl_langinfo.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # nl_langinfo.m4 serial 3 | 1 | # nl_langinfo.m4 serial 5 |
2 | dnl Copyright (C) 2009, 2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2009-2013 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,17 +9,42 @@ AC_DEFUN([gl_FUNC_NL_LANGINFO], | |||
9 | AC_REQUIRE([gl_LANGINFO_H_DEFAULTS]) | 9 | AC_REQUIRE([gl_LANGINFO_H_DEFAULTS]) |
10 | AC_REQUIRE([gl_LANGINFO_H]) | 10 | AC_REQUIRE([gl_LANGINFO_H]) |
11 | AC_CHECK_FUNCS_ONCE([nl_langinfo]) | 11 | AC_CHECK_FUNCS_ONCE([nl_langinfo]) |
12 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
12 | if test $ac_cv_func_nl_langinfo = yes; then | 13 | if test $ac_cv_func_nl_langinfo = yes; then |
13 | if test $HAVE_LANGINFO_CODESET = 1 && test $HAVE_LANGINFO_ERA = 1; then | 14 | # On Irix 6.5, YESEXPR is defined, but nl_langinfo(YESEXPR) is broken. |
15 | AC_CACHE_CHECK([whether YESEXPR works], | ||
16 | [gl_cv_func_nl_langinfo_yesexpr_works], | ||
17 | [AC_RUN_IFELSE( | ||
18 | [AC_LANG_PROGRAM([[#include <langinfo.h> | ||
19 | ]], [[return !*nl_langinfo(YESEXPR); | ||
20 | ]])], | ||
21 | [gl_cv_func_nl_langinfo_yesexpr_works=yes], | ||
22 | [gl_cv_func_nl_langinfo_yesexpr_works=no], | ||
23 | [ | ||
24 | case "$host_os" in | ||
25 | # Guess no on irix systems. | ||
26 | irix*) gl_cv_func_nl_langinfo_yesexpr_works="guessing no";; | ||
27 | # Guess yes elsewhere. | ||
28 | *) gl_cv_func_nl_langinfo_yesexpr_works="guessing yes";; | ||
29 | esac | ||
30 | ]) | ||
31 | ]) | ||
32 | case $gl_cv_func_nl_langinfo_yesexpr_works in | ||
33 | *yes) FUNC_NL_LANGINFO_YESEXPR_WORKS=1 ;; | ||
34 | *) FUNC_NL_LANGINFO_YESEXPR_WORKS=0 ;; | ||
35 | esac | ||
36 | AC_DEFINE_UNQUOTED([FUNC_NL_LANGINFO_YESEXPR_WORKS], | ||
37 | [$FUNC_NL_LANGINFO_YESEXPR_WORKS], | ||
38 | [Define to 1 if nl_langinfo (YESEXPR) returns a non-empty string.]) | ||
39 | if test $HAVE_LANGINFO_CODESET = 1 && test $HAVE_LANGINFO_ERA = 1 \ | ||
40 | && test $FUNC_NL_LANGINFO_YESEXPR_WORKS = 1; then | ||
14 | : | 41 | : |
15 | else | 42 | else |
16 | REPLACE_NL_LANGINFO=1 | 43 | REPLACE_NL_LANGINFO=1 |
17 | AC_DEFINE([REPLACE_NL_LANGINFO], [1], | 44 | AC_DEFINE([REPLACE_NL_LANGINFO], [1], |
18 | [Define if nl_langinfo exists but is overridden by gnulib.]) | 45 | [Define if nl_langinfo exists but is overridden by gnulib.]) |
19 | AC_LIBOBJ([nl_langinfo]) | ||
20 | fi | 46 | fi |
21 | else | 47 | else |
22 | HAVE_NL_LANGINFO=0 | 48 | HAVE_NL_LANGINFO=0 |
23 | AC_LIBOBJ([nl_langinfo]) | ||
24 | fi | 49 | fi |
25 | ]) | 50 | ]) |
diff --git a/gl/m4/nls.m4 b/gl/m4/nls.m4 index 003704c4..8f8a147b 100644 --- a/gl/m4/nls.m4 +++ b/gl/m4/nls.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # nls.m4 serial 5 (gettext-0.18) | 1 | # nls.m4 serial 5 (gettext-0.18) |
2 | dnl Copyright (C) 1995-2003, 2005-2006, 2008-2010 Free Software Foundation, | 2 | dnl Copyright (C) 1995-2003, 2005-2006, 2008-2013 Free Software Foundation, |
3 | dnl Inc. | 3 | dnl 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, |
diff --git a/gl/m4/nocrash.m4 b/gl/m4/nocrash.m4 new file mode 100644 index 00000000..105b884f --- /dev/null +++ b/gl/m4/nocrash.m4 | |||
@@ -0,0 +1,130 @@ | |||
1 | # nocrash.m4 serial 4 | ||
2 | dnl Copyright (C) 2005, 2009-2013 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 Based on libsigsegv, from Bruno Haible and Paolo Bonzini. | ||
8 | |||
9 | AC_PREREQ([2.13]) | ||
10 | |||
11 | dnl Expands to some code for use in .c programs that will cause the configure | ||
12 | dnl test to exit instead of crashing. This is useful to avoid triggering | ||
13 | dnl action from a background debugger and to avoid core dumps. | ||
14 | dnl Usage: ... | ||
15 | dnl ]GL_NOCRASH[ | ||
16 | dnl ... | ||
17 | dnl int main() { nocrash_init(); ... } | ||
18 | AC_DEFUN([GL_NOCRASH],[[ | ||
19 | #include <stdlib.h> | ||
20 | #if defined __MACH__ && defined __APPLE__ | ||
21 | /* Avoid a crash on Mac OS X. */ | ||
22 | #include <mach/mach.h> | ||
23 | #include <mach/mach_error.h> | ||
24 | #include <mach/thread_status.h> | ||
25 | #include <mach/exception.h> | ||
26 | #include <mach/task.h> | ||
27 | #include <pthread.h> | ||
28 | /* The exception port on which our thread listens. */ | ||
29 | static mach_port_t our_exception_port; | ||
30 | /* The main function of the thread listening for exceptions of type | ||
31 | EXC_BAD_ACCESS. */ | ||
32 | static void * | ||
33 | mach_exception_thread (void *arg) | ||
34 | { | ||
35 | /* Buffer for a message to be received. */ | ||
36 | struct { | ||
37 | mach_msg_header_t head; | ||
38 | mach_msg_body_t msgh_body; | ||
39 | char data[1024]; | ||
40 | } msg; | ||
41 | mach_msg_return_t retval; | ||
42 | /* Wait for a message on the exception port. */ | ||
43 | retval = mach_msg (&msg.head, MACH_RCV_MSG | MACH_RCV_LARGE, 0, sizeof (msg), | ||
44 | our_exception_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); | ||
45 | if (retval != MACH_MSG_SUCCESS) | ||
46 | abort (); | ||
47 | exit (1); | ||
48 | } | ||
49 | static void | ||
50 | nocrash_init (void) | ||
51 | { | ||
52 | mach_port_t self = mach_task_self (); | ||
53 | /* Allocate a port on which the thread shall listen for exceptions. */ | ||
54 | if (mach_port_allocate (self, MACH_PORT_RIGHT_RECEIVE, &our_exception_port) | ||
55 | == KERN_SUCCESS) { | ||
56 | /* See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/mach_port_insert_right.html. */ | ||
57 | if (mach_port_insert_right (self, our_exception_port, our_exception_port, | ||
58 | MACH_MSG_TYPE_MAKE_SEND) | ||
59 | == KERN_SUCCESS) { | ||
60 | /* The exceptions we want to catch. Only EXC_BAD_ACCESS is interesting | ||
61 | for us. */ | ||
62 | exception_mask_t mask = EXC_MASK_BAD_ACCESS; | ||
63 | /* Create the thread listening on the exception port. */ | ||
64 | pthread_attr_t attr; | ||
65 | pthread_t thread; | ||
66 | if (pthread_attr_init (&attr) == 0 | ||
67 | && pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED) == 0 | ||
68 | && pthread_create (&thread, &attr, mach_exception_thread, NULL) == 0) { | ||
69 | pthread_attr_destroy (&attr); | ||
70 | /* Replace the exception port info for these exceptions with our own. | ||
71 | Note that we replace the exception port for the entire task, not only | ||
72 | for a particular thread. This has the effect that when our exception | ||
73 | port gets the message, the thread specific exception port has already | ||
74 | been asked, and we don't need to bother about it. | ||
75 | See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/task_set_exception_ports.html. */ | ||
76 | task_set_exception_ports (self, mask, our_exception_port, | ||
77 | EXCEPTION_DEFAULT, MACHINE_THREAD_STATE); | ||
78 | } | ||
79 | } | ||
80 | } | ||
81 | } | ||
82 | #elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ | ||
83 | /* Avoid a crash on native Windows. */ | ||
84 | #define WIN32_LEAN_AND_MEAN | ||
85 | #include <windows.h> | ||
86 | #include <winerror.h> | ||
87 | static LONG WINAPI | ||
88 | exception_filter (EXCEPTION_POINTERS *ExceptionInfo) | ||
89 | { | ||
90 | switch (ExceptionInfo->ExceptionRecord->ExceptionCode) | ||
91 | { | ||
92 | case EXCEPTION_ACCESS_VIOLATION: | ||
93 | case EXCEPTION_IN_PAGE_ERROR: | ||
94 | case EXCEPTION_STACK_OVERFLOW: | ||
95 | case EXCEPTION_GUARD_PAGE: | ||
96 | case EXCEPTION_PRIV_INSTRUCTION: | ||
97 | case EXCEPTION_ILLEGAL_INSTRUCTION: | ||
98 | case EXCEPTION_DATATYPE_MISALIGNMENT: | ||
99 | case EXCEPTION_ARRAY_BOUNDS_EXCEEDED: | ||
100 | case EXCEPTION_NONCONTINUABLE_EXCEPTION: | ||
101 | exit (1); | ||
102 | } | ||
103 | return EXCEPTION_CONTINUE_SEARCH; | ||
104 | } | ||
105 | static void | ||
106 | nocrash_init (void) | ||
107 | { | ||
108 | SetUnhandledExceptionFilter ((LPTOP_LEVEL_EXCEPTION_FILTER) exception_filter); | ||
109 | } | ||
110 | #else | ||
111 | /* Avoid a crash on POSIX systems. */ | ||
112 | #include <signal.h> | ||
113 | /* A POSIX signal handler. */ | ||
114 | static void | ||
115 | exception_handler (int sig) | ||
116 | { | ||
117 | exit (1); | ||
118 | } | ||
119 | static void | ||
120 | nocrash_init (void) | ||
121 | { | ||
122 | #ifdef SIGSEGV | ||
123 | signal (SIGSEGV, exception_handler); | ||
124 | #endif | ||
125 | #ifdef SIGBUS | ||
126 | signal (SIGBUS, exception_handler); | ||
127 | #endif | ||
128 | } | ||
129 | #endif | ||
130 | ]]) | ||
diff --git a/gl/m4/off_t.m4 b/gl/m4/off_t.m4 new file mode 100644 index 00000000..d355d013 --- /dev/null +++ b/gl/m4/off_t.m4 | |||
@@ -0,0 +1,18 @@ | |||
1 | # off_t.m4 serial 1 | ||
2 | dnl Copyright (C) 2012-2013 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 Check whether to override the 'off_t' type. | ||
8 | dnl Set WINDOWS_64_BIT_OFF_T. | ||
9 | |||
10 | AC_DEFUN([gl_TYPE_OFF_T], | ||
11 | [ | ||
12 | m4_ifdef([gl_LARGEFILE], [ | ||
13 | AC_REQUIRE([gl_LARGEFILE]) | ||
14 | ], [ | ||
15 | WINDOWS_64_BIT_OFF_T=0 | ||
16 | ]) | ||
17 | AC_SUBST([WINDOWS_64_BIT_OFF_T]) | ||
18 | ]) | ||
diff --git a/gl/m4/onceonly.m4 b/gl/m4/onceonly.m4 index 6a9c87b7..0a875a3d 100644 --- a/gl/m4/onceonly.m4 +++ b/gl/m4/onceonly.m4 | |||
@@ -1,9 +1,22 @@ | |||
1 | # onceonly.m4 serial 7 | 1 | # onceonly.m4 serial 9 |
2 | dnl Copyright (C) 2002-2003, 2005-2006, 2008-2010 Free Software Foundation, | 2 | dnl Copyright (C) 2002-2003, 2005-2006, 2008-2013 Free Software Foundation, |
3 | dnl Inc. | 3 | dnl Inc. |
4 | dnl This file is free software, distributed under the terms of the GNU | 4 | dnl |
5 | dnl General Public License. As a special exception to the GNU General | 5 | dnl This file is free software; you can redistribute it and/or modify |
6 | dnl Public License, this file may be distributed as part of a program | 6 | dnl it under the terms of the GNU General Public License as published by |
7 | dnl the Free Software Foundation; either version 3 of the License, or | ||
8 | dnl (at your option) any later version. | ||
9 | dnl | ||
10 | dnl This file is distributed in the hope that it will be useful, | ||
11 | dnl but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | dnl GNU General Public License for more details. | ||
14 | dnl | ||
15 | dnl You should have received a copy of the GNU General Public License | ||
16 | dnl along with this file. If not, see <http://www.gnu.org/licenses/>. | ||
17 | dnl | ||
18 | dnl As a special exception to the GNU General Public License, | ||
19 | dnl this file may be distributed as part of a program | ||
7 | dnl that contains a configuration script generated by Autoconf, under | 20 | dnl that contains a configuration script generated by Autoconf, under |
8 | dnl the same distribution terms as the rest of that program. | 21 | dnl the same distribution terms as the rest of that program. |
9 | 22 | ||
@@ -67,7 +80,7 @@ AC_DEFUN([AC_CHECK_FUNCS_ONCE], [ | |||
67 | [gl_func_list="$gl_func_list gl_FUNC_NAME"]) | 80 | [gl_func_list="$gl_func_list gl_FUNC_NAME"]) |
68 | gl_FUNCS_EXPANSION | 81 | gl_FUNCS_EXPANSION |
69 | AH_TEMPLATE(AS_TR_CPP([HAVE_]m4_defn([gl_FUNC_NAME])), | 82 | AH_TEMPLATE(AS_TR_CPP([HAVE_]m4_defn([gl_FUNC_NAME])), |
70 | [Define to 1 if you have the `]m4_defn([gl_FUNC_NAME])[' function.]) | 83 | [Define to 1 if you have the ']m4_defn([gl_FUNC_NAME])[' function.]) |
71 | ]) | 84 | ]) |
72 | AC_REQUIRE([gl_CHECK_FUNC_]m4_defn([gl_FUNC_NAME])) | 85 | AC_REQUIRE([gl_CHECK_FUNC_]m4_defn([gl_FUNC_NAME])) |
73 | ]) | 86 | ]) |
diff --git a/gl/m4/open.m4 b/gl/m4/open.m4 deleted file mode 100644 index d705b3a1..00000000 --- a/gl/m4/open.m4 +++ /dev/null | |||
@@ -1,74 +0,0 @@ | |||
1 | # open.m4 serial 8 | ||
2 | dnl Copyright (C) 2007-2010 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. FreeBSD only has the problem on symlinks. | ||
17 | AC_CHECK_FUNCS_ONCE([lstat]) | ||
18 | AC_CACHE_CHECK([whether open recognizes a trailing slash], | ||
19 | [gl_cv_func_open_slash], | ||
20 | [# Assume that if we have lstat, we can also check symlinks. | ||
21 | if test $ac_cv_func_lstat = yes; then | ||
22 | touch conftest.tmp | ||
23 | ln -s conftest.tmp conftest.lnk | ||
24 | fi | ||
25 | AC_TRY_RUN([ | ||
26 | #include <fcntl.h> | ||
27 | #if HAVE_UNISTD_H | ||
28 | # include <unistd.h> | ||
29 | #endif | ||
30 | int main () | ||
31 | { | ||
32 | #if HAVE_LSTAT | ||
33 | if (open ("conftest.lnk/", O_RDONLY) != -1) return 2; | ||
34 | #endif | ||
35 | return open ("conftest.sl/", O_CREAT, 0600) >= 0; | ||
36 | }], [gl_cv_func_open_slash=yes], [gl_cv_func_open_slash=no], | ||
37 | [ | ||
38 | changequote(,)dnl | ||
39 | case "$host_os" in | ||
40 | freebsd*) gl_cv_func_open_slash="guessing no" ;; | ||
41 | solaris2.[0-9]*) gl_cv_func_open_slash="guessing no" ;; | ||
42 | hpux*) gl_cv_func_open_slash="guessing no" ;; | ||
43 | *) gl_cv_func_open_slash="guessing yes" ;; | ||
44 | esac | ||
45 | changequote([,])dnl | ||
46 | ]) | ||
47 | rm -f conftest.sl conftest.tmp conftest.lnk | ||
48 | ]) | ||
49 | case "$gl_cv_func_open_slash" in | ||
50 | *no) | ||
51 | AC_DEFINE([OPEN_TRAILING_SLASH_BUG], [1], | ||
52 | [Define to 1 if open() fails to recognize a trailing slash.]) | ||
53 | gl_REPLACE_OPEN | ||
54 | ;; | ||
55 | esac | ||
56 | ;; | ||
57 | esac | ||
58 | ]) | ||
59 | |||
60 | AC_DEFUN([gl_REPLACE_OPEN], | ||
61 | [ | ||
62 | AC_REQUIRE([gl_FCNTL_H_DEFAULTS]) | ||
63 | REPLACE_OPEN=1 | ||
64 | AC_LIBOBJ([open]) | ||
65 | gl_PREREQ_OPEN | ||
66 | ]) | ||
67 | |||
68 | # Prerequisites of lib/open.c. | ||
69 | AC_DEFUN([gl_PREREQ_OPEN], | ||
70 | [ | ||
71 | AC_REQUIRE([AC_C_INLINE]) | ||
72 | AC_REQUIRE([gl_PROMOTED_TYPE_MODE_T]) | ||
73 | : | ||
74 | ]) | ||
diff --git a/gl/m4/po.m4 b/gl/m4/po.m4 index 47f36a41..1c70b6c1 100644 --- a/gl/m4/po.m4 +++ b/gl/m4/po.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # po.m4 serial 17 (gettext-0.18) | 1 | # po.m4 serial 21 (gettext-0.18.3) |
2 | dnl Copyright (C) 1995-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1995-2013 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,14 +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.60]) |
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], |
24 | [ | 24 | [ |
25 | AC_REQUIRE([AC_PROG_MAKE_SET])dnl | 25 | AC_REQUIRE([AC_PROG_MAKE_SET])dnl |
26 | AC_REQUIRE([AC_PROG_INSTALL])dnl | 26 | AC_REQUIRE([AC_PROG_INSTALL])dnl |
27 | AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake | 27 | AC_REQUIRE([AC_PROG_MKDIR_P])dnl |
28 | AC_REQUIRE([AC_PROG_SED])dnl | ||
28 | AC_REQUIRE([AM_NLS])dnl | 29 | AC_REQUIRE([AM_NLS])dnl |
29 | 30 | ||
30 | dnl Release version of the gettext macros. This is used to ensure that | 31 | dnl Release version of the gettext macros. This is used to ensure that |
@@ -102,7 +103,7 @@ changequote([,])dnl | |||
102 | case "$ac_file" in */Makefile.in) | 103 | case "$ac_file" in */Makefile.in) |
103 | # Adjust a relative srcdir. | 104 | # Adjust a relative srcdir. |
104 | ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` | 105 | ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` |
105 | ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" | 106 | ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'` |
106 | ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` | 107 | ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` |
107 | # In autoconf-2.13 it is called $ac_given_srcdir. | 108 | # In autoconf-2.13 it is called $ac_given_srcdir. |
108 | # In autoconf-2.50 it is called $srcdir. | 109 | # In autoconf-2.50 it is called $srcdir. |
@@ -118,7 +119,8 @@ changequote([,])dnl | |||
118 | if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then | 119 | if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then |
119 | rm -f "$ac_dir/POTFILES" | 120 | rm -f "$ac_dir/POTFILES" |
120 | test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" | 121 | test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" |
121 | cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" | 122 | gt_tab=`printf '\t'` |
123 | cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" | ||
122 | POMAKEFILEDEPS="POTFILES.in" | 124 | POMAKEFILEDEPS="POTFILES.in" |
123 | # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend | 125 | # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend |
124 | # on $ac_dir but don't depend on user-specified configuration | 126 | # on $ac_dir but don't depend on user-specified configuration |
@@ -129,12 +131,12 @@ changequote([,])dnl | |||
129 | test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" | 131 | test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" |
130 | fi | 132 | fi |
131 | ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` | 133 | ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` |
132 | # Hide the ALL_LINGUAS assigment from automake < 1.5. | 134 | # Hide the ALL_LINGUAS assignment from automake < 1.5. |
133 | eval 'ALL_LINGUAS''=$ALL_LINGUAS_' | 135 | eval 'ALL_LINGUAS''=$ALL_LINGUAS_' |
134 | POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" | 136 | POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" |
135 | else | 137 | else |
136 | # The set of available languages was given in configure.in. | 138 | # The set of available languages was given in configure.in. |
137 | # Hide the ALL_LINGUAS assigment from automake < 1.5. | 139 | # Hide the ALL_LINGUAS assignment from automake < 1.5. |
138 | eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' | 140 | eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' |
139 | fi | 141 | fi |
140 | # Compute POFILES | 142 | # Compute POFILES |
@@ -226,7 +228,7 @@ AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE], | |||
226 | changequote(,)dnl | 228 | changequote(,)dnl |
227 | # Adjust a relative srcdir. | 229 | # Adjust a relative srcdir. |
228 | ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` | 230 | ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` |
229 | ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" | 231 | ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'` |
230 | ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` | 232 | ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` |
231 | # In autoconf-2.13 it is called $ac_given_srcdir. | 233 | # In autoconf-2.13 it is called $ac_given_srcdir. |
232 | # In autoconf-2.50 it is called $srcdir. | 234 | # In autoconf-2.50 it is called $srcdir. |
@@ -254,6 +256,7 @@ EOT | |||
254 | fi | 256 | fi |
255 | 257 | ||
256 | # A sed script that extracts the value of VARIABLE from a Makefile. | 258 | # A sed script that extracts the value of VARIABLE from a Makefile. |
259 | tab=`printf '\t'` | ||
257 | sed_x_variable=' | 260 | sed_x_variable=' |
258 | # Test if the hold space is empty. | 261 | # Test if the hold space is empty. |
259 | x | 262 | x |
@@ -261,9 +264,9 @@ s/P/P/ | |||
261 | x | 264 | x |
262 | ta | 265 | ta |
263 | # Yes it was empty. Look if we have the expected variable definition. | 266 | # Yes it was empty. Look if we have the expected variable definition. |
264 | /^[ ]*VARIABLE[ ]*=/{ | 267 | /^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=/{ |
265 | # Seen the first line of the variable definition. | 268 | # Seen the first line of the variable definition. |
266 | s/^[ ]*VARIABLE[ ]*=// | 269 | s/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=// |
267 | ba | 270 | ba |
268 | } | 271 | } |
269 | bd | 272 | bd |
@@ -315,7 +318,7 @@ changequote([,])dnl | |||
315 | sed_x_LINGUAS=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'` | 318 | sed_x_LINGUAS=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'` |
316 | ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"` | 319 | ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"` |
317 | fi | 320 | fi |
318 | # Hide the ALL_LINGUAS assigment from automake < 1.5. | 321 | # Hide the ALL_LINGUAS assignment from automake < 1.5. |
319 | eval 'ALL_LINGUAS''=$ALL_LINGUAS_' | 322 | eval 'ALL_LINGUAS''=$ALL_LINGUAS_' |
320 | # Compute POFILES | 323 | # Compute POFILES |
321 | # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) | 324 | # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) |
@@ -405,14 +408,15 @@ changequote([,])dnl | |||
405 | fi | 408 | fi |
406 | 409 | ||
407 | sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp" | 410 | sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp" |
411 | tab=`printf '\t'` | ||
408 | if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then | 412 | if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then |
409 | # Add dependencies that cannot be formulated as a simple suffix rule. | 413 | # Add dependencies that cannot be formulated as a simple suffix rule. |
410 | for lang in $ALL_LINGUAS; do | 414 | for lang in $ALL_LINGUAS; do |
411 | frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` | 415 | frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` |
412 | cat >> "$ac_file.tmp" <<EOF | 416 | cat >> "$ac_file.tmp" <<EOF |
413 | $frobbedlang.msg: $lang.po | 417 | $frobbedlang.msg: $lang.po |
414 | @echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \ | 418 | ${tab}@echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \ |
415 | \$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; } | 419 | ${tab}\$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; } |
416 | EOF | 420 | EOF |
417 | done | 421 | done |
418 | fi | 422 | fi |
@@ -422,8 +426,8 @@ EOF | |||
422 | frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` | 426 | frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` |
423 | cat >> "$ac_file.tmp" <<EOF | 427 | cat >> "$ac_file.tmp" <<EOF |
424 | $frobbedlang/\$(DOMAIN).resources.dll: $lang.po | 428 | $frobbedlang/\$(DOMAIN).resources.dll: $lang.po |
425 | @echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \ | 429 | ${tab}@echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \ |
426 | \$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; } | 430 | ${tab}\$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; } |
427 | EOF | 431 | EOF |
428 | done | 432 | done |
429 | fi | 433 | fi |
diff --git a/gl/m4/printf-posix.m4 b/gl/m4/printf-posix.m4 index 1eacf95a..d7dfb60f 100644 --- a/gl/m4/printf-posix.m4 +++ b/gl/m4/printf-posix.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # printf-posix.m4 serial 5 (gettext-0.18) | 1 | # printf-posix.m4 serial 6 (gettext-0.18.2) |
2 | dnl Copyright (C) 2003, 2007, 2009-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2003, 2007, 2009-2013 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. |
@@ -14,7 +14,8 @@ AC_DEFUN([gt_PRINTF_POSIX], | |||
14 | AC_CACHE_CHECK([whether printf() supports POSIX/XSI format strings], | 14 | AC_CACHE_CHECK([whether printf() supports POSIX/XSI format strings], |
15 | gt_cv_func_printf_posix, | 15 | gt_cv_func_printf_posix, |
16 | [ | 16 | [ |
17 | AC_TRY_RUN([ | 17 | AC_RUN_IFELSE( |
18 | [AC_LANG_SOURCE([[ | ||
18 | #include <stdio.h> | 19 | #include <stdio.h> |
19 | #include <string.h> | 20 | #include <string.h> |
20 | /* The string "%2$d %1$d", with dollar characters protected from the shell's | 21 | /* The string "%2$d %1$d", with dollar characters protected from the shell's |
@@ -25,16 +26,18 @@ int main () | |||
25 | { | 26 | { |
26 | sprintf (buf, format, 33, 55); | 27 | sprintf (buf, format, 33, 55); |
27 | return (strcmp (buf, "55 33") != 0); | 28 | return (strcmp (buf, "55 33") != 0); |
28 | }], gt_cv_func_printf_posix=yes, gt_cv_func_printf_posix=no, | 29 | }]])], |
29 | [ | 30 | [gt_cv_func_printf_posix=yes], |
30 | AC_EGREP_CPP([notposix], [ | 31 | [gt_cv_func_printf_posix=no], |
32 | [ | ||
33 | AC_EGREP_CPP([notposix], [ | ||
31 | #if defined __NetBSD__ || defined __BEOS__ || defined _MSC_VER || defined __MINGW32__ || defined __CYGWIN__ | 34 | #if defined __NetBSD__ || defined __BEOS__ || defined _MSC_VER || defined __MINGW32__ || defined __CYGWIN__ |
32 | notposix | 35 | notposix |
33 | #endif | 36 | #endif |
34 | ], | 37 | ], |
35 | [gt_cv_func_printf_posix="guessing no"], | 38 | [gt_cv_func_printf_posix="guessing no"], |
36 | [gt_cv_func_printf_posix="guessing yes"]) | 39 | [gt_cv_func_printf_posix="guessing yes"]) |
37 | ]) | 40 | ]) |
38 | ]) | 41 | ]) |
39 | case $gt_cv_func_printf_posix in | 42 | case $gt_cv_func_printf_posix in |
40 | *yes) | 43 | *yes) |
diff --git a/gl/m4/printf.m4 b/gl/m4/printf.m4 index b31efe3e..ef44f785 100644 --- a/gl/m4/printf.m4 +++ b/gl/m4/printf.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # printf.m4 serial 34 | 1 | # printf.m4 serial 50 |
2 | dnl Copyright (C) 2003, 2007-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2003, 2007-2013 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,8 @@ AC_DEFUN([gl_PRINTF_SIZES_C99], | |||
17 | AC_CACHE_CHECK([whether printf supports size specifiers as in C99], | 17 | AC_CACHE_CHECK([whether printf supports size specifiers as in C99], |
18 | [gl_cv_func_printf_sizes_c99], | 18 | [gl_cv_func_printf_sizes_c99], |
19 | [ | 19 | [ |
20 | AC_TRY_RUN([ | 20 | AC_RUN_IFELSE( |
21 | [AC_LANG_SOURCE([[ | ||
21 | #include <stddef.h> | 22 | #include <stddef.h> |
22 | #include <stdio.h> | 23 | #include <stdio.h> |
23 | #include <string.h> | 24 | #include <string.h> |
@@ -31,53 +32,56 @@ AC_DEFUN([gl_PRINTF_SIZES_C99], | |||
31 | static char buf[100]; | 32 | static char buf[100]; |
32 | int main () | 33 | int main () |
33 | { | 34 | { |
35 | int result = 0; | ||
34 | #if HAVE_STDINT_H_WITH_UINTMAX || HAVE_INTTYPES_H_WITH_UINTMAX | 36 | #if HAVE_STDINT_H_WITH_UINTMAX || HAVE_INTTYPES_H_WITH_UINTMAX |
35 | buf[0] = '\0'; | 37 | buf[0] = '\0'; |
36 | if (sprintf (buf, "%ju %d", (uintmax_t) 12345671, 33, 44, 55) < 0 | 38 | if (sprintf (buf, "%ju %d", (uintmax_t) 12345671, 33, 44, 55) < 0 |
37 | || strcmp (buf, "12345671 33") != 0) | 39 | || strcmp (buf, "12345671 33") != 0) |
38 | return 1; | 40 | result |= 1; |
39 | #endif | 41 | #endif |
40 | buf[0] = '\0'; | 42 | buf[0] = '\0'; |
41 | if (sprintf (buf, "%zu %d", (size_t) 12345672, 33, 44, 55) < 0 | 43 | if (sprintf (buf, "%zu %d", (size_t) 12345672, 33, 44, 55) < 0 |
42 | || strcmp (buf, "12345672 33") != 0) | 44 | || strcmp (buf, "12345672 33") != 0) |
43 | return 1; | 45 | result |= 2; |
44 | buf[0] = '\0'; | 46 | buf[0] = '\0'; |
45 | if (sprintf (buf, "%tu %d", (ptrdiff_t) 12345673, 33, 44, 55) < 0 | 47 | if (sprintf (buf, "%tu %d", (ptrdiff_t) 12345673, 33, 44, 55) < 0 |
46 | || strcmp (buf, "12345673 33") != 0) | 48 | || strcmp (buf, "12345673 33") != 0) |
47 | return 1; | 49 | result |= 4; |
48 | buf[0] = '\0'; | 50 | buf[0] = '\0'; |
49 | if (sprintf (buf, "%Lg %d", (long double) 1.5, 33, 44, 55) < 0 | 51 | if (sprintf (buf, "%Lg %d", (long double) 1.5, 33, 44, 55) < 0 |
50 | || strcmp (buf, "1.5 33") != 0) | 52 | || strcmp (buf, "1.5 33") != 0) |
51 | return 1; | 53 | result |= 8; |
52 | return 0; | 54 | return result; |
53 | }], [gl_cv_func_printf_sizes_c99=yes], [gl_cv_func_printf_sizes_c99=no], | 55 | }]])], |
54 | [ | 56 | [gl_cv_func_printf_sizes_c99=yes], |
57 | [gl_cv_func_printf_sizes_c99=no], | ||
58 | [ | ||
55 | changequote(,)dnl | 59 | changequote(,)dnl |
56 | case "$host_os" in | 60 | case "$host_os" in |
57 | # Guess yes on glibc systems. | 61 | # Guess yes on glibc systems. |
58 | *-gnu*) gl_cv_func_printf_sizes_c99="guessing yes";; | 62 | *-gnu*) gl_cv_func_printf_sizes_c99="guessing yes";; |
59 | # Guess yes on FreeBSD >= 5. | 63 | # Guess yes on FreeBSD >= 5. |
60 | freebsd[1-4]*) gl_cv_func_printf_sizes_c99="guessing no";; | 64 | freebsd[1-4]*) gl_cv_func_printf_sizes_c99="guessing no";; |
61 | freebsd* | kfreebsd*) gl_cv_func_printf_sizes_c99="guessing yes";; | 65 | freebsd* | kfreebsd*) gl_cv_func_printf_sizes_c99="guessing yes";; |
62 | # Guess yes on MacOS X >= 10.3. | 66 | # Guess yes on Mac OS X >= 10.3. |
63 | darwin[1-6].*) gl_cv_func_printf_sizes_c99="guessing no";; | 67 | darwin[1-6].*) gl_cv_func_printf_sizes_c99="guessing no";; |
64 | darwin*) gl_cv_func_printf_sizes_c99="guessing yes";; | 68 | darwin*) gl_cv_func_printf_sizes_c99="guessing yes";; |
65 | # Guess yes on OpenBSD >= 3.9. | 69 | # Guess yes on OpenBSD >= 3.9. |
66 | openbsd[1-2].* | openbsd3.[0-8] | openbsd3.[0-8].*) | 70 | openbsd[1-2].* | openbsd3.[0-8] | openbsd3.[0-8].*) |
67 | gl_cv_func_printf_sizes_c99="guessing no";; | 71 | gl_cv_func_printf_sizes_c99="guessing no";; |
68 | openbsd*) gl_cv_func_printf_sizes_c99="guessing yes";; | 72 | openbsd*) gl_cv_func_printf_sizes_c99="guessing yes";; |
69 | # Guess yes on Solaris >= 2.10. | 73 | # Guess yes on Solaris >= 2.10. |
70 | solaris2.[0-9]*) gl_cv_func_printf_sizes_c99="guessing no";; | 74 | solaris2.[1-9][0-9]*) gl_cv_func_printf_sizes_c99="guessing yes";; |
71 | solaris*) gl_cv_func_printf_sizes_c99="guessing yes";; | 75 | solaris*) gl_cv_func_printf_sizes_c99="guessing no";; |
72 | # Guess yes on NetBSD >= 3. | 76 | # Guess yes on NetBSD >= 3. |
73 | netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) | 77 | netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) |
74 | gl_cv_func_printf_sizes_c99="guessing no";; | 78 | gl_cv_func_printf_sizes_c99="guessing no";; |
75 | netbsd*) gl_cv_func_printf_sizes_c99="guessing yes";; | 79 | netbsd*) gl_cv_func_printf_sizes_c99="guessing yes";; |
76 | # If we don't know, assume the worst. | 80 | # If we don't know, assume the worst. |
77 | *) gl_cv_func_printf_sizes_c99="guessing no";; | 81 | *) gl_cv_func_printf_sizes_c99="guessing no";; |
78 | esac | 82 | esac |
79 | changequote([,])dnl | 83 | changequote([,])dnl |
80 | ]) | 84 | ]) |
81 | ]) | 85 | ]) |
82 | ]) | 86 | ]) |
83 | 87 | ||
@@ -92,35 +96,39 @@ AC_DEFUN([gl_PRINTF_LONG_DOUBLE], | |||
92 | AC_CACHE_CHECK([whether printf supports 'long double' arguments], | 96 | AC_CACHE_CHECK([whether printf supports 'long double' arguments], |
93 | [gl_cv_func_printf_long_double], | 97 | [gl_cv_func_printf_long_double], |
94 | [ | 98 | [ |
95 | AC_TRY_RUN([ | 99 | AC_RUN_IFELSE( |
100 | [AC_LANG_SOURCE([[ | ||
96 | #include <stdio.h> | 101 | #include <stdio.h> |
97 | #include <string.h> | 102 | #include <string.h> |
98 | static char buf[10000]; | 103 | static char buf[10000]; |
99 | int main () | 104 | int main () |
100 | { | 105 | { |
106 | int result = 0; | ||
101 | buf[0] = '\0'; | 107 | buf[0] = '\0'; |
102 | if (sprintf (buf, "%Lf %d", 1.75L, 33, 44, 55) < 0 | 108 | if (sprintf (buf, "%Lf %d", 1.75L, 33, 44, 55) < 0 |
103 | || strcmp (buf, "1.750000 33") != 0) | 109 | || strcmp (buf, "1.750000 33") != 0) |
104 | return 1; | 110 | result |= 1; |
105 | buf[0] = '\0'; | 111 | buf[0] = '\0'; |
106 | if (sprintf (buf, "%Le %d", 1.75L, 33, 44, 55) < 0 | 112 | if (sprintf (buf, "%Le %d", 1.75L, 33, 44, 55) < 0 |
107 | || strcmp (buf, "1.750000e+00 33") != 0) | 113 | || strcmp (buf, "1.750000e+00 33") != 0) |
108 | return 1; | 114 | result |= 2; |
109 | buf[0] = '\0'; | 115 | buf[0] = '\0'; |
110 | if (sprintf (buf, "%Lg %d", 1.75L, 33, 44, 55) < 0 | 116 | if (sprintf (buf, "%Lg %d", 1.75L, 33, 44, 55) < 0 |
111 | || strcmp (buf, "1.75 33") != 0) | 117 | || strcmp (buf, "1.75 33") != 0) |
112 | return 1; | 118 | result |= 4; |
113 | return 0; | 119 | return result; |
114 | }], [gl_cv_func_printf_long_double=yes], [gl_cv_func_printf_long_double=no], | 120 | }]])], |
115 | [ | 121 | [gl_cv_func_printf_long_double=yes], |
122 | [gl_cv_func_printf_long_double=no], | ||
123 | [ | ||
116 | changequote(,)dnl | 124 | changequote(,)dnl |
117 | case "$host_os" in | 125 | case "$host_os" in |
118 | beos*) gl_cv_func_printf_long_double="guessing no";; | 126 | beos*) gl_cv_func_printf_long_double="guessing no";; |
119 | mingw* | pw*) gl_cv_func_printf_long_double="guessing no";; | 127 | mingw* | pw*) gl_cv_func_printf_long_double="guessing no";; |
120 | *) gl_cv_func_printf_long_double="guessing yes";; | 128 | *) gl_cv_func_printf_long_double="guessing yes";; |
121 | esac | 129 | esac |
122 | changequote([,])dnl | 130 | changequote([,])dnl |
123 | ]) | 131 | ]) |
124 | ]) | 132 | ]) |
125 | ]) | 133 | ]) |
126 | 134 | ||
@@ -136,7 +144,8 @@ AC_DEFUN([gl_PRINTF_INFINITE], | |||
136 | AC_CACHE_CHECK([whether printf supports infinite 'double' arguments], | 144 | AC_CACHE_CHECK([whether printf supports infinite 'double' arguments], |
137 | [gl_cv_func_printf_infinite], | 145 | [gl_cv_func_printf_infinite], |
138 | [ | 146 | [ |
139 | AC_TRY_RUN([ | 147 | AC_RUN_IFELSE( |
148 | [AC_LANG_SOURCE([[ | ||
140 | #include <stdio.h> | 149 | #include <stdio.h> |
141 | #include <string.h> | 150 | #include <string.h> |
142 | static int | 151 | static int |
@@ -168,65 +177,68 @@ static char buf[10000]; | |||
168 | static double zero = 0.0; | 177 | static double zero = 0.0; |
169 | int main () | 178 | int main () |
170 | { | 179 | { |
171 | if (sprintf (buf, "%f", 1.0 / 0.0) < 0 | 180 | int result = 0; |
181 | if (sprintf (buf, "%f", 1.0 / zero) < 0 | ||
172 | || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) | 182 | || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) |
173 | return 1; | 183 | result |= 1; |
174 | if (sprintf (buf, "%f", -1.0 / 0.0) < 0 | 184 | if (sprintf (buf, "%f", -1.0 / zero) < 0 |
175 | || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) | 185 | || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) |
176 | return 1; | 186 | result |= 1; |
177 | if (sprintf (buf, "%f", zero / zero) < 0 | 187 | if (sprintf (buf, "%f", zero / zero) < 0 |
178 | || !strisnan (buf, 0, strlen (buf))) | 188 | || !strisnan (buf, 0, strlen (buf))) |
179 | return 1; | 189 | result |= 2; |
180 | if (sprintf (buf, "%e", 1.0 / 0.0) < 0 | 190 | if (sprintf (buf, "%e", 1.0 / zero) < 0 |
181 | || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) | 191 | || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) |
182 | return 1; | 192 | result |= 4; |
183 | if (sprintf (buf, "%e", -1.0 / 0.0) < 0 | 193 | if (sprintf (buf, "%e", -1.0 / zero) < 0 |
184 | || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) | 194 | || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) |
185 | return 1; | 195 | result |= 4; |
186 | if (sprintf (buf, "%e", zero / zero) < 0 | 196 | if (sprintf (buf, "%e", zero / zero) < 0 |
187 | || !strisnan (buf, 0, strlen (buf))) | 197 | || !strisnan (buf, 0, strlen (buf))) |
188 | return 1; | 198 | result |= 8; |
189 | if (sprintf (buf, "%g", 1.0 / 0.0) < 0 | 199 | if (sprintf (buf, "%g", 1.0 / zero) < 0 |
190 | || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) | 200 | || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) |
191 | return 1; | 201 | result |= 16; |
192 | if (sprintf (buf, "%g", -1.0 / 0.0) < 0 | 202 | if (sprintf (buf, "%g", -1.0 / zero) < 0 |
193 | || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) | 203 | || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) |
194 | return 1; | 204 | result |= 16; |
195 | if (sprintf (buf, "%g", zero / zero) < 0 | 205 | if (sprintf (buf, "%g", zero / zero) < 0 |
196 | || !strisnan (buf, 0, strlen (buf))) | 206 | || !strisnan (buf, 0, strlen (buf))) |
197 | return 1; | 207 | result |= 32; |
198 | /* This test fails on HP-UX 10.20. */ | 208 | /* This test fails on HP-UX 10.20. */ |
199 | if (have_minus_zero ()) | 209 | if (have_minus_zero ()) |
200 | if (sprintf (buf, "%g", - zero) < 0 | 210 | if (sprintf (buf, "%g", - zero) < 0 |
201 | || strcmp (buf, "-0") != 0) | 211 | || strcmp (buf, "-0") != 0) |
202 | return 1; | 212 | result |= 64; |
203 | return 0; | 213 | return result; |
204 | }], [gl_cv_func_printf_infinite=yes], [gl_cv_func_printf_infinite=no], | 214 | }]])], |
205 | [ | 215 | [gl_cv_func_printf_infinite=yes], |
216 | [gl_cv_func_printf_infinite=no], | ||
217 | [ | ||
206 | changequote(,)dnl | 218 | changequote(,)dnl |
207 | case "$host_os" in | 219 | case "$host_os" in |
208 | # Guess yes on glibc systems. | 220 | # Guess yes on glibc systems. |
209 | *-gnu*) gl_cv_func_printf_infinite="guessing yes";; | 221 | *-gnu*) gl_cv_func_printf_infinite="guessing yes";; |
210 | # Guess yes on FreeBSD >= 6. | 222 | # Guess yes on FreeBSD >= 6. |
211 | freebsd[1-5]*) gl_cv_func_printf_infinite="guessing no";; | 223 | freebsd[1-5]*) gl_cv_func_printf_infinite="guessing no";; |
212 | freebsd* | kfreebsd*) gl_cv_func_printf_infinite="guessing yes";; | 224 | freebsd* | kfreebsd*) gl_cv_func_printf_infinite="guessing yes";; |
213 | # Guess yes on MacOS X >= 10.3. | 225 | # Guess yes on Mac OS X >= 10.3. |
214 | darwin[1-6].*) gl_cv_func_printf_infinite="guessing no";; | 226 | darwin[1-6].*) gl_cv_func_printf_infinite="guessing no";; |
215 | darwin*) gl_cv_func_printf_infinite="guessing yes";; | 227 | darwin*) gl_cv_func_printf_infinite="guessing yes";; |
216 | # Guess yes on HP-UX >= 11. | 228 | # Guess yes on HP-UX >= 11. |
217 | hpux[7-9]* | hpux10*) gl_cv_func_printf_infinite="guessing no";; | 229 | hpux[7-9]* | hpux10*) gl_cv_func_printf_infinite="guessing no";; |
218 | hpux*) gl_cv_func_printf_infinite="guessing yes";; | 230 | hpux*) gl_cv_func_printf_infinite="guessing yes";; |
219 | # Guess yes on NetBSD >= 3. | 231 | # Guess yes on NetBSD >= 3. |
220 | netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) | 232 | netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) |
221 | gl_cv_func_printf_infinite="guessing no";; | 233 | gl_cv_func_printf_infinite="guessing no";; |
222 | netbsd*) gl_cv_func_printf_infinite="guessing yes";; | 234 | netbsd*) gl_cv_func_printf_infinite="guessing yes";; |
223 | # Guess yes on BeOS. | 235 | # Guess yes on BeOS. |
224 | beos*) gl_cv_func_printf_infinite="guessing yes";; | 236 | beos*) gl_cv_func_printf_infinite="guessing yes";; |
225 | # If we don't know, assume the worst. | 237 | # If we don't know, assume the worst. |
226 | *) gl_cv_func_printf_infinite="guessing no";; | 238 | *) gl_cv_func_printf_infinite="guessing no";; |
227 | esac | 239 | esac |
228 | changequote([,])dnl | 240 | changequote([,])dnl |
229 | ]) | 241 | ]) |
230 | ]) | 242 | ]) |
231 | ]) | 243 | ]) |
232 | 244 | ||
@@ -239,6 +251,7 @@ AC_DEFUN([gl_PRINTF_INFINITE_LONG_DOUBLE], | |||
239 | AC_REQUIRE([gl_PRINTF_LONG_DOUBLE]) | 251 | AC_REQUIRE([gl_PRINTF_LONG_DOUBLE]) |
240 | AC_REQUIRE([AC_PROG_CC]) | 252 | AC_REQUIRE([AC_PROG_CC]) |
241 | AC_REQUIRE([gl_BIGENDIAN]) | 253 | AC_REQUIRE([gl_BIGENDIAN]) |
254 | AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) | ||
242 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | 255 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles |
243 | dnl The user can set or unset the variable gl_printf_safe to indicate | 256 | dnl The user can set or unset the variable gl_printf_safe to indicate |
244 | dnl that he wishes a safe handling of non-IEEE-754 'long double' values. | 257 | dnl that he wishes a safe handling of non-IEEE-754 'long double' values. |
@@ -252,7 +265,8 @@ AC_DEFUN([gl_PRINTF_INFINITE_LONG_DOUBLE], | |||
252 | AC_CACHE_CHECK([whether printf supports infinite 'long double' arguments], | 265 | AC_CACHE_CHECK([whether printf supports infinite 'long double' arguments], |
253 | [gl_cv_func_printf_infinite_long_double], | 266 | [gl_cv_func_printf_infinite_long_double], |
254 | [ | 267 | [ |
255 | AC_TRY_RUN([ | 268 | AC_RUN_IFELSE( |
269 | [AC_LANG_SOURCE([[ | ||
256 | ]GL_NOCRASH[ | 270 | ]GL_NOCRASH[ |
257 | #include <float.h> | 271 | #include <float.h> |
258 | #include <stdio.h> | 272 | #include <stdio.h> |
@@ -279,35 +293,36 @@ static char buf[10000]; | |||
279 | static long double zeroL = 0.0L; | 293 | static long double zeroL = 0.0L; |
280 | int main () | 294 | int main () |
281 | { | 295 | { |
296 | int result = 0; | ||
282 | nocrash_init(); | 297 | nocrash_init(); |
283 | if (sprintf (buf, "%Lf", 1.0L / 0.0L) < 0 | 298 | if (sprintf (buf, "%Lf", 1.0L / zeroL) < 0 |
284 | || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) | 299 | || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) |
285 | return 1; | 300 | result |= 1; |
286 | if (sprintf (buf, "%Lf", -1.0L / 0.0L) < 0 | 301 | if (sprintf (buf, "%Lf", -1.0L / zeroL) < 0 |
287 | || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) | 302 | || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) |
288 | return 1; | 303 | result |= 1; |
289 | if (sprintf (buf, "%Lf", zeroL / zeroL) < 0 | 304 | if (sprintf (buf, "%Lf", zeroL / zeroL) < 0 |
290 | || !strisnan (buf, 0, strlen (buf))) | 305 | || !strisnan (buf, 0, strlen (buf))) |
291 | return 1; | 306 | result |= 1; |
292 | if (sprintf (buf, "%Le", 1.0L / 0.0L) < 0 | 307 | if (sprintf (buf, "%Le", 1.0L / zeroL) < 0 |
293 | || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) | 308 | || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) |
294 | return 1; | 309 | result |= 1; |
295 | if (sprintf (buf, "%Le", -1.0L / 0.0L) < 0 | 310 | if (sprintf (buf, "%Le", -1.0L / zeroL) < 0 |
296 | || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) | 311 | || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) |
297 | return 1; | 312 | result |= 1; |
298 | if (sprintf (buf, "%Le", zeroL / zeroL) < 0 | 313 | if (sprintf (buf, "%Le", zeroL / zeroL) < 0 |
299 | || !strisnan (buf, 0, strlen (buf))) | 314 | || !strisnan (buf, 0, strlen (buf))) |
300 | return 1; | 315 | result |= 1; |
301 | if (sprintf (buf, "%Lg", 1.0L / 0.0L) < 0 | 316 | if (sprintf (buf, "%Lg", 1.0L / zeroL) < 0 |
302 | || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) | 317 | || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) |
303 | return 1; | 318 | result |= 1; |
304 | if (sprintf (buf, "%Lg", -1.0L / 0.0L) < 0 | 319 | if (sprintf (buf, "%Lg", -1.0L / zeroL) < 0 |
305 | || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) | 320 | || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) |
306 | return 1; | 321 | result |= 1; |
307 | if (sprintf (buf, "%Lg", zeroL / zeroL) < 0 | 322 | if (sprintf (buf, "%Lg", zeroL / zeroL) < 0 |
308 | || !strisnan (buf, 0, strlen (buf))) | 323 | || !strisnan (buf, 0, strlen (buf))) |
309 | return 1; | 324 | result |= 1; |
310 | #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_)) | 325 | #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_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE |
311 | /* Representation of an 80-bit 'long double' as an initializer for a sequence | 326 | /* Representation of an 80-bit 'long double' as an initializer for a sequence |
312 | of 'unsigned int' words. */ | 327 | of 'unsigned int' words. */ |
313 | # ifdef WORDS_BIGENDIAN | 328 | # ifdef WORDS_BIGENDIAN |
@@ -325,13 +340,13 @@ int main () | |||
325 | { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) }; | 340 | { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) }; |
326 | if (sprintf (buf, "%Lf", x.value) < 0 | 341 | if (sprintf (buf, "%Lf", x.value) < 0 |
327 | || !strisnan (buf, 0, strlen (buf))) | 342 | || !strisnan (buf, 0, strlen (buf))) |
328 | return 1; | 343 | result |= 2; |
329 | if (sprintf (buf, "%Le", x.value) < 0 | 344 | if (sprintf (buf, "%Le", x.value) < 0 |
330 | || !strisnan (buf, 0, strlen (buf))) | 345 | || !strisnan (buf, 0, strlen (buf))) |
331 | return 1; | 346 | result |= 2; |
332 | if (sprintf (buf, "%Lg", x.value) < 0 | 347 | if (sprintf (buf, "%Lg", x.value) < 0 |
333 | || !strisnan (buf, 0, strlen (buf))) | 348 | || !strisnan (buf, 0, strlen (buf))) |
334 | return 1; | 349 | result |= 2; |
335 | } | 350 | } |
336 | { | 351 | { |
337 | /* Signalling NaN. */ | 352 | /* Signalling NaN. */ |
@@ -339,113 +354,106 @@ int main () | |||
339 | { LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) }; | 354 | { LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) }; |
340 | if (sprintf (buf, "%Lf", x.value) < 0 | 355 | if (sprintf (buf, "%Lf", x.value) < 0 |
341 | || !strisnan (buf, 0, strlen (buf))) | 356 | || !strisnan (buf, 0, strlen (buf))) |
342 | return 1; | 357 | result |= 2; |
343 | if (sprintf (buf, "%Le", x.value) < 0 | 358 | if (sprintf (buf, "%Le", x.value) < 0 |
344 | || !strisnan (buf, 0, strlen (buf))) | 359 | || !strisnan (buf, 0, strlen (buf))) |
345 | return 1; | 360 | result |= 2; |
346 | if (sprintf (buf, "%Lg", x.value) < 0 | 361 | if (sprintf (buf, "%Lg", x.value) < 0 |
347 | || !strisnan (buf, 0, strlen (buf))) | 362 | || !strisnan (buf, 0, strlen (buf))) |
348 | return 1; | 363 | result |= 2; |
349 | } | 364 | } |
350 | { /* Pseudo-NaN. */ | 365 | { /* Pseudo-NaN. */ |
351 | static union { unsigned int word[4]; long double value; } x = | 366 | static union { unsigned int word[4]; long double value; } x = |
352 | { LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) }; | 367 | { LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) }; |
353 | if (sprintf (buf, "%Lf", x.value) < 0 | 368 | if (sprintf (buf, "%Lf", x.value) < 0 |
354 | || !strisnan (buf, 0, strlen (buf))) | 369 | || !strisnan (buf, 0, strlen (buf))) |
355 | return 1; | 370 | result |= 4; |
356 | if (sprintf (buf, "%Le", x.value) < 0 | 371 | if (sprintf (buf, "%Le", x.value) < 0 |
357 | || !strisnan (buf, 0, strlen (buf))) | 372 | || !strisnan (buf, 0, strlen (buf))) |
358 | return 1; | 373 | result |= 4; |
359 | if (sprintf (buf, "%Lg", x.value) < 0 | 374 | if (sprintf (buf, "%Lg", x.value) < 0 |
360 | || !strisnan (buf, 0, strlen (buf))) | 375 | || !strisnan (buf, 0, strlen (buf))) |
361 | return 1; | 376 | result |= 4; |
362 | } | 377 | } |
363 | { /* Pseudo-Infinity. */ | 378 | { /* Pseudo-Infinity. */ |
364 | static union { unsigned int word[4]; long double value; } x = | 379 | static union { unsigned int word[4]; long double value; } x = |
365 | { LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) }; | 380 | { LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) }; |
366 | if (sprintf (buf, "%Lf", x.value) < 0 | 381 | if (sprintf (buf, "%Lf", x.value) < 0 |
367 | || !strisnan (buf, 0, strlen (buf))) | 382 | || !strisnan (buf, 0, strlen (buf))) |
368 | return 1; | 383 | result |= 8; |
369 | if (sprintf (buf, "%Le", x.value) < 0 | 384 | if (sprintf (buf, "%Le", x.value) < 0 |
370 | || !strisnan (buf, 0, strlen (buf))) | 385 | || !strisnan (buf, 0, strlen (buf))) |
371 | return 1; | 386 | result |= 8; |
372 | if (sprintf (buf, "%Lg", x.value) < 0 | 387 | if (sprintf (buf, "%Lg", x.value) < 0 |
373 | || !strisnan (buf, 0, strlen (buf))) | 388 | || !strisnan (buf, 0, strlen (buf))) |
374 | return 1; | 389 | result |= 8; |
375 | } | 390 | } |
376 | { /* Pseudo-Zero. */ | 391 | { /* Pseudo-Zero. */ |
377 | static union { unsigned int word[4]; long double value; } x = | 392 | static union { unsigned int word[4]; long double value; } x = |
378 | { LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) }; | 393 | { LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) }; |
379 | if (sprintf (buf, "%Lf", x.value) < 0 | 394 | if (sprintf (buf, "%Lf", x.value) < 0 |
380 | || !strisnan (buf, 0, strlen (buf))) | 395 | || !strisnan (buf, 0, strlen (buf))) |
381 | return 1; | 396 | result |= 16; |
382 | if (sprintf (buf, "%Le", x.value) < 0 | 397 | if (sprintf (buf, "%Le", x.value) < 0 |
383 | || !strisnan (buf, 0, strlen (buf))) | 398 | || !strisnan (buf, 0, strlen (buf))) |
384 | return 1; | 399 | result |= 16; |
385 | if (sprintf (buf, "%Lg", x.value) < 0 | 400 | if (sprintf (buf, "%Lg", x.value) < 0 |
386 | || !strisnan (buf, 0, strlen (buf))) | 401 | || !strisnan (buf, 0, strlen (buf))) |
387 | return 1; | 402 | result |= 16; |
388 | } | 403 | } |
389 | { /* Unnormalized number. */ | 404 | { /* Unnormalized number. */ |
390 | static union { unsigned int word[4]; long double value; } x = | 405 | static union { unsigned int word[4]; long double value; } x = |
391 | { LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) }; | 406 | { LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) }; |
392 | if (sprintf (buf, "%Lf", x.value) < 0 | 407 | if (sprintf (buf, "%Lf", x.value) < 0 |
393 | || !strisnan (buf, 0, strlen (buf))) | 408 | || !strisnan (buf, 0, strlen (buf))) |
394 | return 1; | 409 | result |= 32; |
395 | if (sprintf (buf, "%Le", x.value) < 0 | 410 | if (sprintf (buf, "%Le", x.value) < 0 |
396 | || !strisnan (buf, 0, strlen (buf))) | 411 | || !strisnan (buf, 0, strlen (buf))) |
397 | return 1; | 412 | result |= 32; |
398 | if (sprintf (buf, "%Lg", x.value) < 0 | 413 | if (sprintf (buf, "%Lg", x.value) < 0 |
399 | || !strisnan (buf, 0, strlen (buf))) | 414 | || !strisnan (buf, 0, strlen (buf))) |
400 | return 1; | 415 | result |= 32; |
401 | } | 416 | } |
402 | { /* Pseudo-Denormal. */ | 417 | { /* Pseudo-Denormal. */ |
403 | static union { unsigned int word[4]; long double value; } x = | 418 | static union { unsigned int word[4]; long double value; } x = |
404 | { LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) }; | 419 | { LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) }; |
405 | if (sprintf (buf, "%Lf", x.value) < 0 | 420 | if (sprintf (buf, "%Lf", x.value) < 0 |
406 | || !strisnan (buf, 0, strlen (buf))) | 421 | || !strisnan (buf, 0, strlen (buf))) |
407 | return 1; | 422 | result |= 64; |
408 | if (sprintf (buf, "%Le", x.value) < 0 | 423 | if (sprintf (buf, "%Le", x.value) < 0 |
409 | || !strisnan (buf, 0, strlen (buf))) | 424 | || !strisnan (buf, 0, strlen (buf))) |
410 | return 1; | 425 | result |= 64; |
411 | if (sprintf (buf, "%Lg", x.value) < 0 | 426 | if (sprintf (buf, "%Lg", x.value) < 0 |
412 | || !strisnan (buf, 0, strlen (buf))) | 427 | || !strisnan (buf, 0, strlen (buf))) |
413 | return 1; | 428 | result |= 64; |
414 | } | 429 | } |
415 | #endif | 430 | #endif |
416 | return 0; | 431 | return result; |
417 | }], | 432 | }]])], |
418 | [gl_cv_func_printf_infinite_long_double=yes], | 433 | [gl_cv_func_printf_infinite_long_double=yes], |
419 | [gl_cv_func_printf_infinite_long_double=no], | 434 | [gl_cv_func_printf_infinite_long_double=no], |
420 | [ | 435 | [ |
421 | changequote(,)dnl | 436 | changequote(,)dnl |
422 | case "$host_cpu" in | 437 | case "$host_cpu" in |
423 | # Guess no on ia64, x86_64, i386. | 438 | # Guess no on ia64, x86_64, i386. |
424 | ia64 | x86_64 | i*86) gl_cv_func_printf_infinite_long_double="guessing no";; | 439 | ia64 | x86_64 | i*86) gl_cv_func_printf_infinite_long_double="guessing no";; |
425 | *) | 440 | *) |
426 | case "$host_os" in | 441 | case "$host_os" in |
427 | # Guess yes on glibc systems. | 442 | # Guess yes on glibc systems. |
428 | *-gnu*) gl_cv_func_printf_infinite_long_double="guessing yes";; | 443 | *-gnu*) gl_cv_func_printf_infinite_long_double="guessing yes";; |
429 | # Guess yes on FreeBSD >= 6. | 444 | # Guess yes on FreeBSD >= 6. |
430 | freebsd[1-5]*) gl_cv_func_printf_infinite_long_double="guessing no";; | 445 | freebsd[1-5]*) gl_cv_func_printf_infinite_long_double="guessing no";; |
431 | freebsd* | kfreebsd*) gl_cv_func_printf_infinite_long_double="guessing yes";; | 446 | freebsd* | kfreebsd*) gl_cv_func_printf_infinite_long_double="guessing yes";; |
432 | # Guess yes on MacOS X >= 10.3. | 447 | # Guess yes on HP-UX >= 11. |
433 | darwin[1-6].*) gl_cv_func_printf_infinite_long_double="guessing no";; | 448 | hpux[7-9]* | hpux10*) gl_cv_func_printf_infinite_long_double="guessing no";; |
434 | darwin*) gl_cv_func_printf_infinite_long_double="guessing yes";; | 449 | hpux*) gl_cv_func_printf_infinite_long_double="guessing yes";; |
435 | # Guess yes on HP-UX >= 11. | 450 | # If we don't know, assume the worst. |
436 | hpux[7-9]* | hpux10*) gl_cv_func_printf_infinite_long_double="guessing no";; | 451 | *) gl_cv_func_printf_infinite_long_double="guessing no";; |
437 | hpux*) gl_cv_func_printf_infinite_long_double="guessing yes";; | 452 | esac |
438 | # Guess yes on NetBSD >= 3. | 453 | ;; |
439 | netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) | 454 | esac |
440 | gl_cv_func_printf_infinite_long_double="guessing no";; | ||
441 | netbsd*) gl_cv_func_printf_infinite_long_double="guessing yes";; | ||
442 | # If we don't know, assume the worst. | ||
443 | *) gl_cv_func_printf_infinite_long_double="guessing no";; | ||
444 | esac | ||
445 | ;; | ||
446 | esac | ||
447 | changequote([,])dnl | 455 | changequote([,])dnl |
448 | ]) | 456 | ]) |
449 | ]) | 457 | ]) |
450 | ;; | 458 | ;; |
451 | *) | 459 | *) |
@@ -466,72 +474,77 @@ AC_DEFUN([gl_PRINTF_DIRECTIVE_A], | |||
466 | AC_CACHE_CHECK([whether printf supports the 'a' and 'A' directives], | 474 | AC_CACHE_CHECK([whether printf supports the 'a' and 'A' directives], |
467 | [gl_cv_func_printf_directive_a], | 475 | [gl_cv_func_printf_directive_a], |
468 | [ | 476 | [ |
469 | AC_TRY_RUN([ | 477 | AC_RUN_IFELSE( |
478 | [AC_LANG_SOURCE([[ | ||
470 | #include <stdio.h> | 479 | #include <stdio.h> |
471 | #include <string.h> | 480 | #include <string.h> |
472 | static char buf[100]; | 481 | static char buf[100]; |
482 | static double zero = 0.0; | ||
473 | int main () | 483 | int main () |
474 | { | 484 | { |
485 | int result = 0; | ||
475 | if (sprintf (buf, "%a %d", 3.1416015625, 33, 44, 55) < 0 | 486 | if (sprintf (buf, "%a %d", 3.1416015625, 33, 44, 55) < 0 |
476 | || (strcmp (buf, "0x1.922p+1 33") != 0 | 487 | || (strcmp (buf, "0x1.922p+1 33") != 0 |
477 | && strcmp (buf, "0x3.244p+0 33") != 0 | 488 | && strcmp (buf, "0x3.244p+0 33") != 0 |
478 | && strcmp (buf, "0x6.488p-1 33") != 0 | 489 | && strcmp (buf, "0x6.488p-1 33") != 0 |
479 | && strcmp (buf, "0xc.91p-2 33") != 0)) | 490 | && strcmp (buf, "0xc.91p-2 33") != 0)) |
480 | return 1; | 491 | result |= 1; |
481 | if (sprintf (buf, "%A %d", -3.1416015625, 33, 44, 55) < 0 | 492 | if (sprintf (buf, "%A %d", -3.1416015625, 33, 44, 55) < 0 |
482 | || (strcmp (buf, "-0X1.922P+1 33") != 0 | 493 | || (strcmp (buf, "-0X1.922P+1 33") != 0 |
483 | && strcmp (buf, "-0X3.244P+0 33") != 0 | 494 | && strcmp (buf, "-0X3.244P+0 33") != 0 |
484 | && strcmp (buf, "-0X6.488P-1 33") != 0 | 495 | && strcmp (buf, "-0X6.488P-1 33") != 0 |
485 | && strcmp (buf, "-0XC.91P-2 33") != 0)) | 496 | && strcmp (buf, "-0XC.91P-2 33") != 0)) |
486 | return 1; | 497 | result |= 2; |
487 | /* This catches a FreeBSD 6.1 bug: it doesn't round. */ | 498 | /* This catches a FreeBSD 6.1 bug: it doesn't round. */ |
488 | if (sprintf (buf, "%.2a %d", 1.51, 33, 44, 55) < 0 | 499 | if (sprintf (buf, "%.2a %d", 1.51, 33, 44, 55) < 0 |
489 | || (strcmp (buf, "0x1.83p+0 33") != 0 | 500 | || (strcmp (buf, "0x1.83p+0 33") != 0 |
490 | && strcmp (buf, "0x3.05p-1 33") != 0 | 501 | && strcmp (buf, "0x3.05p-1 33") != 0 |
491 | && strcmp (buf, "0x6.0ap-2 33") != 0 | 502 | && strcmp (buf, "0x6.0ap-2 33") != 0 |
492 | && strcmp (buf, "0xc.14p-3 33") != 0)) | 503 | && strcmp (buf, "0xc.14p-3 33") != 0)) |
493 | return 1; | 504 | result |= 4; |
494 | /* This catches a FreeBSD 6.1 bug. See | 505 | /* This catches a FreeBSD 6.1 bug. See |
495 | <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00107.html> */ | 506 | <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00107.html> */ |
496 | if (sprintf (buf, "%010a %d", 1.0 / 0.0, 33, 44, 55) < 0 | 507 | if (sprintf (buf, "%010a %d", 1.0 / zero, 33, 44, 55) < 0 |
497 | || buf[0] == '0') | 508 | || buf[0] == '0') |
498 | return 1; | 509 | result |= 8; |
499 | /* This catches a MacOS X 10.3.9 (Darwin 7.9) bug. */ | 510 | /* This catches a Mac OS X 10.3.9 (Darwin 7.9) bug. */ |
500 | if (sprintf (buf, "%.1a", 1.999) < 0 | 511 | if (sprintf (buf, "%.1a", 1.999) < 0 |
501 | || (strcmp (buf, "0x1.0p+1") != 0 | 512 | || (strcmp (buf, "0x1.0p+1") != 0 |
502 | && strcmp (buf, "0x2.0p+0") != 0 | 513 | && strcmp (buf, "0x2.0p+0") != 0 |
503 | && strcmp (buf, "0x4.0p-1") != 0 | 514 | && strcmp (buf, "0x4.0p-1") != 0 |
504 | && strcmp (buf, "0x8.0p-2") != 0)) | 515 | && strcmp (buf, "0x8.0p-2") != 0)) |
505 | return 1; | 516 | result |= 16; |
506 | /* This catches the same MacOS X 10.3.9 (Darwin 7.9) bug and also a | 517 | /* This catches the same Mac OS X 10.3.9 (Darwin 7.9) bug and also a |
507 | glibc 2.4 bug <http://sourceware.org/bugzilla/show_bug.cgi?id=2908>. */ | 518 | glibc 2.4 bug <http://sourceware.org/bugzilla/show_bug.cgi?id=2908>. */ |
508 | if (sprintf (buf, "%.1La", 1.999L) < 0 | 519 | if (sprintf (buf, "%.1La", 1.999L) < 0 |
509 | || (strcmp (buf, "0x1.0p+1") != 0 | 520 | || (strcmp (buf, "0x1.0p+1") != 0 |
510 | && strcmp (buf, "0x2.0p+0") != 0 | 521 | && strcmp (buf, "0x2.0p+0") != 0 |
511 | && strcmp (buf, "0x4.0p-1") != 0 | 522 | && strcmp (buf, "0x4.0p-1") != 0 |
512 | && strcmp (buf, "0x8.0p-2") != 0)) | 523 | && strcmp (buf, "0x8.0p-2") != 0)) |
513 | return 1; | 524 | result |= 32; |
514 | return 0; | 525 | return result; |
515 | }], [gl_cv_func_printf_directive_a=yes], [gl_cv_func_printf_directive_a=no], | 526 | }]])], |
516 | [ | 527 | [gl_cv_func_printf_directive_a=yes], |
517 | case "$host_os" in | 528 | [gl_cv_func_printf_directive_a=no], |
518 | # Guess yes on glibc >= 2.5 systems. | 529 | [ |
519 | *-gnu*) | 530 | case "$host_os" in |
520 | AC_EGREP_CPP([BZ2908], [ | 531 | # Guess yes on glibc >= 2.5 systems. |
521 | #include <features.h> | 532 | *-gnu*) |
522 | #ifdef __GNU_LIBRARY__ | 533 | AC_EGREP_CPP([BZ2908], [ |
523 | #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 5) || (__GLIBC__ > 2) | 534 | #include <features.h> |
524 | BZ2908 | 535 | #ifdef __GNU_LIBRARY__ |
525 | #endif | 536 | #if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 5) || (__GLIBC__ > 2)) && !defined __UCLIBC__ |
526 | #endif | 537 | BZ2908 |
527 | ], | 538 | #endif |
528 | [gl_cv_func_printf_directive_a="guessing yes"], | 539 | #endif |
529 | [gl_cv_func_printf_directive_a="guessing no"]) | 540 | ], |
530 | ;; | 541 | [gl_cv_func_printf_directive_a="guessing yes"], |
531 | # If we don't know, assume the worst. | 542 | [gl_cv_func_printf_directive_a="guessing no"]) |
532 | *) gl_cv_func_printf_directive_a="guessing no";; | 543 | ;; |
533 | esac | 544 | # If we don't know, assume the worst. |
534 | ]) | 545 | *) gl_cv_func_printf_directive_a="guessing no";; |
546 | esac | ||
547 | ]) | ||
535 | ]) | 548 | ]) |
536 | ]) | 549 | ]) |
537 | 550 | ||
@@ -546,43 +559,48 @@ AC_DEFUN([gl_PRINTF_DIRECTIVE_F], | |||
546 | AC_CACHE_CHECK([whether printf supports the 'F' directive], | 559 | AC_CACHE_CHECK([whether printf supports the 'F' directive], |
547 | [gl_cv_func_printf_directive_f], | 560 | [gl_cv_func_printf_directive_f], |
548 | [ | 561 | [ |
549 | AC_TRY_RUN([ | 562 | AC_RUN_IFELSE( |
563 | [AC_LANG_SOURCE([[ | ||
550 | #include <stdio.h> | 564 | #include <stdio.h> |
551 | #include <string.h> | 565 | #include <string.h> |
552 | static char buf[100]; | 566 | static char buf[100]; |
567 | static double zero = 0.0; | ||
553 | int main () | 568 | int main () |
554 | { | 569 | { |
570 | int result = 0; | ||
555 | if (sprintf (buf, "%F %d", 1234567.0, 33, 44, 55) < 0 | 571 | if (sprintf (buf, "%F %d", 1234567.0, 33, 44, 55) < 0 |
556 | || strcmp (buf, "1234567.000000 33") != 0) | 572 | || strcmp (buf, "1234567.000000 33") != 0) |
557 | return 1; | 573 | result |= 1; |
558 | if (sprintf (buf, "%F", 1.0 / 0.0) < 0 | 574 | if (sprintf (buf, "%F", 1.0 / zero) < 0 |
559 | || (strcmp (buf, "INF") != 0 && strcmp (buf, "INFINITY") != 0)) | 575 | || (strcmp (buf, "INF") != 0 && strcmp (buf, "INFINITY") != 0)) |
560 | return 1; | 576 | result |= 2; |
561 | /* This catches a Cygwin 1.5.x bug. */ | 577 | /* This catches a Cygwin 1.5.x bug. */ |
562 | if (sprintf (buf, "%.F", 1234.0) < 0 | 578 | if (sprintf (buf, "%.F", 1234.0) < 0 |
563 | || strcmp (buf, "1234") != 0) | 579 | || strcmp (buf, "1234") != 0) |
564 | return 1; | 580 | result |= 4; |
565 | return 0; | 581 | return result; |
566 | }], [gl_cv_func_printf_directive_f=yes], [gl_cv_func_printf_directive_f=no], | 582 | }]])], |
567 | [ | 583 | [gl_cv_func_printf_directive_f=yes], |
584 | [gl_cv_func_printf_directive_f=no], | ||
585 | [ | ||
568 | changequote(,)dnl | 586 | changequote(,)dnl |
569 | case "$host_os" in | 587 | case "$host_os" in |
570 | # Guess yes on glibc systems. | 588 | # Guess yes on glibc systems. |
571 | *-gnu*) gl_cv_func_printf_directive_f="guessing yes";; | 589 | *-gnu*) gl_cv_func_printf_directive_f="guessing yes";; |
572 | # Guess yes on FreeBSD >= 6. | 590 | # Guess yes on FreeBSD >= 6. |
573 | freebsd[1-5]*) gl_cv_func_printf_directive_f="guessing no";; | 591 | freebsd[1-5]*) gl_cv_func_printf_directive_f="guessing no";; |
574 | freebsd* | kfreebsd*) gl_cv_func_printf_directive_f="guessing yes";; | 592 | freebsd* | kfreebsd*) gl_cv_func_printf_directive_f="guessing yes";; |
575 | # Guess yes on MacOS X >= 10.3. | 593 | # Guess yes on Mac OS X >= 10.3. |
576 | darwin[1-6].*) gl_cv_func_printf_directive_f="guessing no";; | 594 | darwin[1-6].*) gl_cv_func_printf_directive_f="guessing no";; |
577 | darwin*) gl_cv_func_printf_directive_f="guessing yes";; | 595 | darwin*) gl_cv_func_printf_directive_f="guessing yes";; |
578 | # Guess yes on Solaris >= 2.10. | 596 | # Guess yes on Solaris >= 2.10. |
579 | solaris2.[0-9]*) gl_cv_func_printf_directive_f="guessing no";; | 597 | solaris2.[1-9][0-9]*) gl_cv_func_printf_sizes_c99="guessing yes";; |
580 | solaris*) gl_cv_func_printf_directive_f="guessing yes";; | 598 | solaris*) gl_cv_func_printf_sizes_c99="guessing no";; |
581 | # If we don't know, assume the worst. | 599 | # If we don't know, assume the worst. |
582 | *) gl_cv_func_printf_directive_f="guessing no";; | 600 | *) gl_cv_func_printf_directive_f="guessing no";; |
583 | esac | 601 | esac |
584 | changequote([,])dnl | 602 | changequote([,])dnl |
585 | ]) | 603 | ]) |
586 | ]) | 604 | ]) |
587 | ]) | 605 | ]) |
588 | 606 | ||
@@ -597,14 +615,30 @@ AC_DEFUN([gl_PRINTF_DIRECTIVE_N], | |||
597 | AC_CACHE_CHECK([whether printf supports the 'n' directive], | 615 | AC_CACHE_CHECK([whether printf supports the 'n' directive], |
598 | [gl_cv_func_printf_directive_n], | 616 | [gl_cv_func_printf_directive_n], |
599 | [ | 617 | [ |
600 | AC_TRY_RUN([ | 618 | AC_RUN_IFELSE( |
619 | [AC_LANG_SOURCE([[ | ||
601 | #include <stdio.h> | 620 | #include <stdio.h> |
621 | #include <stdlib.h> | ||
602 | #include <string.h> | 622 | #include <string.h> |
623 | #ifdef _MSC_VER | ||
624 | /* See page about "Parameter Validation" on msdn.microsoft.com. */ | ||
625 | static void cdecl | ||
626 | invalid_parameter_handler (const wchar_t *expression, | ||
627 | const wchar_t *function, | ||
628 | const wchar_t *file, unsigned int line, | ||
629 | uintptr_t dummy) | ||
630 | { | ||
631 | exit (1); | ||
632 | } | ||
633 | #endif | ||
603 | static char fmtstring[10]; | 634 | static char fmtstring[10]; |
604 | static char buf[100]; | 635 | static char buf[100]; |
605 | int main () | 636 | int main () |
606 | { | 637 | { |
607 | int count = -1; | 638 | int count = -1; |
639 | #ifdef _MSC_VER | ||
640 | _set_invalid_parameter_handler (invalid_parameter_handler); | ||
641 | #endif | ||
608 | /* Copy the format string. Some systems (glibc with _FORTIFY_SOURCE=2) | 642 | /* Copy the format string. Some systems (glibc with _FORTIFY_SOURCE=2) |
609 | support %n in format strings in read-only memory but not in writable | 643 | support %n in format strings in read-only memory but not in writable |
610 | memory. */ | 644 | memory. */ |
@@ -614,14 +648,17 @@ int main () | |||
614 | || count != 4) | 648 | || count != 4) |
615 | return 1; | 649 | return 1; |
616 | return 0; | 650 | return 0; |
617 | }], [gl_cv_func_printf_directive_n=yes], [gl_cv_func_printf_directive_n=no], | 651 | }]])], |
618 | [ | 652 | [gl_cv_func_printf_directive_n=yes], |
653 | [gl_cv_func_printf_directive_n=no], | ||
654 | [ | ||
619 | changequote(,)dnl | 655 | changequote(,)dnl |
620 | case "$host_os" in | 656 | case "$host_os" in |
621 | *) gl_cv_func_printf_directive_n="guessing yes";; | 657 | mingw*) gl_cv_func_printf_directive_n="guessing no";; |
622 | esac | 658 | *) gl_cv_func_printf_directive_n="guessing yes";; |
659 | esac | ||
623 | changequote([,])dnl | 660 | changequote([,])dnl |
624 | ]) | 661 | ]) |
625 | ]) | 662 | ]) |
626 | ]) | 663 | ]) |
627 | 664 | ||
@@ -639,7 +676,8 @@ AC_DEFUN([gl_PRINTF_DIRECTIVE_LS], | |||
639 | AC_CACHE_CHECK([whether printf supports the 'ls' directive], | 676 | AC_CACHE_CHECK([whether printf supports the 'ls' directive], |
640 | [gl_cv_func_printf_directive_ls], | 677 | [gl_cv_func_printf_directive_ls], |
641 | [ | 678 | [ |
642 | AC_TRY_RUN([ | 679 | AC_RUN_IFELSE( |
680 | [AC_LANG_SOURCE([[ | ||
643 | /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before | 681 | /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before |
644 | <wchar.h>. | 682 | <wchar.h>. |
645 | BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be | 683 | BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be |
@@ -651,6 +689,7 @@ AC_DEFUN([gl_PRINTF_DIRECTIVE_LS], | |||
651 | #include <string.h> | 689 | #include <string.h> |
652 | int main () | 690 | int main () |
653 | { | 691 | { |
692 | int result = 0; | ||
654 | char buf[100]; | 693 | char buf[100]; |
655 | /* Test whether %ls works at all. | 694 | /* Test whether %ls works at all. |
656 | This test fails on OpenBSD 4.0, IRIX 6.5, Solaris 2.6, Haiku, but not on | 695 | This test fails on OpenBSD 4.0, IRIX 6.5, Solaris 2.6, Haiku, but not on |
@@ -660,7 +699,7 @@ int main () | |||
660 | buf[0] = '\0'; | 699 | buf[0] = '\0'; |
661 | if (sprintf (buf, "%ls", wstring) < 0 | 700 | if (sprintf (buf, "%ls", wstring) < 0 |
662 | || strcmp (buf, "abc") != 0) | 701 | || strcmp (buf, "abc") != 0) |
663 | return 1; | 702 | result |= 1; |
664 | } | 703 | } |
665 | /* This test fails on IRIX 6.5, Solaris 2.6, Cygwin 1.5, Haiku (with an | 704 | /* This test fails on IRIX 6.5, Solaris 2.6, Cygwin 1.5, Haiku (with an |
666 | assertion failure inside libc), but not on OpenBSD 4.0. */ | 705 | assertion failure inside libc), but not on OpenBSD 4.0. */ |
@@ -669,7 +708,7 @@ int main () | |||
669 | buf[0] = '\0'; | 708 | buf[0] = '\0'; |
670 | if (sprintf (buf, "%ls", wstring) < 0 | 709 | if (sprintf (buf, "%ls", wstring) < 0 |
671 | || strcmp (buf, "a") != 0) | 710 | || strcmp (buf, "a") != 0) |
672 | return 1; | 711 | result |= 2; |
673 | } | 712 | } |
674 | /* Test whether precisions in %ls are supported as specified in ISO C 99 | 713 | /* Test whether precisions in %ls are supported as specified in ISO C 99 |
675 | section 7.19.6.1: | 714 | section 7.19.6.1: |
@@ -684,22 +723,24 @@ int main () | |||
684 | buf[0] = '\0'; | 723 | buf[0] = '\0'; |
685 | if (sprintf (buf, "%.2ls", wstring) < 0 | 724 | if (sprintf (buf, "%.2ls", wstring) < 0 |
686 | || strcmp (buf, "ab") != 0) | 725 | || strcmp (buf, "ab") != 0) |
687 | return 1; | 726 | result |= 8; |
688 | } | 727 | } |
689 | return 0; | 728 | return result; |
690 | }], [gl_cv_func_printf_directive_ls=yes], [gl_cv_func_printf_directive_ls=no], | 729 | }]])], |
691 | [ | 730 | [gl_cv_func_printf_directive_ls=yes], |
731 | [gl_cv_func_printf_directive_ls=no], | ||
732 | [ | ||
692 | changequote(,)dnl | 733 | changequote(,)dnl |
693 | case "$host_os" in | 734 | case "$host_os" in |
694 | openbsd*) gl_cv_func_printf_directive_ls="guessing no";; | 735 | openbsd*) gl_cv_func_printf_directive_ls="guessing no";; |
695 | irix*) gl_cv_func_printf_directive_ls="guessing no";; | 736 | irix*) gl_cv_func_printf_directive_ls="guessing no";; |
696 | solaris*) gl_cv_func_printf_directive_ls="guessing no";; | 737 | solaris*) gl_cv_func_printf_directive_ls="guessing no";; |
697 | cygwin*) gl_cv_func_printf_directive_ls="guessing no";; | 738 | cygwin*) gl_cv_func_printf_directive_ls="guessing no";; |
698 | beos* | haiku*) gl_cv_func_printf_directive_ls="guessing no";; | 739 | beos* | haiku*) gl_cv_func_printf_directive_ls="guessing no";; |
699 | *) gl_cv_func_printf_directive_ls="guessing yes";; | 740 | *) gl_cv_func_printf_directive_ls="guessing yes";; |
700 | esac | 741 | esac |
701 | changequote([,])dnl | 742 | changequote([,])dnl |
702 | ]) | 743 | ]) |
703 | ]) | 744 | ]) |
704 | ]) | 745 | ]) |
705 | 746 | ||
@@ -714,7 +755,8 @@ AC_DEFUN([gl_PRINTF_POSITIONS], | |||
714 | AC_CACHE_CHECK([whether printf supports POSIX/XSI format strings with positions], | 755 | AC_CACHE_CHECK([whether printf supports POSIX/XSI format strings with positions], |
715 | [gl_cv_func_printf_positions], | 756 | [gl_cv_func_printf_positions], |
716 | [ | 757 | [ |
717 | AC_TRY_RUN([ | 758 | AC_RUN_IFELSE( |
759 | [AC_LANG_SOURCE([[ | ||
718 | #include <stdio.h> | 760 | #include <stdio.h> |
719 | #include <string.h> | 761 | #include <string.h> |
720 | /* The string "%2$d %1$d", with dollar characters protected from the shell's | 762 | /* The string "%2$d %1$d", with dollar characters protected from the shell's |
@@ -725,18 +767,20 @@ int main () | |||
725 | { | 767 | { |
726 | sprintf (buf, format, 33, 55); | 768 | sprintf (buf, format, 33, 55); |
727 | return (strcmp (buf, "55 33") != 0); | 769 | return (strcmp (buf, "55 33") != 0); |
728 | }], [gl_cv_func_printf_positions=yes], [gl_cv_func_printf_positions=no], | 770 | }]])], |
729 | [ | 771 | [gl_cv_func_printf_positions=yes], |
772 | [gl_cv_func_printf_positions=no], | ||
773 | [ | ||
730 | changequote(,)dnl | 774 | changequote(,)dnl |
731 | case "$host_os" in | 775 | case "$host_os" in |
732 | netbsd[1-3]* | netbsdelf[1-3]* | netbsdaout[1-3]* | netbsdcoff[1-3]*) | 776 | netbsd[1-3]* | netbsdelf[1-3]* | netbsdaout[1-3]* | netbsdcoff[1-3]*) |
733 | gl_cv_func_printf_positions="guessing no";; | 777 | gl_cv_func_printf_positions="guessing no";; |
734 | beos*) gl_cv_func_printf_positions="guessing no";; | 778 | beos*) gl_cv_func_printf_positions="guessing no";; |
735 | mingw* | pw*) gl_cv_func_printf_positions="guessing no";; | 779 | mingw* | pw*) gl_cv_func_printf_positions="guessing no";; |
736 | *) gl_cv_func_printf_positions="guessing yes";; | 780 | *) gl_cv_func_printf_positions="guessing yes";; |
737 | esac | 781 | esac |
738 | changequote([,])dnl | 782 | changequote([,])dnl |
739 | ]) | 783 | ]) |
740 | ]) | 784 | ]) |
741 | ]) | 785 | ]) |
742 | 786 | ||
@@ -751,7 +795,8 @@ AC_DEFUN([gl_PRINTF_FLAG_GROUPING], | |||
751 | AC_CACHE_CHECK([whether printf supports the grouping flag], | 795 | AC_CACHE_CHECK([whether printf supports the grouping flag], |
752 | [gl_cv_func_printf_flag_grouping], | 796 | [gl_cv_func_printf_flag_grouping], |
753 | [ | 797 | [ |
754 | AC_TRY_RUN([ | 798 | AC_RUN_IFELSE( |
799 | [AC_LANG_SOURCE([[ | ||
755 | #include <stdio.h> | 800 | #include <stdio.h> |
756 | #include <string.h> | 801 | #include <string.h> |
757 | static char buf[100]; | 802 | static char buf[100]; |
@@ -761,17 +806,19 @@ int main () | |||
761 | || buf[strlen (buf) - 1] != '9') | 806 | || buf[strlen (buf) - 1] != '9') |
762 | return 1; | 807 | return 1; |
763 | return 0; | 808 | return 0; |
764 | }], [gl_cv_func_printf_flag_grouping=yes], [gl_cv_func_printf_flag_grouping=no], | 809 | }]])], |
765 | [ | 810 | [gl_cv_func_printf_flag_grouping=yes], |
811 | [gl_cv_func_printf_flag_grouping=no], | ||
812 | [ | ||
766 | changequote(,)dnl | 813 | changequote(,)dnl |
767 | case "$host_os" in | 814 | case "$host_os" in |
768 | cygwin*) gl_cv_func_printf_flag_grouping="guessing no";; | 815 | cygwin*) gl_cv_func_printf_flag_grouping="guessing no";; |
769 | netbsd*) gl_cv_func_printf_flag_grouping="guessing no";; | 816 | netbsd*) gl_cv_func_printf_flag_grouping="guessing no";; |
770 | mingw* | pw*) gl_cv_func_printf_flag_grouping="guessing no";; | 817 | mingw* | pw*) gl_cv_func_printf_flag_grouping="guessing no";; |
771 | *) gl_cv_func_printf_flag_grouping="guessing yes";; | 818 | *) gl_cv_func_printf_flag_grouping="guessing yes";; |
772 | esac | 819 | esac |
773 | changequote([,])dnl | 820 | changequote([,])dnl |
774 | ]) | 821 | ]) |
775 | ]) | 822 | ]) |
776 | ]) | 823 | ]) |
777 | 824 | ||
@@ -787,7 +834,8 @@ AC_DEFUN([gl_PRINTF_FLAG_LEFTADJUST], | |||
787 | AC_CACHE_CHECK([whether printf supports the left-adjust flag correctly], | 834 | AC_CACHE_CHECK([whether printf supports the left-adjust flag correctly], |
788 | [gl_cv_func_printf_flag_leftadjust], | 835 | [gl_cv_func_printf_flag_leftadjust], |
789 | [ | 836 | [ |
790 | AC_TRY_RUN([ | 837 | AC_RUN_IFELSE( |
838 | [AC_LANG_SOURCE([[ | ||
791 | #include <stdio.h> | 839 | #include <stdio.h> |
792 | #include <string.h> | 840 | #include <string.h> |
793 | static char buf[100]; | 841 | static char buf[100]; |
@@ -798,7 +846,7 @@ int main () | |||
798 | || strcmp (buf, "ab c") != 0) | 846 | || strcmp (buf, "ab c") != 0) |
799 | return 1; | 847 | return 1; |
800 | return 0; | 848 | return 0; |
801 | }], | 849 | }]])], |
802 | [gl_cv_func_printf_flag_leftadjust=yes], | 850 | [gl_cv_func_printf_flag_leftadjust=yes], |
803 | [gl_cv_func_printf_flag_leftadjust=no], | 851 | [gl_cv_func_printf_flag_leftadjust=no], |
804 | [ | 852 | [ |
@@ -828,37 +876,44 @@ AC_DEFUN([gl_PRINTF_FLAG_ZERO], | |||
828 | AC_CACHE_CHECK([whether printf supports the zero flag correctly], | 876 | AC_CACHE_CHECK([whether printf supports the zero flag correctly], |
829 | [gl_cv_func_printf_flag_zero], | 877 | [gl_cv_func_printf_flag_zero], |
830 | [ | 878 | [ |
831 | AC_TRY_RUN([ | 879 | AC_RUN_IFELSE( |
880 | [AC_LANG_SOURCE([[ | ||
832 | #include <stdio.h> | 881 | #include <stdio.h> |
833 | #include <string.h> | 882 | #include <string.h> |
834 | static char buf[100]; | 883 | static char buf[100]; |
884 | static double zero = 0.0; | ||
835 | int main () | 885 | int main () |
836 | { | 886 | { |
837 | if (sprintf (buf, "%010f", 1.0 / 0.0, 33, 44, 55) < 0 | 887 | if (sprintf (buf, "%010f", 1.0 / zero, 33, 44, 55) < 0 |
838 | || (strcmp (buf, " inf") != 0 | 888 | || (strcmp (buf, " inf") != 0 |
839 | && strcmp (buf, " infinity") != 0)) | 889 | && strcmp (buf, " infinity") != 0)) |
840 | return 1; | 890 | return 1; |
841 | return 0; | 891 | return 0; |
842 | }], [gl_cv_func_printf_flag_zero=yes], [gl_cv_func_printf_flag_zero=no], | 892 | }]])], |
843 | [ | 893 | [gl_cv_func_printf_flag_zero=yes], |
894 | [gl_cv_func_printf_flag_zero=no], | ||
895 | [ | ||
844 | changequote(,)dnl | 896 | changequote(,)dnl |
845 | case "$host_os" in | 897 | case "$host_os" in |
846 | # Guess yes on glibc systems. | 898 | # Guess yes on glibc systems. |
847 | *-gnu*) gl_cv_func_printf_flag_zero="guessing yes";; | 899 | *-gnu*) gl_cv_func_printf_flag_zero="guessing yes";; |
848 | # Guess yes on BeOS. | 900 | # Guess yes on BeOS. |
849 | beos*) gl_cv_func_printf_flag_zero="guessing yes";; | 901 | beos*) gl_cv_func_printf_flag_zero="guessing yes";; |
850 | # If we don't know, assume the worst. | 902 | # If we don't know, assume the worst. |
851 | *) gl_cv_func_printf_flag_zero="guessing no";; | 903 | *) gl_cv_func_printf_flag_zero="guessing no";; |
852 | esac | 904 | esac |
853 | changequote([,])dnl | 905 | changequote([,])dnl |
854 | ]) | 906 | ]) |
855 | ]) | 907 | ]) |
856 | ]) | 908 | ]) |
857 | 909 | ||
858 | dnl Test whether the *printf family of functions supports large precisions. | 910 | dnl Test whether the *printf family of functions supports large precisions. |
859 | dnl On mingw, precisions larger than 512 are treated like 512, in integer, | 911 | dnl On mingw, precisions larger than 512 are treated like 512, in integer, |
860 | dnl floating-point or pointer output. On BeOS, precisions larger than 1044 | 912 | dnl floating-point or pointer output. On Solaris 10/x86, precisions larger |
861 | dnl crash the program. | 913 | dnl than 510 in floating-point output crash the program. On Solaris 10/SPARC, |
914 | dnl precisions larger than 510 in floating-point output yield wrong results. | ||
915 | dnl On AIX 7.1, precisions larger than 998 in floating-point output yield | ||
916 | dnl wrong results. On BeOS, precisions larger than 1044 crash the program. | ||
862 | dnl Result is gl_cv_func_printf_precision. | 917 | dnl Result is gl_cv_func_printf_precision. |
863 | 918 | ||
864 | AC_DEFUN([gl_PRINTF_PRECISION], | 919 | AC_DEFUN([gl_PRINTF_PRECISION], |
@@ -868,30 +923,43 @@ AC_DEFUN([gl_PRINTF_PRECISION], | |||
868 | AC_CACHE_CHECK([whether printf supports large precisions], | 923 | AC_CACHE_CHECK([whether printf supports large precisions], |
869 | [gl_cv_func_printf_precision], | 924 | [gl_cv_func_printf_precision], |
870 | [ | 925 | [ |
871 | AC_TRY_RUN([ | 926 | AC_RUN_IFELSE( |
927 | [AC_LANG_SOURCE([[ | ||
872 | #include <stdio.h> | 928 | #include <stdio.h> |
873 | #include <string.h> | 929 | #include <string.h> |
874 | static char buf[5000]; | 930 | static char buf[5000]; |
875 | int main () | 931 | int main () |
876 | { | 932 | { |
933 | int result = 0; | ||
877 | #ifdef __BEOS__ | 934 | #ifdef __BEOS__ |
878 | /* On BeOS, this would crash and show a dialog box. Avoid the crash. */ | 935 | /* On BeOS, this would crash and show a dialog box. Avoid the crash. */ |
879 | return 1; | 936 | return 1; |
880 | #endif | 937 | #endif |
881 | if (sprintf (buf, "%.4000d %d", 1, 33, 44) < 4000 + 3) | 938 | if (sprintf (buf, "%.4000d %d", 1, 33, 44) < 4000 + 3) |
882 | return 1; | 939 | result |= 1; |
883 | return 0; | 940 | if (sprintf (buf, "%.4000f %d", 1.0, 33, 44) < 4000 + 5) |
884 | }], [gl_cv_func_printf_precision=yes], [gl_cv_func_printf_precision=no], | 941 | result |= 2; |
885 | [ | 942 | if (sprintf (buf, "%.511f %d", 1.0, 33, 44) < 511 + 5 |
943 | || buf[0] != '1') | ||
944 | result |= 4; | ||
945 | if (sprintf (buf, "%.999f %d", 1.0, 33, 44) < 999 + 5 | ||
946 | || buf[0] != '1') | ||
947 | result |= 4; | ||
948 | return result; | ||
949 | }]])], | ||
950 | [gl_cv_func_printf_precision=yes], | ||
951 | [gl_cv_func_printf_precision=no], | ||
952 | [ | ||
886 | changequote(,)dnl | 953 | changequote(,)dnl |
887 | case "$host_os" in | 954 | case "$host_os" in |
888 | # Guess no only on native Win32 and BeOS systems. | 955 | # Guess no only on Solaris, native Windows, and BeOS systems. |
889 | mingw* | pw*) gl_cv_func_printf_precision="guessing no" ;; | 956 | solaris*) gl_cv_func_printf_precision="guessing no" ;; |
890 | beos*) gl_cv_func_printf_precision="guessing no" ;; | 957 | mingw* | pw*) gl_cv_func_printf_precision="guessing no" ;; |
891 | *) gl_cv_func_printf_precision="guessing yes" ;; | 958 | beos*) gl_cv_func_printf_precision="guessing no" ;; |
892 | esac | 959 | *) gl_cv_func_printf_precision="guessing yes" ;; |
960 | esac | ||
893 | changequote([,])dnl | 961 | changequote([,])dnl |
894 | ]) | 962 | ]) |
895 | ]) | 963 | ]) |
896 | ]) | 964 | ]) |
897 | 965 | ||
@@ -960,8 +1028,9 @@ int main() | |||
960 | changequote([,])dnl | 1028 | changequote([,])dnl |
961 | ])]) | 1029 | ])]) |
962 | if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then | 1030 | if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then |
963 | (./conftest | 1031 | (./conftest 2>&AS_MESSAGE_LOG_FD |
964 | result=$? | 1032 | result=$? |
1033 | _AS_ECHO_LOG([\$? = $result]) | ||
965 | if test $result != 0 && test $result != 77; then result=1; fi | 1034 | if test $result != 0 && test $result != 77; then result=1; fi |
966 | exit $result | 1035 | exit $result |
967 | ) >/dev/null 2>/dev/null | 1036 | ) >/dev/null 2>/dev/null |
@@ -975,7 +1044,7 @@ changequote([,])dnl | |||
975 | fi | 1044 | fi |
976 | rm -fr conftest* | 1045 | rm -fr conftest* |
977 | else | 1046 | else |
978 | dnl A universal build on Apple MacOS X platforms. | 1047 | dnl A universal build on Apple Mac OS X platforms. |
979 | dnl The result would be 'no' in 32-bit mode and 'yes' in 64-bit mode. | 1048 | dnl The result would be 'no' in 32-bit mode and 'yes' in 64-bit mode. |
980 | dnl But we need a configuration result that is valid in both modes. | 1049 | dnl But we need a configuration result that is valid in both modes. |
981 | gl_cv_func_printf_enomem="guessing no" | 1050 | gl_cv_func_printf_enomem="guessing no" |
@@ -1028,61 +1097,80 @@ AC_DEFUN([gl_SNPRINTF_TRUNCATION_C99], | |||
1028 | [ | 1097 | [ |
1029 | AC_REQUIRE([AC_PROG_CC]) | 1098 | AC_REQUIRE([AC_PROG_CC]) |
1030 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | 1099 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles |
1100 | AC_REQUIRE([gl_SNPRINTF_PRESENCE]) | ||
1031 | AC_CACHE_CHECK([whether snprintf truncates the result as in C99], | 1101 | AC_CACHE_CHECK([whether snprintf truncates the result as in C99], |
1032 | [gl_cv_func_snprintf_truncation_c99], | 1102 | [gl_cv_func_snprintf_truncation_c99], |
1033 | [ | 1103 | [ |
1034 | AC_TRY_RUN([ | 1104 | AC_RUN_IFELSE( |
1105 | [AC_LANG_SOURCE([[ | ||
1035 | #include <stdio.h> | 1106 | #include <stdio.h> |
1036 | #include <string.h> | 1107 | #include <string.h> |
1108 | #if HAVE_SNPRINTF | ||
1109 | # define my_snprintf snprintf | ||
1110 | #else | ||
1111 | # include <stdarg.h> | ||
1112 | static int my_snprintf (char *buf, int size, const char *format, ...) | ||
1113 | { | ||
1114 | va_list args; | ||
1115 | int ret; | ||
1116 | va_start (args, format); | ||
1117 | ret = vsnprintf (buf, size, format, args); | ||
1118 | va_end (args); | ||
1119 | return ret; | ||
1120 | } | ||
1121 | #endif | ||
1037 | static char buf[100]; | 1122 | static char buf[100]; |
1038 | int main () | 1123 | int main () |
1039 | { | 1124 | { |
1040 | strcpy (buf, "ABCDEF"); | 1125 | strcpy (buf, "ABCDEF"); |
1041 | snprintf (buf, 3, "%d %d", 4567, 89); | 1126 | my_snprintf (buf, 3, "%d %d", 4567, 89); |
1042 | if (memcmp (buf, "45\0DEF", 6) != 0) | 1127 | if (memcmp (buf, "45\0DEF", 6) != 0) |
1043 | return 1; | 1128 | return 1; |
1044 | return 0; | 1129 | return 0; |
1045 | }], [gl_cv_func_snprintf_truncation_c99=yes], [gl_cv_func_snprintf_truncation_c99=no], | 1130 | }]])], |
1046 | [ | 1131 | [gl_cv_func_snprintf_truncation_c99=yes], |
1132 | [gl_cv_func_snprintf_truncation_c99=no], | ||
1133 | [ | ||
1047 | changequote(,)dnl | 1134 | changequote(,)dnl |
1048 | case "$host_os" in | 1135 | case "$host_os" in |
1049 | # Guess yes on glibc systems. | 1136 | # Guess yes on glibc systems. |
1050 | *-gnu*) gl_cv_func_snprintf_truncation_c99="guessing yes";; | 1137 | *-gnu*) gl_cv_func_snprintf_truncation_c99="guessing yes";; |
1051 | # Guess yes on FreeBSD >= 5. | 1138 | # Guess yes on FreeBSD >= 5. |
1052 | freebsd[1-4]*) gl_cv_func_snprintf_truncation_c99="guessing no";; | 1139 | freebsd[1-4]*) gl_cv_func_snprintf_truncation_c99="guessing no";; |
1053 | freebsd* | kfreebsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";; | 1140 | freebsd* | kfreebsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";; |
1054 | # Guess yes on MacOS X >= 10.3. | 1141 | # Guess yes on Mac OS X >= 10.3. |
1055 | darwin[1-6].*) gl_cv_func_snprintf_truncation_c99="guessing no";; | 1142 | darwin[1-6].*) gl_cv_func_snprintf_truncation_c99="guessing no";; |
1056 | darwin*) gl_cv_func_snprintf_truncation_c99="guessing yes";; | 1143 | darwin*) gl_cv_func_snprintf_truncation_c99="guessing yes";; |
1057 | # Guess yes on OpenBSD >= 3.9. | 1144 | # Guess yes on OpenBSD >= 3.9. |
1058 | openbsd[1-2].* | openbsd3.[0-8] | openbsd3.[0-8].*) | 1145 | openbsd[1-2].* | openbsd3.[0-8] | openbsd3.[0-8].*) |
1059 | gl_cv_func_snprintf_truncation_c99="guessing no";; | 1146 | gl_cv_func_snprintf_truncation_c99="guessing no";; |
1060 | openbsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";; | 1147 | openbsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";; |
1061 | # Guess yes on Solaris >= 2.6. | 1148 | # Guess yes on Solaris >= 2.6. |
1062 | solaris2.[0-5]*) gl_cv_func_snprintf_truncation_c99="guessing no";; | 1149 | solaris2.[0-5] | solaris2.[0-5].*) |
1063 | solaris*) gl_cv_func_snprintf_truncation_c99="guessing yes";; | 1150 | gl_cv_func_snprintf_truncation_c99="guessing no";; |
1064 | # Guess yes on AIX >= 4. | 1151 | solaris*) gl_cv_func_snprintf_truncation_c99="guessing yes";; |
1065 | aix[1-3]*) gl_cv_func_snprintf_truncation_c99="guessing no";; | 1152 | # Guess yes on AIX >= 4. |
1066 | aix*) gl_cv_func_snprintf_truncation_c99="guessing yes";; | 1153 | aix[1-3]*) gl_cv_func_snprintf_truncation_c99="guessing no";; |
1067 | # Guess yes on HP-UX >= 11. | 1154 | aix*) gl_cv_func_snprintf_truncation_c99="guessing yes";; |
1068 | hpux[7-9]* | hpux10*) gl_cv_func_snprintf_truncation_c99="guessing no";; | 1155 | # Guess yes on HP-UX >= 11. |
1069 | hpux*) gl_cv_func_snprintf_truncation_c99="guessing yes";; | 1156 | hpux[7-9]* | hpux10*) gl_cv_func_snprintf_truncation_c99="guessing no";; |
1070 | # Guess yes on IRIX >= 6.5. | 1157 | hpux*) gl_cv_func_snprintf_truncation_c99="guessing yes";; |
1071 | irix6.5) gl_cv_func_snprintf_truncation_c99="guessing yes";; | 1158 | # Guess yes on IRIX >= 6.5. |
1072 | # Guess yes on OSF/1 >= 5. | 1159 | irix6.5) gl_cv_func_snprintf_truncation_c99="guessing yes";; |
1073 | osf[3-4]*) gl_cv_func_snprintf_truncation_c99="guessing no";; | 1160 | # Guess yes on OSF/1 >= 5. |
1074 | osf*) gl_cv_func_snprintf_truncation_c99="guessing yes";; | 1161 | osf[3-4]*) gl_cv_func_snprintf_truncation_c99="guessing no";; |
1075 | # Guess yes on NetBSD >= 3. | 1162 | osf*) gl_cv_func_snprintf_truncation_c99="guessing yes";; |
1076 | netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) | 1163 | # Guess yes on NetBSD >= 3. |
1077 | gl_cv_func_snprintf_truncation_c99="guessing no";; | 1164 | netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) |
1078 | netbsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";; | 1165 | gl_cv_func_snprintf_truncation_c99="guessing no";; |
1079 | # Guess yes on BeOS. | 1166 | netbsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";; |
1080 | beos*) gl_cv_func_snprintf_truncation_c99="guessing yes";; | 1167 | # Guess yes on BeOS. |
1081 | # If we don't know, assume the worst. | 1168 | beos*) gl_cv_func_snprintf_truncation_c99="guessing yes";; |
1082 | *) gl_cv_func_snprintf_truncation_c99="guessing no";; | 1169 | # If we don't know, assume the worst. |
1083 | esac | 1170 | *) gl_cv_func_snprintf_truncation_c99="guessing no";; |
1171 | esac | ||
1084 | changequote([,])dnl | 1172 | changequote([,])dnl |
1085 | ]) | 1173 | ]) |
1086 | ]) | 1174 | ]) |
1087 | ]) | 1175 | ]) |
1088 | 1176 | ||
@@ -1105,52 +1193,74 @@ AC_DEFUN_ONCE([gl_SNPRINTF_RETVAL_C99], | |||
1105 | [ | 1193 | [ |
1106 | AC_REQUIRE([AC_PROG_CC]) | 1194 | AC_REQUIRE([AC_PROG_CC]) |
1107 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | 1195 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles |
1196 | AC_REQUIRE([gl_SNPRINTF_PRESENCE]) | ||
1108 | AC_CACHE_CHECK([whether snprintf returns a byte count as in C99], | 1197 | AC_CACHE_CHECK([whether snprintf returns a byte count as in C99], |
1109 | [gl_cv_func_snprintf_retval_c99], | 1198 | [gl_cv_func_snprintf_retval_c99], |
1110 | [ | 1199 | [ |
1111 | AC_TRY_RUN([ | 1200 | AC_RUN_IFELSE( |
1201 | [AC_LANG_SOURCE([[ | ||
1112 | #include <stdio.h> | 1202 | #include <stdio.h> |
1113 | #include <string.h> | 1203 | #include <string.h> |
1204 | #if HAVE_SNPRINTF | ||
1205 | # define my_snprintf snprintf | ||
1206 | #else | ||
1207 | # include <stdarg.h> | ||
1208 | static int my_snprintf (char *buf, int size, const char *format, ...) | ||
1209 | { | ||
1210 | va_list args; | ||
1211 | int ret; | ||
1212 | va_start (args, format); | ||
1213 | ret = vsnprintf (buf, size, format, args); | ||
1214 | va_end (args); | ||
1215 | return ret; | ||
1216 | } | ||
1217 | #endif | ||
1114 | static char buf[100]; | 1218 | static char buf[100]; |
1115 | int main () | 1219 | int main () |
1116 | { | 1220 | { |
1117 | strcpy (buf, "ABCDEF"); | 1221 | strcpy (buf, "ABCDEF"); |
1118 | if (snprintf (buf, 3, "%d %d", 4567, 89) != 7) | 1222 | if (my_snprintf (buf, 3, "%d %d", 4567, 89) != 7) |
1119 | return 1; | 1223 | return 1; |
1224 | if (my_snprintf (buf, 0, "%d %d", 4567, 89) != 7) | ||
1225 | return 2; | ||
1226 | if (my_snprintf (NULL, 0, "%d %d", 4567, 89) != 7) | ||
1227 | return 3; | ||
1120 | return 0; | 1228 | return 0; |
1121 | }], [gl_cv_func_snprintf_retval_c99=yes], [gl_cv_func_snprintf_retval_c99=no], | 1229 | }]])], |
1122 | [ | 1230 | [gl_cv_func_snprintf_retval_c99=yes], |
1231 | [gl_cv_func_snprintf_retval_c99=no], | ||
1232 | [ | ||
1123 | changequote(,)dnl | 1233 | changequote(,)dnl |
1124 | case "$host_os" in | 1234 | case "$host_os" in |
1125 | # Guess yes on glibc systems. | 1235 | # Guess yes on glibc systems. |
1126 | *-gnu*) gl_cv_func_snprintf_retval_c99="guessing yes";; | 1236 | *-gnu*) gl_cv_func_snprintf_retval_c99="guessing yes";; |
1127 | # Guess yes on FreeBSD >= 5. | 1237 | # Guess yes on FreeBSD >= 5. |
1128 | freebsd[1-4]*) gl_cv_func_snprintf_retval_c99="guessing no";; | 1238 | freebsd[1-4]*) gl_cv_func_snprintf_retval_c99="guessing no";; |
1129 | freebsd* | kfreebsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; | 1239 | freebsd* | kfreebsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; |
1130 | # Guess yes on MacOS X >= 10.3. | 1240 | # Guess yes on Mac OS X >= 10.3. |
1131 | darwin[1-6].*) gl_cv_func_snprintf_retval_c99="guessing no";; | 1241 | darwin[1-6].*) gl_cv_func_snprintf_retval_c99="guessing no";; |
1132 | darwin*) gl_cv_func_snprintf_retval_c99="guessing yes";; | 1242 | darwin*) gl_cv_func_snprintf_retval_c99="guessing yes";; |
1133 | # Guess yes on OpenBSD >= 3.9. | 1243 | # Guess yes on OpenBSD >= 3.9. |
1134 | openbsd[1-2].* | openbsd3.[0-8] | openbsd3.[0-8].*) | 1244 | openbsd[1-2].* | openbsd3.[0-8] | openbsd3.[0-8].*) |
1135 | gl_cv_func_snprintf_retval_c99="guessing no";; | 1245 | gl_cv_func_snprintf_retval_c99="guessing no";; |
1136 | openbsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; | 1246 | openbsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; |
1137 | # Guess yes on Solaris >= 2.6. | 1247 | # Guess yes on Solaris >= 2.10. |
1138 | solaris2.[0-5]*) gl_cv_func_snprintf_retval_c99="guessing no";; | 1248 | solaris2.[1-9][0-9]*) gl_cv_func_printf_sizes_c99="guessing yes";; |
1139 | solaris*) gl_cv_func_snprintf_retval_c99="guessing yes";; | 1249 | solaris*) gl_cv_func_printf_sizes_c99="guessing no";; |
1140 | # Guess yes on AIX >= 4. | 1250 | # Guess yes on AIX >= 4. |
1141 | aix[1-3]*) gl_cv_func_snprintf_retval_c99="guessing no";; | 1251 | aix[1-3]*) gl_cv_func_snprintf_retval_c99="guessing no";; |
1142 | aix*) gl_cv_func_snprintf_retval_c99="guessing yes";; | 1252 | aix*) gl_cv_func_snprintf_retval_c99="guessing yes";; |
1143 | # Guess yes on NetBSD >= 3. | 1253 | # Guess yes on NetBSD >= 3. |
1144 | netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) | 1254 | netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) |
1145 | gl_cv_func_snprintf_retval_c99="guessing no";; | 1255 | gl_cv_func_snprintf_retval_c99="guessing no";; |
1146 | netbsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; | 1256 | netbsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; |
1147 | # Guess yes on BeOS. | 1257 | # Guess yes on BeOS. |
1148 | beos*) gl_cv_func_snprintf_retval_c99="guessing yes";; | 1258 | beos*) gl_cv_func_snprintf_retval_c99="guessing yes";; |
1149 | # If we don't know, assume the worst. | 1259 | # If we don't know, assume the worst. |
1150 | *) gl_cv_func_snprintf_retval_c99="guessing no";; | 1260 | *) gl_cv_func_snprintf_retval_c99="guessing no";; |
1151 | esac | 1261 | esac |
1152 | changequote([,])dnl | 1262 | changequote([,])dnl |
1153 | ]) | 1263 | ]) |
1154 | ]) | 1264 | ]) |
1155 | ]) | 1265 | ]) |
1156 | 1266 | ||
@@ -1162,12 +1272,28 @@ AC_DEFUN([gl_SNPRINTF_DIRECTIVE_N], | |||
1162 | [ | 1272 | [ |
1163 | AC_REQUIRE([AC_PROG_CC]) | 1273 | AC_REQUIRE([AC_PROG_CC]) |
1164 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | 1274 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles |
1275 | AC_REQUIRE([gl_SNPRINTF_PRESENCE]) | ||
1165 | AC_CACHE_CHECK([whether snprintf fully supports the 'n' directive], | 1276 | AC_CACHE_CHECK([whether snprintf fully supports the 'n' directive], |
1166 | [gl_cv_func_snprintf_directive_n], | 1277 | [gl_cv_func_snprintf_directive_n], |
1167 | [ | 1278 | [ |
1168 | AC_TRY_RUN([ | 1279 | AC_RUN_IFELSE( |
1280 | [AC_LANG_SOURCE([[ | ||
1169 | #include <stdio.h> | 1281 | #include <stdio.h> |
1170 | #include <string.h> | 1282 | #include <string.h> |
1283 | #if HAVE_SNPRINTF | ||
1284 | # define my_snprintf snprintf | ||
1285 | #else | ||
1286 | # include <stdarg.h> | ||
1287 | static int my_snprintf (char *buf, int size, const char *format, ...) | ||
1288 | { | ||
1289 | va_list args; | ||
1290 | int ret; | ||
1291 | va_start (args, format); | ||
1292 | ret = vsnprintf (buf, size, format, args); | ||
1293 | va_end (args); | ||
1294 | return ret; | ||
1295 | } | ||
1296 | #endif | ||
1171 | static char fmtstring[10]; | 1297 | static char fmtstring[10]; |
1172 | static char buf[100]; | 1298 | static char buf[100]; |
1173 | int main () | 1299 | int main () |
@@ -1177,44 +1303,47 @@ int main () | |||
1177 | support %n in format strings in read-only memory but not in writable | 1303 | support %n in format strings in read-only memory but not in writable |
1178 | memory. */ | 1304 | memory. */ |
1179 | strcpy (fmtstring, "%d %n"); | 1305 | strcpy (fmtstring, "%d %n"); |
1180 | snprintf (buf, 4, fmtstring, 12345, &count, 33, 44, 55); | 1306 | my_snprintf (buf, 4, fmtstring, 12345, &count, 33, 44, 55); |
1181 | if (count != 6) | 1307 | if (count != 6) |
1182 | return 1; | 1308 | return 1; |
1183 | return 0; | 1309 | return 0; |
1184 | }], [gl_cv_func_snprintf_directive_n=yes], [gl_cv_func_snprintf_directive_n=no], | 1310 | }]])], |
1185 | [ | 1311 | [gl_cv_func_snprintf_directive_n=yes], |
1312 | [gl_cv_func_snprintf_directive_n=no], | ||
1313 | [ | ||
1186 | changequote(,)dnl | 1314 | changequote(,)dnl |
1187 | case "$host_os" in | 1315 | case "$host_os" in |
1188 | # Guess yes on glibc systems. | 1316 | # Guess yes on glibc systems. |
1189 | *-gnu*) gl_cv_func_snprintf_directive_n="guessing yes";; | 1317 | *-gnu*) gl_cv_func_snprintf_directive_n="guessing yes";; |
1190 | # Guess yes on FreeBSD >= 5. | 1318 | # Guess yes on FreeBSD >= 5. |
1191 | freebsd[1-4]*) gl_cv_func_snprintf_directive_n="guessing no";; | 1319 | freebsd[1-4]*) gl_cv_func_snprintf_directive_n="guessing no";; |
1192 | freebsd* | kfreebsd*) gl_cv_func_snprintf_directive_n="guessing yes";; | 1320 | freebsd* | kfreebsd*) gl_cv_func_snprintf_directive_n="guessing yes";; |
1193 | # Guess yes on MacOS X >= 10.3. | 1321 | # Guess yes on Mac OS X >= 10.3. |
1194 | darwin[1-6].*) gl_cv_func_snprintf_directive_n="guessing no";; | 1322 | darwin[1-6].*) gl_cv_func_snprintf_directive_n="guessing no";; |
1195 | darwin*) gl_cv_func_snprintf_directive_n="guessing yes";; | 1323 | darwin*) gl_cv_func_snprintf_directive_n="guessing yes";; |
1196 | # Guess yes on Solaris >= 2.6. | 1324 | # Guess yes on Solaris >= 2.6. |
1197 | solaris2.[0-5]*) gl_cv_func_snprintf_directive_n="guessing no";; | 1325 | solaris2.[0-5] | solaris2.[0-5].*) |
1198 | solaris*) gl_cv_func_snprintf_directive_n="guessing yes";; | 1326 | gl_cv_func_snprintf_directive_n="guessing no";; |
1199 | # Guess yes on AIX >= 4. | 1327 | solaris*) gl_cv_func_snprintf_directive_n="guessing yes";; |
1200 | aix[1-3]*) gl_cv_func_snprintf_directive_n="guessing no";; | 1328 | # Guess yes on AIX >= 4. |
1201 | aix*) gl_cv_func_snprintf_directive_n="guessing yes";; | 1329 | aix[1-3]*) gl_cv_func_snprintf_directive_n="guessing no";; |
1202 | # Guess yes on IRIX >= 6.5. | 1330 | aix*) gl_cv_func_snprintf_directive_n="guessing yes";; |
1203 | irix6.5) gl_cv_func_snprintf_directive_n="guessing yes";; | 1331 | # Guess yes on IRIX >= 6.5. |
1204 | # Guess yes on OSF/1 >= 5. | 1332 | irix6.5) gl_cv_func_snprintf_directive_n="guessing yes";; |
1205 | osf[3-4]*) gl_cv_func_snprintf_directive_n="guessing no";; | 1333 | # Guess yes on OSF/1 >= 5. |
1206 | osf*) gl_cv_func_snprintf_directive_n="guessing yes";; | 1334 | osf[3-4]*) gl_cv_func_snprintf_directive_n="guessing no";; |
1207 | # Guess yes on NetBSD >= 3. | 1335 | osf*) gl_cv_func_snprintf_directive_n="guessing yes";; |
1208 | netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) | 1336 | # Guess yes on NetBSD >= 3. |
1209 | gl_cv_func_snprintf_directive_n="guessing no";; | 1337 | netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) |
1210 | netbsd*) gl_cv_func_snprintf_directive_n="guessing yes";; | 1338 | gl_cv_func_snprintf_directive_n="guessing no";; |
1211 | # Guess yes on BeOS. | 1339 | netbsd*) gl_cv_func_snprintf_directive_n="guessing yes";; |
1212 | beos*) gl_cv_func_snprintf_directive_n="guessing yes";; | 1340 | # Guess yes on BeOS. |
1213 | # If we don't know, assume the worst. | 1341 | beos*) gl_cv_func_snprintf_directive_n="guessing yes";; |
1214 | *) gl_cv_func_snprintf_directive_n="guessing no";; | 1342 | # If we don't know, assume the worst. |
1215 | esac | 1343 | *) gl_cv_func_snprintf_directive_n="guessing no";; |
1344 | esac | ||
1216 | changequote([,])dnl | 1345 | changequote([,])dnl |
1217 | ]) | 1346 | ]) |
1218 | ]) | 1347 | ]) |
1219 | ]) | 1348 | ]) |
1220 | 1349 | ||
@@ -1226,20 +1355,36 @@ dnl Result is gl_cv_func_snprintf_size1. | |||
1226 | AC_DEFUN([gl_SNPRINTF_SIZE1], | 1355 | AC_DEFUN([gl_SNPRINTF_SIZE1], |
1227 | [ | 1356 | [ |
1228 | AC_REQUIRE([AC_PROG_CC]) | 1357 | AC_REQUIRE([AC_PROG_CC]) |
1358 | AC_REQUIRE([gl_SNPRINTF_PRESENCE]) | ||
1229 | AC_CACHE_CHECK([whether snprintf respects a size of 1], | 1359 | AC_CACHE_CHECK([whether snprintf respects a size of 1], |
1230 | [gl_cv_func_snprintf_size1], | 1360 | [gl_cv_func_snprintf_size1], |
1231 | [ | 1361 | [ |
1232 | AC_TRY_RUN([ | 1362 | AC_RUN_IFELSE( |
1363 | [AC_LANG_SOURCE([[ | ||
1233 | #include <stdio.h> | 1364 | #include <stdio.h> |
1365 | #if HAVE_SNPRINTF | ||
1366 | # define my_snprintf snprintf | ||
1367 | #else | ||
1368 | # include <stdarg.h> | ||
1369 | static int my_snprintf (char *buf, int size, const char *format, ...) | ||
1370 | { | ||
1371 | va_list args; | ||
1372 | int ret; | ||
1373 | va_start (args, format); | ||
1374 | ret = vsnprintf (buf, size, format, args); | ||
1375 | va_end (args); | ||
1376 | return ret; | ||
1377 | } | ||
1378 | #endif | ||
1234 | int main() | 1379 | int main() |
1235 | { | 1380 | { |
1236 | static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' }; | 1381 | static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' }; |
1237 | snprintf (buf, 1, "%d", 12345); | 1382 | my_snprintf (buf, 1, "%d", 12345); |
1238 | return buf[1] != 'E'; | 1383 | return buf[1] != 'E'; |
1239 | }], | 1384 | }]])], |
1240 | [gl_cv_func_snprintf_size1=yes], | 1385 | [gl_cv_func_snprintf_size1=yes], |
1241 | [gl_cv_func_snprintf_size1=no], | 1386 | [gl_cv_func_snprintf_size1=no], |
1242 | [gl_cv_func_snprintf_size1="guessing yes"]) | 1387 | [gl_cv_func_snprintf_size1="guessing yes"]) |
1243 | ]) | 1388 | ]) |
1244 | ]) | 1389 | ]) |
1245 | 1390 | ||
@@ -1286,7 +1431,8 @@ AC_DEFUN([gl_VSNPRINTF_ZEROSIZE_C99], | |||
1286 | AC_CACHE_CHECK([whether vsnprintf respects a zero size as in C99], | 1431 | AC_CACHE_CHECK([whether vsnprintf respects a zero size as in C99], |
1287 | [gl_cv_func_vsnprintf_zerosize_c99], | 1432 | [gl_cv_func_vsnprintf_zerosize_c99], |
1288 | [ | 1433 | [ |
1289 | AC_TRY_RUN([ | 1434 | AC_RUN_IFELSE( |
1435 | [AC_LANG_SOURCE([[ | ||
1290 | #include <stdarg.h> | 1436 | #include <stdarg.h> |
1291 | #include <stdio.h> | 1437 | #include <stdio.h> |
1292 | static int my_snprintf (char *buf, int size, const char *format, ...) | 1438 | static int my_snprintf (char *buf, int size, const char *format, ...) |
@@ -1303,43 +1449,44 @@ int main() | |||
1303 | static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' }; | 1449 | static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' }; |
1304 | my_snprintf (buf, 0, "%d", 12345); | 1450 | my_snprintf (buf, 0, "%d", 12345); |
1305 | return buf[0] != 'D'; | 1451 | return buf[0] != 'D'; |
1306 | }], | 1452 | }]])], |
1307 | [gl_cv_func_vsnprintf_zerosize_c99=yes], | 1453 | [gl_cv_func_vsnprintf_zerosize_c99=yes], |
1308 | [gl_cv_func_vsnprintf_zerosize_c99=no], | 1454 | [gl_cv_func_vsnprintf_zerosize_c99=no], |
1309 | [ | 1455 | [ |
1310 | changequote(,)dnl | 1456 | changequote(,)dnl |
1311 | case "$host_os" in | 1457 | case "$host_os" in |
1312 | # Guess yes on glibc systems. | 1458 | # Guess yes on glibc systems. |
1313 | *-gnu*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; | 1459 | *-gnu*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; |
1314 | # Guess yes on FreeBSD >= 5. | 1460 | # Guess yes on FreeBSD >= 5. |
1315 | freebsd[1-4]*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; | 1461 | freebsd[1-4]*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; |
1316 | freebsd* | kfreebsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; | 1462 | freebsd* | kfreebsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; |
1317 | # Guess yes on MacOS X >= 10.3. | 1463 | # Guess yes on Mac OS X >= 10.3. |
1318 | darwin[1-6].*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; | 1464 | darwin[1-6].*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; |
1319 | darwin*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; | 1465 | darwin*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; |
1320 | # Guess yes on Cygwin. | 1466 | # Guess yes on Cygwin. |
1321 | cygwin*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; | 1467 | cygwin*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; |
1322 | # Guess yes on Solaris >= 2.6. | 1468 | # Guess yes on Solaris >= 2.6. |
1323 | solaris2.[0-5]*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; | 1469 | solaris2.[0-5] | solaris2.[0-5].*) |
1324 | solaris*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; | 1470 | gl_cv_func_vsnprintf_zerosize_c99="guessing no";; |
1325 | # Guess yes on AIX >= 4. | 1471 | solaris*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; |
1326 | aix[1-3]*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; | 1472 | # Guess yes on AIX >= 4. |
1327 | aix*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; | 1473 | aix[1-3]*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; |
1328 | # Guess yes on IRIX >= 6.5. | 1474 | aix*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; |
1329 | irix6.5) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; | 1475 | # Guess yes on IRIX >= 6.5. |
1330 | # Guess yes on NetBSD >= 3. | 1476 | irix6.5) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; |
1331 | netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) | 1477 | # Guess yes on NetBSD >= 3. |
1332 | gl_cv_func_vsnprintf_zerosize_c99="guessing no";; | 1478 | netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) |
1333 | netbsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; | 1479 | gl_cv_func_vsnprintf_zerosize_c99="guessing no";; |
1334 | # Guess yes on BeOS. | 1480 | netbsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; |
1335 | beos*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; | 1481 | # Guess yes on BeOS. |
1336 | # Guess yes on mingw. | 1482 | beos*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; |
1337 | mingw* | pw*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; | 1483 | # Guess yes on mingw. |
1338 | # If we don't know, assume the worst. | 1484 | mingw* | pw*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; |
1339 | *) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; | 1485 | # If we don't know, assume the worst. |
1340 | esac | 1486 | *) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; |
1487 | esac | ||
1341 | changequote([,])dnl | 1488 | changequote([,])dnl |
1342 | ]) | 1489 | ]) |
1343 | ]) | 1490 | ]) |
1344 | ]) | 1491 | ]) |
1345 | 1492 | ||
@@ -1393,24 +1540,31 @@ dnl 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |||
1393 | dnl glibc 2.5 . . . . . . . . . . . . . . . . . . . . | 1540 | dnl glibc 2.5 . . . . . . . . . . . . . . . . . . . . |
1394 | dnl glibc 2.3.6 . . . . # . . . . . . . . . . . . . . . | 1541 | dnl glibc 2.3.6 . . . . # . . . . . . . . . . . . . . . |
1395 | dnl FreeBSD 5.4, 6.1 . . . . # . . . . . . # . # . . . . . . | 1542 | dnl FreeBSD 5.4, 6.1 . . . . # . . . . . . # . # . . . . . . |
1396 | dnl MacOS X 10.3.9 . . . . # . . . . . . # . # . . . . . . | 1543 | dnl Mac OS X 10.5.8 . . . # # . . . . . . # . . . . . . . . |
1544 | dnl Mac OS X 10.3.9 . . . . # . . . . . . # . # . . . . . . | ||
1397 | dnl OpenBSD 3.9, 4.0 . . # # # # . # . # . # . # . . . . . . | 1545 | dnl OpenBSD 3.9, 4.0 . . # # # # . # . # . # . # . . . . . . |
1398 | dnl Cygwin 1.7.0 (2009) . . . # . . . ? . . . . . ? . . . . . . | 1546 | dnl Cygwin 1.7.0 (2009) . . . # . . . ? . . . . . ? . . . . . . |
1399 | dnl Cygwin 1.5.25 (2008) . . . # # . . # . . . . . # . . . . . . | 1547 | dnl Cygwin 1.5.25 (2008) . . . # # . . # . . . . . # . . . . . . |
1400 | dnl Cygwin 1.5.19 (2006) # . . # # # . # . # . # # # . . . . . . | 1548 | dnl Cygwin 1.5.19 (2006) # . . # # # . # . # . # # # . . . . . . |
1401 | dnl Solaris 10 . . # # # . . # . . . # . . . . . . . . | 1549 | dnl Solaris 11 2011-11 . . # # # . . # . . . # . . . . . . . . |
1402 | dnl Solaris 2.6 ... 9 # . # # # # . # . . . # . . . . . . . . | 1550 | dnl Solaris 10 . . # # # . . # . . . # # . . . . . . . |
1551 | dnl Solaris 2.6 ... 9 # . # # # # . # . . . # # . . . # . . . | ||
1403 | dnl Solaris 2.5.1 # . # # # # . # . . . # . . # # # # # # | 1552 | dnl Solaris 2.5.1 # . # # # # . # . . . # . . # # # # # # |
1553 | dnl AIX 7.1 . . # # # . . . . . . # # . . . . . . . | ||
1404 | dnl AIX 5.2 . . # # # . . . . . . # . . . . . . . . | 1554 | dnl AIX 5.2 . . # # # . . . . . . # . . . . . . . . |
1405 | dnl AIX 4.3.2, 5.1 # . # # # # . . . . . # . . . . . . . . | 1555 | dnl AIX 4.3.2, 5.1 # . # # # # . . . . . # . . . . # . . . |
1406 | dnl HP-UX 11.31 . . . . # . . . . . . # . . . . # # . . | 1556 | dnl HP-UX 11.31 . . . . # . . . . . . # . . . . # # . . |
1407 | dnl HP-UX 11.{00,11,23} # . . . # # . . . . . # . . . . # # . # | 1557 | dnl HP-UX 11.{00,11,23} # . . . # # . . . . . # . . . . # # . # |
1408 | dnl HP-UX 10.20 # . # . # # . ? . . # # . . . . # # ? # | 1558 | dnl HP-UX 10.20 # . # . # # . ? . . # # . . . . # # ? # |
1409 | dnl IRIX 6.5 # . # # # # . # . . . # . . . . # . . . | 1559 | dnl IRIX 6.5 # . # # # # . # . . . # . . . . # . . . |
1410 | dnl OSF/1 5.1 # . # # # # . . . . . # . . . . # . . # | 1560 | dnl OSF/1 5.1 # . # # # # . . . . . # . . . . # . . # |
1411 | dnl OSF/1 4.0d # . # # # # . . . . . # . . # # # # # # | 1561 | dnl OSF/1 4.0d # . # # # # . . . . . # . . # # # # # # |
1562 | dnl NetBSD 5.0 . . . # # . . . . . . # . # . . . . . . | ||
1412 | dnl NetBSD 4.0 . ? ? ? ? ? . ? . ? ? ? ? ? . . . ? ? ? | 1563 | dnl NetBSD 4.0 . ? ? ? ? ? . ? . ? ? ? ? ? . . . ? ? ? |
1413 | dnl NetBSD 3.0 . . . . # # . ? # # ? # . # . . . . . . | 1564 | dnl NetBSD 3.0 . . . . # # . ? # # ? # . # . . . . . . |
1414 | dnl Haiku . . . # # # . # . . . . . ? . . . . . . | 1565 | dnl Haiku . . . # # # . # . . . . . ? . . ? . . . |
1415 | dnl BeOS # # . # # # . ? # . ? . # ? . . . . . . | 1566 | dnl BeOS # # . # # # . ? # . ? . # ? . . ? . . . |
1416 | dnl mingw # # # # # # . . # # . # # ? . # # # . . | 1567 | dnl old mingw / msvcrt # # # # # # . . # # . # # ? . # # # . . |
1568 | dnl MSVC 9 # # # # # # # . # # . # # ? # # # # . . | ||
1569 | dnl mingw 2009-2011 . # . # . . . . # # . . . ? . . . . . . | ||
1570 | dnl mingw-w64 2011 # # # # # # . . # # . # # ? . # # # . . | ||
diff --git a/gl/m4/progtest.m4 b/gl/m4/progtest.m4 index 2d804ac9..7b391232 100644 --- a/gl/m4/progtest.m4 +++ b/gl/m4/progtest.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # progtest.m4 serial 6 (gettext-0.18) | 1 | # progtest.m4 serial 7 (gettext-0.18.2) |
2 | dnl Copyright (C) 1996-2003, 2005, 2008-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1996-2003, 2005, 2008-2013 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,15 +27,14 @@ AC_DEFUN([AM_PATH_PROG_WITH_TEST], | |||
27 | # Prepare PATH_SEPARATOR. | 27 | # Prepare PATH_SEPARATOR. |
28 | # The user is always right. | 28 | # The user is always right. |
29 | if test "${PATH_SEPARATOR+set}" != set; then | 29 | if test "${PATH_SEPARATOR+set}" != set; then |
30 | echo "#! /bin/sh" >conf$$.sh | 30 | # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which |
31 | echo "exit 0" >>conf$$.sh | 31 | # contains only /bin. Note that ksh looks also at the FPATH variable, |
32 | chmod +x conf$$.sh | 32 | # so we have to set that as well for the test. |
33 | if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then | 33 | PATH_SEPARATOR=: |
34 | PATH_SEPARATOR=';' | 34 | (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ |
35 | else | 35 | && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ |
36 | PATH_SEPARATOR=: | 36 | || PATH_SEPARATOR=';' |
37 | fi | 37 | } |
38 | rm -f conf$$.sh | ||
39 | fi | 38 | fi |
40 | 39 | ||
41 | # Find out how to test for executable files. Don't use a zero-byte file, | 40 | # Find out how to test for executable files. Don't use a zero-byte file, |
diff --git a/gl/m4/read.m4 b/gl/m4/read.m4 new file mode 100644 index 00000000..81f0f3a9 --- /dev/null +++ b/gl/m4/read.m4 | |||
@@ -0,0 +1,26 @@ | |||
1 | # read.m4 serial 4 | ||
2 | dnl Copyright (C) 2011-2013 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_READ], | ||
8 | [ | ||
9 | AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) | ||
10 | AC_REQUIRE([gl_MSVC_INVAL]) | ||
11 | if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then | ||
12 | REPLACE_READ=1 | ||
13 | fi | ||
14 | dnl This ifdef is just an optimization, to avoid performing a configure | ||
15 | dnl check whose result is not used. It does not make the test of | ||
16 | dnl GNULIB_UNISTD_H_NONBLOCKING or GNULIB_NONBLOCKING redundant. | ||
17 | m4_ifdef([gl_NONBLOCKING_IO], [ | ||
18 | gl_NONBLOCKING_IO | ||
19 | if test $gl_cv_have_nonblocking != yes; then | ||
20 | REPLACE_READ=1 | ||
21 | fi | ||
22 | ]) | ||
23 | ]) | ||
24 | |||
25 | # Prerequisites of lib/read.c. | ||
26 | AC_DEFUN([gl_PREREQ_READ], [:]) | ||
diff --git a/gl/m4/regex.m4 b/gl/m4/regex.m4 index 95784e4b..0945c11a 100644 --- a/gl/m4/regex.m4 +++ b/gl/m4/regex.m4 | |||
@@ -1,7 +1,6 @@ | |||
1 | # serial 56 | 1 | # serial 64 |
2 | 2 | ||
3 | # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, | 3 | # Copyright (C) 1996-2001, 2003-2013 Free Software Foundation, Inc. |
4 | # 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
5 | # | 4 | # |
6 | # This file is free software; the Free Software Foundation | 5 | # This file is free software; the Free Software Foundation |
7 | # gives unlimited permission to copy and/or distribute it, | 6 | # gives unlimited permission to copy and/or distribute it, |
@@ -14,8 +13,6 @@ AC_PREREQ([2.50]) | |||
14 | 13 | ||
15 | AC_DEFUN([gl_REGEX], | 14 | AC_DEFUN([gl_REGEX], |
16 | [ | 15 | [ |
17 | AC_CHECK_HEADERS_ONCE([locale.h]) | ||
18 | |||
19 | AC_ARG_WITH([included-regex], | 16 | AC_ARG_WITH([included-regex], |
20 | [AS_HELP_STRING([--without-included-regex], | 17 | [AS_HELP_STRING([--without-included-regex], |
21 | [don't compile regex; this is the default on systems | 18 | [don't compile regex; this is the default on systems |
@@ -30,31 +27,41 @@ AC_DEFUN([gl_REGEX], | |||
30 | # following run test, then default to *not* using the included regex.c. | 27 | # following run test, then default to *not* using the included regex.c. |
31 | # If cross compiling, assume the test would fail and use the included | 28 | # If cross compiling, assume the test would fail and use the included |
32 | # regex.c. | 29 | # regex.c. |
30 | AC_CHECK_DECLS_ONCE([alarm]) | ||
33 | AC_CACHE_CHECK([for working re_compile_pattern], | 31 | AC_CACHE_CHECK([for working re_compile_pattern], |
34 | [gl_cv_func_re_compile_pattern_working], | 32 | [gl_cv_func_re_compile_pattern_working], |
35 | [AC_RUN_IFELSE( | 33 | [AC_RUN_IFELSE( |
36 | [AC_LANG_PROGRAM( | 34 | [AC_LANG_PROGRAM( |
37 | [AC_INCLUDES_DEFAULT[ | 35 | [[#include <regex.h> |
38 | #if HAVE_LOCALE_H | 36 | |
39 | #include <locale.h> | 37 | #include <locale.h> |
40 | #endif | 38 | #include <limits.h> |
41 | #include <limits.h> | 39 | #include <string.h> |
42 | #include <regex.h> | 40 | #if HAVE_DECL_ALARM |
43 | ]], | 41 | # include <unistd.h> |
44 | [[static struct re_pattern_buffer regex; | 42 | # include <signal.h> |
43 | #endif | ||
44 | ]], | ||
45 | [[int result = 0; | ||
46 | static struct re_pattern_buffer regex; | ||
45 | unsigned char folded_chars[UCHAR_MAX + 1]; | 47 | unsigned char folded_chars[UCHAR_MAX + 1]; |
46 | int i; | 48 | int i; |
47 | const char *s; | 49 | const char *s; |
48 | struct re_registers regs; | 50 | struct re_registers regs; |
49 | 51 | ||
50 | #if HAVE_LOCALE_H | 52 | #if HAVE_DECL_ALARM |
51 | /* http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html | 53 | /* Some builds of glibc go into an infinite loop on this test. */ |
52 | This test needs valgrind to catch the bug on Debian | 54 | signal (SIGALRM, SIG_DFL); |
53 | GNU/Linux 3.1 x86, but it might catch the bug better | 55 | alarm (2); |
54 | on other platforms and it shouldn't hurt to try the | 56 | #endif |
55 | test here. */ | 57 | if (setlocale (LC_ALL, "en_US.UTF-8")) |
56 | if (setlocale (LC_ALL, "en_US.UTF-8")) | 58 | { |
57 | { | 59 | { |
60 | /* http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html | ||
61 | This test needs valgrind to catch the bug on Debian | ||
62 | GNU/Linux 3.1 x86, but it might catch the bug better | ||
63 | on other platforms and it shouldn't hurt to try the | ||
64 | test here. */ | ||
58 | static char const pat[] = "insert into"; | 65 | static char const pat[] = "insert into"; |
59 | static char const data[] = | 66 | static char const data[] = |
60 | "\xFF\0\x12\xA2\xAA\xC4\xB1,K\x12\xC4\xB1*\xACK"; | 67 | "\xFF\0\x12\xA2\xAA\xC4\xB1,K\x12\xC4\xB1*\xACK"; |
@@ -63,26 +70,57 @@ AC_DEFUN([gl_REGEX], | |||
63 | memset (®ex, 0, sizeof regex); | 70 | memset (®ex, 0, sizeof regex); |
64 | s = re_compile_pattern (pat, sizeof pat - 1, ®ex); | 71 | s = re_compile_pattern (pat, sizeof pat - 1, ®ex); |
65 | if (s) | 72 | if (s) |
66 | return 1; | 73 | result |= 1; |
67 | if (re_search (®ex, data, sizeof data - 1, | 74 | else if (re_search (®ex, data, sizeof data - 1, |
68 | 0, sizeof data - 1, ®s) | 75 | 0, sizeof data - 1, ®s) |
69 | != -1) | 76 | != -1) |
70 | return 1; | 77 | result |= 1; |
71 | if (! setlocale (LC_ALL, "C")) | ||
72 | return 1; | ||
73 | } | 78 | } |
74 | #endif | 79 | |
80 | { | ||
81 | /* This test is from glibc bug 15078. | ||
82 | The test case is from Andreas Schwab in | ||
83 | <http://www.sourceware.org/ml/libc-alpha/2013-01/msg00967.html>. | ||
84 | */ | ||
85 | static char const pat[] = "[^x]x"; | ||
86 | static char const data[] = | ||
87 | /* <U1000><U103B><U103D><U1014><U103A><U102F><U1015><U103A> */ | ||
88 | "\xe1\x80\x80" | ||
89 | "\xe1\x80\xbb" | ||
90 | "\xe1\x80\xbd" | ||
91 | "\xe1\x80\x94" | ||
92 | "\xe1\x80\xba" | ||
93 | "\xe1\x80\xaf" | ||
94 | "\xe1\x80\x95" | ||
95 | "\xe1\x80\xba" | ||
96 | "x"; | ||
97 | re_set_syntax (0); | ||
98 | memset (®ex, 0, sizeof regex); | ||
99 | s = re_compile_pattern (pat, sizeof pat - 1, ®ex); | ||
100 | if (s) | ||
101 | result |= 1; | ||
102 | else | ||
103 | { | ||
104 | i = re_search (®ex, data, sizeof data - 1, | ||
105 | 0, sizeof data - 1, 0); | ||
106 | if (i != 0 && i != 21) | ||
107 | result |= 1; | ||
108 | } | ||
109 | } | ||
110 | |||
111 | if (! setlocale (LC_ALL, "C")) | ||
112 | return 1; | ||
113 | } | ||
75 | 114 | ||
76 | /* This test is from glibc bug 3957, reported by Andrew Mackey. */ | 115 | /* This test is from glibc bug 3957, reported by Andrew Mackey. */ |
77 | re_set_syntax (RE_SYNTAX_EGREP | RE_HAT_LISTS_NOT_NEWLINE); | 116 | re_set_syntax (RE_SYNTAX_EGREP | RE_HAT_LISTS_NOT_NEWLINE); |
78 | memset (®ex, 0, sizeof regex); | 117 | memset (®ex, 0, sizeof regex); |
79 | s = re_compile_pattern ("a[^x]b", 6, ®ex); | 118 | s = re_compile_pattern ("a[^x]b", 6, ®ex); |
80 | if (s) | 119 | if (s) |
81 | return 1; | 120 | result |= 2; |
82 | |||
83 | /* This should fail, but succeeds for glibc-2.5. */ | 121 | /* This should fail, but succeeds for glibc-2.5. */ |
84 | if (re_search (®ex, "a\nb", 3, 0, 3, ®s) != -1) | 122 | else if (re_search (®ex, "a\nb", 3, 0, 3, ®s) != -1) |
85 | return 1; | 123 | result |= 2; |
86 | 124 | ||
87 | /* This regular expression is from Spencer ere test number 75 | 125 | /* This regular expression is from Spencer ere test number 75 |
88 | in grep-2.3. */ | 126 | in grep-2.3. */ |
@@ -94,7 +132,7 @@ AC_DEFUN([gl_REGEX], | |||
94 | s = re_compile_pattern ("a[[:@:>@:]]b\n", 11, ®ex); | 132 | s = re_compile_pattern ("a[[:@:>@:]]b\n", 11, ®ex); |
95 | /* This should fail with _Invalid character class name_ error. */ | 133 | /* This should fail with _Invalid character class name_ error. */ |
96 | if (!s) | 134 | if (!s) |
97 | return 1; | 135 | result |= 4; |
98 | 136 | ||
99 | /* Ensure that [b-a] is diagnosed as invalid, when | 137 | /* Ensure that [b-a] is diagnosed as invalid, when |
100 | using RE_NO_EMPTY_RANGES. */ | 138 | using RE_NO_EMPTY_RANGES. */ |
@@ -102,34 +140,31 @@ AC_DEFUN([gl_REGEX], | |||
102 | memset (®ex, 0, sizeof regex); | 140 | memset (®ex, 0, sizeof regex); |
103 | s = re_compile_pattern ("a[b-a]", 6, ®ex); | 141 | s = re_compile_pattern ("a[b-a]", 6, ®ex); |
104 | if (s == 0) | 142 | if (s == 0) |
105 | return 1; | 143 | result |= 8; |
106 | 144 | ||
107 | /* This should succeed, but does not for glibc-2.1.3. */ | 145 | /* This should succeed, but does not for glibc-2.1.3. */ |
108 | memset (®ex, 0, sizeof regex); | 146 | memset (®ex, 0, sizeof regex); |
109 | s = re_compile_pattern ("{1", 2, ®ex); | 147 | s = re_compile_pattern ("{1", 2, ®ex); |
110 | |||
111 | if (s) | 148 | if (s) |
112 | return 1; | 149 | result |= 8; |
113 | 150 | ||
114 | /* The following example is derived from a problem report | 151 | /* The following example is derived from a problem report |
115 | against gawk from Jorge Stolfi <stolfi@ic.unicamp.br>. */ | 152 | against gawk from Jorge Stolfi <stolfi@ic.unicamp.br>. */ |
116 | memset (®ex, 0, sizeof regex); | 153 | memset (®ex, 0, sizeof regex); |
117 | s = re_compile_pattern ("[an\371]*n", 7, ®ex); | 154 | s = re_compile_pattern ("[an\371]*n", 7, ®ex); |
118 | if (s) | 155 | if (s) |
119 | return 1; | 156 | result |= 8; |
120 | |||
121 | /* This should match, but does not for glibc-2.2.1. */ | 157 | /* This should match, but does not for glibc-2.2.1. */ |
122 | if (re_match (®ex, "an", 2, 0, ®s) != 2) | 158 | else if (re_match (®ex, "an", 2, 0, ®s) != 2) |
123 | return 1; | 159 | result |= 8; |
124 | 160 | ||
125 | memset (®ex, 0, sizeof regex); | 161 | memset (®ex, 0, sizeof regex); |
126 | s = re_compile_pattern ("x", 1, ®ex); | 162 | s = re_compile_pattern ("x", 1, ®ex); |
127 | if (s) | 163 | if (s) |
128 | return 1; | 164 | result |= 8; |
129 | |||
130 | /* glibc-2.2.93 does not work with a negative RANGE argument. */ | 165 | /* glibc-2.2.93 does not work with a negative RANGE argument. */ |
131 | if (re_search (®ex, "wxy", 3, 2, -2, ®s) != 1) | 166 | else if (re_search (®ex, "wxy", 3, 2, -2, ®s) != 1) |
132 | return 1; | 167 | result |= 8; |
133 | 168 | ||
134 | /* The version of regex.c in older versions of gnulib | 169 | /* The version of regex.c in older versions of gnulib |
135 | ignored RE_ICASE. Detect that problem too. */ | 170 | ignored RE_ICASE. Detect that problem too. */ |
@@ -137,10 +172,9 @@ AC_DEFUN([gl_REGEX], | |||
137 | memset (®ex, 0, sizeof regex); | 172 | memset (®ex, 0, sizeof regex); |
138 | s = re_compile_pattern ("x", 1, ®ex); | 173 | s = re_compile_pattern ("x", 1, ®ex); |
139 | if (s) | 174 | if (s) |
140 | return 1; | 175 | result |= 16; |
141 | 176 | else if (re_search (®ex, "WXY", 3, 0, 3, ®s) < 0) | |
142 | if (re_search (®ex, "WXY", 3, 0, 3, ®s) < 0) | 177 | result |= 16; |
143 | return 1; | ||
144 | 178 | ||
145 | /* Catch a bug reported by Vin Shelton in | 179 | /* Catch a bug reported by Vin Shelton in |
146 | http://lists.gnu.org/archive/html/bug-coreutils/2007-06/msg00089.html | 180 | http://lists.gnu.org/archive/html/bug-coreutils/2007-06/msg00089.html |
@@ -151,21 +185,27 @@ AC_DEFUN([gl_REGEX], | |||
151 | memset (®ex, 0, sizeof regex); | 185 | memset (®ex, 0, sizeof regex); |
152 | s = re_compile_pattern ("[[:alnum:]_-]\\\\+$", 16, ®ex); | 186 | s = re_compile_pattern ("[[:alnum:]_-]\\\\+$", 16, ®ex); |
153 | if (s) | 187 | if (s) |
154 | return 1; | 188 | result |= 32; |
155 | 189 | ||
156 | /* REG_STARTEND was added to glibc on 2004-01-15. | 190 | /* REG_STARTEND was added to glibc on 2004-01-15. |
157 | Reject older versions. */ | 191 | Reject older versions. */ |
158 | if (! REG_STARTEND) | 192 | if (! REG_STARTEND) |
159 | return 1; | 193 | result |= 64; |
160 | 194 | ||
161 | /* Reject hosts whose regoff_t values are too narrow. | 195 | #if 0 |
162 | These include glibc 2.3.5 on hosts with 64-bit ptrdiff_t | 196 | /* It would be nice to reject hosts whose regoff_t values are too |
163 | and 32-bit int. */ | 197 | narrow (including glibc on hosts with 64-bit ptrdiff_t and |
198 | 32-bit int), but we should wait until glibc implements this | ||
199 | feature. Otherwise, support for equivalence classes and | ||
200 | multibyte collation symbols would always be broken except | ||
201 | when compiling --without-included-regex. */ | ||
164 | if (sizeof (regoff_t) < sizeof (ptrdiff_t) | 202 | if (sizeof (regoff_t) < sizeof (ptrdiff_t) |
165 | || sizeof (regoff_t) < sizeof (ssize_t)) | 203 | || sizeof (regoff_t) < sizeof (ssize_t)) |
166 | return 1; | 204 | result |= 64; |
205 | #endif | ||
167 | 206 | ||
168 | return 0;]])], | 207 | return result; |
208 | ]])], | ||
169 | [gl_cv_func_re_compile_pattern_working=yes], | 209 | [gl_cv_func_re_compile_pattern_working=yes], |
170 | [gl_cv_func_re_compile_pattern_working=no], | 210 | [gl_cv_func_re_compile_pattern_working=no], |
171 | dnl When crosscompiling, assume it is not working. | 211 | dnl When crosscompiling, assume it is not working. |
@@ -180,6 +220,9 @@ AC_DEFUN([gl_REGEX], | |||
180 | esac | 220 | esac |
181 | 221 | ||
182 | if test $ac_use_included_regex = yes; then | 222 | if test $ac_use_included_regex = yes; then |
223 | AC_DEFINE([_REGEX_INCLUDE_LIMITS_H], [1], | ||
224 | [Define if you want <regex.h> to include <limits.h>, so that it | ||
225 | consistently overrides <limits.h>'s RE_DUP_MAX.]) | ||
183 | AC_DEFINE([_REGEX_LARGE_OFFSETS], [1], | 226 | AC_DEFINE([_REGEX_LARGE_OFFSETS], [1], |
184 | [Define if you want regoff_t to be at least as wide POSIX requires.]) | 227 | [Define if you want regoff_t to be at least as wide POSIX requires.]) |
185 | AC_DEFINE([re_syntax_options], [rpl_re_syntax_options], | 228 | AC_DEFINE([re_syntax_options], [rpl_re_syntax_options], |
@@ -212,8 +255,6 @@ AC_DEFUN([gl_REGEX], | |||
212 | [Define to rpl_regerror if the replacement should be used.]) | 255 | [Define to rpl_regerror if the replacement should be used.]) |
213 | AC_DEFINE([regfree], [rpl_regfree], | 256 | AC_DEFINE([regfree], [rpl_regfree], |
214 | [Define to rpl_regfree if the replacement should be used.]) | 257 | [Define to rpl_regfree if the replacement should be used.]) |
215 | AC_LIBOBJ([regex]) | ||
216 | gl_PREREQ_REGEX | ||
217 | fi | 258 | fi |
218 | ]) | 259 | ]) |
219 | 260 | ||
@@ -224,7 +265,9 @@ AC_DEFUN([gl_PREREQ_REGEX], | |||
224 | AC_REQUIRE([AC_C_INLINE]) | 265 | AC_REQUIRE([AC_C_INLINE]) |
225 | AC_REQUIRE([AC_C_RESTRICT]) | 266 | AC_REQUIRE([AC_C_RESTRICT]) |
226 | AC_REQUIRE([AC_TYPE_MBSTATE_T]) | 267 | AC_REQUIRE([AC_TYPE_MBSTATE_T]) |
268 | AC_REQUIRE([gl_EEMALLOC]) | ||
269 | AC_REQUIRE([gl_GLIBC21]) | ||
227 | AC_CHECK_HEADERS([libintl.h]) | 270 | AC_CHECK_HEADERS([libintl.h]) |
228 | AC_CHECK_FUNCS_ONCE([isblank iswctype wcscoll]) | 271 | AC_CHECK_FUNCS_ONCE([isblank iswctype wcscoll]) |
229 | AC_CHECK_DECLS([isblank], [], [], [#include <ctype.h>]) | 272 | AC_CHECK_DECLS([isblank], [], [], [[#include <ctype.h>]]) |
230 | ]) | 273 | ]) |
diff --git a/gl/m4/safe-read.m4 b/gl/m4/safe-read.m4 index d087bd30..be5207a5 100644 --- a/gl/m4/safe-read.m4 +++ b/gl/m4/safe-read.m4 | |||
@@ -1,17 +1,10 @@ | |||
1 | # safe-read.m4 serial 5 | 1 | # safe-read.m4 serial 6 |
2 | dnl Copyright (C) 2002-2003, 2005-2006, 2009-2010 Free Software Foundation, | 2 | dnl Copyright (C) 2002-2003, 2005-2006, 2009-2013 Free Software Foundation, |
3 | dnl Inc. | 3 | dnl 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 | AC_DEFUN([gl_SAFE_READ], | ||
9 | [ | ||
10 | AC_LIBOBJ([safe-read]) | ||
11 | |||
12 | gl_PREREQ_SAFE_READ | ||
13 | ]) | ||
14 | |||
15 | # Prerequisites of lib/safe-read.c. | 8 | # Prerequisites of lib/safe-read.c. |
16 | AC_DEFUN([gl_PREREQ_SAFE_READ], | 9 | AC_DEFUN([gl_PREREQ_SAFE_READ], |
17 | [ | 10 | [ |
diff --git a/gl/m4/safe-write.m4 b/gl/m4/safe-write.m4 deleted file mode 100644 index 2ff11d27..00000000 --- a/gl/m4/safe-write.m4 +++ /dev/null | |||
@@ -1,18 +0,0 @@ | |||
1 | # safe-write.m4 serial 3 | ||
2 | dnl Copyright (C) 2002, 2005-2006, 2009-2010 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_SAFE_WRITE], | ||
8 | [ | ||
9 | AC_LIBOBJ([safe-write]) | ||
10 | |||
11 | gl_PREREQ_SAFE_WRITE | ||
12 | ]) | ||
13 | |||
14 | # Prerequisites of lib/safe-write.c. | ||
15 | AC_DEFUN([gl_PREREQ_SAFE_WRITE], | ||
16 | [ | ||
17 | gl_PREREQ_SAFE_READ | ||
18 | ]) | ||
diff --git a/gl/m4/servent.m4 b/gl/m4/servent.m4 index 2ed961a4..01c037a8 100644 --- a/gl/m4/servent.m4 +++ b/gl/m4/servent.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # servent.m4 serial 1 | 1 | # servent.m4 serial 2 |
2 | dnl Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2008, 2010-2013 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. |
@@ -30,12 +30,16 @@ AC_DEFUN([gl_SERVENT], | |||
30 | [gl_cv_w32_getservbyname=no | 30 | [gl_cv_w32_getservbyname=no |
31 | gl_save_LIBS="$LIBS" | 31 | gl_save_LIBS="$LIBS" |
32 | LIBS="$LIBS -lws2_32" | 32 | LIBS="$LIBS -lws2_32" |
33 | AC_TRY_LINK([ | 33 | AC_LINK_IFELSE( |
34 | [AC_LANG_PROGRAM( | ||
35 | [[ | ||
34 | #ifdef HAVE_WINSOCK2_H | 36 | #ifdef HAVE_WINSOCK2_H |
35 | #include <winsock2.h> | 37 | #include <winsock2.h> |
36 | #endif | 38 | #endif |
37 | #include <stddef.h> | 39 | #include <stddef.h> |
38 | ], [getservbyname(NULL,NULL);], [gl_cv_w32_getservbyname=yes]) | 40 | ]], |
41 | [[getservbyname(NULL,NULL);]])], | ||
42 | [gl_cv_w32_getservbyname=yes]) | ||
39 | LIBS="$gl_save_LIBS" | 43 | LIBS="$gl_save_LIBS" |
40 | ]) | 44 | ]) |
41 | if test "$gl_cv_w32_getservbyname" = "yes"; then | 45 | if test "$gl_cv_w32_getservbyname" = "yes"; then |
diff --git a/gl/m4/setenv.m4 b/gl/m4/setenv.m4 index 58f6d138..cb5351a0 100644 --- a/gl/m4/setenv.m4 +++ b/gl/m4/setenv.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # setenv.m4 serial 16 | 1 | # setenv.m4 serial 26 |
2 | dnl Copyright (C) 2001-2004, 2006-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2001-2004, 2006-2013 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,16 +7,7 @@ dnl with or without modifications, as long as this notice is preserved. | |||
7 | AC_DEFUN([gl_FUNC_SETENV], | 7 | AC_DEFUN([gl_FUNC_SETENV], |
8 | [ | 8 | [ |
9 | AC_REQUIRE([gl_FUNC_SETENV_SEPARATE]) | 9 | AC_REQUIRE([gl_FUNC_SETENV_SEPARATE]) |
10 | if test $HAVE_SETENV$REPLACE_SETENV != 10; then | 10 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles |
11 | AC_LIBOBJ([setenv]) | ||
12 | fi | ||
13 | ]) | ||
14 | |||
15 | # Like gl_FUNC_SETENV, except prepare for separate compilation (no AC_LIBOBJ). | ||
16 | AC_DEFUN([gl_FUNC_SETENV_SEPARATE], | ||
17 | [ | ||
18 | AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) | ||
19 | AC_CHECK_FUNCS_ONCE([setenv]) | ||
20 | if test $ac_cv_func_setenv = no; then | 11 | if test $ac_cv_func_setenv = no; then |
21 | HAVE_SETENV=0 | 12 | HAVE_SETENV=0 |
22 | else | 13 | else |
@@ -27,69 +18,127 @@ AC_DEFUN([gl_FUNC_SETENV_SEPARATE], | |||
27 | #include <errno.h> | 18 | #include <errno.h> |
28 | #include <string.h> | 19 | #include <string.h> |
29 | ]], [[ | 20 | ]], [[ |
30 | if (setenv ("", "", 0) != -1) return 1; | 21 | int result = 0; |
31 | if (errno != EINVAL) return 2; | 22 | { |
32 | if (setenv ("a", "=", 1) != 0) return 3; | 23 | if (setenv ("", "", 0) != -1) |
33 | if (strcmp (getenv ("a"), "=") != 0) return 4; | 24 | result |= 1; |
25 | else if (errno != EINVAL) | ||
26 | result |= 2; | ||
27 | } | ||
28 | { | ||
29 | if (setenv ("a", "=", 1) != 0) | ||
30 | result |= 4; | ||
31 | else if (strcmp (getenv ("a"), "=") != 0) | ||
32 | result |= 8; | ||
33 | } | ||
34 | return result; | ||
34 | ]])], | 35 | ]])], |
35 | [gl_cv_func_setenv_works=yes], [gl_cv_func_setenv_works=no], | 36 | [gl_cv_func_setenv_works=yes], [gl_cv_func_setenv_works=no], |
36 | [gl_cv_func_setenv_works="guessing no"])]) | 37 | [case "$host_os" in |
37 | if test "$gl_cv_func_setenv_works" != yes; then | 38 | # Guess yes on glibc systems. |
38 | REPLACE_SETENV=1 | 39 | *-gnu*) gl_cv_func_setenv_works="guessing yes" ;; |
39 | AC_LIBOBJ([setenv]) | 40 | # If we don't know, assume the worst. |
40 | fi | 41 | *) gl_cv_func_setenv_works="guessing no" ;; |
42 | esac | ||
43 | ])]) | ||
44 | case "$gl_cv_func_setenv_works" in | ||
45 | *yes) ;; | ||
46 | *) | ||
47 | REPLACE_SETENV=1 | ||
48 | ;; | ||
49 | esac | ||
41 | fi | 50 | fi |
51 | ]) | ||
52 | |||
53 | # Like gl_FUNC_SETENV, except prepare for separate compilation | ||
54 | # (no REPLACE_SETENV, no AC_LIBOBJ). | ||
55 | AC_DEFUN([gl_FUNC_SETENV_SEPARATE], | ||
56 | [ | ||
57 | AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) | ||
58 | AC_CHECK_DECLS_ONCE([setenv]) | ||
59 | if test $ac_cv_have_decl_setenv = no; then | ||
60 | HAVE_DECL_SETENV=0 | ||
61 | fi | ||
62 | AC_CHECK_FUNCS_ONCE([setenv]) | ||
42 | gl_PREREQ_SETENV | 63 | gl_PREREQ_SETENV |
43 | ]) | 64 | ]) |
44 | 65 | ||
45 | AC_DEFUN([gl_FUNC_UNSETENV], | 66 | AC_DEFUN([gl_FUNC_UNSETENV], |
46 | [ | 67 | [ |
47 | AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) | 68 | AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) |
69 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
70 | AC_CHECK_DECLS_ONCE([unsetenv]) | ||
71 | if test $ac_cv_have_decl_unsetenv = no; then | ||
72 | HAVE_DECL_UNSETENV=0 | ||
73 | fi | ||
48 | AC_CHECK_FUNCS([unsetenv]) | 74 | AC_CHECK_FUNCS([unsetenv]) |
49 | if test $ac_cv_func_unsetenv = no; then | 75 | if test $ac_cv_func_unsetenv = no; then |
50 | HAVE_UNSETENV=0 | 76 | HAVE_UNSETENV=0 |
51 | AC_LIBOBJ([unsetenv]) | ||
52 | gl_PREREQ_UNSETENV | ||
53 | else | 77 | else |
78 | HAVE_UNSETENV=1 | ||
54 | dnl Some BSDs return void, failing to do error checking. | 79 | dnl Some BSDs return void, failing to do error checking. |
55 | AC_CACHE_CHECK([for unsetenv() return type], [gt_cv_func_unsetenv_ret], | 80 | AC_CACHE_CHECK([for unsetenv() return type], [gt_cv_func_unsetenv_ret], |
56 | [AC_TRY_COMPILE([#include <stdlib.h> | 81 | [AC_COMPILE_IFELSE( |
82 | [AC_LANG_PROGRAM( | ||
83 | [[ | ||
84 | #undef _BSD | ||
85 | #define _BSD 1 /* unhide unsetenv declaration in OSF/1 5.1 <stdlib.h> */ | ||
86 | #include <stdlib.h> | ||
57 | extern | 87 | extern |
58 | #ifdef __cplusplus | 88 | #ifdef __cplusplus |
59 | "C" | 89 | "C" |
60 | #endif | 90 | #endif |
61 | #if defined(__STDC__) || defined(__cplusplus) | ||
62 | int unsetenv (const char *name); | 91 | int unsetenv (const char *name); |
63 | #else | 92 | ]], |
64 | int unsetenv(); | 93 | [[]])], |
65 | #endif | 94 | [gt_cv_func_unsetenv_ret='int'], |
66 | ], , gt_cv_func_unsetenv_ret='int', gt_cv_func_unsetenv_ret='void')]) | 95 | [gt_cv_func_unsetenv_ret='void'])]) |
67 | if test $gt_cv_func_unsetenv_ret = 'void'; then | 96 | if test $gt_cv_func_unsetenv_ret = 'void'; then |
68 | AC_DEFINE([VOID_UNSETENV], [1], [Define to 1 if unsetenv returns void | 97 | AC_DEFINE([VOID_UNSETENV], [1], [Define to 1 if unsetenv returns void |
69 | instead of int.]) | 98 | instead of int.]) |
70 | REPLACE_UNSETENV=1 | 99 | REPLACE_UNSETENV=1 |
71 | AC_LIBOBJ([unsetenv]) | ||
72 | fi | 100 | fi |
73 | 101 | ||
74 | dnl Solaris 10 unsetenv does not remove all copies of a name. | 102 | dnl Solaris 10 unsetenv does not remove all copies of a name. |
75 | AC_CACHE_CHECK([whether unsetenv works on duplicates], | 103 | dnl Haiku alpha 2 unsetenv gets confused by assignment to environ. |
104 | dnl OpenBSD 4.7 unsetenv("") does not fail. | ||
105 | AC_CACHE_CHECK([whether unsetenv obeys POSIX], | ||
76 | [gl_cv_func_unsetenv_works], | 106 | [gl_cv_func_unsetenv_works], |
77 | [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ | 107 | [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ |
78 | #include <stdlib.h> | 108 | #include <stdlib.h> |
109 | #include <errno.h> | ||
110 | extern char **environ; | ||
79 | ]], [[ | 111 | ]], [[ |
80 | char entry[] = "b=2"; | 112 | char entry1[] = "a=1"; |
113 | char entry2[] = "b=2"; | ||
114 | char *env[] = { entry1, entry2, NULL }; | ||
81 | if (putenv ((char *) "a=1")) return 1; | 115 | if (putenv ((char *) "a=1")) return 1; |
82 | if (putenv (entry)) return 2; | 116 | if (putenv (entry2)) return 2; |
83 | entry[0] = 'a'; | 117 | entry2[0] = 'a'; |
84 | unsetenv ("a"); | 118 | unsetenv ("a"); |
85 | if (getenv ("a")) return 3; | 119 | if (getenv ("a")) return 3; |
120 | if (!unsetenv ("") || errno != EINVAL) return 4; | ||
121 | entry2[0] = 'b'; | ||
122 | environ = env; | ||
123 | if (!getenv ("a")) return 5; | ||
124 | entry2[0] = 'a'; | ||
125 | unsetenv ("a"); | ||
126 | if (getenv ("a")) return 6; | ||
86 | ]])], | 127 | ]])], |
87 | [gl_cv_func_unsetenv_works=yes], [gl_cv_func_unsetenv_works=no], | 128 | [gl_cv_func_unsetenv_works=yes], [gl_cv_func_unsetenv_works=no], |
88 | [gl_cv_func_unsetenv_works="guessing no"])]) | 129 | [case "$host_os" in |
89 | if test "$gl_cv_func_unsetenv_works" != yes; then | 130 | # Guess yes on glibc systems. |
90 | REPLACE_UNSETENV=1 | 131 | *-gnu*) gl_cv_func_unsetenv_works="guessing yes" ;; |
91 | AC_LIBOBJ([unsetenv]) | 132 | # If we don't know, assume the worst. |
92 | fi | 133 | *) gl_cv_func_unsetenv_works="guessing no" ;; |
134 | esac | ||
135 | ])]) | ||
136 | case "$gl_cv_func_unsetenv_works" in | ||
137 | *yes) ;; | ||
138 | *) | ||
139 | REPLACE_UNSETENV=1 | ||
140 | ;; | ||
141 | esac | ||
93 | fi | 142 | fi |
94 | ]) | 143 | ]) |
95 | 144 | ||
diff --git a/gl/m4/sha1.m4 b/gl/m4/sha1.m4 index 0d18d857..21c775e3 100644 --- a/gl/m4/sha1.m4 +++ b/gl/m4/sha1.m4 | |||
@@ -1,16 +1,12 @@ | |||
1 | # sha1.m4 serial 9 | 1 | # sha1.m4 serial 11 |
2 | dnl Copyright (C) 2002, 2003, 2004, 2005, 2006, 2008, 2009, 2010 Free Software | 2 | dnl Copyright (C) 2002-2006, 2008-2013 Free Software Foundation, Inc. |
3 | dnl Foundation, Inc. | ||
4 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
5 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
6 | 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 | 6 | ||
8 | AC_DEFUN([gl_SHA1], | 7 | AC_DEFUN([gl_SHA1], |
9 | [ | 8 | [ |
10 | AC_LIBOBJ([sha1]) | ||
11 | |||
12 | dnl Prerequisites of lib/sha1.c. | 9 | dnl Prerequisites of lib/sha1.c. |
13 | AC_REQUIRE([gl_BIGENDIAN]) | 10 | AC_REQUIRE([gl_BIGENDIAN]) |
14 | AC_REQUIRE([AC_C_INLINE]) | ||
15 | : | 11 | : |
16 | ]) | 12 | ]) |
diff --git a/gl/m4/size_max.m4 b/gl/m4/size_max.m4 index ce992db1..4b247abc 100644 --- a/gl/m4/size_max.m4 +++ b/gl/m4/size_max.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # size_max.m4 serial 9 | 1 | # size_max.m4 serial 10 |
2 | dnl Copyright (C) 2003, 2005-2006, 2008-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2003, 2005-2006, 2008-2013 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,10 +34,14 @@ Found it | |||
34 | if test $fits_in_uint = 1; then | 34 | if test $fits_in_uint = 1; then |
35 | dnl Even though SIZE_MAX fits in an unsigned int, it must be of type | 35 | dnl Even though SIZE_MAX fits in an unsigned int, it must be of type |
36 | dnl 'unsigned long' if the type 'size_t' is the same as 'unsigned long'. | 36 | dnl 'unsigned long' if the type 'size_t' is the same as 'unsigned long'. |
37 | AC_TRY_COMPILE([#include <stddef.h> | 37 | AC_COMPILE_IFELSE( |
38 | extern size_t foo; | 38 | [AC_LANG_PROGRAM( |
39 | extern unsigned long foo; | 39 | [[#include <stddef.h> |
40 | ], [], [fits_in_uint=0]) | 40 | extern size_t foo; |
41 | extern unsigned long foo; | ||
42 | ]], | ||
43 | [[]])], | ||
44 | [fits_in_uint=0]) | ||
41 | fi | 45 | fi |
42 | dnl We cannot use 'expr' to simplify this expression, because 'expr' | 46 | dnl We cannot use 'expr' to simplify this expression, because 'expr' |
43 | dnl works only with 'long' integers in the host environment, while we | 47 | 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 522b107b..3698e844 100644 --- a/gl/m4/snprintf.m4 +++ b/gl/m4/snprintf.m4 | |||
@@ -1,9 +1,13 @@ | |||
1 | # snprintf.m4 serial 5 | 1 | # snprintf.m4 serial 6 |
2 | dnl Copyright (C) 2002-2004, 2007-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2004, 2007-2013 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 Libintl 0.17 will replace snprintf only if it does not support %1$s, | ||
8 | dnl but defers to any gnulib snprintf replacements. Therefore, gnulib | ||
9 | dnl must guarantee that the decision for replacing snprintf is a superset | ||
10 | dnl of the reasons checked by libintl. | ||
7 | AC_DEFUN([gl_FUNC_SNPRINTF], | 11 | AC_DEFUN([gl_FUNC_SNPRINTF], |
8 | [ | 12 | [ |
9 | AC_REQUIRE([gl_STDIO_H_DEFAULTS]) | 13 | AC_REQUIRE([gl_STDIO_H_DEFAULTS]) |
@@ -13,7 +17,17 @@ AC_DEFUN([gl_FUNC_SNPRINTF], | |||
13 | gl_SNPRINTF_SIZE1 | 17 | gl_SNPRINTF_SIZE1 |
14 | case "$gl_cv_func_snprintf_size1" in | 18 | case "$gl_cv_func_snprintf_size1" in |
15 | *yes) | 19 | *yes) |
16 | gl_cv_func_snprintf_usable=yes | 20 | gl_SNPRINTF_RETVAL_C99 |
21 | case "$gl_cv_func_snprintf_retval_c99" in | ||
22 | *yes) | ||
23 | gl_PRINTF_POSITIONS | ||
24 | case "$gl_cv_func_printf_positions" in | ||
25 | *yes) | ||
26 | gl_cv_func_snprintf_usable=yes | ||
27 | ;; | ||
28 | esac | ||
29 | ;; | ||
30 | esac | ||
17 | ;; | 31 | ;; |
18 | esac | 32 | esac |
19 | fi | 33 | fi |
diff --git a/gl/m4/socketlib.m4 b/gl/m4/socketlib.m4 new file mode 100644 index 00000000..b08a72f6 --- /dev/null +++ b/gl/m4/socketlib.m4 | |||
@@ -0,0 +1,86 @@ | |||
1 | # socketlib.m4 serial 1 | ||
2 | dnl Copyright (C) 2008-2013 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 gl_SOCKETLIB | ||
8 | dnl Determines the library to use for socket functions. | ||
9 | dnl Sets and AC_SUBSTs LIBSOCKET. | ||
10 | |||
11 | AC_DEFUN([gl_SOCKETLIB], | ||
12 | [ | ||
13 | gl_PREREQ_SYS_H_WINSOCK2 dnl for HAVE_WINSOCK2_H | ||
14 | LIBSOCKET= | ||
15 | if test $HAVE_WINSOCK2_H = 1; then | ||
16 | dnl Native Windows API (not Cygwin). | ||
17 | AC_CACHE_CHECK([if we need to call WSAStartup in winsock2.h and -lws2_32], | ||
18 | [gl_cv_func_wsastartup], [ | ||
19 | gl_save_LIBS="$LIBS" | ||
20 | LIBS="$LIBS -lws2_32" | ||
21 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[ | ||
22 | #ifdef HAVE_WINSOCK2_H | ||
23 | # include <winsock2.h> | ||
24 | #endif]], [[ | ||
25 | WORD wVersionRequested = MAKEWORD(1, 1); | ||
26 | WSADATA wsaData; | ||
27 | int err = WSAStartup(wVersionRequested, &wsaData); | ||
28 | WSACleanup ();]])], | ||
29 | gl_cv_func_wsastartup=yes, gl_cv_func_wsastartup=no) | ||
30 | LIBS="$gl_save_LIBS" | ||
31 | ]) | ||
32 | if test "$gl_cv_func_wsastartup" = "yes"; then | ||
33 | AC_DEFINE([WINDOWS_SOCKETS], [1], [Define if WSAStartup is needed.]) | ||
34 | LIBSOCKET='-lws2_32' | ||
35 | fi | ||
36 | else | ||
37 | dnl Unix API. | ||
38 | dnl Solaris has most socket functions in libsocket. | ||
39 | dnl Haiku has most socket functions in libnetwork. | ||
40 | dnl BeOS has most socket functions in libnet. | ||
41 | AC_CACHE_CHECK([for library containing setsockopt], [gl_cv_lib_socket], [ | ||
42 | gl_cv_lib_socket= | ||
43 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[extern | ||
44 | #ifdef __cplusplus | ||
45 | "C" | ||
46 | #endif | ||
47 | char setsockopt();]], [[setsockopt();]])], | ||
48 | [], | ||
49 | [gl_save_LIBS="$LIBS" | ||
50 | LIBS="$gl_save_LIBS -lsocket" | ||
51 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[extern | ||
52 | #ifdef __cplusplus | ||
53 | "C" | ||
54 | #endif | ||
55 | char setsockopt();]], [[setsockopt();]])], | ||
56 | [gl_cv_lib_socket="-lsocket"]) | ||
57 | if test -z "$gl_cv_lib_socket"; then | ||
58 | LIBS="$gl_save_LIBS -lnetwork" | ||
59 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[extern | ||
60 | #ifdef __cplusplus | ||
61 | "C" | ||
62 | #endif | ||
63 | char setsockopt();]], [[setsockopt();]])], | ||
64 | [gl_cv_lib_socket="-lnetwork"]) | ||
65 | if test -z "$gl_cv_lib_socket"; then | ||
66 | LIBS="$gl_save_LIBS -lnet" | ||
67 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[extern | ||
68 | #ifdef __cplusplus | ||
69 | "C" | ||
70 | #endif | ||
71 | char setsockopt();]], [[setsockopt();]])], | ||
72 | [gl_cv_lib_socket="-lnet"]) | ||
73 | fi | ||
74 | fi | ||
75 | LIBS="$gl_save_LIBS" | ||
76 | ]) | ||
77 | if test -z "$gl_cv_lib_socket"; then | ||
78 | gl_cv_lib_socket="none needed" | ||
79 | fi | ||
80 | ]) | ||
81 | if test "$gl_cv_lib_socket" != "none needed"; then | ||
82 | LIBSOCKET="$gl_cv_lib_socket" | ||
83 | fi | ||
84 | fi | ||
85 | AC_SUBST([LIBSOCKET]) | ||
86 | ]) | ||
diff --git a/gl/m4/sockets.m4 b/gl/m4/sockets.m4 index aefb9360..b407391c 100644 --- a/gl/m4/sockets.m4 +++ b/gl/m4/sockets.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # sockets.m4 serial 6 | 1 | # sockets.m4 serial 7 |
2 | dnl Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2008-2013 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,80 +7,7 @@ dnl with or without modifications, as long as this notice is preserved. | |||
7 | AC_DEFUN([gl_SOCKETS], | 7 | AC_DEFUN([gl_SOCKETS], |
8 | [ | 8 | [ |
9 | AC_REQUIRE([AC_C_INLINE]) | 9 | AC_REQUIRE([AC_C_INLINE]) |
10 | 10 | AC_REQUIRE([gl_SOCKETLIB]) | |
11 | gl_PREREQ_SYS_H_WINSOCK2 dnl for HAVE_WINSOCK2_H | ||
12 | LIBSOCKET= | ||
13 | if test $HAVE_WINSOCK2_H = 1; then | ||
14 | dnl Native Windows API (not Cygwin). | ||
15 | AC_CACHE_CHECK([if we need to call WSAStartup in winsock2.h and -lws2_32], | ||
16 | [gl_cv_func_wsastartup], [ | ||
17 | gl_save_LIBS="$LIBS" | ||
18 | LIBS="$LIBS -lws2_32" | ||
19 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[ | ||
20 | #ifdef HAVE_WINSOCK2_H | ||
21 | # include <winsock2.h> | ||
22 | #endif]], [[ | ||
23 | WORD wVersionRequested = MAKEWORD(1, 1); | ||
24 | WSADATA wsaData; | ||
25 | int err = WSAStartup(wVersionRequested, &wsaData); | ||
26 | WSACleanup ();]])], | ||
27 | gl_cv_func_wsastartup=yes, gl_cv_func_wsastartup=no) | ||
28 | LIBS="$gl_save_LIBS" | ||
29 | ]) | ||
30 | if test "$gl_cv_func_wsastartup" = "yes"; then | ||
31 | AC_DEFINE([WINDOWS_SOCKETS], [1], [Define if WSAStartup is needed.]) | ||
32 | LIBSOCKET='-lws2_32' | ||
33 | fi | ||
34 | else | ||
35 | dnl Unix API. | ||
36 | dnl Solaris has most socket functions in libsocket. | ||
37 | dnl Haiku has most socket functions in libnetwork. | ||
38 | dnl BeOS has most socket functions in libnet. | ||
39 | AC_CACHE_CHECK([for library containing setsockopt], [gl_cv_lib_socket], [ | ||
40 | gl_cv_lib_socket= | ||
41 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[extern | ||
42 | #ifdef __cplusplus | ||
43 | "C" | ||
44 | #endif | ||
45 | char setsockopt();]], [[setsockopt();]])], | ||
46 | [], | ||
47 | [gl_save_LIBS="$LIBS" | ||
48 | LIBS="$gl_save_LIBS -lsocket" | ||
49 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[extern | ||
50 | #ifdef __cplusplus | ||
51 | "C" | ||
52 | #endif | ||
53 | char setsockopt();]], [[setsockopt();]])], | ||
54 | [gl_cv_lib_socket="-lsocket"]) | ||
55 | if test -z "$gl_cv_lib_socket"; then | ||
56 | LIBS="$gl_save_LIBS -lnetwork" | ||
57 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[extern | ||
58 | #ifdef __cplusplus | ||
59 | "C" | ||
60 | #endif | ||
61 | char setsockopt();]], [[setsockopt();]])], | ||
62 | [gl_cv_lib_socket="-lnetwork"]) | ||
63 | if test -z "$gl_cv_lib_socket"; then | ||
64 | LIBS="$gl_save_LIBS -lnet" | ||
65 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[extern | ||
66 | #ifdef __cplusplus | ||
67 | "C" | ||
68 | #endif | ||
69 | char setsockopt();]], [[setsockopt();]])], | ||
70 | [gl_cv_lib_socket="-lnet"]) | ||
71 | fi | ||
72 | fi | ||
73 | LIBS="$gl_save_LIBS" | ||
74 | ]) | ||
75 | if test -z "$gl_cv_lib_socket"; then | ||
76 | gl_cv_lib_socket="none needed" | ||
77 | fi | ||
78 | ]) | ||
79 | if test "$gl_cv_lib_socket" != "none needed"; then | ||
80 | LIBSOCKET="$gl_cv_lib_socket" | ||
81 | fi | ||
82 | fi | ||
83 | AC_SUBST([LIBSOCKET]) | ||
84 | gl_PREREQ_SOCKETS | 11 | gl_PREREQ_SOCKETS |
85 | ]) | 12 | ]) |
86 | 13 | ||
diff --git a/gl/m4/socklen.m4 b/gl/m4/socklen.m4 index 2933d4b8..e3efd6ef 100644 --- a/gl/m4/socklen.m4 +++ b/gl/m4/socklen.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # socklen.m4 serial 7 | 1 | # socklen.m4 serial 10 |
2 | dnl Copyright (C) 2005, 2006, 2007, 2009, 2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2005-2007, 2009-2013 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,15 +8,12 @@ dnl From Albert Chin, Windows fixes from Simon Josefsson. | |||
8 | 8 | ||
9 | dnl Check for socklen_t: historically on BSD it is an int, and in | 9 | dnl Check for socklen_t: historically on BSD it is an int, and in |
10 | dnl POSIX 1g it is a type of its own, but some platforms use different | 10 | dnl POSIX 1g it is a type of its own, but some platforms use different |
11 | dnl types for the argument to getsockopt, getpeername, etc. So we | 11 | dnl types for the argument to getsockopt, getpeername, etc.: |
12 | dnl have to test to find something that will work. | 12 | dnl HP-UX 10.20, IRIX 6.5, OSF/1 4.0, Interix 3.5, BeOS. |
13 | dnl So we have to test to find something that will work. | ||
13 | 14 | ||
14 | dnl On mingw32, socklen_t is in ws2tcpip.h ('int'), so we try to find | ||
15 | dnl it there first. That file is included by gnulib's sys_socket.in.h, which | ||
16 | dnl all users of this module should include. Cygwin must not include | ||
17 | dnl ws2tcpip.h. | ||
18 | AC_DEFUN([gl_TYPE_SOCKLEN_T], | 15 | AC_DEFUN([gl_TYPE_SOCKLEN_T], |
19 | [AC_REQUIRE([gl_HEADER_SYS_SOCKET])dnl | 16 | [AC_REQUIRE([gl_CHECK_SOCKET_HEADERS])dnl |
20 | AC_CHECK_TYPE([socklen_t], , | 17 | AC_CHECK_TYPE([socklen_t], , |
21 | [AC_MSG_CHECKING([for socklen_t equivalent]) | 18 | [AC_MSG_CHECKING([for socklen_t equivalent]) |
22 | AC_CACHE_VAL([gl_cv_socklen_t_equiv], | 19 | AC_CACHE_VAL([gl_cv_socklen_t_equiv], |
@@ -44,9 +41,37 @@ AC_DEFUN([gl_TYPE_SOCKLEN_T], | |||
44 | AC_MSG_RESULT([$gl_cv_socklen_t_equiv]) | 41 | AC_MSG_RESULT([$gl_cv_socklen_t_equiv]) |
45 | AC_DEFINE_UNQUOTED([socklen_t], [$gl_cv_socklen_t_equiv], | 42 | AC_DEFINE_UNQUOTED([socklen_t], [$gl_cv_socklen_t_equiv], |
46 | [type to use in place of socklen_t if not defined])], | 43 | [type to use in place of socklen_t if not defined])], |
47 | [#include <sys/types.h> | 44 | [gl_SOCKET_HEADERS])]) |
48 | #if HAVE_SYS_SOCKET_H | 45 | |
49 | # include <sys/socket.h> | 46 | dnl On mingw32, socklen_t is in ws2tcpip.h ('int'), so we try to find |
50 | #elif HAVE_WS2TCPIP_H | 47 | dnl it there too. But on Cygwin, wc2tcpip.h must not be included. Users |
51 | # include <ws2tcpip.h> | 48 | dnl of this module should use the same include pattern as gl_SOCKET_HEADERS. |
52 | #endif])]) | 49 | dnl When you change this macro, keep also in sync: |
50 | dnl - gl_CHECK_SOCKET_HEADERS, | ||
51 | dnl - the Include section of modules/socklen. | ||
52 | AC_DEFUN([gl_SOCKET_HEADERS], | ||
53 | [ | ||
54 | /* <sys/types.h> is not needed according to POSIX, but the | ||
55 | <sys/socket.h> in i386-unknown-freebsd4.10 and | ||
56 | powerpc-apple-darwin5.5 required it. */ | ||
57 | #include <sys/types.h> | ||
58 | #if HAVE_SYS_SOCKET_H | ||
59 | # include <sys/socket.h> | ||
60 | #elif HAVE_WS2TCPIP_H | ||
61 | # include <ws2tcpip.h> | ||
62 | #endif | ||
63 | ]) | ||
64 | |||
65 | dnl Tests for the existence of the header for socket facilities. | ||
66 | dnl Defines the C macros HAVE_SYS_SOCKET_H, HAVE_WS2TCPIP_H. | ||
67 | dnl This macro must match gl_SOCKET_HEADERS. | ||
68 | AC_DEFUN([gl_CHECK_SOCKET_HEADERS], | ||
69 | [AC_CHECK_HEADERS_ONCE([sys/socket.h]) | ||
70 | if test $ac_cv_header_sys_socket_h = no; then | ||
71 | dnl We cannot use AC_CHECK_HEADERS_ONCE here, because that would make | ||
72 | dnl the check for those headers unconditional; yet cygwin reports | ||
73 | dnl that the headers are present but cannot be compiled (since on | ||
74 | dnl cygwin, all socket information should come from sys/socket.h). | ||
75 | AC_CHECK_HEADERS([ws2tcpip.h]) | ||
76 | fi | ||
77 | ]) | ||
diff --git a/gl/m4/sockpfaf.m4 b/gl/m4/sockpfaf.m4 index 8806705a..89557b18 100644 --- a/gl/m4/sockpfaf.m4 +++ b/gl/m4/sockpfaf.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # sockpfaf.m4 serial 7 | 1 | # sockpfaf.m4 serial 8 |
2 | dnl Copyright (C) 2004, 2006, 2009, 2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2004, 2006, 2009-2013 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. |
@@ -59,3 +59,29 @@ AC_DEFUN([gl_SOCKET_FAMILIES], | |||
59 | AC_DEFINE([HAVE_IPV6], [1], [Define to 1 if <sys/socket.h> defines AF_INET6.]) | 59 | AC_DEFINE([HAVE_IPV6], [1], [Define to 1 if <sys/socket.h> defines AF_INET6.]) |
60 | fi | 60 | fi |
61 | ]) | 61 | ]) |
62 | |||
63 | AC_DEFUN([gl_SOCKET_FAMILY_UNIX], | ||
64 | [ | ||
65 | AC_REQUIRE([gl_HEADER_SYS_SOCKET]) | ||
66 | AC_CHECK_HEADERS_ONCE([sys/un.h]) | ||
67 | |||
68 | AC_MSG_CHECKING([for UNIX domain sockets]) | ||
69 | AC_CACHE_VAL([gl_cv_socket_unix], | ||
70 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h> | ||
71 | #ifdef HAVE_SYS_SOCKET_H | ||
72 | #include <sys/socket.h> | ||
73 | #endif | ||
74 | #ifdef HAVE_SYS_UN_H | ||
75 | #include <sys/un.h> | ||
76 | #endif | ||
77 | #ifdef HAVE_WINSOCK2_H | ||
78 | #include <winsock2.h> | ||
79 | #endif]], | ||
80 | [[int x = AF_UNIX; struct sockaddr_un y; | ||
81 | if (&x && &y) return 0;]])], | ||
82 | gl_cv_socket_unix=yes, gl_cv_socket_unix=no)]) | ||
83 | AC_MSG_RESULT([$gl_cv_socket_unix]) | ||
84 | if test $gl_cv_socket_unix = yes; then | ||
85 | AC_DEFINE([HAVE_UNIXSOCKET], [1], [Define to 1 if <sys/socket.h> defines AF_UNIX.]) | ||
86 | fi | ||
87 | ]) | ||
diff --git a/gl/m4/ssize_t.m4 b/gl/m4/ssize_t.m4 index e0ccee3a..63381343 100644 --- a/gl/m4/ssize_t.m4 +++ b/gl/m4/ssize_t.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # ssize_t.m4 serial 4 (gettext-0.15) | 1 | # ssize_t.m4 serial 5 (gettext-0.18.2) |
2 | dnl Copyright (C) 2001-2003, 2006, 2009-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2001-2003, 2006, 2010-2013 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,9 +10,11 @@ dnl Test whether ssize_t is defined. | |||
10 | AC_DEFUN([gt_TYPE_SSIZE_T], | 10 | AC_DEFUN([gt_TYPE_SSIZE_T], |
11 | [ | 11 | [ |
12 | AC_CACHE_CHECK([for ssize_t], [gt_cv_ssize_t], | 12 | AC_CACHE_CHECK([for ssize_t], [gt_cv_ssize_t], |
13 | [AC_TRY_COMPILE([#include <sys/types.h>], | 13 | [AC_COMPILE_IFELSE( |
14 | [int x = sizeof (ssize_t *) + sizeof (ssize_t); | 14 | [AC_LANG_PROGRAM( |
15 | return !x;], | 15 | [[#include <sys/types.h>]], |
16 | [[int x = sizeof (ssize_t *) + sizeof (ssize_t); | ||
17 | return !x;]])], | ||
16 | [gt_cv_ssize_t=yes], [gt_cv_ssize_t=no])]) | 18 | [gt_cv_ssize_t=yes], [gt_cv_ssize_t=no])]) |
17 | if test $gt_cv_ssize_t = no; then | 19 | if test $gt_cv_ssize_t = no; then |
18 | AC_DEFINE([ssize_t], [int], | 20 | AC_DEFINE([ssize_t], [int], |
diff --git a/gl/m4/stat.m4 b/gl/m4/stat.m4 deleted file mode 100644 index acd32d86..00000000 --- a/gl/m4/stat.m4 +++ /dev/null | |||
@@ -1,63 +0,0 @@ | |||
1 | # serial 4 | ||
2 | |||
3 | # Copyright (C) 2009, 2010 Free Software Foundation, Inc. | ||
4 | # | ||
5 | # This file is free software; the Free Software Foundation | ||
6 | # gives unlimited permission to copy and/or distribute it, | ||
7 | # with or without modifications, as long as this notice is preserved. | ||
8 | |||
9 | AC_DEFUN([gl_FUNC_STAT], | ||
10 | [ | ||
11 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
12 | AC_REQUIRE([gl_AC_DOS]) | ||
13 | AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) | ||
14 | AC_CHECK_FUNCS_ONCE([lstat]) | ||
15 | dnl mingw is the only known platform where stat(".") and stat("./") differ | ||
16 | AC_CACHE_CHECK([whether stat handles trailing slashes on directories], | ||
17 | [gl_cv_func_stat_dir_slash], | ||
18 | [AC_RUN_IFELSE( | ||
19 | [AC_LANG_PROGRAM( | ||
20 | [[#include <sys/stat.h> | ||
21 | ]], [[struct stat st; return stat (".", &st) != stat ("./", &st);]])], | ||
22 | [gl_cv_func_stat_dir_slash=yes], [gl_cv_func_stat_dir_slash=no], | ||
23 | [case $host_os in | ||
24 | mingw*) gl_cv_func_stat_dir_slash="guessing no";; | ||
25 | *) gl_cv_func_stat_dir_slash="guessing yes";; | ||
26 | esac])]) | ||
27 | dnl Solaris 9 mistakenly succeeds on stat("file/") | ||
28 | dnl FreeBSD 7.2 mistakenly succeeds on stat("link-to-file/") | ||
29 | AC_CACHE_CHECK([whether stat handles trailing slashes on files], | ||
30 | [gl_cv_func_stat_file_slash], | ||
31 | [touch conftest.tmp | ||
32 | # Assume that if we have lstat, we can also check symlinks. | ||
33 | if test $ac_cv_func_lstat = yes; then | ||
34 | ln -s conftest.tmp conftest.lnk | ||
35 | fi | ||
36 | AC_RUN_IFELSE( | ||
37 | [AC_LANG_PROGRAM( | ||
38 | [[#include <sys/stat.h> | ||
39 | ]], [[struct stat st; | ||
40 | if (!stat ("conftest.tmp/", &st)) return 1; | ||
41 | #if HAVE_LSTAT | ||
42 | if (!stat ("conftest.lnk/", &st)) return 2; | ||
43 | #endif | ||
44 | ]])], | ||
45 | [gl_cv_func_stat_file_slash=yes], [gl_cv_func_stat_file_slash=no], | ||
46 | [gl_cv_func_stat_file_slash="guessing no"]) | ||
47 | rm -f conftest.tmp conftest.lnk]) | ||
48 | case $gl_cv_func_stat_dir_slash in | ||
49 | *no) REPLACE_STAT=1 | ||
50 | AC_DEFINE([REPLACE_FUNC_STAT_DIR], [1], [Define to 1 if stat needs | ||
51 | help when passed a directory name with a trailing slash]);; | ||
52 | esac | ||
53 | case $gl_cv_func_stat_file_slash in | ||
54 | *no) REPLACE_STAT=1 | ||
55 | AC_DEFINE([REPLACE_FUNC_STAT_FILE], [1], [Define to 1 if stat needs | ||
56 | help when passed a file name with a trailing slash]);; | ||
57 | esac | ||
58 | if test $REPLACE_STAT = 1; then | ||
59 | AC_LIBOBJ([stat]) | ||
60 | dnl Prerequisites of lib/stat.c. | ||
61 | AC_REQUIRE([AC_C_INLINE]) | ||
62 | fi | ||
63 | ]) | ||
diff --git a/gl/m4/stdalign.m4 b/gl/m4/stdalign.m4 new file mode 100644 index 00000000..20be01aa --- /dev/null +++ b/gl/m4/stdalign.m4 | |||
@@ -0,0 +1,53 @@ | |||
1 | # Check for stdalign.h that conforms to C11. | ||
2 | |||
3 | dnl Copyright 2011-2013 Free Software Foundation, Inc. | ||
4 | dnl This file is free software; the Free Software Foundation | ||
5 | dnl gives unlimited permission to copy and/or distribute it, | ||
6 | dnl with or without modifications, as long as this notice is preserved. | ||
7 | |||
8 | # Prepare for substituting <stdalign.h> if it is not supported. | ||
9 | |||
10 | AC_DEFUN([gl_STDALIGN_H], | ||
11 | [ | ||
12 | AC_CACHE_CHECK([for working stdalign.h], | ||
13 | [gl_cv_header_working_stdalign_h], | ||
14 | [AC_COMPILE_IFELSE( | ||
15 | [AC_LANG_PROGRAM( | ||
16 | [[#include <stdalign.h> | ||
17 | #include <stddef.h> | ||
18 | |||
19 | /* Test that alignof yields a result consistent with offsetof. | ||
20 | This catches GCC bug 52023 | ||
21 | <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023>. */ | ||
22 | #ifdef __cplusplus | ||
23 | template <class t> struct alignof_helper { char a; t b; }; | ||
24 | # define ao(type) offsetof (alignof_helper<type>, b) | ||
25 | #else | ||
26 | # define ao(type) offsetof (struct { char a; type b; }, b) | ||
27 | #endif | ||
28 | char test_double[ao (double) % _Alignof (double) == 0 ? 1 : -1]; | ||
29 | char test_long[ao (long int) % _Alignof (long int) == 0 ? 1 : -1]; | ||
30 | char test_alignof[alignof (double) == _Alignof (double) ? 1 : -1]; | ||
31 | |||
32 | /* Test _Alignas only on platforms where gnulib can help. */ | ||
33 | #if \ | ||
34 | ((defined __cplusplus && 201103 <= __cplusplus) \ | ||
35 | || __GNUC__ || __IBMC__ || __IBMCPP__ || __ICC \ | ||
36 | || 0x5110 <= __SUNPRO_C || 1300 <= _MSC_VER) | ||
37 | struct alignas_test { char c; char alignas (8) alignas_8; }; | ||
38 | char test_alignas[offsetof (struct alignas_test, alignas_8) == 8 | ||
39 | ? 1 : -1]; | ||
40 | #endif | ||
41 | ]])], | ||
42 | [gl_cv_header_working_stdalign_h=yes], | ||
43 | [gl_cv_header_working_stdalign_h=no])]) | ||
44 | |||
45 | if test $gl_cv_header_working_stdalign_h = yes; then | ||
46 | STDALIGN_H='' | ||
47 | else | ||
48 | STDALIGN_H='stdalign.h' | ||
49 | fi | ||
50 | |||
51 | AC_SUBST([STDALIGN_H]) | ||
52 | AM_CONDITIONAL([GL_GENERATE_STDALIGN_H], [test -n "$STDALIGN_H"]) | ||
53 | ]) | ||
diff --git a/gl/m4/stdbool.m4 b/gl/m4/stdbool.m4 index 3d672d74..80d5559a 100644 --- a/gl/m4/stdbool.m4 +++ b/gl/m4/stdbool.m4 | |||
@@ -1,15 +1,17 @@ | |||
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, 2009-2010 Free Software Foundation, Inc. | 3 | dnl Copyright (C) 2002-2006, 2009-2013 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 | #serial 5 | ||
9 | |||
8 | # Prepare for substituting <stdbool.h> if it is not supported. | 10 | # Prepare for substituting <stdbool.h> if it is not supported. |
9 | 11 | ||
10 | AC_DEFUN([AM_STDBOOL_H], | 12 | AC_DEFUN([AM_STDBOOL_H], |
11 | [ | 13 | [ |
12 | AC_REQUIRE([AC_HEADER_STDBOOL]) | 14 | AC_REQUIRE([AC_CHECK_HEADER_STDBOOL]) |
13 | 15 | ||
14 | # Define two additional variables used in the Makefile substitution. | 16 | # Define two additional variables used in the Makefile substitution. |
15 | 17 | ||
@@ -19,6 +21,7 @@ AC_DEFUN([AM_STDBOOL_H], | |||
19 | STDBOOL_H='stdbool.h' | 21 | STDBOOL_H='stdbool.h' |
20 | fi | 22 | fi |
21 | AC_SUBST([STDBOOL_H]) | 23 | AC_SUBST([STDBOOL_H]) |
24 | AM_CONDITIONAL([GL_GENERATE_STDBOOL_H], [test -n "$STDBOOL_H"]) | ||
22 | 25 | ||
23 | if test "$ac_cv_type__Bool" = yes; then | 26 | if test "$ac_cv_type__Bool" = yes; then |
24 | HAVE__BOOL=1 | 27 | HAVE__BOOL=1 |
@@ -31,85 +34,67 @@ AC_DEFUN([AM_STDBOOL_H], | |||
31 | # AM_STDBOOL_H will be renamed to gl_STDBOOL_H in the future. | 34 | # AM_STDBOOL_H will be renamed to gl_STDBOOL_H in the future. |
32 | AC_DEFUN([gl_STDBOOL_H], [AM_STDBOOL_H]) | 35 | AC_DEFUN([gl_STDBOOL_H], [AM_STDBOOL_H]) |
33 | 36 | ||
34 | # This macro is only needed in autoconf <= 2.59. Newer versions of autoconf | 37 | # This version of the macro is needed in autoconf <= 2.68. |
35 | # have this macro built-in. | ||
36 | 38 | ||
37 | AC_DEFUN([AC_HEADER_STDBOOL], | 39 | AC_DEFUN([AC_CHECK_HEADER_STDBOOL], |
38 | [AC_CACHE_CHECK([for stdbool.h that conforms to C99], | 40 | [AC_CACHE_CHECK([for stdbool.h that conforms to C99], |
39 | [ac_cv_header_stdbool_h], | 41 | [ac_cv_header_stdbool_h], |
40 | [AC_TRY_COMPILE( | 42 | [AC_COMPILE_IFELSE( |
41 | [ | 43 | [AC_LANG_PROGRAM( |
42 | #include <stdbool.h> | 44 | [[ |
43 | #ifndef bool | 45 | #include <stdbool.h> |
44 | "error: bool is not defined" | 46 | #ifndef bool |
45 | #endif | 47 | "error: bool is not defined" |
46 | #ifndef false | 48 | #endif |
47 | "error: false is not defined" | 49 | #ifndef false |
48 | #endif | 50 | "error: false is not defined" |
49 | #if false | 51 | #endif |
50 | "error: false is not 0" | 52 | #if false |
51 | #endif | 53 | "error: false is not 0" |
52 | #ifndef true | 54 | #endif |
53 | "error: true is not defined" | 55 | #ifndef true |
54 | #endif | 56 | "error: true is not defined" |
55 | #if true != 1 | 57 | #endif |
56 | "error: true is not 1" | 58 | #if true != 1 |
57 | #endif | 59 | "error: true is not 1" |
58 | #ifndef __bool_true_false_are_defined | 60 | #endif |
59 | "error: __bool_true_false_are_defined is not defined" | 61 | #ifndef __bool_true_false_are_defined |
60 | #endif | 62 | "error: __bool_true_false_are_defined is not defined" |
63 | #endif | ||
61 | 64 | ||
62 | struct s { _Bool s: 1; _Bool t; } s; | 65 | struct s { _Bool s: 1; _Bool t; } s; |
63 | 66 | ||
64 | char a[true == 1 ? 1 : -1]; | 67 | char a[true == 1 ? 1 : -1]; |
65 | char b[false == 0 ? 1 : -1]; | 68 | char b[false == 0 ? 1 : -1]; |
66 | char c[__bool_true_false_are_defined == 1 ? 1 : -1]; | 69 | char c[__bool_true_false_are_defined == 1 ? 1 : -1]; |
67 | char d[(bool) 0.5 == true ? 1 : -1]; | 70 | char d[(bool) 0.5 == true ? 1 : -1]; |
68 | bool e = &s; | 71 | /* See body of main program for 'e'. */ |
69 | char f[(_Bool) 0.0 == false ? 1 : -1]; | 72 | char f[(_Bool) 0.0 == false ? 1 : -1]; |
70 | char g[true]; | 73 | char g[true]; |
71 | char h[sizeof (_Bool)]; | 74 | char h[sizeof (_Bool)]; |
72 | char i[sizeof s.t]; | 75 | char i[sizeof s.t]; |
73 | enum { j = false, k = true, l = false * true, m = true * 256 }; | 76 | enum { j = false, k = true, l = false * true, m = true * 256 }; |
74 | _Bool n[m]; | 77 | /* The following fails for |
75 | char o[sizeof n == m * sizeof n[0] ? 1 : -1]; | 78 | HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */ |
76 | char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; | 79 | _Bool n[m]; |
77 | #if defined __xlc__ || defined __GNUC__ | 80 | char o[sizeof n == m * sizeof n[0] ? 1 : -1]; |
78 | /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0 | 81 | char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; |
79 | reported by James Lemley on 2005-10-05; see | 82 | /* Catch a bug in an HP-UX C compiler. See |
80 | http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html | 83 | http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html |
81 | This test is not quite right, since xlc is allowed to | 84 | http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html |
82 | reject this program, as the initializer for xlcbug is | 85 | */ |
83 | not one of the forms that C requires support for. | 86 | _Bool q = true; |
84 | However, doing the test right would require a run-time | 87 | _Bool *pq = &q; |
85 | test, and that would make cross-compilation harder. | 88 | ]], |
86 | Let us hope that IBM fixes the xlc bug, and also adds | 89 | [[ |
87 | support for this kind of constant expression. In the | 90 | bool e = &s; |
88 | meantime, this test will reject xlc, which is OK, since | 91 | *pq |= q; |
89 | our stdbool.h substitute should suffice. We also test | 92 | *pq |= ! q; |
90 | this with GCC, where it should work, to detect more | 93 | /* Refer to every declared value, to avoid compiler optimizations. */ |
91 | quickly whether someone messes up the test in the | 94 | return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l |
92 | future. */ | 95 | + !m + !n + !o + !p + !q + !pq); |
93 | char digs[] = "0123456789"; | 96 | ]])], |
94 | int xlcbug = 1 / (&(digs + 5)[-2 + (bool) 1] == &digs[4] ? 1 : -1); | ||
95 | #endif | ||
96 | /* Catch a bug in an HP-UX C compiler. See | ||
97 | http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html | ||
98 | http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html | ||
99 | */ | ||
100 | _Bool q = true; | ||
101 | _Bool *pq = &q; | ||
102 | ], | ||
103 | [ | ||
104 | *pq |= q; | ||
105 | *pq |= ! q; | ||
106 | /* Refer to every declared value, to avoid compiler optimizations. */ | ||
107 | return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l | ||
108 | + !m + !n + !o + !p + !q + !pq); | ||
109 | ], | ||
110 | [ac_cv_header_stdbool_h=yes], | 97 | [ac_cv_header_stdbool_h=yes], |
111 | [ac_cv_header_stdbool_h=no])]) | 98 | [ac_cv_header_stdbool_h=no])]) |
112 | AC_CHECK_TYPES([_Bool]) | 99 | AC_CHECK_TYPES([_Bool]) |
113 | if test $ac_cv_header_stdbool_h = yes; then | 100 | ]) |
114 | AC_DEFINE([HAVE_STDBOOL_H], [1], [Define to 1 if stdbool.h conforms to C99.]) | ||
115 | fi]) | ||
diff --git a/gl/m4/stddef_h.m4 b/gl/m4/stddef_h.m4 index c3ae5694..5da8ab1e 100644 --- a/gl/m4/stddef_h.m4 +++ b/gl/m4/stddef_h.m4 | |||
@@ -1,6 +1,6 @@ | |||
1 | dnl A placeholder for POSIX 2008 <stddef.h>, for platforms that have issues. | 1 | dnl A placeholder for POSIX 2008 <stddef.h>, for platforms that have issues. |
2 | # stddef_h.m4 serial 2 | 2 | # stddef_h.m4 serial 4 |
3 | dnl Copyright (C) 2009, 2010 Free Software Foundation, Inc. | 3 | dnl Copyright (C) 2009-2013 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. |
@@ -9,6 +9,7 @@ AC_DEFUN([gl_STDDEF_H], | |||
9 | [ | 9 | [ |
10 | AC_REQUIRE([gl_STDDEF_H_DEFAULTS]) | 10 | AC_REQUIRE([gl_STDDEF_H_DEFAULTS]) |
11 | AC_REQUIRE([gt_TYPE_WCHAR_T]) | 11 | AC_REQUIRE([gt_TYPE_WCHAR_T]) |
12 | STDDEF_H= | ||
12 | if test $gt_cv_c_wchar_t = no; then | 13 | if test $gt_cv_c_wchar_t = no; then |
13 | HAVE_WCHAR_T=0 | 14 | HAVE_WCHAR_T=0 |
14 | STDDEF_H=stddef.h | 15 | STDDEF_H=stddef.h |
@@ -24,8 +25,10 @@ AC_DEFUN([gl_STDDEF_H], | |||
24 | REPLACE_NULL=1 | 25 | REPLACE_NULL=1 |
25 | STDDEF_H=stddef.h | 26 | STDDEF_H=stddef.h |
26 | fi | 27 | fi |
28 | AC_SUBST([STDDEF_H]) | ||
29 | AM_CONDITIONAL([GL_GENERATE_STDDEF_H], [test -n "$STDDEF_H"]) | ||
27 | if test -n "$STDDEF_H"; then | 30 | if test -n "$STDDEF_H"; then |
28 | gl_CHECK_NEXT_HEADERS([stddef.h]) | 31 | gl_NEXT_HEADERS([stddef.h]) |
29 | fi | 32 | fi |
30 | ]) | 33 | ]) |
31 | 34 | ||
@@ -41,5 +44,4 @@ AC_DEFUN([gl_STDDEF_H_DEFAULTS], | |||
41 | dnl Assume proper GNU behavior unless another module says otherwise. | 44 | dnl Assume proper GNU behavior unless another module says otherwise. |
42 | REPLACE_NULL=0; AC_SUBST([REPLACE_NULL]) | 45 | REPLACE_NULL=0; AC_SUBST([REPLACE_NULL]) |
43 | HAVE_WCHAR_T=1; AC_SUBST([HAVE_WCHAR_T]) | 46 | HAVE_WCHAR_T=1; AC_SUBST([HAVE_WCHAR_T]) |
44 | STDDEF_H=''; AC_SUBST([STDDEF_H]) | ||
45 | ]) | 47 | ]) |
diff --git a/gl/m4/stdint.m4 b/gl/m4/stdint.m4 index c5e813a9..27cdcdb9 100644 --- a/gl/m4/stdint.m4 +++ b/gl/m4/stdint.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # stdint.m4 serial 35 | 1 | # stdint.m4 serial 43 |
2 | dnl Copyright (C) 2001-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2001-2013 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 | dnl From Paul Eggert and Bruno Haible. | 7 | dnl From Paul Eggert and Bruno Haible. |
8 | dnl Test whether <stdint.h> is supported or must be substituted. | 8 | dnl Test whether <stdint.h> is supported or must be substituted. |
9 | 9 | ||
10 | AC_DEFUN([gl_STDINT_H], | 10 | AC_DEFUN_ONCE([gl_STDINT_H], |
11 | [ | 11 | [ |
12 | AC_PREREQ([2.59])dnl | 12 | AC_PREREQ([2.59])dnl |
13 | 13 | ||
@@ -27,6 +27,15 @@ AC_DEFUN([gl_STDINT_H], | |||
27 | fi | 27 | fi |
28 | AC_SUBST([HAVE_UNSIGNED_LONG_LONG_INT]) | 28 | AC_SUBST([HAVE_UNSIGNED_LONG_LONG_INT]) |
29 | 29 | ||
30 | dnl Check for <wchar.h>, in the same way as gl_WCHAR_H does. | ||
31 | AC_CHECK_HEADERS_ONCE([wchar.h]) | ||
32 | if test $ac_cv_header_wchar_h = yes; then | ||
33 | HAVE_WCHAR_H=1 | ||
34 | else | ||
35 | HAVE_WCHAR_H=0 | ||
36 | fi | ||
37 | AC_SUBST([HAVE_WCHAR_H]) | ||
38 | |||
30 | dnl Check for <inttypes.h>. | 39 | dnl Check for <inttypes.h>. |
31 | dnl AC_INCLUDES_DEFAULT defines $ac_cv_header_inttypes_h. | 40 | dnl AC_INCLUDES_DEFAULT defines $ac_cv_header_inttypes_h. |
32 | if test $ac_cv_header_inttypes_h = yes; then | 41 | if test $ac_cv_header_inttypes_h = yes; then |
@@ -60,8 +69,6 @@ AC_DEFUN([gl_STDINT_H], | |||
60 | [gl_cv_header_working_stdint_h=no | 69 | [gl_cv_header_working_stdint_h=no |
61 | AC_COMPILE_IFELSE([ | 70 | AC_COMPILE_IFELSE([ |
62 | AC_LANG_PROGRAM([[ | 71 | AC_LANG_PROGRAM([[ |
63 | #define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */ | ||
64 | #define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */ | ||
65 | #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ | 72 | #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ |
66 | #include <stdint.h> | 73 | #include <stdint.h> |
67 | /* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in <wchar.h>. */ | 74 | /* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in <wchar.h>. */ |
@@ -145,9 +152,11 @@ uintmax_t j = UINTMAX_MAX; | |||
145 | 152 | ||
146 | #include <limits.h> /* for CHAR_BIT */ | 153 | #include <limits.h> /* for CHAR_BIT */ |
147 | #define TYPE_MINIMUM(t) \ | 154 | #define TYPE_MINIMUM(t) \ |
148 | ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1))) | 155 | ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ TYPE_MAXIMUM (t))) |
149 | #define TYPE_MAXIMUM(t) \ | 156 | #define TYPE_MAXIMUM(t) \ |
150 | ((t) ((t) 0 < (t) -1 ? (t) -1 : ~ (~ (t) 0 << (sizeof (t) * CHAR_BIT - 1)))) | 157 | ((t) ((t) 0 < (t) -1 \ |
158 | ? (t) -1 \ | ||
159 | : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1))) | ||
151 | struct s { | 160 | struct s { |
152 | int check_PTRDIFF: | 161 | int check_PTRDIFF: |
153 | PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t) | 162 | PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t) |
@@ -208,8 +217,6 @@ struct s { | |||
208 | dnl This detects a bug on HP-UX 11.23/ia64. | 217 | dnl This detects a bug on HP-UX 11.23/ia64. |
209 | AC_RUN_IFELSE([ | 218 | AC_RUN_IFELSE([ |
210 | AC_LANG_PROGRAM([[ | 219 | AC_LANG_PROGRAM([[ |
211 | #define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */ | ||
212 | #define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */ | ||
213 | #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ | 220 | #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ |
214 | #include <stdint.h> | 221 | #include <stdint.h> |
215 | ] | 222 | ] |
@@ -259,7 +266,7 @@ static const char *macro_values[] = | |||
259 | || strncmp (value, "((int)"/*)*/, 6) == 0 | 266 | || strncmp (value, "((int)"/*)*/, 6) == 0 |
260 | || strncmp (value, "((signed short)"/*)*/, 15) == 0 | 267 | || strncmp (value, "((signed short)"/*)*/, 15) == 0 |
261 | || strncmp (value, "((signed char)"/*)*/, 14) == 0) | 268 | || strncmp (value, "((signed char)"/*)*/, 14) == 0) |
262 | return 1; | 269 | return mv - macro_values + 1; |
263 | } | 270 | } |
264 | return 0; | 271 | return 0; |
265 | ]])], | 272 | ]])], |
@@ -290,14 +297,11 @@ static const char *macro_values[] = | |||
290 | fi | 297 | fi |
291 | AC_SUBST([HAVE_SYS_BITYPES_H]) | 298 | AC_SUBST([HAVE_SYS_BITYPES_H]) |
292 | 299 | ||
293 | dnl Check for <wchar.h> (missing in Linux uClibc when built without wide | ||
294 | dnl character support). | ||
295 | AC_CHECK_HEADERS_ONCE([wchar.h]) | ||
296 | |||
297 | gl_STDINT_TYPE_PROPERTIES | 300 | gl_STDINT_TYPE_PROPERTIES |
298 | STDINT_H=stdint.h | 301 | STDINT_H=stdint.h |
299 | fi | 302 | fi |
300 | AC_SUBST([STDINT_H]) | 303 | AC_SUBST([STDINT_H]) |
304 | AM_CONDITIONAL([GL_GENERATE_STDINT_H], [test -n "$STDINT_H"]) | ||
301 | ]) | 305 | ]) |
302 | 306 | ||
303 | dnl gl_STDINT_BITSIZEOF(TYPES, INCLUDES) | 307 | dnl gl_STDINT_BITSIZEOF(TYPES, INCLUDES) |
@@ -458,6 +462,14 @@ AC_DEFUN([gl_STDINT_TYPE_PROPERTIES], | |||
458 | fi | 462 | fi |
459 | gl_INTEGER_TYPE_SUFFIX([sig_atomic_t wchar_t wint_t], | 463 | gl_INTEGER_TYPE_SUFFIX([sig_atomic_t wchar_t wint_t], |
460 | [gl_STDINT_INCLUDES]) | 464 | [gl_STDINT_INCLUDES]) |
465 | |||
466 | dnl If wint_t is smaller than 'int', it cannot satisfy the ISO C 99 | ||
467 | dnl requirement that wint_t is "unchanged by default argument promotions". | ||
468 | dnl In this case gnulib's <wchar.h> and <wctype.h> override wint_t. | ||
469 | dnl Set the variable BITSIZEOF_WINT_T accordingly. | ||
470 | if test $BITSIZEOF_WINT_T -lt 32; then | ||
471 | BITSIZEOF_WINT_T=32 | ||
472 | fi | ||
461 | ]) | 473 | ]) |
462 | 474 | ||
463 | dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in. | 475 | dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in. |
diff --git a/gl/m4/stdint_h.m4 b/gl/m4/stdint_h.m4 index b8e3c6cc..511ab4e9 100644 --- a/gl/m4/stdint_h.m4 +++ b/gl/m4/stdint_h.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # stdint_h.m4 serial 8 | 1 | # stdint_h.m4 serial 9 |
2 | dnl Copyright (C) 1997-2004, 2006, 2008-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1997-2004, 2006, 2008-2013 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,12 +12,13 @@ dnl From Paul Eggert. | |||
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_COMPILE_IFELSE( |
16 | [#include <sys/types.h> | 16 | [AC_LANG_PROGRAM( |
17 | #include <stdint.h>], | 17 | [[#include <sys/types.h> |
18 | [uintmax_t i = (uintmax_t) -1; return !i;], | 18 | #include <stdint.h>]], |
19 | [gl_cv_header_stdint_h=yes], | 19 | [[uintmax_t i = (uintmax_t) -1; return !i;]])], |
20 | [gl_cv_header_stdint_h=no])]) | 20 | [gl_cv_header_stdint_h=yes], |
21 | [gl_cv_header_stdint_h=no])]) | ||
21 | if test $gl_cv_header_stdint_h = yes; then | 22 | if test $gl_cv_header_stdint_h = yes; then |
22 | AC_DEFINE_UNQUOTED([HAVE_STDINT_H_WITH_UINTMAX], [1], | 23 | AC_DEFINE_UNQUOTED([HAVE_STDINT_H_WITH_UINTMAX], [1], |
23 | [Define if <stdint.h> exists, doesn't clash with <sys/types.h>, | 24 | [Define if <stdint.h> exists, doesn't clash with <sys/types.h>, |
diff --git a/gl/m4/stdio_h.m4 b/gl/m4/stdio_h.m4 index f5650cde..ebade067 100644 --- a/gl/m4/stdio_h.m4 +++ b/gl/m4/stdio_h.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # stdio_h.m4 serial 31 | 1 | # stdio_h.m4 serial 43 |
2 | dnl Copyright (C) 2007-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007-2013 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,9 +7,32 @@ dnl with or without modifications, as long as this notice is preserved. | |||
7 | AC_DEFUN([gl_STDIO_H], | 7 | AC_DEFUN([gl_STDIO_H], |
8 | [ | 8 | [ |
9 | AC_REQUIRE([gl_STDIO_H_DEFAULTS]) | 9 | AC_REQUIRE([gl_STDIO_H_DEFAULTS]) |
10 | AC_REQUIRE([AC_C_INLINE]) | 10 | gl_NEXT_HEADERS([stdio.h]) |
11 | AC_REQUIRE([gl_ASM_SYMBOL_PREFIX]) | 11 | |
12 | gl_CHECK_NEXT_HEADERS([stdio.h]) | 12 | dnl No need to create extra modules for these functions. Everyone who uses |
13 | dnl <stdio.h> likely needs them. | ||
14 | GNULIB_FSCANF=1 | ||
15 | gl_MODULE_INDICATOR([fscanf]) | ||
16 | GNULIB_SCANF=1 | ||
17 | gl_MODULE_INDICATOR([scanf]) | ||
18 | GNULIB_FGETC=1 | ||
19 | GNULIB_GETC=1 | ||
20 | GNULIB_GETCHAR=1 | ||
21 | GNULIB_FGETS=1 | ||
22 | GNULIB_FREAD=1 | ||
23 | dnl This ifdef is necessary to avoid an error "missing file lib/stdio-read.c" | ||
24 | dnl "expected source file, required through AC_LIBSOURCES, not found". It is | ||
25 | dnl also an optimization, to avoid performing a configure check whose result | ||
26 | dnl is not used. But it does not make the test of GNULIB_STDIO_H_NONBLOCKING | ||
27 | dnl or GNULIB_NONBLOCKING redundant. | ||
28 | m4_ifdef([gl_NONBLOCKING_IO], [ | ||
29 | gl_NONBLOCKING_IO | ||
30 | if test $gl_cv_have_nonblocking != yes; then | ||
31 | REPLACE_STDIO_READ_FUNCS=1 | ||
32 | AC_LIBOBJ([stdio-read]) | ||
33 | fi | ||
34 | ]) | ||
35 | |||
13 | dnl No need to create extra modules for these functions. Everyone who uses | 36 | dnl No need to create extra modules for these functions. Everyone who uses |
14 | dnl <stdio.h> likely needs them. | 37 | dnl <stdio.h> likely needs them. |
15 | GNULIB_FPRINTF=1 | 38 | GNULIB_FPRINTF=1 |
@@ -22,9 +45,11 @@ AC_DEFUN([gl_STDIO_H], | |||
22 | GNULIB_FPUTS=1 | 45 | GNULIB_FPUTS=1 |
23 | GNULIB_PUTS=1 | 46 | GNULIB_PUTS=1 |
24 | GNULIB_FWRITE=1 | 47 | GNULIB_FWRITE=1 |
25 | dnl This ifdef is just an optimization, to avoid performing a configure | 48 | dnl This ifdef is necessary to avoid an error "missing file lib/stdio-write.c" |
26 | dnl check whose result is not used. It does not make the test of | 49 | dnl "expected source file, required through AC_LIBSOURCES, not found". It is |
27 | dnl GNULIB_STDIO_H_SIGPIPE or GNULIB_SIGPIPE redundant. | 50 | dnl also an optimization, to avoid performing a configure check whose result |
51 | dnl is not used. But it does not make the test of GNULIB_STDIO_H_SIGPIPE or | ||
52 | dnl GNULIB_SIGPIPE redundant. | ||
28 | m4_ifdef([gl_SIGNAL_SIGPIPE], [ | 53 | m4_ifdef([gl_SIGNAL_SIGPIPE], [ |
29 | gl_SIGNAL_SIGPIPE | 54 | gl_SIGNAL_SIGPIPE |
30 | if test $gl_cv_header_signal_h_SIGPIPE != yes; then | 55 | if test $gl_cv_header_signal_h_SIGPIPE != yes; then |
@@ -32,13 +57,25 @@ AC_DEFUN([gl_STDIO_H], | |||
32 | AC_LIBOBJ([stdio-write]) | 57 | AC_LIBOBJ([stdio-write]) |
33 | fi | 58 | fi |
34 | ]) | 59 | ]) |
60 | dnl This ifdef is necessary to avoid an error "missing file lib/stdio-write.c" | ||
61 | dnl "expected source file, required through AC_LIBSOURCES, not found". It is | ||
62 | dnl also an optimization, to avoid performing a configure check whose result | ||
63 | dnl is not used. But it does not make the test of GNULIB_STDIO_H_NONBLOCKING | ||
64 | dnl or GNULIB_NONBLOCKING redundant. | ||
65 | m4_ifdef([gl_NONBLOCKING_IO], [ | ||
66 | gl_NONBLOCKING_IO | ||
67 | if test $gl_cv_have_nonblocking != yes; then | ||
68 | REPLACE_STDIO_WRITE_FUNCS=1 | ||
69 | AC_LIBOBJ([stdio-write]) | ||
70 | fi | ||
71 | ]) | ||
35 | 72 | ||
36 | dnl Check for declarations of anything we want to poison if the | 73 | dnl Check for declarations of anything we want to poison if the |
37 | dnl corresponding gnulib module is not in use, and which is not | 74 | dnl corresponding gnulib module is not in use, and which is not |
38 | dnl guaranteed by C89. | 75 | dnl guaranteed by both C89 and C11. |
39 | gl_WARN_ON_USE_PREPARE([[#include <stdio.h> | 76 | gl_WARN_ON_USE_PREPARE([[#include <stdio.h> |
40 | ]], [dprintf fpurge fseeko ftello getdelim getline popen renameat | 77 | ]], [dprintf fpurge fseeko ftello getdelim getline gets pclose popen |
41 | snprintf tmpfile vdprintf vsnprintf]) | 78 | renameat snprintf tmpfile vdprintf vsnprintf]) |
42 | ]) | 79 | ]) |
43 | 80 | ||
44 | AC_DEFUN([gl_STDIO_MODULE_INDICATOR], | 81 | AC_DEFUN([gl_STDIO_MODULE_INDICATOR], |
@@ -54,23 +91,31 @@ AC_DEFUN([gl_STDIO_H_DEFAULTS], | |||
54 | [ | 91 | [ |
55 | GNULIB_DPRINTF=0; AC_SUBST([GNULIB_DPRINTF]) | 92 | GNULIB_DPRINTF=0; AC_SUBST([GNULIB_DPRINTF]) |
56 | GNULIB_FCLOSE=0; AC_SUBST([GNULIB_FCLOSE]) | 93 | GNULIB_FCLOSE=0; AC_SUBST([GNULIB_FCLOSE]) |
94 | GNULIB_FDOPEN=0; AC_SUBST([GNULIB_FDOPEN]) | ||
57 | GNULIB_FFLUSH=0; AC_SUBST([GNULIB_FFLUSH]) | 95 | GNULIB_FFLUSH=0; AC_SUBST([GNULIB_FFLUSH]) |
96 | GNULIB_FGETC=0; AC_SUBST([GNULIB_FGETC]) | ||
97 | GNULIB_FGETS=0; AC_SUBST([GNULIB_FGETS]) | ||
58 | GNULIB_FOPEN=0; AC_SUBST([GNULIB_FOPEN]) | 98 | GNULIB_FOPEN=0; AC_SUBST([GNULIB_FOPEN]) |
59 | GNULIB_FPRINTF=0; AC_SUBST([GNULIB_FPRINTF]) | 99 | GNULIB_FPRINTF=0; AC_SUBST([GNULIB_FPRINTF]) |
60 | GNULIB_FPRINTF_POSIX=0; AC_SUBST([GNULIB_FPRINTF_POSIX]) | 100 | GNULIB_FPRINTF_POSIX=0; AC_SUBST([GNULIB_FPRINTF_POSIX]) |
61 | GNULIB_FPURGE=0; AC_SUBST([GNULIB_FPURGE]) | 101 | GNULIB_FPURGE=0; AC_SUBST([GNULIB_FPURGE]) |
62 | GNULIB_FPUTC=0; AC_SUBST([GNULIB_FPUTC]) | 102 | GNULIB_FPUTC=0; AC_SUBST([GNULIB_FPUTC]) |
63 | GNULIB_FPUTS=0; AC_SUBST([GNULIB_FPUTS]) | 103 | GNULIB_FPUTS=0; AC_SUBST([GNULIB_FPUTS]) |
104 | GNULIB_FREAD=0; AC_SUBST([GNULIB_FREAD]) | ||
64 | GNULIB_FREOPEN=0; AC_SUBST([GNULIB_FREOPEN]) | 105 | GNULIB_FREOPEN=0; AC_SUBST([GNULIB_FREOPEN]) |
106 | GNULIB_FSCANF=0; AC_SUBST([GNULIB_FSCANF]) | ||
65 | GNULIB_FSEEK=0; AC_SUBST([GNULIB_FSEEK]) | 107 | GNULIB_FSEEK=0; AC_SUBST([GNULIB_FSEEK]) |
66 | GNULIB_FSEEKO=0; AC_SUBST([GNULIB_FSEEKO]) | 108 | GNULIB_FSEEKO=0; AC_SUBST([GNULIB_FSEEKO]) |
67 | GNULIB_FTELL=0; AC_SUBST([GNULIB_FTELL]) | 109 | GNULIB_FTELL=0; AC_SUBST([GNULIB_FTELL]) |
68 | GNULIB_FTELLO=0; AC_SUBST([GNULIB_FTELLO]) | 110 | GNULIB_FTELLO=0; AC_SUBST([GNULIB_FTELLO]) |
69 | GNULIB_FWRITE=0; AC_SUBST([GNULIB_FWRITE]) | 111 | GNULIB_FWRITE=0; AC_SUBST([GNULIB_FWRITE]) |
112 | GNULIB_GETC=0; AC_SUBST([GNULIB_GETC]) | ||
113 | GNULIB_GETCHAR=0; AC_SUBST([GNULIB_GETCHAR]) | ||
70 | GNULIB_GETDELIM=0; AC_SUBST([GNULIB_GETDELIM]) | 114 | GNULIB_GETDELIM=0; AC_SUBST([GNULIB_GETDELIM]) |
71 | GNULIB_GETLINE=0; AC_SUBST([GNULIB_GETLINE]) | 115 | GNULIB_GETLINE=0; AC_SUBST([GNULIB_GETLINE]) |
72 | GNULIB_OBSTACK_PRINTF=0; AC_SUBST([GNULIB_OBSTACK_PRINTF]) | 116 | GNULIB_OBSTACK_PRINTF=0; AC_SUBST([GNULIB_OBSTACK_PRINTF]) |
73 | GNULIB_OBSTACK_PRINTF_POSIX=0; AC_SUBST([GNULIB_OBSTACK_PRINTF_POSIX]) | 117 | GNULIB_OBSTACK_PRINTF_POSIX=0; AC_SUBST([GNULIB_OBSTACK_PRINTF_POSIX]) |
118 | GNULIB_PCLOSE=0; AC_SUBST([GNULIB_PCLOSE]) | ||
74 | GNULIB_PERROR=0; AC_SUBST([GNULIB_PERROR]) | 119 | GNULIB_PERROR=0; AC_SUBST([GNULIB_PERROR]) |
75 | GNULIB_POPEN=0; AC_SUBST([GNULIB_POPEN]) | 120 | GNULIB_POPEN=0; AC_SUBST([GNULIB_POPEN]) |
76 | GNULIB_PRINTF=0; AC_SUBST([GNULIB_PRINTF]) | 121 | GNULIB_PRINTF=0; AC_SUBST([GNULIB_PRINTF]) |
@@ -81,11 +126,15 @@ AC_DEFUN([gl_STDIO_H_DEFAULTS], | |||
81 | GNULIB_REMOVE=0; AC_SUBST([GNULIB_REMOVE]) | 126 | GNULIB_REMOVE=0; AC_SUBST([GNULIB_REMOVE]) |
82 | GNULIB_RENAME=0; AC_SUBST([GNULIB_RENAME]) | 127 | GNULIB_RENAME=0; AC_SUBST([GNULIB_RENAME]) |
83 | GNULIB_RENAMEAT=0; AC_SUBST([GNULIB_RENAMEAT]) | 128 | GNULIB_RENAMEAT=0; AC_SUBST([GNULIB_RENAMEAT]) |
129 | GNULIB_SCANF=0; AC_SUBST([GNULIB_SCANF]) | ||
84 | GNULIB_SNPRINTF=0; AC_SUBST([GNULIB_SNPRINTF]) | 130 | GNULIB_SNPRINTF=0; AC_SUBST([GNULIB_SNPRINTF]) |
85 | GNULIB_SPRINTF_POSIX=0; AC_SUBST([GNULIB_SPRINTF_POSIX]) | 131 | GNULIB_SPRINTF_POSIX=0; AC_SUBST([GNULIB_SPRINTF_POSIX]) |
132 | GNULIB_STDIO_H_NONBLOCKING=0; AC_SUBST([GNULIB_STDIO_H_NONBLOCKING]) | ||
86 | GNULIB_STDIO_H_SIGPIPE=0; AC_SUBST([GNULIB_STDIO_H_SIGPIPE]) | 133 | GNULIB_STDIO_H_SIGPIPE=0; AC_SUBST([GNULIB_STDIO_H_SIGPIPE]) |
87 | GNULIB_TMPFILE=0; AC_SUBST([GNULIB_TMPFILE]) | 134 | GNULIB_TMPFILE=0; AC_SUBST([GNULIB_TMPFILE]) |
88 | GNULIB_VASPRINTF=0; AC_SUBST([GNULIB_VASPRINTF]) | 135 | GNULIB_VASPRINTF=0; AC_SUBST([GNULIB_VASPRINTF]) |
136 | GNULIB_VFSCANF=0; AC_SUBST([GNULIB_VFSCANF]) | ||
137 | GNULIB_VSCANF=0; AC_SUBST([GNULIB_VSCANF]) | ||
89 | GNULIB_VDPRINTF=0; AC_SUBST([GNULIB_VDPRINTF]) | 138 | GNULIB_VDPRINTF=0; AC_SUBST([GNULIB_VDPRINTF]) |
90 | GNULIB_VFPRINTF=0; AC_SUBST([GNULIB_VFPRINTF]) | 139 | GNULIB_VFPRINTF=0; AC_SUBST([GNULIB_VFPRINTF]) |
91 | GNULIB_VFPRINTF_POSIX=0; AC_SUBST([GNULIB_VFPRINTF_POSIX]) | 140 | GNULIB_VFPRINTF_POSIX=0; AC_SUBST([GNULIB_VFPRINTF_POSIX]) |
@@ -95,6 +144,8 @@ AC_DEFUN([gl_STDIO_H_DEFAULTS], | |||
95 | GNULIB_VSPRINTF_POSIX=0; AC_SUBST([GNULIB_VSPRINTF_POSIX]) | 144 | GNULIB_VSPRINTF_POSIX=0; AC_SUBST([GNULIB_VSPRINTF_POSIX]) |
96 | dnl Assume proper GNU behavior unless another module says otherwise. | 145 | dnl Assume proper GNU behavior unless another module says otherwise. |
97 | HAVE_DECL_FPURGE=1; AC_SUBST([HAVE_DECL_FPURGE]) | 146 | HAVE_DECL_FPURGE=1; AC_SUBST([HAVE_DECL_FPURGE]) |
147 | HAVE_DECL_FSEEKO=1; AC_SUBST([HAVE_DECL_FSEEKO]) | ||
148 | HAVE_DECL_FTELLO=1; AC_SUBST([HAVE_DECL_FTELLO]) | ||
98 | HAVE_DECL_GETDELIM=1; AC_SUBST([HAVE_DECL_GETDELIM]) | 149 | HAVE_DECL_GETDELIM=1; AC_SUBST([HAVE_DECL_GETDELIM]) |
99 | HAVE_DECL_GETLINE=1; AC_SUBST([HAVE_DECL_GETLINE]) | 150 | HAVE_DECL_GETLINE=1; AC_SUBST([HAVE_DECL_GETLINE]) |
100 | HAVE_DECL_OBSTACK_PRINTF=1; AC_SUBST([HAVE_DECL_OBSTACK_PRINTF]) | 151 | HAVE_DECL_OBSTACK_PRINTF=1; AC_SUBST([HAVE_DECL_OBSTACK_PRINTF]) |
@@ -103,11 +154,14 @@ AC_DEFUN([gl_STDIO_H_DEFAULTS], | |||
103 | HAVE_DPRINTF=1; AC_SUBST([HAVE_DPRINTF]) | 154 | HAVE_DPRINTF=1; AC_SUBST([HAVE_DPRINTF]) |
104 | HAVE_FSEEKO=1; AC_SUBST([HAVE_FSEEKO]) | 155 | HAVE_FSEEKO=1; AC_SUBST([HAVE_FSEEKO]) |
105 | HAVE_FTELLO=1; AC_SUBST([HAVE_FTELLO]) | 156 | HAVE_FTELLO=1; AC_SUBST([HAVE_FTELLO]) |
157 | HAVE_PCLOSE=1; AC_SUBST([HAVE_PCLOSE]) | ||
158 | HAVE_POPEN=1; AC_SUBST([HAVE_POPEN]) | ||
106 | HAVE_RENAMEAT=1; AC_SUBST([HAVE_RENAMEAT]) | 159 | HAVE_RENAMEAT=1; AC_SUBST([HAVE_RENAMEAT]) |
107 | HAVE_VASPRINTF=1; AC_SUBST([HAVE_VASPRINTF]) | 160 | HAVE_VASPRINTF=1; AC_SUBST([HAVE_VASPRINTF]) |
108 | HAVE_VDPRINTF=1; AC_SUBST([HAVE_VDPRINTF]) | 161 | HAVE_VDPRINTF=1; AC_SUBST([HAVE_VDPRINTF]) |
109 | REPLACE_DPRINTF=0; AC_SUBST([REPLACE_DPRINTF]) | 162 | REPLACE_DPRINTF=0; AC_SUBST([REPLACE_DPRINTF]) |
110 | REPLACE_FCLOSE=0; AC_SUBST([REPLACE_FCLOSE]) | 163 | REPLACE_FCLOSE=0; AC_SUBST([REPLACE_FCLOSE]) |
164 | REPLACE_FDOPEN=0; AC_SUBST([REPLACE_FDOPEN]) | ||
111 | REPLACE_FFLUSH=0; AC_SUBST([REPLACE_FFLUSH]) | 165 | REPLACE_FFLUSH=0; AC_SUBST([REPLACE_FFLUSH]) |
112 | REPLACE_FOPEN=0; AC_SUBST([REPLACE_FOPEN]) | 166 | REPLACE_FOPEN=0; AC_SUBST([REPLACE_FOPEN]) |
113 | REPLACE_FPRINTF=0; AC_SUBST([REPLACE_FPRINTF]) | 167 | REPLACE_FPRINTF=0; AC_SUBST([REPLACE_FPRINTF]) |
@@ -128,6 +182,7 @@ AC_DEFUN([gl_STDIO_H_DEFAULTS], | |||
128 | REPLACE_RENAMEAT=0; AC_SUBST([REPLACE_RENAMEAT]) | 182 | REPLACE_RENAMEAT=0; AC_SUBST([REPLACE_RENAMEAT]) |
129 | REPLACE_SNPRINTF=0; AC_SUBST([REPLACE_SNPRINTF]) | 183 | REPLACE_SNPRINTF=0; AC_SUBST([REPLACE_SNPRINTF]) |
130 | REPLACE_SPRINTF=0; AC_SUBST([REPLACE_SPRINTF]) | 184 | REPLACE_SPRINTF=0; AC_SUBST([REPLACE_SPRINTF]) |
185 | REPLACE_STDIO_READ_FUNCS=0; AC_SUBST([REPLACE_STDIO_READ_FUNCS]) | ||
131 | REPLACE_STDIO_WRITE_FUNCS=0; AC_SUBST([REPLACE_STDIO_WRITE_FUNCS]) | 186 | REPLACE_STDIO_WRITE_FUNCS=0; AC_SUBST([REPLACE_STDIO_WRITE_FUNCS]) |
132 | REPLACE_TMPFILE=0; AC_SUBST([REPLACE_TMPFILE]) | 187 | REPLACE_TMPFILE=0; AC_SUBST([REPLACE_TMPFILE]) |
133 | REPLACE_VASPRINTF=0; AC_SUBST([REPLACE_VASPRINTF]) | 188 | REPLACE_VASPRINTF=0; AC_SUBST([REPLACE_VASPRINTF]) |
@@ -137,23 +192,3 @@ AC_DEFUN([gl_STDIO_H_DEFAULTS], | |||
137 | REPLACE_VSNPRINTF=0; AC_SUBST([REPLACE_VSNPRINTF]) | 192 | REPLACE_VSNPRINTF=0; AC_SUBST([REPLACE_VSNPRINTF]) |
138 | REPLACE_VSPRINTF=0; AC_SUBST([REPLACE_VSPRINTF]) | 193 | REPLACE_VSPRINTF=0; AC_SUBST([REPLACE_VSPRINTF]) |
139 | ]) | 194 | ]) |
140 | |||
141 | dnl Code shared by fseeko and ftello. Determine if large files are supported, | ||
142 | dnl but stdin does not start as a large file by default. | ||
143 | AC_DEFUN([gl_STDIN_LARGE_OFFSET], | ||
144 | [ | ||
145 | AC_CACHE_CHECK([whether stdin defaults to large file offsets], | ||
146 | [gl_cv_var_stdin_large_offset], | ||
147 | [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>]], | ||
148 | [[#if defined __SL64 && defined __SCLE /* cygwin */ | ||
149 | /* Cygwin 1.5.24 and earlier fail to put stdin in 64-bit mode, making | ||
150 | fseeko/ftello needlessly fail. This bug was fixed in 1.5.25, and | ||
151 | it is easier to do a version check than building a runtime test. */ | ||
152 | # include <cygwin/version.h> | ||
153 | # if CYGWIN_VERSION_DLL_COMBINED < CYGWIN_VERSION_DLL_MAKE_COMBINED (1005, 25) | ||
154 | choke me | ||
155 | # endif | ||
156 | #endif]])], | ||
157 | [gl_cv_var_stdin_large_offset=yes], | ||
158 | [gl_cv_var_stdin_large_offset=no])]) | ||
159 | ]) | ||
diff --git a/gl/m4/stdlib_h.m4 b/gl/m4/stdlib_h.m4 index fc150197..2027ab3c 100644 --- a/gl/m4/stdlib_h.m4 +++ b/gl/m4/stdlib_h.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # stdlib_h.m4 serial 30 | 1 | # stdlib_h.m4 serial 42 |
2 | dnl Copyright (C) 2007-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007-2013 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,21 +7,7 @@ dnl with or without modifications, as long as this notice is preserved. | |||
7 | AC_DEFUN([gl_STDLIB_H], | 7 | 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_NEXT_HEADERS([stdlib.h]) |
11 | AC_CHECK_HEADERS([random.h], [], [], [AC_INCLUDES_DEFAULT]) | ||
12 | if test $ac_cv_header_random_h = yes; then | ||
13 | HAVE_RANDOM_H=1 | ||
14 | else | ||
15 | HAVE_RANDOM_H=0 | ||
16 | fi | ||
17 | AC_SUBST([HAVE_RANDOM_H]) | ||
18 | AC_CHECK_TYPES([struct random_data], | ||
19 | [], [HAVE_STRUCT_RANDOM_DATA=0], | ||
20 | [[#include <stdlib.h> | ||
21 | #if HAVE_RANDOM_H | ||
22 | # include <random.h> | ||
23 | #endif | ||
24 | ]]) | ||
25 | 11 | ||
26 | dnl Check for declarations of anything we want to poison if the | 12 | dnl Check for declarations of anything we want to poison if the |
27 | dnl corresponding gnulib module is not in use, and which is not | 13 | dnl corresponding gnulib module is not in use, and which is not |
@@ -33,10 +19,11 @@ AC_DEFUN([gl_STDLIB_H], | |||
33 | #if HAVE_RANDOM_H | 19 | #if HAVE_RANDOM_H |
34 | # include <random.h> | 20 | # include <random.h> |
35 | #endif | 21 | #endif |
36 | ]], [_Exit atoll canonicalize_file_name getloadavg getsubopt grantpt mkdtemp | 22 | ]], [_Exit atoll canonicalize_file_name getloadavg getsubopt grantpt |
37 | mkostemp mkostemps mkstemp mkstemps ptsname random_r initstat_r srandom_r | 23 | initstate initstate_r mkdtemp mkostemp mkostemps mkstemp mkstemps |
38 | setstate_r realpath rpmatch setenv strtod strtoll strtoull unlockpt | 24 | posix_openpt ptsname ptsname_r random random_r realpath rpmatch |
39 | unsetenv]) | 25 | secure_getenv setenv setstate setstate_r srandom srandom_r |
26 | strtod strtoll strtoull unlockpt unsetenv]) | ||
40 | ]) | 27 | ]) |
41 | 28 | ||
42 | AC_DEFUN([gl_STDLIB_MODULE_INDICATOR], | 29 | AC_DEFUN([gl_STDLIB_MODULE_INDICATOR], |
@@ -58,23 +45,30 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS], | |||
58 | GNULIB_GETSUBOPT=0; AC_SUBST([GNULIB_GETSUBOPT]) | 45 | GNULIB_GETSUBOPT=0; AC_SUBST([GNULIB_GETSUBOPT]) |
59 | GNULIB_GRANTPT=0; AC_SUBST([GNULIB_GRANTPT]) | 46 | GNULIB_GRANTPT=0; AC_SUBST([GNULIB_GRANTPT]) |
60 | GNULIB_MALLOC_POSIX=0; AC_SUBST([GNULIB_MALLOC_POSIX]) | 47 | GNULIB_MALLOC_POSIX=0; AC_SUBST([GNULIB_MALLOC_POSIX]) |
48 | GNULIB_MBTOWC=0; AC_SUBST([GNULIB_MBTOWC]) | ||
61 | GNULIB_MKDTEMP=0; AC_SUBST([GNULIB_MKDTEMP]) | 49 | GNULIB_MKDTEMP=0; AC_SUBST([GNULIB_MKDTEMP]) |
62 | GNULIB_MKOSTEMP=0; AC_SUBST([GNULIB_MKOSTEMP]) | 50 | GNULIB_MKOSTEMP=0; AC_SUBST([GNULIB_MKOSTEMP]) |
63 | GNULIB_MKOSTEMPS=0; AC_SUBST([GNULIB_MKOSTEMPS]) | 51 | GNULIB_MKOSTEMPS=0; AC_SUBST([GNULIB_MKOSTEMPS]) |
64 | GNULIB_MKSTEMP=0; AC_SUBST([GNULIB_MKSTEMP]) | 52 | GNULIB_MKSTEMP=0; AC_SUBST([GNULIB_MKSTEMP]) |
65 | GNULIB_MKSTEMPS=0; AC_SUBST([GNULIB_MKSTEMPS]) | 53 | GNULIB_MKSTEMPS=0; AC_SUBST([GNULIB_MKSTEMPS]) |
54 | GNULIB_POSIX_OPENPT=0; AC_SUBST([GNULIB_POSIX_OPENPT]) | ||
66 | GNULIB_PTSNAME=0; AC_SUBST([GNULIB_PTSNAME]) | 55 | GNULIB_PTSNAME=0; AC_SUBST([GNULIB_PTSNAME]) |
56 | GNULIB_PTSNAME_R=0; AC_SUBST([GNULIB_PTSNAME_R]) | ||
67 | GNULIB_PUTENV=0; AC_SUBST([GNULIB_PUTENV]) | 57 | GNULIB_PUTENV=0; AC_SUBST([GNULIB_PUTENV]) |
58 | GNULIB_RANDOM=0; AC_SUBST([GNULIB_RANDOM]) | ||
68 | GNULIB_RANDOM_R=0; AC_SUBST([GNULIB_RANDOM_R]) | 59 | GNULIB_RANDOM_R=0; AC_SUBST([GNULIB_RANDOM_R]) |
69 | GNULIB_REALLOC_POSIX=0; AC_SUBST([GNULIB_REALLOC_POSIX]) | 60 | GNULIB_REALLOC_POSIX=0; AC_SUBST([GNULIB_REALLOC_POSIX]) |
70 | GNULIB_REALPATH=0; AC_SUBST([GNULIB_REALPATH]) | 61 | GNULIB_REALPATH=0; AC_SUBST([GNULIB_REALPATH]) |
71 | GNULIB_RPMATCH=0; AC_SUBST([GNULIB_RPMATCH]) | 62 | GNULIB_RPMATCH=0; AC_SUBST([GNULIB_RPMATCH]) |
63 | GNULIB_SECURE_GETENV=0; AC_SUBST([GNULIB_SECURE_GETENV]) | ||
72 | GNULIB_SETENV=0; AC_SUBST([GNULIB_SETENV]) | 64 | GNULIB_SETENV=0; AC_SUBST([GNULIB_SETENV]) |
73 | GNULIB_STRTOD=0; AC_SUBST([GNULIB_STRTOD]) | 65 | GNULIB_STRTOD=0; AC_SUBST([GNULIB_STRTOD]) |
74 | GNULIB_STRTOLL=0; AC_SUBST([GNULIB_STRTOLL]) | 66 | GNULIB_STRTOLL=0; AC_SUBST([GNULIB_STRTOLL]) |
75 | GNULIB_STRTOULL=0; AC_SUBST([GNULIB_STRTOULL]) | 67 | GNULIB_STRTOULL=0; AC_SUBST([GNULIB_STRTOULL]) |
68 | GNULIB_SYSTEM_POSIX=0; AC_SUBST([GNULIB_SYSTEM_POSIX]) | ||
76 | GNULIB_UNLOCKPT=0; AC_SUBST([GNULIB_UNLOCKPT]) | 69 | GNULIB_UNLOCKPT=0; AC_SUBST([GNULIB_UNLOCKPT]) |
77 | GNULIB_UNSETENV=0; AC_SUBST([GNULIB_UNSETENV]) | 70 | GNULIB_UNSETENV=0; AC_SUBST([GNULIB_UNSETENV]) |
71 | GNULIB_WCTOMB=0; AC_SUBST([GNULIB_WCTOMB]) | ||
78 | dnl Assume proper GNU behavior unless another module says otherwise. | 72 | dnl Assume proper GNU behavior unless another module says otherwise. |
79 | HAVE__EXIT=1; AC_SUBST([HAVE__EXIT]) | 73 | HAVE__EXIT=1; AC_SUBST([HAVE__EXIT]) |
80 | HAVE_ATOLL=1; AC_SUBST([HAVE_ATOLL]) | 74 | HAVE_ATOLL=1; AC_SUBST([HAVE_ATOLL]) |
@@ -87,26 +81,37 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS], | |||
87 | HAVE_MKOSTEMPS=1; AC_SUBST([HAVE_MKOSTEMPS]) | 81 | HAVE_MKOSTEMPS=1; AC_SUBST([HAVE_MKOSTEMPS]) |
88 | HAVE_MKSTEMP=1; AC_SUBST([HAVE_MKSTEMP]) | 82 | HAVE_MKSTEMP=1; AC_SUBST([HAVE_MKSTEMP]) |
89 | HAVE_MKSTEMPS=1; AC_SUBST([HAVE_MKSTEMPS]) | 83 | HAVE_MKSTEMPS=1; AC_SUBST([HAVE_MKSTEMPS]) |
84 | HAVE_POSIX_OPENPT=1; AC_SUBST([HAVE_POSIX_OPENPT]) | ||
90 | HAVE_PTSNAME=1; AC_SUBST([HAVE_PTSNAME]) | 85 | HAVE_PTSNAME=1; AC_SUBST([HAVE_PTSNAME]) |
86 | HAVE_PTSNAME_R=1; AC_SUBST([HAVE_PTSNAME_R]) | ||
87 | HAVE_RANDOM=1; AC_SUBST([HAVE_RANDOM]) | ||
88 | HAVE_RANDOM_H=1; AC_SUBST([HAVE_RANDOM_H]) | ||
91 | HAVE_RANDOM_R=1; AC_SUBST([HAVE_RANDOM_R]) | 89 | HAVE_RANDOM_R=1; AC_SUBST([HAVE_RANDOM_R]) |
92 | HAVE_REALPATH=1; AC_SUBST([HAVE_REALPATH]) | 90 | HAVE_REALPATH=1; AC_SUBST([HAVE_REALPATH]) |
93 | HAVE_RPMATCH=1; AC_SUBST([HAVE_RPMATCH]) | 91 | HAVE_RPMATCH=1; AC_SUBST([HAVE_RPMATCH]) |
92 | HAVE_SECURE_GETENV=1; AC_SUBST([HAVE_SECURE_GETENV]) | ||
94 | HAVE_SETENV=1; AC_SUBST([HAVE_SETENV]) | 93 | HAVE_SETENV=1; AC_SUBST([HAVE_SETENV]) |
94 | HAVE_DECL_SETENV=1; AC_SUBST([HAVE_DECL_SETENV]) | ||
95 | HAVE_STRTOD=1; AC_SUBST([HAVE_STRTOD]) | 95 | HAVE_STRTOD=1; AC_SUBST([HAVE_STRTOD]) |
96 | HAVE_STRTOLL=1; AC_SUBST([HAVE_STRTOLL]) | 96 | HAVE_STRTOLL=1; AC_SUBST([HAVE_STRTOLL]) |
97 | HAVE_STRTOULL=1; AC_SUBST([HAVE_STRTOULL]) | 97 | HAVE_STRTOULL=1; AC_SUBST([HAVE_STRTOULL]) |
98 | HAVE_STRUCT_RANDOM_DATA=1; AC_SUBST([HAVE_STRUCT_RANDOM_DATA]) | 98 | HAVE_STRUCT_RANDOM_DATA=1; AC_SUBST([HAVE_STRUCT_RANDOM_DATA]) |
99 | HAVE_SYS_LOADAVG_H=0; AC_SUBST([HAVE_SYS_LOADAVG_H]) | 99 | HAVE_SYS_LOADAVG_H=0; AC_SUBST([HAVE_SYS_LOADAVG_H]) |
100 | HAVE_UNLOCKPT=1; AC_SUBST([HAVE_UNLOCKPT]) | 100 | HAVE_UNLOCKPT=1; AC_SUBST([HAVE_UNLOCKPT]) |
101 | HAVE_UNSETENV=1; AC_SUBST([HAVE_UNSETENV]) | 101 | HAVE_DECL_UNSETENV=1; AC_SUBST([HAVE_DECL_UNSETENV]) |
102 | REPLACE_CALLOC=0; AC_SUBST([REPLACE_CALLOC]) | 102 | REPLACE_CALLOC=0; AC_SUBST([REPLACE_CALLOC]) |
103 | REPLACE_CANONICALIZE_FILE_NAME=0; AC_SUBST([REPLACE_CANONICALIZE_FILE_NAME]) | 103 | REPLACE_CANONICALIZE_FILE_NAME=0; AC_SUBST([REPLACE_CANONICALIZE_FILE_NAME]) |
104 | REPLACE_MALLOC=0; AC_SUBST([REPLACE_MALLOC]) | 104 | REPLACE_MALLOC=0; AC_SUBST([REPLACE_MALLOC]) |
105 | REPLACE_MBTOWC=0; AC_SUBST([REPLACE_MBTOWC]) | ||
105 | REPLACE_MKSTEMP=0; AC_SUBST([REPLACE_MKSTEMP]) | 106 | REPLACE_MKSTEMP=0; AC_SUBST([REPLACE_MKSTEMP]) |
107 | REPLACE_PTSNAME=0; AC_SUBST([REPLACE_PTSNAME]) | ||
108 | REPLACE_PTSNAME_R=0; AC_SUBST([REPLACE_PTSNAME_R]) | ||
106 | REPLACE_PUTENV=0; AC_SUBST([REPLACE_PUTENV]) | 109 | REPLACE_PUTENV=0; AC_SUBST([REPLACE_PUTENV]) |
110 | REPLACE_RANDOM_R=0; AC_SUBST([REPLACE_RANDOM_R]) | ||
107 | REPLACE_REALLOC=0; AC_SUBST([REPLACE_REALLOC]) | 111 | REPLACE_REALLOC=0; AC_SUBST([REPLACE_REALLOC]) |
108 | REPLACE_REALPATH=0; AC_SUBST([REPLACE_REALPATH]) | 112 | REPLACE_REALPATH=0; AC_SUBST([REPLACE_REALPATH]) |
109 | REPLACE_SETENV=0; AC_SUBST([REPLACE_SETENV]) | 113 | REPLACE_SETENV=0; AC_SUBST([REPLACE_SETENV]) |
110 | REPLACE_STRTOD=0; AC_SUBST([REPLACE_STRTOD]) | 114 | REPLACE_STRTOD=0; AC_SUBST([REPLACE_STRTOD]) |
111 | REPLACE_UNSETENV=0; AC_SUBST([REPLACE_UNSETENV]) | 115 | REPLACE_UNSETENV=0; AC_SUBST([REPLACE_UNSETENV]) |
116 | REPLACE_WCTOMB=0; AC_SUBST([REPLACE_WCTOMB]) | ||
112 | ]) | 117 | ]) |
diff --git a/gl/m4/strdup.m4 b/gl/m4/strdup.m4 deleted file mode 100644 index ce40c215..00000000 --- a/gl/m4/strdup.m4 +++ /dev/null | |||
@@ -1,45 +0,0 @@ | |||
1 | # strdup.m4 serial 12 | ||
2 | |||
3 | dnl Copyright (C) 2002-2010 Free Software Foundation, Inc. | ||
4 | |||
5 | dnl This file is free software; the Free Software Foundation | ||
6 | dnl gives unlimited permission to copy and/or distribute it, | ||
7 | dnl with or without modifications, as long as this notice is preserved. | ||
8 | |||
9 | AC_DEFUN([gl_FUNC_STRDUP], | ||
10 | [ | ||
11 | AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) | ||
12 | AC_CHECK_FUNCS_ONCE([strdup]) | ||
13 | if test $ac_cv_func_strdup != yes; then | ||
14 | AC_LIBOBJ([strdup]) | ||
15 | gl_PREREQ_STRDUP | ||
16 | fi | ||
17 | AC_CHECK_DECLS_ONCE([strdup]) | ||
18 | if test $ac_cv_have_decl_strdup = no; then | ||
19 | HAVE_DECL_STRDUP=0 | ||
20 | fi | ||
21 | ]) | ||
22 | |||
23 | AC_DEFUN([gl_FUNC_STRDUP_POSIX], | ||
24 | [ | ||
25 | AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) | ||
26 | AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) | ||
27 | AC_CHECK_FUNCS_ONCE([strdup]) | ||
28 | if test $ac_cv_func_strdup = yes; then | ||
29 | if test $gl_cv_func_malloc_posix != yes; then | ||
30 | REPLACE_STRDUP=1 | ||
31 | AC_LIBOBJ([strdup]) | ||
32 | gl_PREREQ_STRDUP | ||
33 | fi | ||
34 | else | ||
35 | AC_LIBOBJ([strdup]) | ||
36 | gl_PREREQ_STRDUP | ||
37 | fi | ||
38 | AC_CHECK_DECLS_ONCE([strdup]) | ||
39 | if test $ac_cv_have_decl_strdup = no; then | ||
40 | HAVE_DECL_STRDUP=0 | ||
41 | fi | ||
42 | ]) | ||
43 | |||
44 | # Prerequisites of lib/strdup.c. | ||
45 | AC_DEFUN([gl_PREREQ_STRDUP], [:]) | ||
diff --git a/gl/m4/strerror.m4 b/gl/m4/strerror.m4 index 1649b245..3989844b 100644 --- a/gl/m4/strerror.m4 +++ b/gl/m4/strerror.m4 | |||
@@ -1,68 +1,96 @@ | |||
1 | # strerror.m4 serial 9 | 1 | # strerror.m4 serial 17 |
2 | dnl Copyright (C) 2002, 2007-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002, 2007-2013 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_STRERROR], | 7 | AC_DEFUN([gl_FUNC_STRERROR], |
8 | [ | 8 | [ |
9 | AC_REQUIRE([gl_FUNC_STRERROR_SEPARATE]) | ||
10 | if test $REPLACE_STRERROR = 1; then | ||
11 | AC_LIBOBJ([strerror]) | ||
12 | AC_DEFINE_UNQUOTED([REPLACE_STRERROR], [$REPLACE_STRERROR], | ||
13 | [Define this to 1 if strerror is broken.]) | ||
14 | fi | ||
15 | ]) | ||
16 | |||
17 | # Like gl_FUNC_STRERROR, except prepare for separate compilation (no AC_LIBOBJ). | ||
18 | AC_DEFUN([gl_FUNC_STRERROR_SEPARATE], | ||
19 | [ | ||
20 | AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) | 9 | AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) |
21 | AC_REQUIRE([gl_HEADER_ERRNO_H]) | 10 | AC_REQUIRE([gl_HEADER_ERRNO_H]) |
22 | if test -z "$ERRNO_H"; then | 11 | AC_REQUIRE([gl_FUNC_STRERROR_0]) |
12 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
13 | m4_ifdef([gl_FUNC_STRERROR_R_WORKS], [ | ||
14 | AC_REQUIRE([gl_FUNC_STRERROR_R_WORKS]) | ||
15 | ]) | ||
16 | if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then | ||
23 | AC_CACHE_CHECK([for working strerror function], | 17 | AC_CACHE_CHECK([for working strerror function], |
24 | [gl_cv_func_working_strerror], | 18 | [gl_cv_func_working_strerror], |
25 | [AC_RUN_IFELSE( | 19 | [AC_RUN_IFELSE( |
26 | [AC_LANG_PROGRAM( | 20 | [AC_LANG_PROGRAM( |
27 | [[#include <string.h> | 21 | [[#include <string.h> |
28 | ]], | 22 | ]], |
29 | [[return !*strerror (-2);]])], | 23 | [[if (!*strerror (-2)) return 1;]])], |
30 | [gl_cv_func_working_strerror=yes], | 24 | [gl_cv_func_working_strerror=yes], |
31 | [gl_cv_func_working_strerror=no], | 25 | [gl_cv_func_working_strerror=no], |
32 | [dnl Assume crossbuild works if it compiles. | 26 | [case "$host_os" in |
33 | AC_COMPILE_IFELSE( | 27 | # Guess yes on glibc systems. |
34 | [AC_LANG_PROGRAM( | 28 | *-gnu*) gl_cv_func_working_strerror="guessing yes" ;; |
35 | [[#include <string.h> | 29 | # If we don't know, assume the worst. |
36 | ]], | 30 | *) gl_cv_func_working_strerror="guessing no" ;; |
37 | [[return !*strerror (-2);]])], | 31 | esac |
38 | [gl_cv_func_working_strerror=yes], | 32 | ]) |
39 | [gl_cv_func_working_strerror=no]) | 33 | ]) |
40 | ]) | 34 | case "$gl_cv_func_working_strerror" in |
35 | *yes) ;; | ||
36 | *) | ||
37 | dnl The system's strerror() fails to return a string for out-of-range | ||
38 | dnl integers. Replace it. | ||
39 | REPLACE_STRERROR=1 | ||
40 | ;; | ||
41 | esac | ||
42 | m4_ifdef([gl_FUNC_STRERROR_R_WORKS], [ | ||
43 | dnl If the system's strerror_r or __xpg_strerror_r clobbers strerror's | ||
44 | dnl buffer, we must replace strerror. | ||
45 | case "$gl_cv_func_strerror_r_works" in | ||
46 | *no) REPLACE_STRERROR=1 ;; | ||
47 | esac | ||
41 | ]) | 48 | ]) |
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 | 49 | else |
48 | dnl The system's strerror() cannot know about the new errno values we add | 50 | dnl The system's strerror() cannot know about the new errno values we add |
49 | dnl to <errno.h>. Replace it. | 51 | dnl to <errno.h>, or any fix for strerror(0). Replace it. |
50 | REPLACE_STRERROR=1 | 52 | REPLACE_STRERROR=1 |
51 | fi | 53 | fi |
52 | if test $REPLACE_STRERROR = 1; then | ||
53 | gl_PREREQ_STRERROR | ||
54 | fi | ||
55 | ]) | 54 | ]) |
56 | 55 | ||
57 | # Prerequisites of lib/strerror.c. | 56 | dnl Detect if strerror(0) passes (that is, does not set errno, and does not |
58 | AC_DEFUN([gl_PREREQ_STRERROR], [ | 57 | dnl return a string that matches strerror(-1)). |
59 | AC_CHECK_DECLS([strerror]) | 58 | AC_DEFUN([gl_FUNC_STRERROR_0], |
60 | AC_CHECK_HEADERS_ONCE([sys/socket.h]) | 59 | [ |
61 | if test $ac_cv_header_sys_socket_h != yes; then | 60 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles |
62 | dnl We cannot use AC_CHECK_HEADERS_ONCE here, because that would make | 61 | REPLACE_STRERROR_0=0 |
63 | dnl the check for those headers unconditional; yet cygwin reports | 62 | AC_CACHE_CHECK([whether strerror(0) succeeds], |
64 | dnl that the headers are present but cannot be compiled (since on | 63 | [gl_cv_func_strerror_0_works], |
65 | dnl cygwin, all socket information should come from sys/socket.h). | 64 | [AC_RUN_IFELSE( |
66 | AC_CHECK_HEADERS([winsock2.h]) | 65 | [AC_LANG_PROGRAM( |
67 | fi | 66 | [[#include <string.h> |
67 | #include <errno.h> | ||
68 | ]], | ||
69 | [[int result = 0; | ||
70 | char *str; | ||
71 | errno = 0; | ||
72 | str = strerror (0); | ||
73 | if (!*str) result |= 1; | ||
74 | if (errno) result |= 2; | ||
75 | if (strstr (str, "nknown") || strstr (str, "ndefined")) | ||
76 | result |= 4; | ||
77 | return result;]])], | ||
78 | [gl_cv_func_strerror_0_works=yes], | ||
79 | [gl_cv_func_strerror_0_works=no], | ||
80 | [case "$host_os" in | ||
81 | # Guess yes on glibc systems. | ||
82 | *-gnu*) gl_cv_func_strerror_0_works="guessing yes" ;; | ||
83 | # If we don't know, assume the worst. | ||
84 | *) gl_cv_func_strerror_0_works="guessing no" ;; | ||
85 | esac | ||
86 | ]) | ||
87 | ]) | ||
88 | case "$gl_cv_func_strerror_0_works" in | ||
89 | *yes) ;; | ||
90 | *) | ||
91 | REPLACE_STRERROR_0=1 | ||
92 | AC_DEFINE([REPLACE_STRERROR_0], [1], [Define to 1 if strerror(0) | ||
93 | does not return a message implying success.]) | ||
94 | ;; | ||
95 | esac | ||
68 | ]) | 96 | ]) |
diff --git a/gl/m4/string_h.m4 b/gl/m4/string_h.m4 index 1977aecf..cc5fbbb3 100644 --- a/gl/m4/string_h.m4 +++ b/gl/m4/string_h.m4 | |||
@@ -1,11 +1,11 @@ | |||
1 | # Configure a GNU-like replacement for <string.h>. | 1 | # Configure a GNU-like replacement for <string.h>. |
2 | 2 | ||
3 | # Copyright (C) 2007-2010 Free Software Foundation, Inc. | 3 | # Copyright (C) 2007-2013 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. |
7 | 7 | ||
8 | # serial 17 | 8 | # serial 21 |
9 | 9 | ||
10 | # Written by Paul Eggert. | 10 | # Written by Paul Eggert. |
11 | 11 | ||
@@ -20,16 +20,16 @@ AC_DEFUN([gl_HEADER_STRING_H_BODY], | |||
20 | [ | 20 | [ |
21 | AC_REQUIRE([AC_C_RESTRICT]) | 21 | AC_REQUIRE([AC_C_RESTRICT]) |
22 | AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) | 22 | AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) |
23 | gl_CHECK_NEXT_HEADERS([string.h]) | 23 | gl_NEXT_HEADERS([string.h]) |
24 | 24 | ||
25 | dnl Check for declarations of anything we want to poison if the | 25 | dnl Check for declarations of anything we want to poison if the |
26 | dnl corresponding gnulib module is not in use, and which is not | 26 | dnl corresponding gnulib module is not in use, and which is not |
27 | dnl guaranteed by C89. | 27 | dnl guaranteed by C89. |
28 | gl_WARN_ON_USE_PREPARE([[#include <string.h> | 28 | gl_WARN_ON_USE_PREPARE([[#include <string.h> |
29 | ]], | 29 | ]], |
30 | [memmem mempcpy memrchr rawmemchr stpcpy stpncpy strchrnul strdup | 30 | [ffsl ffsll memmem mempcpy memrchr rawmemchr stpcpy stpncpy strchrnul |
31 | strncat strndup strnlen strpbrk strsep strcasestr strtok_r strsignal | 31 | strdup strncat strndup strnlen strpbrk strsep strcasestr strtok_r |
32 | strverscmp]) | 32 | strerror_r strsignal strverscmp]) |
33 | ]) | 33 | ]) |
34 | 34 | ||
35 | AC_DEFUN([gl_STRING_MODULE_INDICATOR], | 35 | AC_DEFUN([gl_STRING_MODULE_INDICATOR], |
@@ -43,6 +43,8 @@ AC_DEFUN([gl_STRING_MODULE_INDICATOR], | |||
43 | 43 | ||
44 | AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS], | 44 | AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS], |
45 | [ | 45 | [ |
46 | GNULIB_FFSL=0; AC_SUBST([GNULIB_FFSL]) | ||
47 | GNULIB_FFSLL=0; AC_SUBST([GNULIB_FFSLL]) | ||
46 | GNULIB_MEMCHR=0; AC_SUBST([GNULIB_MEMCHR]) | 48 | GNULIB_MEMCHR=0; AC_SUBST([GNULIB_MEMCHR]) |
47 | GNULIB_MEMMEM=0; AC_SUBST([GNULIB_MEMMEM]) | 49 | GNULIB_MEMMEM=0; AC_SUBST([GNULIB_MEMMEM]) |
48 | GNULIB_MEMPCPY=0; AC_SUBST([GNULIB_MEMPCPY]) | 50 | GNULIB_MEMPCPY=0; AC_SUBST([GNULIB_MEMPCPY]) |
@@ -75,10 +77,13 @@ AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS], | |||
75 | GNULIB_MBSSEP=0; AC_SUBST([GNULIB_MBSSEP]) | 77 | GNULIB_MBSSEP=0; AC_SUBST([GNULIB_MBSSEP]) |
76 | GNULIB_MBSTOK_R=0; AC_SUBST([GNULIB_MBSTOK_R]) | 78 | GNULIB_MBSTOK_R=0; AC_SUBST([GNULIB_MBSTOK_R]) |
77 | GNULIB_STRERROR=0; AC_SUBST([GNULIB_STRERROR]) | 79 | GNULIB_STRERROR=0; AC_SUBST([GNULIB_STRERROR]) |
80 | GNULIB_STRERROR_R=0; AC_SUBST([GNULIB_STRERROR_R]) | ||
78 | GNULIB_STRSIGNAL=0; AC_SUBST([GNULIB_STRSIGNAL]) | 81 | GNULIB_STRSIGNAL=0; AC_SUBST([GNULIB_STRSIGNAL]) |
79 | GNULIB_STRVERSCMP=0; AC_SUBST([GNULIB_STRVERSCMP]) | 82 | GNULIB_STRVERSCMP=0; AC_SUBST([GNULIB_STRVERSCMP]) |
80 | HAVE_MBSLEN=0; AC_SUBST([HAVE_MBSLEN]) | 83 | HAVE_MBSLEN=0; AC_SUBST([HAVE_MBSLEN]) |
81 | dnl Assume proper GNU behavior unless another module says otherwise. | 84 | dnl Assume proper GNU behavior unless another module says otherwise. |
85 | HAVE_FFSL=1; AC_SUBST([HAVE_FFSL]) | ||
86 | HAVE_FFSLL=1; AC_SUBST([HAVE_FFSLL]) | ||
82 | HAVE_MEMCHR=1; AC_SUBST([HAVE_MEMCHR]) | 87 | HAVE_MEMCHR=1; AC_SUBST([HAVE_MEMCHR]) |
83 | HAVE_DECL_MEMMEM=1; AC_SUBST([HAVE_DECL_MEMMEM]) | 88 | HAVE_DECL_MEMMEM=1; AC_SUBST([HAVE_DECL_MEMMEM]) |
84 | HAVE_MEMPCPY=1; AC_SUBST([HAVE_MEMPCPY]) | 89 | HAVE_MEMPCPY=1; AC_SUBST([HAVE_MEMPCPY]) |
@@ -94,6 +99,7 @@ AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS], | |||
94 | HAVE_STRSEP=1; AC_SUBST([HAVE_STRSEP]) | 99 | HAVE_STRSEP=1; AC_SUBST([HAVE_STRSEP]) |
95 | HAVE_STRCASESTR=1; AC_SUBST([HAVE_STRCASESTR]) | 100 | HAVE_STRCASESTR=1; AC_SUBST([HAVE_STRCASESTR]) |
96 | HAVE_DECL_STRTOK_R=1; AC_SUBST([HAVE_DECL_STRTOK_R]) | 101 | HAVE_DECL_STRTOK_R=1; AC_SUBST([HAVE_DECL_STRTOK_R]) |
102 | HAVE_DECL_STRERROR_R=1; AC_SUBST([HAVE_DECL_STRERROR_R]) | ||
97 | HAVE_DECL_STRSIGNAL=1; AC_SUBST([HAVE_DECL_STRSIGNAL]) | 103 | HAVE_DECL_STRSIGNAL=1; AC_SUBST([HAVE_DECL_STRSIGNAL]) |
98 | HAVE_STRVERSCMP=1; AC_SUBST([HAVE_STRVERSCMP]) | 104 | HAVE_STRVERSCMP=1; AC_SUBST([HAVE_STRVERSCMP]) |
99 | REPLACE_MEMCHR=0; AC_SUBST([REPLACE_MEMCHR]) | 105 | REPLACE_MEMCHR=0; AC_SUBST([REPLACE_MEMCHR]) |
@@ -102,7 +108,9 @@ AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS], | |||
102 | REPLACE_STRDUP=0; AC_SUBST([REPLACE_STRDUP]) | 108 | REPLACE_STRDUP=0; AC_SUBST([REPLACE_STRDUP]) |
103 | REPLACE_STRSTR=0; AC_SUBST([REPLACE_STRSTR]) | 109 | REPLACE_STRSTR=0; AC_SUBST([REPLACE_STRSTR]) |
104 | REPLACE_STRCASESTR=0; AC_SUBST([REPLACE_STRCASESTR]) | 110 | REPLACE_STRCASESTR=0; AC_SUBST([REPLACE_STRCASESTR]) |
111 | REPLACE_STRCHRNUL=0; AC_SUBST([REPLACE_STRCHRNUL]) | ||
105 | REPLACE_STRERROR=0; AC_SUBST([REPLACE_STRERROR]) | 112 | REPLACE_STRERROR=0; AC_SUBST([REPLACE_STRERROR]) |
113 | REPLACE_STRERROR_R=0; AC_SUBST([REPLACE_STRERROR_R]) | ||
106 | REPLACE_STRNCAT=0; AC_SUBST([REPLACE_STRNCAT]) | 114 | REPLACE_STRNCAT=0; AC_SUBST([REPLACE_STRNCAT]) |
107 | REPLACE_STRNDUP=0; AC_SUBST([REPLACE_STRNDUP]) | 115 | REPLACE_STRNDUP=0; AC_SUBST([REPLACE_STRNDUP]) |
108 | REPLACE_STRNLEN=0; AC_SUBST([REPLACE_STRNLEN]) | 116 | REPLACE_STRNLEN=0; AC_SUBST([REPLACE_STRNLEN]) |
diff --git a/gl/m4/strndup.m4 b/gl/m4/strndup.m4 index 810313cd..a1f82743 100644 --- a/gl/m4/strndup.m4 +++ b/gl/m4/strndup.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # strndup.m4 serial 17 | 1 | # strndup.m4 serial 21 |
2 | dnl Copyright (C) 2002-2003, 2005-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2003, 2005-2013 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. |
@@ -18,13 +18,18 @@ AC_DEFUN([gl_FUNC_STRNDUP], | |||
18 | fi | 18 | fi |
19 | 19 | ||
20 | if test $ac_cv_func_strndup = yes; then | 20 | if test $ac_cv_func_strndup = yes; then |
21 | HAVE_STRNDUP=1 | ||
21 | # AIX 4.3.3, AIX 5.1 have a function that fails to add the terminating '\0'. | 22 | # AIX 4.3.3, AIX 5.1 have a function that fails to add the terminating '\0'. |
22 | AC_CACHE_CHECK([for working strndup], [gl_cv_func_strndup_works], | 23 | AC_CACHE_CHECK([for working strndup], [gl_cv_func_strndup_works], |
23 | [AC_RUN_IFELSE([ | 24 | [AC_RUN_IFELSE([ |
24 | AC_LANG_PROGRAM([[#include <string.h> | 25 | AC_LANG_PROGRAM([[#include <string.h> |
25 | #include <stdlib.h>]], [[ | 26 | #include <stdlib.h>]], [[ |
26 | #ifndef HAVE_DECL_STRNDUP | 27 | #if !HAVE_DECL_STRNDUP |
27 | extern char *strndup (const char *, size_t); | 28 | extern |
29 | #ifdef __cplusplus | ||
30 | "C" | ||
31 | #endif | ||
32 | char *strndup (const char *, size_t); | ||
28 | #endif | 33 | #endif |
29 | char *s; | 34 | char *s; |
30 | s = strndup ("some longer string", 15); | 35 | s = strndup ("some longer string", 15); |
@@ -33,17 +38,18 @@ AC_DEFUN([gl_FUNC_STRNDUP], | |||
33 | return s[13] != '\0';]])], | 38 | return s[13] != '\0';]])], |
34 | [gl_cv_func_strndup_works=yes], | 39 | [gl_cv_func_strndup_works=yes], |
35 | [gl_cv_func_strndup_works=no], | 40 | [gl_cv_func_strndup_works=no], |
36 | [case $host_os in | 41 | [ |
37 | aix*) gl_cv_func_strndup_works="guessing no";; | 42 | changequote(,)dnl |
38 | *) gl_cv_func_strndup_works="guessing yes";; | 43 | case $host_os in |
39 | esac])]) | 44 | aix | aix[3-6]*) gl_cv_func_strndup_works="guessing no";; |
45 | *) gl_cv_func_strndup_works="guessing yes";; | ||
46 | esac | ||
47 | changequote([,])dnl | ||
48 | ])]) | ||
40 | case $gl_cv_func_strndup_works in | 49 | case $gl_cv_func_strndup_works in |
41 | *no) | 50 | *no) REPLACE_STRNDUP=1 ;; |
42 | REPLACE_STRNDUP=1 | ||
43 | AC_LIBOBJ([strndup]) | ||
44 | ;; | ||
45 | esac | 51 | esac |
46 | else | 52 | else |
47 | AC_LIBOBJ([strndup]) | 53 | HAVE_STRNDUP=0 |
48 | fi | 54 | fi |
49 | ]) | 55 | ]) |
diff --git a/gl/m4/strnlen.m4 b/gl/m4/strnlen.m4 index 52bb838f..eae82b77 100644 --- a/gl/m4/strnlen.m4 +++ b/gl/m4/strnlen.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # strnlen.m4 serial 12 | 1 | # strnlen.m4 serial 13 |
2 | dnl Copyright (C) 2002-2003, 2005-2007, 2009-2010 Free Software Foundation, | 2 | dnl Copyright (C) 2002-2003, 2005-2007, 2009-2013 Free Software Foundation, |
3 | dnl Inc. | 3 | dnl 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, |
@@ -16,16 +16,14 @@ AC_DEFUN([gl_FUNC_STRNLEN], | |||
16 | if test $ac_cv_have_decl_strnlen = no; then | 16 | if test $ac_cv_have_decl_strnlen = no; then |
17 | HAVE_DECL_STRNLEN=0 | 17 | HAVE_DECL_STRNLEN=0 |
18 | else | 18 | else |
19 | AC_FUNC_STRNLEN | 19 | m4_pushdef([AC_LIBOBJ], [:]) |
20 | dnl Note: AC_FUNC_STRNLEN does AC_LIBOBJ([strnlen]). | 20 | dnl Note: AC_FUNC_STRNLEN does AC_LIBOBJ([strnlen]). |
21 | AC_FUNC_STRNLEN | ||
22 | m4_popdef([AC_LIBOBJ]) | ||
21 | if test $ac_cv_func_strnlen_working = no; then | 23 | if test $ac_cv_func_strnlen_working = no; then |
22 | REPLACE_STRNLEN=1 | 24 | REPLACE_STRNLEN=1 |
23 | fi | 25 | fi |
24 | fi | 26 | fi |
25 | if test $HAVE_DECL_STRNLEN = 0 || test $REPLACE_STRNLEN = 1; then | ||
26 | AC_LIBOBJ([strnlen]) | ||
27 | gl_PREREQ_STRNLEN | ||
28 | fi | ||
29 | ]) | 27 | ]) |
30 | 28 | ||
31 | # Prerequisites of lib/strnlen.c. | 29 | # Prerequisites of lib/strnlen.c. |
diff --git a/gl/m4/strsep.m4 b/gl/m4/strsep.m4 index fb4d396b..825fdb81 100644 --- a/gl/m4/strsep.m4 +++ b/gl/m4/strsep.m4 | |||
@@ -1,6 +1,5 @@ | |||
1 | # strsep.m4 serial 9 | 1 | # strsep.m4 serial 10 |
2 | dnl Copyright (C) 2002, 2003, 2004, 2007, 2009, 2010 Free Software Foundation, | 2 | dnl Copyright (C) 2002-2004, 2007, 2009-2013 Free Software Foundation, Inc. |
3 | dnl Inc. | ||
4 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
5 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
6 | 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. |
@@ -14,10 +13,9 @@ AC_DEFUN([gl_FUNC_STRSEP], | |||
14 | AC_REQUIRE([AC_C_RESTRICT]) | 13 | AC_REQUIRE([AC_C_RESTRICT]) |
15 | 14 | ||
16 | AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) | 15 | AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) |
17 | AC_REPLACE_FUNCS([strsep]) | 16 | AC_CHECK_FUNCS([strsep]) |
18 | if test $ac_cv_func_strsep = no; then | 17 | if test $ac_cv_func_strsep = no; then |
19 | HAVE_STRSEP=0 | 18 | HAVE_STRSEP=0 |
20 | gl_PREREQ_STRSEP | ||
21 | fi | 19 | fi |
22 | ]) | 20 | ]) |
23 | 21 | ||
diff --git a/gl/m4/strstr.m4 b/gl/m4/strstr.m4 index 779957aa..c486bdb0 100644 --- a/gl/m4/strstr.m4 +++ b/gl/m4/strstr.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # strstr.m4 serial 7 | 1 | # strstr.m4 serial 16 |
2 | dnl Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2008-2013 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,7 +11,51 @@ AC_DEFUN([gl_FUNC_STRSTR_SIMPLE], | |||
11 | AC_REQUIRE([gl_FUNC_MEMCHR]) | 11 | AC_REQUIRE([gl_FUNC_MEMCHR]) |
12 | if test "$gl_cv_func_memchr_works" != yes; then | 12 | if test "$gl_cv_func_memchr_works" != yes; then |
13 | REPLACE_STRSTR=1 | 13 | REPLACE_STRSTR=1 |
14 | AC_LIBOBJ([strstr]) | 14 | else |
15 | dnl Detect http://sourceware.org/bugzilla/show_bug.cgi?id=12092. | ||
16 | AC_CACHE_CHECK([whether strstr works], | ||
17 | [gl_cv_func_strstr_works_always], | ||
18 | [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ | ||
19 | #include <string.h> /* for strstr */ | ||
20 | #define P "_EF_BF_BD" | ||
21 | #define HAYSTACK "F_BD_CE_BD" P P P P "_C3_88_20" P P P "_C3_A7_20" P | ||
22 | #define NEEDLE P P P P P | ||
23 | ]], [[return !!strstr (HAYSTACK, NEEDLE); | ||
24 | ]])], | ||
25 | [gl_cv_func_strstr_works_always=yes], | ||
26 | [gl_cv_func_strstr_works_always=no], | ||
27 | [dnl glibc 2.12 and cygwin 1.7.7 have a known bug. uClibc is not | ||
28 | dnl affected, since it uses different source code for strstr than | ||
29 | dnl glibc. | ||
30 | dnl Assume that it works on all other platforms, even if it is not | ||
31 | dnl linear. | ||
32 | AC_EGREP_CPP([Lucky user], | ||
33 | [ | ||
34 | #ifdef __GNU_LIBRARY__ | ||
35 | #include <features.h> | ||
36 | #if ((__GLIBC__ == 2 && __GLIBC_MINOR__ > 12) || (__GLIBC__ > 2)) \ | ||
37 | || defined __UCLIBC__ | ||
38 | Lucky user | ||
39 | #endif | ||
40 | #elif defined __CYGWIN__ | ||
41 | #include <cygwin/version.h> | ||
42 | #if CYGWIN_VERSION_DLL_COMBINED > CYGWIN_VERSION_DLL_MAKE_COMBINED (1007, 7) | ||
43 | Lucky user | ||
44 | #endif | ||
45 | #else | ||
46 | Lucky user | ||
47 | #endif | ||
48 | ], | ||
49 | [gl_cv_func_strstr_works_always="guessing yes"], | ||
50 | [gl_cv_func_strstr_works_always="guessing no"]) | ||
51 | ]) | ||
52 | ]) | ||
53 | case "$gl_cv_func_strstr_works_always" in | ||
54 | *yes) ;; | ||
55 | *) | ||
56 | REPLACE_STRSTR=1 | ||
57 | ;; | ||
58 | esac | ||
15 | fi | 59 | fi |
16 | ]) # gl_FUNC_STRSTR_SIMPLE | 60 | ]) # gl_FUNC_STRSTR_SIMPLE |
17 | 61 | ||
@@ -24,16 +68,18 @@ AC_DEFUN([gl_FUNC_STRSTR], | |||
24 | [gl_cv_func_strstr_linear], | 68 | [gl_cv_func_strstr_linear], |
25 | [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ | 69 | [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ |
26 | #include <signal.h> /* for signal */ | 70 | #include <signal.h> /* for signal */ |
27 | #include <string.h> /* for memmem */ | 71 | #include <string.h> /* for strstr */ |
28 | #include <stdlib.h> /* for malloc */ | 72 | #include <stdlib.h> /* for malloc */ |
29 | #include <unistd.h> /* for alarm */ | 73 | #include <unistd.h> /* for alarm */ |
30 | ]], [[size_t m = 1000000; | 74 | static void quit (int sig) { exit (sig + 128); } |
75 | ]], [[ | ||
76 | int result = 0; | ||
77 | size_t m = 1000000; | ||
31 | char *haystack = (char *) malloc (2 * m + 2); | 78 | char *haystack = (char *) malloc (2 * m + 2); |
32 | char *needle = (char *) malloc (m + 2); | 79 | char *needle = (char *) malloc (m + 2); |
33 | void *result = 0; | ||
34 | /* Failure to compile this test due to missing alarm is okay, | 80 | /* Failure to compile this test due to missing alarm is okay, |
35 | since all such platforms (mingw) also have quadratic strstr. */ | 81 | since all such platforms (mingw) also have quadratic strstr. */ |
36 | signal (SIGALRM, SIG_DFL); | 82 | signal (SIGALRM, quit); |
37 | alarm (5); | 83 | alarm (5); |
38 | /* Check for quadratic performance. */ | 84 | /* Check for quadratic performance. */ |
39 | if (haystack && needle) | 85 | if (haystack && needle) |
@@ -44,36 +90,41 @@ AC_DEFUN([gl_FUNC_STRSTR], | |||
44 | memset (needle, 'A', m); | 90 | memset (needle, 'A', m); |
45 | needle[m] = 'B'; | 91 | needle[m] = 'B'; |
46 | needle[m + 1] = 0; | 92 | needle[m + 1] = 0; |
47 | result = strstr (haystack, needle); | 93 | if (!strstr (haystack, needle)) |
94 | result |= 1; | ||
48 | } | 95 | } |
49 | return !result;]])], | 96 | return result; |
97 | ]])], | ||
50 | [gl_cv_func_strstr_linear=yes], [gl_cv_func_strstr_linear=no], | 98 | [gl_cv_func_strstr_linear=yes], [gl_cv_func_strstr_linear=no], |
51 | [dnl Only glibc >= 2.9 and cygwin >= 1.7.0 are known to have a | 99 | [dnl Only glibc > 2.12 on processors without SSE 4.2 instructions and |
52 | dnl strstr that works in linear time. | 100 | dnl cygwin > 1.7.7 are known to have a bug-free strstr that works in |
101 | dnl linear time. | ||
53 | AC_EGREP_CPP([Lucky user], | 102 | AC_EGREP_CPP([Lucky user], |
54 | [ | 103 | [ |
55 | #include <features.h> | 104 | #include <features.h> |
56 | #ifdef __GNU_LIBRARY__ | 105 | #ifdef __GNU_LIBRARY__ |
57 | #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 9) || (__GLIBC__ > 2) | 106 | #if ((__GLIBC__ == 2 && __GLIBC_MINOR__ > 12) || (__GLIBC__ > 2)) \ |
107 | && !(defined __i386__ || defined __x86_64__) \ | ||
108 | && !defined __UCLIBC__ | ||
58 | Lucky user | 109 | Lucky user |
59 | #endif | 110 | #endif |
60 | #endif | 111 | #endif |
61 | #ifdef __CYGWIN__ | 112 | #ifdef __CYGWIN__ |
62 | #include <cygwin/version.h> | 113 | #include <cygwin/version.h> |
63 | #if CYGWIN_VERSION_DLL_MAJOR >= 1007 | 114 | #if CYGWIN_VERSION_DLL_COMBINED > CYGWIN_VERSION_DLL_MAKE_COMBINED (1007, 7) |
64 | Lucky user | 115 | Lucky user |
65 | #endif | 116 | #endif |
66 | #endif | 117 | #endif |
67 | ], | 118 | ], |
68 | [gl_cv_func_strstr_linear=yes], | 119 | [gl_cv_func_strstr_linear="guessing yes"], |
69 | [gl_cv_func_strstr_linear="guessing no"]) | 120 | [gl_cv_func_strstr_linear="guessing no"]) |
70 | ]) | 121 | ]) |
71 | ]) | 122 | ]) |
72 | if test "$gl_cv_func_strstr_linear" != yes; then | 123 | case "$gl_cv_func_strstr_linear" in |
73 | REPLACE_STRSTR=1 | 124 | *yes) ;; |
74 | fi | 125 | *) |
75 | fi | 126 | REPLACE_STRSTR=1 |
76 | if test $REPLACE_STRSTR = 1; then | 127 | ;; |
77 | AC_LIBOBJ([strstr]) | 128 | esac |
78 | fi | 129 | fi |
79 | ]) # gl_FUNC_STRSTR | 130 | ]) # gl_FUNC_STRSTR |
diff --git a/gl/m4/sys_socket_h.m4 b/gl/m4/sys_socket_h.m4 index 9f4db562..94863776 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 17 | 1 | # sys_socket_h.m4 serial 23 |
2 | dnl Copyright (C) 2005-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2005-2013 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,18 @@ dnl From Simon Josefsson. | |||
9 | AC_DEFUN([gl_HEADER_SYS_SOCKET], | 9 | AC_DEFUN([gl_HEADER_SYS_SOCKET], |
10 | [ | 10 | [ |
11 | AC_REQUIRE([gl_SYS_SOCKET_H_DEFAULTS]) | 11 | AC_REQUIRE([gl_SYS_SOCKET_H_DEFAULTS]) |
12 | AC_REQUIRE([AC_C_INLINE]) | 12 | AC_REQUIRE([AC_CANONICAL_HOST]) |
13 | |||
14 | dnl On OSF/1, the functions recv(), send(), recvfrom(), sendto() have | ||
15 | dnl old-style declarations (with return type 'int' instead of 'ssize_t') | ||
16 | dnl unless _POSIX_PII_SOCKET is defined. | ||
17 | case "$host_os" in | ||
18 | osf*) | ||
19 | AC_DEFINE([_POSIX_PII_SOCKET], [1], | ||
20 | [Define to 1 in order to get the POSIX compatible declarations | ||
21 | of socket functions.]) | ||
22 | ;; | ||
23 | esac | ||
13 | 24 | ||
14 | AC_CACHE_CHECK([whether <sys/socket.h> is self-contained], | 25 | AC_CACHE_CHECK([whether <sys/socket.h> is self-contained], |
15 | [gl_cv_header_sys_socket_h_selfcontained], | 26 | [gl_cv_header_sys_socket_h_selfcontained], |
@@ -57,6 +68,23 @@ AC_DEFUN([gl_HEADER_SYS_SOCKET], | |||
57 | if test $ac_cv_type_sa_family_t = no; then | 68 | if test $ac_cv_type_sa_family_t = no; then |
58 | HAVE_SA_FAMILY_T=0 | 69 | HAVE_SA_FAMILY_T=0 |
59 | fi | 70 | fi |
71 | if test $ac_cv_type_struct_sockaddr_storage != no; then | ||
72 | AC_CHECK_MEMBERS([struct sockaddr_storage.ss_family], | ||
73 | [], | ||
74 | [HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY=0], | ||
75 | [#include <sys/types.h> | ||
76 | #ifdef HAVE_SYS_SOCKET_H | ||
77 | #include <sys/socket.h> | ||
78 | #endif | ||
79 | #ifdef HAVE_WS2TCPIP_H | ||
80 | #include <ws2tcpip.h> | ||
81 | #endif | ||
82 | ]) | ||
83 | fi | ||
84 | if test $HAVE_STRUCT_SOCKADDR_STORAGE = 0 || test $HAVE_SA_FAMILY_T = 0 \ | ||
85 | || test $HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = 0; then | ||
86 | SYS_SOCKET_H='sys/socket.h' | ||
87 | fi | ||
60 | gl_PREREQ_SYS_H_WINSOCK2 | 88 | gl_PREREQ_SYS_H_WINSOCK2 |
61 | 89 | ||
62 | dnl Check for declarations of anything we want to poison if the | 90 | dnl Check for declarations of anything we want to poison if the |
@@ -64,10 +92,7 @@ AC_DEFUN([gl_HEADER_SYS_SOCKET], | |||
64 | gl_WARN_ON_USE_PREPARE([[ | 92 | gl_WARN_ON_USE_PREPARE([[ |
65 | /* Some systems require prerequisite headers. */ | 93 | /* Some systems require prerequisite headers. */ |
66 | #include <sys/types.h> | 94 | #include <sys/types.h> |
67 | #if !defined __GLIBC__ && HAVE_SYS_TIME_H | 95 | #include <sys/socket.h> |
68 | # include <sys/time.h> | ||
69 | #endif | ||
70 | #include <sys/select.h> | ||
71 | ]], [socket connect accept bind getpeername getsockname getsockopt | 96 | ]], [socket connect accept bind getpeername getsockname getsockopt |
72 | listen recv send recvfrom sendto setsockopt shutdown accept4]) | 97 | listen recv send recvfrom sendto setsockopt shutdown accept4]) |
73 | ]) | 98 | ]) |
@@ -75,17 +100,13 @@ AC_DEFUN([gl_HEADER_SYS_SOCKET], | |||
75 | AC_DEFUN([gl_PREREQ_SYS_H_SOCKET], | 100 | AC_DEFUN([gl_PREREQ_SYS_H_SOCKET], |
76 | [ | 101 | [ |
77 | dnl Check prerequisites of the <sys/socket.h> replacement. | 102 | dnl Check prerequisites of the <sys/socket.h> replacement. |
103 | AC_REQUIRE([gl_CHECK_SOCKET_HEADERS]) | ||
78 | gl_CHECK_NEXT_HEADERS([sys/socket.h]) | 104 | gl_CHECK_NEXT_HEADERS([sys/socket.h]) |
79 | if test $ac_cv_header_sys_socket_h = yes; then | 105 | if test $ac_cv_header_sys_socket_h = yes; then |
80 | HAVE_SYS_SOCKET_H=1 | 106 | HAVE_SYS_SOCKET_H=1 |
81 | HAVE_WS2TCPIP_H=0 | 107 | HAVE_WS2TCPIP_H=0 |
82 | else | 108 | else |
83 | HAVE_SYS_SOCKET_H=0 | 109 | HAVE_SYS_SOCKET_H=0 |
84 | dnl We cannot use AC_CHECK_HEADERS_ONCE here, because that would make | ||
85 | dnl the check for those headers unconditional; yet cygwin reports | ||
86 | dnl that the headers are present but cannot be compiled (since on | ||
87 | dnl cygwin, all socket information should come from sys/socket.h). | ||
88 | AC_CHECK_HEADERS([ws2tcpip.h]) | ||
89 | if test $ac_cv_header_ws2tcpip_h = yes; then | 110 | if test $ac_cv_header_ws2tcpip_h = yes; then |
90 | HAVE_WS2TCPIP_H=1 | 111 | HAVE_WS2TCPIP_H=1 |
91 | else | 112 | else |
@@ -148,6 +169,8 @@ AC_DEFUN([gl_SYS_SOCKET_H_DEFAULTS], | |||
148 | GNULIB_SHUTDOWN=0; AC_SUBST([GNULIB_SHUTDOWN]) | 169 | GNULIB_SHUTDOWN=0; AC_SUBST([GNULIB_SHUTDOWN]) |
149 | GNULIB_ACCEPT4=0; AC_SUBST([GNULIB_ACCEPT4]) | 170 | GNULIB_ACCEPT4=0; AC_SUBST([GNULIB_ACCEPT4]) |
150 | HAVE_STRUCT_SOCKADDR_STORAGE=1; AC_SUBST([HAVE_STRUCT_SOCKADDR_STORAGE]) | 171 | HAVE_STRUCT_SOCKADDR_STORAGE=1; AC_SUBST([HAVE_STRUCT_SOCKADDR_STORAGE]) |
172 | HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY=1; | ||
173 | AC_SUBST([HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY]) | ||
151 | HAVE_SA_FAMILY_T=1; AC_SUBST([HAVE_SA_FAMILY_T]) | 174 | HAVE_SA_FAMILY_T=1; AC_SUBST([HAVE_SA_FAMILY_T]) |
152 | HAVE_ACCEPT4=1; AC_SUBST([HAVE_ACCEPT4]) | 175 | HAVE_ACCEPT4=1; AC_SUBST([HAVE_ACCEPT4]) |
153 | ]) | 176 | ]) |
diff --git a/gl/m4/sys_stat_h.m4 b/gl/m4/sys_stat_h.m4 deleted file mode 100644 index 7181c253..00000000 --- a/gl/m4/sys_stat_h.m4 +++ /dev/null | |||
@@ -1,82 +0,0 @@ | |||
1 | # sys_stat_h.m4 serial 24 -*- Autoconf -*- | ||
2 | dnl Copyright (C) 2006-2010 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 Eric Blake. | ||
8 | dnl Provide a GNU-like <sys/stat.h>. | ||
9 | |||
10 | AC_DEFUN([gl_HEADER_SYS_STAT_H], | ||
11 | [ | ||
12 | AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) | ||
13 | |||
14 | dnl For the mkdir substitute. | ||
15 | AC_REQUIRE([AC_C_INLINE]) | ||
16 | |||
17 | dnl Check for broken stat macros. | ||
18 | AC_REQUIRE([AC_HEADER_STAT]) | ||
19 | |||
20 | gl_CHECK_NEXT_HEADERS([sys/stat.h]) | ||
21 | |||
22 | dnl Define types that are supposed to be defined in <sys/types.h> or | ||
23 | dnl <sys/stat.h>. | ||
24 | AC_CHECK_TYPE([nlink_t], [], | ||
25 | [AC_DEFINE([nlink_t], [int], | ||
26 | [Define to the type of st_nlink in struct stat, or a supertype.])], | ||
27 | [#include <sys/types.h> | ||
28 | #include <sys/stat.h>]) | ||
29 | |||
30 | dnl Check for declarations of anything we want to poison if the | ||
31 | dnl corresponding gnulib module is not in use. | ||
32 | gl_WARN_ON_USE_PREPARE([[#include <sys/stat.h> | ||
33 | ]], [fchmodat fstatat futimens lchmod lstat mkdirat mkfifo mkfifoat | ||
34 | mknod mknodat stat utimensat]) | ||
35 | ]) # gl_HEADER_SYS_STAT_H | ||
36 | |||
37 | AC_DEFUN([gl_SYS_STAT_MODULE_INDICATOR], | ||
38 | [ | ||
39 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. | ||
40 | AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) | ||
41 | gl_MODULE_INDICATOR_SET_VARIABLE([$1]) | ||
42 | dnl Define it also as a C macro, for the benefit of the unit tests. | ||
43 | gl_MODULE_INDICATOR_FOR_TESTS([$1]) | ||
44 | ]) | ||
45 | |||
46 | AC_DEFUN([gl_SYS_STAT_H_DEFAULTS], | ||
47 | [ | ||
48 | AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl for REPLACE_FCHDIR | ||
49 | GNULIB_FCHMODAT=0; AC_SUBST([GNULIB_FCHMODAT]) | ||
50 | GNULIB_FSTATAT=0; AC_SUBST([GNULIB_FSTATAT]) | ||
51 | GNULIB_FUTIMENS=0; AC_SUBST([GNULIB_FUTIMENS]) | ||
52 | GNULIB_LCHMOD=0; AC_SUBST([GNULIB_LCHMOD]) | ||
53 | GNULIB_LSTAT=0; AC_SUBST([GNULIB_LSTAT]) | ||
54 | GNULIB_MKDIRAT=0; AC_SUBST([GNULIB_MKDIRAT]) | ||
55 | GNULIB_MKFIFO=0; AC_SUBST([GNULIB_MKFIFO]) | ||
56 | GNULIB_MKFIFOAT=0; AC_SUBST([GNULIB_MKFIFOAT]) | ||
57 | GNULIB_MKNOD=0; AC_SUBST([GNULIB_MKNOD]) | ||
58 | GNULIB_MKNODAT=0; AC_SUBST([GNULIB_MKNODAT]) | ||
59 | GNULIB_STAT=0; AC_SUBST([GNULIB_STAT]) | ||
60 | GNULIB_UTIMENSAT=0; AC_SUBST([GNULIB_UTIMENSAT]) | ||
61 | dnl Assume proper GNU behavior unless another module says otherwise. | ||
62 | HAVE_FCHMODAT=1; AC_SUBST([HAVE_FCHMODAT]) | ||
63 | HAVE_FSTATAT=1; AC_SUBST([HAVE_FSTATAT]) | ||
64 | HAVE_FUTIMENS=1; AC_SUBST([HAVE_FUTIMENS]) | ||
65 | HAVE_LCHMOD=1; AC_SUBST([HAVE_LCHMOD]) | ||
66 | HAVE_LSTAT=1; AC_SUBST([HAVE_LSTAT]) | ||
67 | HAVE_MKDIRAT=1; AC_SUBST([HAVE_MKDIRAT]) | ||
68 | HAVE_MKFIFO=1; AC_SUBST([HAVE_MKFIFO]) | ||
69 | HAVE_MKFIFOAT=1; AC_SUBST([HAVE_MKFIFOAT]) | ||
70 | HAVE_MKNOD=1; AC_SUBST([HAVE_MKNOD]) | ||
71 | HAVE_MKNODAT=1; AC_SUBST([HAVE_MKNODAT]) | ||
72 | HAVE_UTIMENSAT=1; AC_SUBST([HAVE_UTIMENSAT]) | ||
73 | REPLACE_FSTAT=0; AC_SUBST([REPLACE_FSTAT]) | ||
74 | REPLACE_FSTATAT=0; AC_SUBST([REPLACE_FSTATAT]) | ||
75 | REPLACE_FUTIMENS=0; AC_SUBST([REPLACE_FUTIMENS]) | ||
76 | REPLACE_LSTAT=0; AC_SUBST([REPLACE_LSTAT]) | ||
77 | REPLACE_MKDIR=0; AC_SUBST([REPLACE_MKDIR]) | ||
78 | REPLACE_MKFIFO=0; AC_SUBST([REPLACE_MKFIFO]) | ||
79 | REPLACE_MKNOD=0; AC_SUBST([REPLACE_MKNOD]) | ||
80 | REPLACE_STAT=0; AC_SUBST([REPLACE_STAT]) | ||
81 | REPLACE_UTIMENSAT=0; AC_SUBST([REPLACE_UTIMENSAT]) | ||
82 | ]) | ||
diff --git a/gl/m4/sys_types_h.m4 b/gl/m4/sys_types_h.m4 new file mode 100644 index 00000000..d15c1b37 --- /dev/null +++ b/gl/m4/sys_types_h.m4 | |||
@@ -0,0 +1,24 @@ | |||
1 | # sys_types_h.m4 serial 5 | ||
2 | dnl Copyright (C) 2011-2013 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_ONCE([gl_SYS_TYPES_H], | ||
8 | [ | ||
9 | AC_REQUIRE([gl_SYS_TYPES_H_DEFAULTS]) | ||
10 | gl_NEXT_HEADERS([sys/types.h]) | ||
11 | |||
12 | dnl Ensure the type pid_t gets defined. | ||
13 | AC_REQUIRE([AC_TYPE_PID_T]) | ||
14 | |||
15 | dnl Ensure the type mode_t gets defined. | ||
16 | AC_REQUIRE([AC_TYPE_MODE_T]) | ||
17 | |||
18 | dnl Whether to override the 'off_t' type. | ||
19 | AC_REQUIRE([gl_TYPE_OFF_T]) | ||
20 | ]) | ||
21 | |||
22 | AC_DEFUN([gl_SYS_TYPES_H_DEFAULTS], | ||
23 | [ | ||
24 | ]) | ||
diff --git a/gl/m4/sys_uio_h.m4 b/gl/m4/sys_uio_h.m4 new file mode 100644 index 00000000..c75cbbd0 --- /dev/null +++ b/gl/m4/sys_uio_h.m4 | |||
@@ -0,0 +1,31 @@ | |||
1 | # sys_uio_h.m4 serial 1 | ||
2 | dnl Copyright (C) 2011-2013 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_SYS_UIO], | ||
8 | [ | ||
9 | AC_REQUIRE([gl_SYS_UIO_H_DEFAULTS]) | ||
10 | dnl <sys/uio.h> is always overridden, because of GNULIB_POSIXCHECK. | ||
11 | gl_CHECK_NEXT_HEADERS([sys/uio.h]) | ||
12 | if test $ac_cv_header_sys_uio_h = yes; then | ||
13 | HAVE_SYS_UIO_H=1 | ||
14 | else | ||
15 | HAVE_SYS_UIO_H=0 | ||
16 | fi | ||
17 | AC_SUBST([HAVE_SYS_UIO_H]) | ||
18 | ]) | ||
19 | |||
20 | AC_DEFUN([gl_SYS_UIO_MODULE_INDICATOR], | ||
21 | [ | ||
22 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. | ||
23 | AC_REQUIRE([gl_SYS_UIO_H_DEFAULTS]) | ||
24 | gl_MODULE_INDICATOR_SET_VARIABLE([$1]) | ||
25 | dnl Define it also as a C macro, for the benefit of the unit tests. | ||
26 | gl_MODULE_INDICATOR_FOR_TESTS([$1]) | ||
27 | ]) | ||
28 | |||
29 | AC_DEFUN([gl_SYS_UIO_H_DEFAULTS], | ||
30 | [ | ||
31 | ]) | ||
diff --git a/gl/m4/threadlib.m4 b/gl/m4/threadlib.m4 index 05cc4ffa..26bdeb58 100644 --- a/gl/m4/threadlib.m4 +++ b/gl/m4/threadlib.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # threadlib.m4 serial 5 (gettext-0.18) | 1 | # threadlib.m4 serial 10 (gettext-0.18.2) |
2 | dnl Copyright (C) 2005-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2005-2013 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,13 @@ dnl From Bruno Haible. | |||
9 | dnl gl_THREADLIB | 9 | dnl gl_THREADLIB |
10 | dnl ------------ | 10 | dnl ------------ |
11 | dnl Tests for a multithreading library to be used. | 11 | dnl Tests for a multithreading library to be used. |
12 | dnl If the configure.ac contains a definition of the gl_THREADLIB_DEFAULT_NO | ||
13 | dnl (it must be placed before the invocation of gl_THREADLIB_EARLY!), then the | ||
14 | dnl default is 'no', otherwise it is system dependent. In both cases, the user | ||
15 | dnl can change the choice through the options --enable-threads=choice or | ||
16 | dnl --disable-threads. | ||
12 | dnl Defines at most one of the macros USE_POSIX_THREADS, USE_SOLARIS_THREADS, | 17 | dnl Defines at most one of the macros USE_POSIX_THREADS, USE_SOLARIS_THREADS, |
13 | dnl USE_PTH_THREADS, USE_WIN32_THREADS | 18 | dnl USE_PTH_THREADS, USE_WINDOWS_THREADS |
14 | dnl Sets the variables LIBTHREAD and LTLIBTHREAD to the linker options for use | 19 | 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 | 20 | dnl in a Makefile (LIBTHREAD for use without libtool, LTLIBTHREAD for use with |
16 | dnl libtool). | 21 | dnl libtool). |
@@ -44,10 +49,12 @@ AC_DEFUN([gl_THREADLIB_EARLY_BODY], | |||
44 | [AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])], | 49 | [AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])], |
45 | [AC_REQUIRE([AC_GNU_SOURCE])]) | 50 | [AC_REQUIRE([AC_GNU_SOURCE])]) |
46 | dnl Check for multithreading. | 51 | dnl Check for multithreading. |
47 | m4_divert_text([DEFAULTS], [gl_use_threads_default=]) | 52 | m4_ifdef([gl_THREADLIB_DEFAULT_NO], |
53 | [m4_divert_text([DEFAULTS], [gl_use_threads_default=no])], | ||
54 | [m4_divert_text([DEFAULTS], [gl_use_threads_default=])]) | ||
48 | AC_ARG_ENABLE([threads], | 55 | AC_ARG_ENABLE([threads], |
49 | AC_HELP_STRING([--enable-threads={posix|solaris|pth|win32}], [specify multithreading API]) | 56 | AC_HELP_STRING([--enable-threads={posix|solaris|pth|windows}], [specify multithreading API])m4_ifdef([gl_THREADLIB_DEFAULT_NO], [], [ |
50 | AC_HELP_STRING([--disable-threads], [build without multithread safety]), | 57 | AC_HELP_STRING([--disable-threads], [build without multithread safety])]), |
51 | [gl_use_threads=$enableval], | 58 | [gl_use_threads=$enableval], |
52 | [if test -n "$gl_use_threads_default"; then | 59 | [if test -n "$gl_use_threads_default"; then |
53 | gl_use_threads="$gl_use_threads_default" | 60 | gl_use_threads="$gl_use_threads_default" |
@@ -80,7 +87,7 @@ changequote([,])dnl | |||
80 | # groks <pthread.h>. cc also understands the flag -pthread, but | 87 | # groks <pthread.h>. cc also understands the flag -pthread, but |
81 | # we don't use it because 1. gcc-2.95 doesn't understand -pthread, | 88 | # we don't use it because 1. gcc-2.95 doesn't understand -pthread, |
82 | # 2. putting a flag into CPPFLAGS that has an effect on the linker | 89 | # 2. putting a flag into CPPFLAGS that has an effect on the linker |
83 | # causes the AC_TRY_LINK test below to succeed unexpectedly, | 90 | # causes the AC_LINK_IFELSE test below to succeed unexpectedly, |
84 | # leading to wrong values of LIBTHREAD and LTLIBTHREAD. | 91 | # leading to wrong values of LIBTHREAD and LTLIBTHREAD. |
85 | CPPFLAGS="$CPPFLAGS -D_REENTRANT" | 92 | CPPFLAGS="$CPPFLAGS -D_REENTRANT" |
86 | ;; | 93 | ;; |
@@ -111,18 +118,25 @@ AC_DEFUN([gl_THREADLIB_BODY], | |||
111 | [gl_cv_have_weak], | 118 | [gl_cv_have_weak], |
112 | [gl_cv_have_weak=no | 119 | [gl_cv_have_weak=no |
113 | dnl First, test whether the compiler accepts it syntactically. | 120 | dnl First, test whether the compiler accepts it syntactically. |
114 | AC_TRY_LINK([extern void xyzzy (); | 121 | AC_LINK_IFELSE( |
115 | #pragma weak xyzzy], [xyzzy();], [gl_cv_have_weak=maybe]) | 122 | [AC_LANG_PROGRAM( |
123 | [[extern void xyzzy (); | ||
124 | #pragma weak xyzzy]], | ||
125 | [[xyzzy();]])], | ||
126 | [gl_cv_have_weak=maybe]) | ||
116 | if test $gl_cv_have_weak = maybe; then | 127 | if test $gl_cv_have_weak = maybe; then |
117 | dnl Second, test whether it actually works. On Cygwin 1.7.2, with | 128 | dnl Second, test whether it actually works. On Cygwin 1.7.2, with |
118 | dnl gcc 4.3, symbols declared weak always evaluate to the address 0. | 129 | dnl gcc 4.3, symbols declared weak always evaluate to the address 0. |
119 | AC_TRY_RUN([ | 130 | AC_RUN_IFELSE( |
131 | [AC_LANG_SOURCE([[ | ||
120 | #include <stdio.h> | 132 | #include <stdio.h> |
121 | #pragma weak fputs | 133 | #pragma weak fputs |
122 | int main () | 134 | int main () |
123 | { | 135 | { |
124 | return (fputs == NULL); | 136 | return (fputs == NULL); |
125 | }], [gl_cv_have_weak=yes], [gl_cv_have_weak=no], | 137 | }]])], |
138 | [gl_cv_have_weak=yes], | ||
139 | [gl_cv_have_weak=no], | ||
126 | [dnl When cross-compiling, assume that only ELF platforms support | 140 | [dnl When cross-compiling, assume that only ELF platforms support |
127 | dnl weak symbols. | 141 | dnl weak symbols. |
128 | AC_EGREP_CPP([Extensible Linking Format], | 142 | AC_EGREP_CPP([Extensible Linking Format], |
@@ -148,9 +162,11 @@ int main () | |||
148 | # Test whether both pthread_mutex_lock and pthread_mutexattr_init exist | 162 | # Test whether both pthread_mutex_lock and pthread_mutexattr_init exist |
149 | # in libc. IRIX 6.5 has the first one in both libc and libpthread, but | 163 | # in libc. IRIX 6.5 has the first one in both libc and libpthread, but |
150 | # the second one only in libpthread, and lock.c needs it. | 164 | # the second one only in libpthread, and lock.c needs it. |
151 | AC_TRY_LINK([#include <pthread.h>], | 165 | AC_LINK_IFELSE( |
152 | [pthread_mutex_lock((pthread_mutex_t*)0); | 166 | [AC_LANG_PROGRAM( |
153 | pthread_mutexattr_init((pthread_mutexattr_t*)0);], | 167 | [[#include <pthread.h>]], |
168 | [[pthread_mutex_lock((pthread_mutex_t*)0); | ||
169 | pthread_mutexattr_init((pthread_mutexattr_t*)0);]])], | ||
154 | [gl_have_pthread=yes]) | 170 | [gl_have_pthread=yes]) |
155 | # Test for libpthread by looking for pthread_kill. (Not pthread_self, | 171 | # Test for libpthread by looking for pthread_kill. (Not pthread_self, |
156 | # since it is defined as a macro on OSF/1.) | 172 | # since it is defined as a macro on OSF/1.) |
@@ -203,9 +219,13 @@ int main () | |||
203 | gl_have_solaristhread= | 219 | gl_have_solaristhread= |
204 | gl_save_LIBS="$LIBS" | 220 | gl_save_LIBS="$LIBS" |
205 | LIBS="$LIBS -lthread" | 221 | LIBS="$LIBS -lthread" |
206 | AC_TRY_LINK([#include <thread.h> | 222 | AC_LINK_IFELSE( |
207 | #include <synch.h>], | 223 | [AC_LANG_PROGRAM( |
208 | [thr_self();], | 224 | [[ |
225 | #include <thread.h> | ||
226 | #include <synch.h> | ||
227 | ]], | ||
228 | [[thr_self();]])], | ||
209 | [gl_have_solaristhread=yes]) | 229 | [gl_have_solaristhread=yes]) |
210 | LIBS="$gl_save_LIBS" | 230 | LIBS="$gl_save_LIBS" |
211 | if test -n "$gl_have_solaristhread"; then | 231 | if test -n "$gl_have_solaristhread"; then |
@@ -230,8 +250,10 @@ int main () | |||
230 | AC_LIB_LINKFLAGS([pth]) | 250 | AC_LIB_LINKFLAGS([pth]) |
231 | gl_have_pth= | 251 | gl_have_pth= |
232 | gl_save_LIBS="$LIBS" | 252 | gl_save_LIBS="$LIBS" |
233 | LIBS="$LIBS -lpth" | 253 | LIBS="$LIBS $LIBPTH" |
234 | AC_TRY_LINK([#include <pth.h>], [pth_self();], [gl_have_pth=yes]) | 254 | AC_LINK_IFELSE( |
255 | [AC_LANG_PROGRAM([[#include <pth.h>]], [[pth_self();]])], | ||
256 | [gl_have_pth=yes]) | ||
235 | LIBS="$gl_save_LIBS" | 257 | LIBS="$gl_save_LIBS" |
236 | if test -n "$gl_have_pth"; then | 258 | if test -n "$gl_have_pth"; then |
237 | gl_threads_api=pth | 259 | gl_threads_api=pth |
@@ -254,17 +276,19 @@ int main () | |||
254 | fi | 276 | fi |
255 | fi | 277 | fi |
256 | if test -z "$gl_have_pthread"; then | 278 | if test -z "$gl_have_pthread"; then |
257 | if test "$gl_use_threads" = yes || test "$gl_use_threads" = win32; then | 279 | case "$gl_use_threads" in |
258 | if { case "$host_os" in | 280 | yes | windows | win32) # The 'win32' is for backward compatibility. |
259 | mingw*) true;; | 281 | if { case "$host_os" in |
260 | *) false;; | 282 | mingw*) true;; |
261 | esac | 283 | *) false;; |
262 | }; then | 284 | esac |
263 | gl_threads_api=win32 | 285 | }; then |
264 | AC_DEFINE([USE_WIN32_THREADS], [1], | 286 | gl_threads_api=windows |
265 | [Define if the Win32 multithreading API can be used.]) | 287 | AC_DEFINE([USE_WINDOWS_THREADS], [1], |
266 | fi | 288 | [Define if the native Windows multithreading API can be used.]) |
267 | fi | 289 | fi |
290 | ;; | ||
291 | esac | ||
268 | fi | 292 | fi |
269 | fi | 293 | fi |
270 | AC_MSG_CHECKING([for multithread API to use]) | 294 | AC_MSG_CHECKING([for multithread API to use]) |
@@ -295,50 +319,50 @@ AC_DEFUN([gl_DISABLE_THREADS], [ | |||
295 | 319 | ||
296 | dnl Survey of platforms: | 320 | dnl Survey of platforms: |
297 | dnl | 321 | dnl |
298 | dnl Platform Available Compiler Supports test-lock | 322 | dnl Platform Available Compiler Supports test-lock |
299 | dnl flavours option weak result | 323 | dnl flavours option weak result |
300 | dnl --------------- --------- --------- -------- --------- | 324 | dnl --------------- --------- --------- -------- --------- |
301 | dnl Linux 2.4/glibc posix -lpthread Y OK | 325 | dnl Linux 2.4/glibc posix -lpthread Y OK |
302 | dnl | 326 | dnl |
303 | dnl GNU Hurd/glibc posix | 327 | dnl GNU Hurd/glibc posix |
304 | dnl | 328 | dnl |
305 | dnl FreeBSD 5.3 posix -lc_r Y | 329 | dnl FreeBSD 5.3 posix -lc_r Y |
306 | dnl posix -lkse ? Y | 330 | dnl posix -lkse ? Y |
307 | dnl posix -lpthread ? Y | 331 | dnl posix -lpthread ? Y |
308 | dnl posix -lthr Y | 332 | dnl posix -lthr Y |
309 | dnl | 333 | dnl |
310 | dnl FreeBSD 5.2 posix -lc_r Y | 334 | dnl FreeBSD 5.2 posix -lc_r Y |
311 | dnl posix -lkse Y | 335 | dnl posix -lkse Y |
312 | dnl posix -lthr Y | 336 | dnl posix -lthr Y |
313 | dnl | 337 | dnl |
314 | dnl FreeBSD 4.0,4.10 posix -lc_r Y OK | 338 | dnl FreeBSD 4.0,4.10 posix -lc_r Y OK |
315 | dnl | 339 | dnl |
316 | dnl NetBSD 1.6 -- | 340 | dnl NetBSD 1.6 -- |
317 | dnl | 341 | dnl |
318 | dnl OpenBSD 3.4 posix -lpthread Y OK | 342 | dnl OpenBSD 3.4 posix -lpthread Y OK |
319 | dnl | 343 | dnl |
320 | dnl MacOS X 10.[123] posix -lpthread Y OK | 344 | dnl Mac OS X 10.[123] posix -lpthread Y OK |
321 | dnl | 345 | dnl |
322 | dnl Solaris 7,8,9 posix -lpthread Y Sol 7,8: 0.0; Sol 9: OK | 346 | dnl Solaris 7,8,9 posix -lpthread Y Sol 7,8: 0.0; Sol 9: OK |
323 | dnl solaris -lthread Y Sol 7,8: 0.0; Sol 9: OK | 347 | dnl solaris -lthread Y Sol 7,8: 0.0; Sol 9: OK |
324 | dnl | 348 | dnl |
325 | dnl HP-UX 11 posix -lpthread N (cc) OK | 349 | dnl HP-UX 11 posix -lpthread N (cc) OK |
326 | dnl Y (gcc) | 350 | dnl Y (gcc) |
327 | dnl | 351 | dnl |
328 | dnl IRIX 6.5 posix -lpthread Y 0.5 | 352 | dnl IRIX 6.5 posix -lpthread Y 0.5 |
329 | dnl | 353 | dnl |
330 | dnl AIX 4.3,5.1 posix -lpthread N AIX 4: 0.5; AIX 5: OK | 354 | dnl AIX 4.3,5.1 posix -lpthread N AIX 4: 0.5; AIX 5: OK |
331 | dnl | 355 | dnl |
332 | dnl OSF/1 4.0,5.1 posix -pthread (cc) N OK | 356 | dnl OSF/1 4.0,5.1 posix -pthread (cc) N OK |
333 | dnl -lpthread (gcc) Y | 357 | dnl -lpthread (gcc) Y |
334 | dnl | 358 | dnl |
335 | dnl Cygwin posix -lpthread Y OK | 359 | dnl Cygwin posix -lpthread Y OK |
336 | dnl | 360 | dnl |
337 | dnl Any of the above pth -lpth 0.0 | 361 | dnl Any of the above pth -lpth 0.0 |
338 | dnl | 362 | dnl |
339 | dnl Mingw win32 N OK | 363 | dnl Mingw windows N OK |
340 | dnl | 364 | dnl |
341 | dnl BeOS 5 -- | 365 | dnl BeOS 5 -- |
342 | dnl | 366 | dnl |
343 | dnl The test-lock result shows what happens if in test-lock.c EXPLICIT_YIELD is | 367 | dnl The test-lock result shows what happens if in test-lock.c EXPLICIT_YIELD is |
344 | dnl turned off: | 368 | dnl turned off: |
diff --git a/gl/m4/time_h.m4 b/gl/m4/time_h.m4 index a45a10a9..3b839005 100644 --- a/gl/m4/time_h.m4 +++ b/gl/m4/time_h.m4 | |||
@@ -1,8 +1,8 @@ | |||
1 | # Configure a more-standard replacement for <time.h>. | 1 | # Configure a more-standard replacement for <time.h>. |
2 | 2 | ||
3 | # Copyright (C) 2000-2001, 2003-2007, 2009-2010 Free Software Foundation, Inc. | 3 | # Copyright (C) 2000-2001, 2003-2007, 2009-2013 Free Software Foundation, Inc. |
4 | 4 | ||
5 | # serial 2 | 5 | # serial 7 |
6 | 6 | ||
7 | # This file is free software; the Free Software Foundation | 7 | # This file is free software; the Free Software Foundation |
8 | # gives unlimited permission to copy and/or distribute it, | 8 | # gives unlimited permission to copy and/or distribute it, |
@@ -21,11 +21,11 @@ AC_DEFUN([gl_HEADER_TIME_H_BODY], | |||
21 | [ | 21 | [ |
22 | AC_REQUIRE([AC_C_RESTRICT]) | 22 | AC_REQUIRE([AC_C_RESTRICT]) |
23 | AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) | 23 | AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) |
24 | gl_CHECK_NEXT_HEADERS([time.h]) | 24 | gl_NEXT_HEADERS([time.h]) |
25 | AC_REQUIRE([gl_CHECK_TYPE_STRUCT_TIMESPEC]) | 25 | AC_REQUIRE([gl_CHECK_TYPE_STRUCT_TIMESPEC]) |
26 | ]) | 26 | ]) |
27 | 27 | ||
28 | dnl Define HAVE_STRUCT_TIMESPEC if `struct timespec' is declared | 28 | dnl Check whether 'struct timespec' is declared |
29 | dnl in time.h, sys/time.h, or pthread.h. | 29 | dnl in time.h, sys/time.h, or pthread.h. |
30 | 30 | ||
31 | AC_DEFUN([gl_CHECK_TYPE_STRUCT_TIMESPEC], | 31 | AC_DEFUN([gl_CHECK_TYPE_STRUCT_TIMESPEC], |
@@ -95,7 +95,7 @@ AC_DEFUN([gl_HEADER_TIME_H_DEFAULTS], | |||
95 | GNULIB_TIMEGM=0; AC_SUBST([GNULIB_TIMEGM]) | 95 | GNULIB_TIMEGM=0; AC_SUBST([GNULIB_TIMEGM]) |
96 | GNULIB_TIME_R=0; AC_SUBST([GNULIB_TIME_R]) | 96 | GNULIB_TIME_R=0; AC_SUBST([GNULIB_TIME_R]) |
97 | dnl Assume proper GNU behavior unless another module says otherwise. | 97 | dnl Assume proper GNU behavior unless another module says otherwise. |
98 | HAVE_LOCALTIME_R=1; AC_SUBST([HAVE_LOCALTIME_R]) | 98 | HAVE_DECL_LOCALTIME_R=1; AC_SUBST([HAVE_DECL_LOCALTIME_R]) |
99 | HAVE_NANOSLEEP=1; AC_SUBST([HAVE_NANOSLEEP]) | 99 | HAVE_NANOSLEEP=1; AC_SUBST([HAVE_NANOSLEEP]) |
100 | HAVE_STRPTIME=1; AC_SUBST([HAVE_STRPTIME]) | 100 | HAVE_STRPTIME=1; AC_SUBST([HAVE_STRPTIME]) |
101 | HAVE_TIMEGM=1; AC_SUBST([HAVE_TIMEGM]) | 101 | HAVE_TIMEGM=1; AC_SUBST([HAVE_TIMEGM]) |
diff --git a/gl/m4/time_r.m4 b/gl/m4/time_r.m4 index 9e82d39f..c388a831 100644 --- a/gl/m4/time_r.m4 +++ b/gl/m4/time_r.m4 | |||
@@ -1,6 +1,6 @@ | |||
1 | dnl Reentrant time functions: localtime_r, gmtime_r. | 1 | dnl Reentrant time functions: localtime_r, gmtime_r. |
2 | 2 | ||
3 | dnl Copyright (C) 2003, 2006-2010 Free Software Foundation, Inc. | 3 | dnl Copyright (C) 2003, 2006-2013 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. |
@@ -15,8 +15,16 @@ AC_DEFUN([gl_TIME_R], | |||
15 | AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) | 15 | AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) |
16 | AC_REQUIRE([AC_C_RESTRICT]) | 16 | AC_REQUIRE([AC_C_RESTRICT]) |
17 | 17 | ||
18 | dnl Some systems don't declare localtime_r() and gmtime_r() if _REENTRANT is | ||
19 | dnl not defined. | ||
20 | AC_CHECK_DECLS([localtime_r], [], [], [[#include <time.h>]]) | ||
21 | if test $ac_cv_have_decl_localtime_r = no; then | ||
22 | HAVE_DECL_LOCALTIME_R=0 | ||
23 | fi | ||
24 | |||
18 | AC_CHECK_FUNCS_ONCE([localtime_r]) | 25 | AC_CHECK_FUNCS_ONCE([localtime_r]) |
19 | if test $ac_cv_func_localtime_r = yes; then | 26 | if test $ac_cv_func_localtime_r = yes; then |
27 | HAVE_LOCALTIME_R=1 | ||
20 | AC_CACHE_CHECK([whether localtime_r is compatible with its POSIX signature], | 28 | AC_CACHE_CHECK([whether localtime_r is compatible with its POSIX signature], |
21 | [gl_cv_time_r_posix], | 29 | [gl_cv_time_r_posix], |
22 | [AC_COMPILE_IFELSE( | 30 | [AC_COMPILE_IFELSE( |
@@ -42,10 +50,6 @@ AC_DEFUN([gl_TIME_R], | |||
42 | else | 50 | else |
43 | HAVE_LOCALTIME_R=0 | 51 | HAVE_LOCALTIME_R=0 |
44 | fi | 52 | fi |
45 | if test $HAVE_LOCALTIME_R = 0 || test $REPLACE_LOCALTIME_R = 1; then | ||
46 | AC_LIBOBJ([time_r]) | ||
47 | gl_PREREQ_TIME_R | ||
48 | fi | ||
49 | ]) | 53 | ]) |
50 | 54 | ||
51 | # Prerequisites of lib/time_r.c. | 55 | # Prerequisites of lib/time_r.c. |
diff --git a/gl/m4/timegm.m4 b/gl/m4/timegm.m4 index bdaafbff..997953c0 100644 --- a/gl/m4/timegm.m4 +++ b/gl/m4/timegm.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # timegm.m4 serial 8 | 1 | # timegm.m4 serial 11 |
2 | dnl Copyright (C) 2003, 2007, 2009, 2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2003, 2007, 2009-2013 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,30 +11,16 @@ AC_DEFUN([gl_FUNC_TIMEGM], | |||
11 | REPLACE_TIMEGM=0 | 11 | REPLACE_TIMEGM=0 |
12 | AC_CHECK_FUNCS_ONCE([timegm]) | 12 | AC_CHECK_FUNCS_ONCE([timegm]) |
13 | if test $ac_cv_func_timegm = yes; then | 13 | if test $ac_cv_func_timegm = yes; then |
14 | if test $ac_cv_func_working_mktime = no; then | 14 | if test $gl_cv_func_working_mktime = no; then |
15 | # Assume that timegm is buggy if mktime is. | 15 | # Assume that timegm is buggy if mktime is. |
16 | REPLACE_TIMEGM=1 | 16 | REPLACE_TIMEGM=1 |
17 | fi | 17 | fi |
18 | else | 18 | else |
19 | HAVE_TIMEGM=0 | 19 | HAVE_TIMEGM=0 |
20 | fi | 20 | fi |
21 | if test $HAVE_TIMEGM = 0 || test $REPLACE_TIMEGM = 1; then | ||
22 | AC_LIBOBJ([timegm]) | ||
23 | gl_PREREQ_TIMEGM | ||
24 | fi | ||
25 | ]) | 21 | ]) |
26 | 22 | ||
27 | # Prerequisites of lib/timegm.c. | 23 | # Prerequisites of lib/timegm.c. |
28 | AC_DEFUN([gl_PREREQ_TIMEGM], [ | 24 | AC_DEFUN([gl_PREREQ_TIMEGM], [ |
29 | AC_REQUIRE([gl_TIME_R]) | 25 | : |
30 | AC_REQUIRE([gl_FUNC_MKTIME]) | ||
31 | if test $ac_cv_func_working_mktime = yes; then | ||
32 | AC_CHECK_FUNC([__mktime_internal], , | ||
33 | [# mktime works but it doesn't export __mktime_internal, | ||
34 | # so we need to substitute our own mktime implementation. | ||
35 | AC_LIBOBJ([mktime]) | ||
36 | AC_DEFINE([mktime], [rpl_mktime], | ||
37 | [Define to rpl_mktime if the replacement function should be used.]) | ||
38 | gl_PREREQ_MKTIME]) | ||
39 | fi | ||
40 | ]) | 26 | ]) |
diff --git a/gl/m4/uintmax_t.m4 b/gl/m4/uintmax_t.m4 index 03b51bcf..c6ff8006 100644 --- a/gl/m4/uintmax_t.m4 +++ b/gl/m4/uintmax_t.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # uintmax_t.m4 serial 12 | 1 | # uintmax_t.m4 serial 12 |
2 | dnl Copyright (C) 1997-2004, 2007-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1997-2004, 2007-2013 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. |
diff --git a/gl/m4/unistd-safer.m4 b/gl/m4/unistd-safer.m4 deleted file mode 100644 index 74c3ce60..00000000 --- a/gl/m4/unistd-safer.m4 +++ /dev/null | |||
@@ -1,13 +0,0 @@ | |||
1 | #serial 8 | ||
2 | dnl Copyright (C) 2002, 2005-2006, 2009-2010 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_UNISTD_SAFER], | ||
8 | [ | ||
9 | AC_CHECK_FUNCS_ONCE([pipe]) | ||
10 | AC_LIBOBJ([dup-safer]) | ||
11 | AC_LIBOBJ([fd-safer]) | ||
12 | AC_LIBOBJ([pipe-safer]) | ||
13 | ]) | ||
diff --git a/gl/m4/unistd_h.m4 b/gl/m4/unistd_h.m4 index 48d06c74..32dcfa58 100644 --- a/gl/m4/unistd_h.m4 +++ b/gl/m4/unistd_h.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # unistd_h.m4 serial 46 | 1 | # unistd_h.m4 serial 66 |
2 | dnl Copyright (C) 2006-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2006-2013 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,11 +11,8 @@ AC_DEFUN([gl_UNISTD_H], | |||
11 | dnl Use AC_REQUIRE here, so that the default behavior below is expanded | 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. | 12 | dnl once only, before all statements that occur in other macros. |
13 | AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) | 13 | AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) |
14 | AC_REQUIRE([AC_C_INLINE]) | ||
15 | 14 | ||
16 | gl_CHECK_NEXT_HEADERS([unistd.h]) | 15 | gl_CHECK_NEXT_HEADERS([unistd.h]) |
17 | |||
18 | AC_CHECK_HEADERS_ONCE([unistd.h]) | ||
19 | if test $ac_cv_header_unistd_h = yes; then | 16 | if test $ac_cv_header_unistd_h = yes; then |
20 | HAVE_UNISTD_H=1 | 17 | HAVE_UNISTD_H=1 |
21 | else | 18 | else |
@@ -23,11 +20,20 @@ AC_DEFUN([gl_UNISTD_H], | |||
23 | fi | 20 | fi |
24 | AC_SUBST([HAVE_UNISTD_H]) | 21 | AC_SUBST([HAVE_UNISTD_H]) |
25 | 22 | ||
23 | dnl Ensure the type pid_t gets defined. | ||
24 | AC_REQUIRE([AC_TYPE_PID_T]) | ||
25 | |||
26 | dnl Determine WINDOWS_64_BIT_OFF_T. | ||
27 | AC_REQUIRE([gl_TYPE_OFF_T]) | ||
28 | |||
26 | dnl Check for declarations of anything we want to poison if the | 29 | dnl Check for declarations of anything we want to poison if the |
27 | dnl corresponding gnulib module is not in use. | 30 | dnl corresponding gnulib module is not in use. |
28 | gl_WARN_ON_USE_PREPARE([[#include <unistd.h> | 31 | gl_WARN_ON_USE_PREPARE([[ |
32 | #if HAVE_UNISTD_H | ||
33 | # include <unistd.h> | ||
34 | #endif | ||
29 | /* Some systems declare various items in the wrong headers. */ | 35 | /* Some systems declare various items in the wrong headers. */ |
30 | #ifndef __GLIBC__ | 36 | #if !(defined __GLIBC__ && !defined __UCLIBC__) |
31 | # include <fcntl.h> | 37 | # include <fcntl.h> |
32 | # include <stdio.h> | 38 | # include <stdio.h> |
33 | # include <stdlib.h> | 39 | # include <stdlib.h> |
@@ -35,12 +41,13 @@ AC_DEFUN([gl_UNISTD_H], | |||
35 | # include <io.h> | 41 | # include <io.h> |
36 | # endif | 42 | # endif |
37 | #endif | 43 | #endif |
38 | ]], [chown dup2 dup3 environ euidaccess faccessat fchdir fchownat | 44 | ]], [chdir chown dup dup2 dup3 environ euidaccess faccessat fchdir fchownat |
39 | fsync ftruncate getcwd getdomainname getdtablesize getgroups | 45 | fdatasync fsync ftruncate getcwd getdomainname getdtablesize getgroups |
40 | gethostname getlogin getlogin_r getpagesize getusershell setusershell | 46 | gethostname getlogin getlogin_r getpagesize |
41 | endusershell lchown link linkat lseek pipe2 pread pwrite readlink | 47 | getusershell setusershell endusershell |
42 | readlinkat rmdir sleep symlink symlinkat ttyname_r unlink unlinkat | 48 | group_member isatty lchown link linkat lseek pipe pipe2 pread pwrite |
43 | usleep]) | 49 | readlink readlinkat rmdir sethostname sleep symlink symlinkat ttyname_r |
50 | unlink unlinkat usleep]) | ||
44 | ]) | 51 | ]) |
45 | 52 | ||
46 | AC_DEFUN([gl_UNISTD_MODULE_INDICATOR], | 53 | AC_DEFUN([gl_UNISTD_MODULE_INDICATOR], |
@@ -54,46 +61,54 @@ AC_DEFUN([gl_UNISTD_MODULE_INDICATOR], | |||
54 | 61 | ||
55 | AC_DEFUN([gl_UNISTD_H_DEFAULTS], | 62 | AC_DEFUN([gl_UNISTD_H_DEFAULTS], |
56 | [ | 63 | [ |
57 | GNULIB_CHOWN=0; AC_SUBST([GNULIB_CHOWN]) | 64 | GNULIB_CHDIR=0; AC_SUBST([GNULIB_CHDIR]) |
58 | GNULIB_CLOSE=0; AC_SUBST([GNULIB_CLOSE]) | 65 | GNULIB_CHOWN=0; AC_SUBST([GNULIB_CHOWN]) |
59 | GNULIB_DUP2=0; AC_SUBST([GNULIB_DUP2]) | 66 | GNULIB_CLOSE=0; AC_SUBST([GNULIB_CLOSE]) |
60 | GNULIB_DUP3=0; AC_SUBST([GNULIB_DUP3]) | 67 | GNULIB_DUP=0; AC_SUBST([GNULIB_DUP]) |
61 | GNULIB_ENVIRON=0; AC_SUBST([GNULIB_ENVIRON]) | 68 | GNULIB_DUP2=0; AC_SUBST([GNULIB_DUP2]) |
62 | GNULIB_EUIDACCESS=0; AC_SUBST([GNULIB_EUIDACCESS]) | 69 | GNULIB_DUP3=0; AC_SUBST([GNULIB_DUP3]) |
63 | GNULIB_FACCESSAT=0; AC_SUBST([GNULIB_FACCESSAT]) | 70 | GNULIB_ENVIRON=0; AC_SUBST([GNULIB_ENVIRON]) |
64 | GNULIB_FCHDIR=0; AC_SUBST([GNULIB_FCHDIR]) | 71 | GNULIB_EUIDACCESS=0; AC_SUBST([GNULIB_EUIDACCESS]) |
65 | GNULIB_FCHOWNAT=0; AC_SUBST([GNULIB_FCHOWNAT]) | 72 | GNULIB_FACCESSAT=0; AC_SUBST([GNULIB_FACCESSAT]) |
66 | GNULIB_FSYNC=0; AC_SUBST([GNULIB_FSYNC]) | 73 | GNULIB_FCHDIR=0; AC_SUBST([GNULIB_FCHDIR]) |
67 | GNULIB_FTRUNCATE=0; AC_SUBST([GNULIB_FTRUNCATE]) | 74 | GNULIB_FCHOWNAT=0; AC_SUBST([GNULIB_FCHOWNAT]) |
68 | GNULIB_GETCWD=0; AC_SUBST([GNULIB_GETCWD]) | 75 | GNULIB_FDATASYNC=0; AC_SUBST([GNULIB_FDATASYNC]) |
69 | GNULIB_GETDOMAINNAME=0; AC_SUBST([GNULIB_GETDOMAINNAME]) | 76 | GNULIB_FSYNC=0; AC_SUBST([GNULIB_FSYNC]) |
70 | GNULIB_GETDTABLESIZE=0; AC_SUBST([GNULIB_GETDTABLESIZE]) | 77 | GNULIB_FTRUNCATE=0; AC_SUBST([GNULIB_FTRUNCATE]) |
71 | GNULIB_GETGROUPS=0; AC_SUBST([GNULIB_GETGROUPS]) | 78 | GNULIB_GETCWD=0; AC_SUBST([GNULIB_GETCWD]) |
72 | GNULIB_GETHOSTNAME=0; AC_SUBST([GNULIB_GETHOSTNAME]) | 79 | GNULIB_GETDOMAINNAME=0; AC_SUBST([GNULIB_GETDOMAINNAME]) |
73 | GNULIB_GETLOGIN=0; AC_SUBST([GNULIB_GETLOGIN]) | 80 | GNULIB_GETDTABLESIZE=0; AC_SUBST([GNULIB_GETDTABLESIZE]) |
74 | GNULIB_GETLOGIN_R=0; AC_SUBST([GNULIB_GETLOGIN_R]) | 81 | GNULIB_GETGROUPS=0; AC_SUBST([GNULIB_GETGROUPS]) |
75 | GNULIB_GETPAGESIZE=0; AC_SUBST([GNULIB_GETPAGESIZE]) | 82 | GNULIB_GETHOSTNAME=0; AC_SUBST([GNULIB_GETHOSTNAME]) |
76 | GNULIB_GETUSERSHELL=0; AC_SUBST([GNULIB_GETUSERSHELL]) | 83 | GNULIB_GETLOGIN=0; AC_SUBST([GNULIB_GETLOGIN]) |
77 | GNULIB_LCHOWN=0; AC_SUBST([GNULIB_LCHOWN]) | 84 | GNULIB_GETLOGIN_R=0; AC_SUBST([GNULIB_GETLOGIN_R]) |
78 | GNULIB_LINK=0; AC_SUBST([GNULIB_LINK]) | 85 | GNULIB_GETPAGESIZE=0; AC_SUBST([GNULIB_GETPAGESIZE]) |
79 | GNULIB_LINKAT=0; AC_SUBST([GNULIB_LINKAT]) | 86 | GNULIB_GETUSERSHELL=0; AC_SUBST([GNULIB_GETUSERSHELL]) |
80 | GNULIB_LSEEK=0; AC_SUBST([GNULIB_LSEEK]) | 87 | GNULIB_GROUP_MEMBER=0; AC_SUBST([GNULIB_GROUP_MEMBER]) |
81 | GNULIB_PIPE2=0; AC_SUBST([GNULIB_PIPE2]) | 88 | GNULIB_ISATTY=0; AC_SUBST([GNULIB_ISATTY]) |
82 | GNULIB_PREAD=0; AC_SUBST([GNULIB_PREAD]) | 89 | GNULIB_LCHOWN=0; AC_SUBST([GNULIB_LCHOWN]) |
83 | GNULIB_PWRITE=0; AC_SUBST([GNULIB_PWRITE]) | 90 | GNULIB_LINK=0; AC_SUBST([GNULIB_LINK]) |
84 | GNULIB_READLINK=0; AC_SUBST([GNULIB_READLINK]) | 91 | GNULIB_LINKAT=0; AC_SUBST([GNULIB_LINKAT]) |
85 | GNULIB_READLINKAT=0; AC_SUBST([GNULIB_READLINKAT]) | 92 | GNULIB_LSEEK=0; AC_SUBST([GNULIB_LSEEK]) |
86 | GNULIB_RMDIR=0; AC_SUBST([GNULIB_RMDIR]) | 93 | GNULIB_PIPE=0; AC_SUBST([GNULIB_PIPE]) |
87 | GNULIB_SLEEP=0; AC_SUBST([GNULIB_SLEEP]) | 94 | GNULIB_PIPE2=0; AC_SUBST([GNULIB_PIPE2]) |
88 | GNULIB_SYMLINK=0; AC_SUBST([GNULIB_SYMLINK]) | 95 | GNULIB_PREAD=0; AC_SUBST([GNULIB_PREAD]) |
89 | GNULIB_SYMLINKAT=0; AC_SUBST([GNULIB_SYMLINKAT]) | 96 | GNULIB_PWRITE=0; AC_SUBST([GNULIB_PWRITE]) |
90 | GNULIB_TTYNAME_R=0; AC_SUBST([GNULIB_TTYNAME_R]) | 97 | GNULIB_READ=0; AC_SUBST([GNULIB_READ]) |
91 | GNULIB_UNISTD_H_GETOPT=0; AC_SUBST([GNULIB_UNISTD_H_GETOPT]) | 98 | GNULIB_READLINK=0; AC_SUBST([GNULIB_READLINK]) |
92 | GNULIB_UNISTD_H_SIGPIPE=0; AC_SUBST([GNULIB_UNISTD_H_SIGPIPE]) | 99 | GNULIB_READLINKAT=0; AC_SUBST([GNULIB_READLINKAT]) |
93 | GNULIB_UNLINK=0; AC_SUBST([GNULIB_UNLINK]) | 100 | GNULIB_RMDIR=0; AC_SUBST([GNULIB_RMDIR]) |
94 | GNULIB_UNLINKAT=0; AC_SUBST([GNULIB_UNLINKAT]) | 101 | GNULIB_SETHOSTNAME=0; AC_SUBST([GNULIB_SETHOSTNAME]) |
95 | GNULIB_USLEEP=0; AC_SUBST([GNULIB_USLEEP]) | 102 | GNULIB_SLEEP=0; AC_SUBST([GNULIB_SLEEP]) |
96 | GNULIB_WRITE=0; AC_SUBST([GNULIB_WRITE]) | 103 | GNULIB_SYMLINK=0; AC_SUBST([GNULIB_SYMLINK]) |
104 | GNULIB_SYMLINKAT=0; AC_SUBST([GNULIB_SYMLINKAT]) | ||
105 | GNULIB_TTYNAME_R=0; AC_SUBST([GNULIB_TTYNAME_R]) | ||
106 | GNULIB_UNISTD_H_NONBLOCKING=0; AC_SUBST([GNULIB_UNISTD_H_NONBLOCKING]) | ||
107 | GNULIB_UNISTD_H_SIGPIPE=0; AC_SUBST([GNULIB_UNISTD_H_SIGPIPE]) | ||
108 | GNULIB_UNLINK=0; AC_SUBST([GNULIB_UNLINK]) | ||
109 | GNULIB_UNLINKAT=0; AC_SUBST([GNULIB_UNLINKAT]) | ||
110 | GNULIB_USLEEP=0; AC_SUBST([GNULIB_USLEEP]) | ||
111 | GNULIB_WRITE=0; AC_SUBST([GNULIB_WRITE]) | ||
97 | dnl Assume proper GNU behavior unless another module says otherwise. | 112 | dnl Assume proper GNU behavior unless another module says otherwise. |
98 | HAVE_CHOWN=1; AC_SUBST([HAVE_CHOWN]) | 113 | HAVE_CHOWN=1; AC_SUBST([HAVE_CHOWN]) |
99 | HAVE_DUP2=1; AC_SUBST([HAVE_DUP2]) | 114 | HAVE_DUP2=1; AC_SUBST([HAVE_DUP2]) |
@@ -102,32 +117,39 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS], | |||
102 | HAVE_FACCESSAT=1; AC_SUBST([HAVE_FACCESSAT]) | 117 | HAVE_FACCESSAT=1; AC_SUBST([HAVE_FACCESSAT]) |
103 | HAVE_FCHDIR=1; AC_SUBST([HAVE_FCHDIR]) | 118 | HAVE_FCHDIR=1; AC_SUBST([HAVE_FCHDIR]) |
104 | HAVE_FCHOWNAT=1; AC_SUBST([HAVE_FCHOWNAT]) | 119 | HAVE_FCHOWNAT=1; AC_SUBST([HAVE_FCHOWNAT]) |
120 | HAVE_FDATASYNC=1; AC_SUBST([HAVE_FDATASYNC]) | ||
105 | HAVE_FSYNC=1; AC_SUBST([HAVE_FSYNC]) | 121 | HAVE_FSYNC=1; AC_SUBST([HAVE_FSYNC]) |
106 | HAVE_FTRUNCATE=1; AC_SUBST([HAVE_FTRUNCATE]) | 122 | HAVE_FTRUNCATE=1; AC_SUBST([HAVE_FTRUNCATE]) |
107 | HAVE_GETDOMAINNAME=1; AC_SUBST([HAVE_GETDOMAINNAME]) | ||
108 | HAVE_GETDTABLESIZE=1; AC_SUBST([HAVE_GETDTABLESIZE]) | 123 | HAVE_GETDTABLESIZE=1; AC_SUBST([HAVE_GETDTABLESIZE]) |
109 | HAVE_GETGROUPS=1; AC_SUBST([HAVE_GETGROUPS]) | 124 | HAVE_GETGROUPS=1; AC_SUBST([HAVE_GETGROUPS]) |
110 | HAVE_GETHOSTNAME=1; AC_SUBST([HAVE_GETHOSTNAME]) | 125 | HAVE_GETHOSTNAME=1; AC_SUBST([HAVE_GETHOSTNAME]) |
111 | HAVE_GETLOGIN=1; AC_SUBST([HAVE_GETLOGIN]) | 126 | HAVE_GETLOGIN=1; AC_SUBST([HAVE_GETLOGIN]) |
112 | HAVE_GETPAGESIZE=1; AC_SUBST([HAVE_GETPAGESIZE]) | 127 | HAVE_GETPAGESIZE=1; AC_SUBST([HAVE_GETPAGESIZE]) |
128 | HAVE_GROUP_MEMBER=1; AC_SUBST([HAVE_GROUP_MEMBER]) | ||
113 | HAVE_LCHOWN=1; AC_SUBST([HAVE_LCHOWN]) | 129 | HAVE_LCHOWN=1; AC_SUBST([HAVE_LCHOWN]) |
114 | HAVE_LINK=1; AC_SUBST([HAVE_LINK]) | 130 | HAVE_LINK=1; AC_SUBST([HAVE_LINK]) |
115 | HAVE_LINKAT=1; AC_SUBST([HAVE_LINKAT]) | 131 | HAVE_LINKAT=1; AC_SUBST([HAVE_LINKAT]) |
132 | HAVE_PIPE=1; AC_SUBST([HAVE_PIPE]) | ||
116 | HAVE_PIPE2=1; AC_SUBST([HAVE_PIPE2]) | 133 | HAVE_PIPE2=1; AC_SUBST([HAVE_PIPE2]) |
117 | HAVE_PREAD=1; AC_SUBST([HAVE_PREAD]) | 134 | HAVE_PREAD=1; AC_SUBST([HAVE_PREAD]) |
118 | HAVE_PWRITE=1; AC_SUBST([HAVE_PWRITE]) | 135 | HAVE_PWRITE=1; AC_SUBST([HAVE_PWRITE]) |
119 | HAVE_READLINK=1; AC_SUBST([HAVE_READLINK]) | 136 | HAVE_READLINK=1; AC_SUBST([HAVE_READLINK]) |
120 | HAVE_READLINKAT=1; AC_SUBST([HAVE_READLINKAT]) | 137 | HAVE_READLINKAT=1; AC_SUBST([HAVE_READLINKAT]) |
138 | HAVE_SETHOSTNAME=1; AC_SUBST([HAVE_SETHOSTNAME]) | ||
121 | HAVE_SLEEP=1; AC_SUBST([HAVE_SLEEP]) | 139 | HAVE_SLEEP=1; AC_SUBST([HAVE_SLEEP]) |
122 | HAVE_SYMLINK=1; AC_SUBST([HAVE_SYMLINK]) | 140 | HAVE_SYMLINK=1; AC_SUBST([HAVE_SYMLINK]) |
123 | HAVE_SYMLINKAT=1; AC_SUBST([HAVE_SYMLINKAT]) | 141 | HAVE_SYMLINKAT=1; AC_SUBST([HAVE_SYMLINKAT]) |
124 | HAVE_TTYNAME_R=1; AC_SUBST([HAVE_TTYNAME_R]) | ||
125 | HAVE_UNLINKAT=1; AC_SUBST([HAVE_UNLINKAT]) | 142 | HAVE_UNLINKAT=1; AC_SUBST([HAVE_UNLINKAT]) |
126 | HAVE_USLEEP=1; AC_SUBST([HAVE_USLEEP]) | 143 | HAVE_USLEEP=1; AC_SUBST([HAVE_USLEEP]) |
127 | HAVE_DECL_ENVIRON=1; AC_SUBST([HAVE_DECL_ENVIRON]) | 144 | HAVE_DECL_ENVIRON=1; AC_SUBST([HAVE_DECL_ENVIRON]) |
145 | HAVE_DECL_FCHDIR=1; AC_SUBST([HAVE_DECL_FCHDIR]) | ||
146 | HAVE_DECL_FDATASYNC=1; AC_SUBST([HAVE_DECL_FDATASYNC]) | ||
147 | HAVE_DECL_GETDOMAINNAME=1; AC_SUBST([HAVE_DECL_GETDOMAINNAME]) | ||
128 | HAVE_DECL_GETLOGIN_R=1; AC_SUBST([HAVE_DECL_GETLOGIN_R]) | 148 | HAVE_DECL_GETLOGIN_R=1; AC_SUBST([HAVE_DECL_GETLOGIN_R]) |
129 | HAVE_DECL_GETPAGESIZE=1; AC_SUBST([HAVE_DECL_GETPAGESIZE]) | 149 | HAVE_DECL_GETPAGESIZE=1; AC_SUBST([HAVE_DECL_GETPAGESIZE]) |
130 | HAVE_DECL_GETUSERSHELL=1; AC_SUBST([HAVE_DECL_GETUSERSHELL]) | 150 | HAVE_DECL_GETUSERSHELL=1; AC_SUBST([HAVE_DECL_GETUSERSHELL]) |
151 | HAVE_DECL_SETHOSTNAME=1; AC_SUBST([HAVE_DECL_SETHOSTNAME]) | ||
152 | HAVE_DECL_TTYNAME_R=1; AC_SUBST([HAVE_DECL_TTYNAME_R]) | ||
131 | HAVE_OS_H=0; AC_SUBST([HAVE_OS_H]) | 153 | HAVE_OS_H=0; AC_SUBST([HAVE_OS_H]) |
132 | HAVE_SYS_PARAM_H=0; AC_SUBST([HAVE_SYS_PARAM_H]) | 154 | HAVE_SYS_PARAM_H=0; AC_SUBST([HAVE_SYS_PARAM_H]) |
133 | REPLACE_CHOWN=0; AC_SUBST([REPLACE_CHOWN]) | 155 | REPLACE_CHOWN=0; AC_SUBST([REPLACE_CHOWN]) |
@@ -135,15 +157,20 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS], | |||
135 | REPLACE_DUP=0; AC_SUBST([REPLACE_DUP]) | 157 | REPLACE_DUP=0; AC_SUBST([REPLACE_DUP]) |
136 | REPLACE_DUP2=0; AC_SUBST([REPLACE_DUP2]) | 158 | REPLACE_DUP2=0; AC_SUBST([REPLACE_DUP2]) |
137 | REPLACE_FCHOWNAT=0; AC_SUBST([REPLACE_FCHOWNAT]) | 159 | REPLACE_FCHOWNAT=0; AC_SUBST([REPLACE_FCHOWNAT]) |
160 | REPLACE_FTRUNCATE=0; AC_SUBST([REPLACE_FTRUNCATE]) | ||
138 | REPLACE_GETCWD=0; AC_SUBST([REPLACE_GETCWD]) | 161 | REPLACE_GETCWD=0; AC_SUBST([REPLACE_GETCWD]) |
162 | REPLACE_GETDOMAINNAME=0; AC_SUBST([REPLACE_GETDOMAINNAME]) | ||
163 | REPLACE_GETLOGIN_R=0; AC_SUBST([REPLACE_GETLOGIN_R]) | ||
139 | REPLACE_GETGROUPS=0; AC_SUBST([REPLACE_GETGROUPS]) | 164 | REPLACE_GETGROUPS=0; AC_SUBST([REPLACE_GETGROUPS]) |
140 | REPLACE_GETPAGESIZE=0; AC_SUBST([REPLACE_GETPAGESIZE]) | 165 | REPLACE_GETPAGESIZE=0; AC_SUBST([REPLACE_GETPAGESIZE]) |
166 | REPLACE_ISATTY=0; AC_SUBST([REPLACE_ISATTY]) | ||
141 | REPLACE_LCHOWN=0; AC_SUBST([REPLACE_LCHOWN]) | 167 | REPLACE_LCHOWN=0; AC_SUBST([REPLACE_LCHOWN]) |
142 | REPLACE_LINK=0; AC_SUBST([REPLACE_LINK]) | 168 | REPLACE_LINK=0; AC_SUBST([REPLACE_LINK]) |
143 | REPLACE_LINKAT=0; AC_SUBST([REPLACE_LINKAT]) | 169 | REPLACE_LINKAT=0; AC_SUBST([REPLACE_LINKAT]) |
144 | REPLACE_LSEEK=0; AC_SUBST([REPLACE_LSEEK]) | 170 | REPLACE_LSEEK=0; AC_SUBST([REPLACE_LSEEK]) |
145 | REPLACE_PREAD=0; AC_SUBST([REPLACE_PREAD]) | 171 | REPLACE_PREAD=0; AC_SUBST([REPLACE_PREAD]) |
146 | REPLACE_PWRITE=0; AC_SUBST([REPLACE_PWRITE]) | 172 | REPLACE_PWRITE=0; AC_SUBST([REPLACE_PWRITE]) |
173 | REPLACE_READ=0; AC_SUBST([REPLACE_READ]) | ||
147 | REPLACE_READLINK=0; AC_SUBST([REPLACE_READLINK]) | 174 | REPLACE_READLINK=0; AC_SUBST([REPLACE_READLINK]) |
148 | REPLACE_RMDIR=0; AC_SUBST([REPLACE_RMDIR]) | 175 | REPLACE_RMDIR=0; AC_SUBST([REPLACE_RMDIR]) |
149 | REPLACE_SLEEP=0; AC_SUBST([REPLACE_SLEEP]) | 176 | REPLACE_SLEEP=0; AC_SUBST([REPLACE_SLEEP]) |
diff --git a/gl/m4/vasnprintf.m4 b/gl/m4/vasnprintf.m4 index ebe3c52c..d730e435 100644 --- a/gl/m4/vasnprintf.m4 +++ b/gl/m4/vasnprintf.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # vasnprintf.m4 serial 31 | 1 | # vasnprintf.m4 serial 36 |
2 | dnl Copyright (C) 2002-2004, 2006-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2004, 2006-2013 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. |
@@ -29,7 +29,7 @@ AC_DEFUN([gl_REPLACE_VASNPRINTF], | |||
29 | gl_PREREQ_ASNPRINTF | 29 | gl_PREREQ_ASNPRINTF |
30 | ]) | 30 | ]) |
31 | 31 | ||
32 | # Prequisites of lib/printf-args.h, lib/printf-args.c. | 32 | # Prerequisites of lib/printf-args.h, lib/printf-args.c. |
33 | AC_DEFUN([gl_PREREQ_PRINTF_ARGS], | 33 | AC_DEFUN([gl_PREREQ_PRINTF_ARGS], |
34 | [ | 34 | [ |
35 | AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) | 35 | AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) |
@@ -37,9 +37,10 @@ AC_DEFUN([gl_PREREQ_PRINTF_ARGS], | |||
37 | AC_REQUIRE([gt_TYPE_WINT_T]) | 37 | AC_REQUIRE([gt_TYPE_WINT_T]) |
38 | ]) | 38 | ]) |
39 | 39 | ||
40 | # Prequisites of lib/printf-parse.h, lib/printf-parse.c. | 40 | # Prerequisites of lib/printf-parse.h, lib/printf-parse.c. |
41 | AC_DEFUN([gl_PREREQ_PRINTF_PARSE], | 41 | AC_DEFUN([gl_PREREQ_PRINTF_PARSE], |
42 | [ | 42 | [ |
43 | AC_REQUIRE([gl_FEATURES_H]) | ||
43 | AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) | 44 | AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) |
44 | AC_REQUIRE([gt_TYPE_WCHAR_T]) | 45 | AC_REQUIRE([gt_TYPE_WCHAR_T]) |
45 | AC_REQUIRE([gt_TYPE_WINT_T]) | 46 | AC_REQUIRE([gt_TYPE_WINT_T]) |
@@ -54,7 +55,6 @@ AC_DEFUN([gl_PREREQ_PRINTF_PARSE], | |||
54 | # Prerequisites of lib/vasnprintf.c. | 55 | # Prerequisites of lib/vasnprintf.c. |
55 | AC_DEFUN_ONCE([gl_PREREQ_VASNPRINTF], | 56 | AC_DEFUN_ONCE([gl_PREREQ_VASNPRINTF], |
56 | [ | 57 | [ |
57 | AC_REQUIRE([AC_C_INLINE]) | ||
58 | AC_REQUIRE([AC_FUNC_ALLOCA]) | 58 | AC_REQUIRE([AC_FUNC_ALLOCA]) |
59 | AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) | 59 | AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) |
60 | AC_REQUIRE([gt_TYPE_WCHAR_T]) | 60 | AC_REQUIRE([gt_TYPE_WCHAR_T]) |
@@ -62,7 +62,10 @@ AC_DEFUN_ONCE([gl_PREREQ_VASNPRINTF], | |||
62 | AC_CHECK_FUNCS([snprintf strnlen wcslen wcsnlen mbrtowc wcrtomb]) | 62 | AC_CHECK_FUNCS([snprintf strnlen wcslen wcsnlen mbrtowc wcrtomb]) |
63 | dnl Use the _snprintf function only if it is declared (because on NetBSD it | 63 | 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). | 64 | dnl is defined as a weak alias of snprintf; we prefer to use the latter). |
65 | AC_CHECK_DECLS([_snprintf], , , [#include <stdio.h>]) | 65 | AC_CHECK_DECLS([_snprintf], , , [[#include <stdio.h>]]) |
66 | dnl Knowing DBL_EXPBIT0_WORD and DBL_EXPBIT0_BIT enables an optimization | ||
67 | dnl in the code for NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_DOUBLE. | ||
68 | AC_REQUIRE([gl_DOUBLE_EXPONENT_LOCATION]) | ||
66 | dnl We can avoid a lot of code by assuming that snprintf's return value | 69 | dnl We can avoid a lot of code by assuming that snprintf's return value |
67 | dnl conforms to ISO C99. So check that. | 70 | dnl conforms to ISO C99. So check that. |
68 | AC_REQUIRE([gl_SNPRINTF_RETVAL_C99]) | 71 | AC_REQUIRE([gl_SNPRINTF_RETVAL_C99]) |
diff --git a/gl/m4/vasprintf.m4 b/gl/m4/vasprintf.m4 index b142bc0f..c214ff11 100644 --- a/gl/m4/vasprintf.m4 +++ b/gl/m4/vasprintf.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # vasprintf.m4 serial 6 | 1 | # vasprintf.m4 serial 6 |
2 | dnl Copyright (C) 2002-2003, 2006-2007, 2009-2010 Free Software Foundation, | 2 | dnl Copyright (C) 2002-2003, 2006-2007, 2009-2013 Free Software Foundation, |
3 | dnl Inc. | 3 | dnl 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, |
diff --git a/gl/m4/visibility.m4 b/gl/m4/visibility.m4 index 077c4765..6cbd7e5f 100644 --- a/gl/m4/visibility.m4 +++ b/gl/m4/visibility.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # visibility.m4 serial 3 (gettext-0.18) | 1 | # visibility.m4 serial 5 (gettext-0.18.2) |
2 | dnl Copyright (C) 2005, 2008-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2005, 2008, 2010-2013 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 @@ dnl __attribute__((__visibility__("hidden"))) and | |||
12 | dnl __attribute__((__visibility__("default"))). | 12 | dnl __attribute__((__visibility__("default"))). |
13 | dnl Does *not* test for __visibility__("protected") - which has tricky | 13 | dnl Does *not* test for __visibility__("protected") - which has tricky |
14 | dnl semantics (see the 'vismain' test in glibc) and does not exist e.g. on | 14 | dnl semantics (see the 'vismain' test in glibc) and does not exist e.g. on |
15 | dnl MacOS X. | 15 | dnl Mac OS X. |
16 | dnl Does *not* test for __visibility__("internal") - which has processor | 16 | dnl Does *not* test for __visibility__("internal") - which has processor |
17 | dnl dependent semantics. | 17 | dnl dependent semantics. |
18 | dnl Does *not* test for #pragma GCC visibility push(hidden) - which is | 18 | dnl Does *not* test for #pragma GCC visibility push(hidden) - which is |
@@ -33,7 +33,8 @@ AC_DEFUN([gl_VISIBILITY], | |||
33 | AC_CACHE_VAL([gl_cv_cc_vis_werror], [ | 33 | AC_CACHE_VAL([gl_cv_cc_vis_werror], [ |
34 | gl_save_CFLAGS="$CFLAGS" | 34 | gl_save_CFLAGS="$CFLAGS" |
35 | CFLAGS="$CFLAGS -Werror" | 35 | CFLAGS="$CFLAGS -Werror" |
36 | AC_TRY_COMPILE([], [], | 36 | AC_COMPILE_IFELSE( |
37 | [AC_LANG_PROGRAM([[]], [[]])], | ||
37 | [gl_cv_cc_vis_werror=yes], | 38 | [gl_cv_cc_vis_werror=yes], |
38 | [gl_cv_cc_vis_werror=no]) | 39 | [gl_cv_cc_vis_werror=no]) |
39 | CFLAGS="$gl_save_CFLAGS"]) | 40 | CFLAGS="$gl_save_CFLAGS"]) |
@@ -51,13 +52,15 @@ AC_DEFUN([gl_VISIBILITY], | |||
51 | if test $gl_cv_cc_vis_werror = yes; then | 52 | if test $gl_cv_cc_vis_werror = yes; then |
52 | CFLAGS="$CFLAGS -Werror" | 53 | CFLAGS="$CFLAGS -Werror" |
53 | fi | 54 | fi |
54 | AC_TRY_COMPILE( | 55 | AC_COMPILE_IFELSE( |
55 | [extern __attribute__((__visibility__("hidden"))) int hiddenvar; | 56 | [AC_LANG_PROGRAM( |
56 | extern __attribute__((__visibility__("default"))) int exportedvar; | 57 | [[extern __attribute__((__visibility__("hidden"))) int hiddenvar; |
57 | extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void); | 58 | extern __attribute__((__visibility__("default"))) int exportedvar; |
58 | extern __attribute__((__visibility__("default"))) int exportedfunc (void); | 59 | extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void); |
59 | void dummyfunc (void) {}], | 60 | extern __attribute__((__visibility__("default"))) int exportedfunc (void); |
60 | [], | 61 | void dummyfunc (void) {} |
62 | ]], | ||
63 | [[]])], | ||
61 | [gl_cv_cc_visibility=yes], | 64 | [gl_cv_cc_visibility=yes], |
62 | [gl_cv_cc_visibility=no]) | 65 | [gl_cv_cc_visibility=no]) |
63 | CFLAGS="$gl_save_CFLAGS"]) | 66 | CFLAGS="$gl_save_CFLAGS"]) |
diff --git a/gl/m4/vsnprintf.m4 b/gl/m4/vsnprintf.m4 index ed189c23..4900764e 100644 --- a/gl/m4/vsnprintf.m4 +++ b/gl/m4/vsnprintf.m4 | |||
@@ -1,9 +1,13 @@ | |||
1 | # vsnprintf.m4 serial 5 | 1 | # vsnprintf.m4 serial 6 |
2 | dnl Copyright (C) 2002-2004, 2007-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2004, 2007-2013 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 Libintl 0.17 will replace vsnprintf only if it does not support %1$s, | ||
8 | dnl but defers to any gnulib vsnprintf replacements. Therefore, gnulib | ||
9 | dnl must guarantee that the decision for replacing vsnprintf is a superset | ||
10 | dnl of the reasons checked by libintl. | ||
7 | AC_DEFUN([gl_FUNC_VSNPRINTF], | 11 | AC_DEFUN([gl_FUNC_VSNPRINTF], |
8 | [ | 12 | [ |
9 | AC_REQUIRE([gl_STDIO_H_DEFAULTS]) | 13 | AC_REQUIRE([gl_STDIO_H_DEFAULTS]) |
@@ -13,7 +17,17 @@ AC_DEFUN([gl_FUNC_VSNPRINTF], | |||
13 | gl_SNPRINTF_SIZE1 | 17 | gl_SNPRINTF_SIZE1 |
14 | case "$gl_cv_func_snprintf_size1" in | 18 | case "$gl_cv_func_snprintf_size1" in |
15 | *yes) | 19 | *yes) |
16 | gl_cv_func_vsnprintf_usable=yes | 20 | gl_SNPRINTF_RETVAL_C99 |
21 | case "$gl_cv_func_snprintf_retval_c99" in | ||
22 | *yes) | ||
23 | gl_PRINTF_POSITIONS | ||
24 | case "$gl_cv_func_printf_positions" in | ||
25 | *yes) | ||
26 | gl_cv_func_vsnprintf_usable=yes | ||
27 | ;; | ||
28 | esac | ||
29 | ;; | ||
30 | esac | ||
17 | ;; | 31 | ;; |
18 | esac | 32 | esac |
19 | fi | 33 | fi |
diff --git a/gl/m4/warn-on-use.m4 b/gl/m4/warn-on-use.m4 index 42daae87..e43beebd 100644 --- a/gl/m4/warn-on-use.m4 +++ b/gl/m4/warn-on-use.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # warn-on-use.m4 serial 2 | 1 | # warn-on-use.m4 serial 5 |
2 | dnl Copyright (C) 2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2010-2013 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. |
@@ -18,8 +18,8 @@ dnl with or without modifications, as long as this notice is preserved. | |||
18 | # some systems declare functions in the wrong header, then INCLUDES | 18 | # some systems declare functions in the wrong header, then INCLUDES |
19 | # should do likewise. | 19 | # should do likewise. |
20 | # | 20 | # |
21 | # If you assume C89, then it is generally safe to assume declarations | 21 | # It is generally safe to assume declarations for functions declared |
22 | # for functions declared in that standard (such as gets) without | 22 | # in the intersection of C89 and C11 (such as printf) without |
23 | # needing gl_WARN_ON_USE_PREPARE. | 23 | # needing gl_WARN_ON_USE_PREPARE. |
24 | AC_DEFUN([gl_WARN_ON_USE_PREPARE], | 24 | AC_DEFUN([gl_WARN_ON_USE_PREPARE], |
25 | [ | 25 | [ |
@@ -27,6 +27,8 @@ AC_DEFUN([gl_WARN_ON_USE_PREPARE], | |||
27 | [AH_TEMPLATE([HAVE_RAW_DECL_]AS_TR_CPP(m4_defn([gl_decl])), | 27 | [AH_TEMPLATE([HAVE_RAW_DECL_]AS_TR_CPP(m4_defn([gl_decl])), |
28 | [Define to 1 if ]m4_defn([gl_decl])[ is declared even after | 28 | [Define to 1 if ]m4_defn([gl_decl])[ is declared even after |
29 | undefining macros.])])dnl | 29 | undefining macros.])])dnl |
30 | dnl FIXME: gl_Symbol must be used unquoted until we can assume | ||
31 | dnl autoconf 2.64 or newer. | ||
30 | for gl_func in m4_flatten([$2]); do | 32 | for gl_func in m4_flatten([$2]); do |
31 | AS_VAR_PUSHDEF([gl_Symbol], [gl_cv_have_raw_decl_$gl_func])dnl | 33 | AS_VAR_PUSHDEF([gl_Symbol], [gl_cv_have_raw_decl_$gl_func])dnl |
32 | AC_CACHE_CHECK([whether $gl_func is declared without a macro], | 34 | AC_CACHE_CHECK([whether $gl_func is declared without a macro], |
@@ -35,8 +37,8 @@ AC_DEFUN([gl_WARN_ON_USE_PREPARE], | |||
35 | [@%:@undef $gl_func | 37 | [@%:@undef $gl_func |
36 | (void) $gl_func;])], | 38 | (void) $gl_func;])], |
37 | [AS_VAR_SET(gl_Symbol, [yes])], [AS_VAR_SET(gl_Symbol, [no])])]) | 39 | [AS_VAR_SET(gl_Symbol, [yes])], [AS_VAR_SET(gl_Symbol, [no])])]) |
38 | AS_VAR_IF(gl_Symbol, [yes], | 40 | AS_VAR_IF(gl_Symbol, [yes], |
39 | [AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE_RAW_DECL_$gl_func]), [1]) | 41 | [AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE_RAW_DECL_$gl_func]), [1]) |
40 | dnl shortcut - if the raw declaration exists, then set a cache | 42 | dnl shortcut - if the raw declaration exists, then set a cache |
41 | dnl variable to allow skipping any later AC_CHECK_DECL efforts | 43 | dnl variable to allow skipping any later AC_CHECK_DECL efforts |
42 | eval ac_cv_have_decl_$gl_func=yes]) | 44 | eval ac_cv_have_decl_$gl_func=yes]) |
diff --git a/gl/m4/wchar_h.m4 b/gl/m4/wchar_h.m4 index 8cae82dd..bedb15a4 100644 --- a/gl/m4/wchar_h.m4 +++ b/gl/m4/wchar_h.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-2010 Free Software Foundation, Inc. | 3 | dnl Copyright (C) 2007-2013 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_h.m4 serial 33 | 10 | # wchar_h.m4 serial 39 |
11 | 11 | ||
12 | AC_DEFUN([gl_WCHAR_H], | 12 | AC_DEFUN([gl_WCHAR_H], |
13 | [ | 13 | [ |
@@ -17,7 +17,6 @@ AC_DEFUN([gl_WCHAR_H], | |||
17 | dnl Check for <wchar.h> (missing in Linux uClibc when built without wide | 17 | dnl Check for <wchar.h> (missing in Linux uClibc when built without wide |
18 | dnl character support). | 18 | dnl character support). |
19 | dnl <wchar.h> is always overridden, because of GNULIB_POSIXCHECK. | 19 | dnl <wchar.h> is always overridden, because of GNULIB_POSIXCHECK. |
20 | AC_CHECK_HEADERS_ONCE([wchar.h]) | ||
21 | gl_CHECK_NEXT_HEADERS([wchar.h]) | 20 | gl_CHECK_NEXT_HEADERS([wchar.h]) |
22 | if test $ac_cv_header_wchar_h = yes; then | 21 | if test $ac_cv_header_wchar_h = yes; then |
23 | HAVE_WCHAR_H=1 | 22 | HAVE_WCHAR_H=1 |
@@ -26,6 +25,8 @@ AC_DEFUN([gl_WCHAR_H], | |||
26 | fi | 25 | fi |
27 | AC_SUBST([HAVE_WCHAR_H]) | 26 | AC_SUBST([HAVE_WCHAR_H]) |
28 | 27 | ||
28 | AC_REQUIRE([gl_FEATURES_H]) | ||
29 | |||
29 | AC_REQUIRE([gt_TYPE_WINT_T]) | 30 | AC_REQUIRE([gt_TYPE_WINT_T]) |
30 | if test $gt_cv_c_wint_t = yes; then | 31 | if test $gt_cv_c_wint_t = yes; then |
31 | HAVE_WINT_T=1 | 32 | HAVE_WINT_T=1 |
@@ -37,15 +38,23 @@ AC_DEFUN([gl_WCHAR_H], | |||
37 | dnl Check for declarations of anything we want to poison if the | 38 | dnl Check for declarations of anything we want to poison if the |
38 | dnl corresponding gnulib module is not in use. | 39 | dnl corresponding gnulib module is not in use. |
39 | gl_WARN_ON_USE_PREPARE([[ | 40 | gl_WARN_ON_USE_PREPARE([[ |
40 | /* Some systems require additional headers. */ | 41 | /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before |
41 | #ifndef __GLIBC__ | 42 | <wchar.h>. |
43 | BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be | ||
44 | included before <wchar.h>. */ | ||
45 | #if !(defined __GLIBC__ && !defined __UCLIBC__) | ||
42 | # include <stddef.h> | 46 | # include <stddef.h> |
43 | # include <stdio.h> | 47 | # include <stdio.h> |
44 | # include <time.h> | 48 | # include <time.h> |
45 | #endif | 49 | #endif |
46 | #include <wchar.h> | 50 | #include <wchar.h> |
47 | ]], [btowc wctob mbsinit mbrtowc mbrlen mbsrtowcs mbsnrtowcs wcrtomb | 51 | ]], |
48 | wcsrtombs wcsnrtombs wcwidth]) | 52 | [btowc wctob mbsinit mbrtowc mbrlen mbsrtowcs mbsnrtowcs wcrtomb |
53 | wcsrtombs wcsnrtombs wcwidth wmemchr wmemcmp wmemcpy wmemmove wmemset | ||
54 | wcslen wcsnlen wcscpy wcpcpy wcsncpy wcpncpy wcscat wcsncat wcscmp | ||
55 | wcsncmp wcscasecmp wcsncasecmp wcscoll wcsxfrm wcsdup wcschr wcsrchr | ||
56 | wcscspn wcsspn wcspbrk wcsstr wcstok wcswidth | ||
57 | ]) | ||
49 | ]) | 58 | ]) |
50 | 59 | ||
51 | dnl Check whether <wchar.h> is usable at all. | 60 | dnl Check whether <wchar.h> is usable at all. |
@@ -61,6 +70,13 @@ AC_DEFUN([gl_WCHAR_H_INLINE_OK], | |||
61 | [gl_cv_header_wchar_h_correct_inline=yes | 70 | [gl_cv_header_wchar_h_correct_inline=yes |
62 | AC_LANG_CONFTEST([ | 71 | AC_LANG_CONFTEST([ |
63 | AC_LANG_SOURCE([[#define wcstod renamed_wcstod | 72 | AC_LANG_SOURCE([[#define wcstod renamed_wcstod |
73 | /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before | ||
74 | <wchar.h>. | ||
75 | BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be | ||
76 | included before <wchar.h>. */ | ||
77 | #include <stddef.h> | ||
78 | #include <stdio.h> | ||
79 | #include <time.h> | ||
64 | #include <wchar.h> | 80 | #include <wchar.h> |
65 | extern int zero (void); | 81 | extern int zero (void); |
66 | int main () { return zero(); } | 82 | int main () { return zero(); } |
@@ -69,6 +85,13 @@ int main () { return zero(); } | |||
69 | mv conftest.$ac_objext conftest1.$ac_objext | 85 | mv conftest.$ac_objext conftest1.$ac_objext |
70 | AC_LANG_CONFTEST([ | 86 | AC_LANG_CONFTEST([ |
71 | AC_LANG_SOURCE([[#define wcstod renamed_wcstod | 87 | AC_LANG_SOURCE([[#define wcstod renamed_wcstod |
88 | /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before | ||
89 | <wchar.h>. | ||
90 | BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be | ||
91 | included before <wchar.h>. */ | ||
92 | #include <stddef.h> | ||
93 | #include <stdio.h> | ||
94 | #include <time.h> | ||
72 | #include <wchar.h> | 95 | #include <wchar.h> |
73 | int zero (void) { return 0; } | 96 | int zero (void) { return 0; } |
74 | ]])]) | 97 | ]])]) |
@@ -96,13 +119,6 @@ Configuration aborted.]) | |||
96 | fi | 119 | fi |
97 | ]) | 120 | ]) |
98 | 121 | ||
99 | dnl Unconditionally enables the replacement of <wchar.h>. | ||
100 | AC_DEFUN([gl_REPLACE_WCHAR_H], | ||
101 | [ | ||
102 | dnl This is a no-op, because <wchar.h> is always overridden. | ||
103 | : | ||
104 | ]) | ||
105 | |||
106 | AC_DEFUN([gl_WCHAR_MODULE_INDICATOR], | 122 | AC_DEFUN([gl_WCHAR_MODULE_INDICATOR], |
107 | [ | 123 | [ |
108 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. | 124 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. |
@@ -114,17 +130,45 @@ AC_DEFUN([gl_WCHAR_MODULE_INDICATOR], | |||
114 | 130 | ||
115 | AC_DEFUN([gl_WCHAR_H_DEFAULTS], | 131 | AC_DEFUN([gl_WCHAR_H_DEFAULTS], |
116 | [ | 132 | [ |
117 | GNULIB_BTOWC=0; AC_SUBST([GNULIB_BTOWC]) | 133 | GNULIB_BTOWC=0; AC_SUBST([GNULIB_BTOWC]) |
118 | GNULIB_WCTOB=0; AC_SUBST([GNULIB_WCTOB]) | 134 | GNULIB_WCTOB=0; AC_SUBST([GNULIB_WCTOB]) |
119 | GNULIB_MBSINIT=0; AC_SUBST([GNULIB_MBSINIT]) | 135 | GNULIB_MBSINIT=0; AC_SUBST([GNULIB_MBSINIT]) |
120 | GNULIB_MBRTOWC=0; AC_SUBST([GNULIB_MBRTOWC]) | 136 | GNULIB_MBRTOWC=0; AC_SUBST([GNULIB_MBRTOWC]) |
121 | GNULIB_MBRLEN=0; AC_SUBST([GNULIB_MBRLEN]) | 137 | GNULIB_MBRLEN=0; AC_SUBST([GNULIB_MBRLEN]) |
122 | GNULIB_MBSRTOWCS=0; AC_SUBST([GNULIB_MBSRTOWCS]) | 138 | GNULIB_MBSRTOWCS=0; AC_SUBST([GNULIB_MBSRTOWCS]) |
123 | GNULIB_MBSNRTOWCS=0; AC_SUBST([GNULIB_MBSNRTOWCS]) | 139 | GNULIB_MBSNRTOWCS=0; AC_SUBST([GNULIB_MBSNRTOWCS]) |
124 | GNULIB_WCRTOMB=0; AC_SUBST([GNULIB_WCRTOMB]) | 140 | GNULIB_WCRTOMB=0; AC_SUBST([GNULIB_WCRTOMB]) |
125 | GNULIB_WCSRTOMBS=0; AC_SUBST([GNULIB_WCSRTOMBS]) | 141 | GNULIB_WCSRTOMBS=0; AC_SUBST([GNULIB_WCSRTOMBS]) |
126 | GNULIB_WCSNRTOMBS=0; AC_SUBST([GNULIB_WCSNRTOMBS]) | 142 | GNULIB_WCSNRTOMBS=0; AC_SUBST([GNULIB_WCSNRTOMBS]) |
127 | GNULIB_WCWIDTH=0; AC_SUBST([GNULIB_WCWIDTH]) | 143 | GNULIB_WCWIDTH=0; AC_SUBST([GNULIB_WCWIDTH]) |
144 | GNULIB_WMEMCHR=0; AC_SUBST([GNULIB_WMEMCHR]) | ||
145 | GNULIB_WMEMCMP=0; AC_SUBST([GNULIB_WMEMCMP]) | ||
146 | GNULIB_WMEMCPY=0; AC_SUBST([GNULIB_WMEMCPY]) | ||
147 | GNULIB_WMEMMOVE=0; AC_SUBST([GNULIB_WMEMMOVE]) | ||
148 | GNULIB_WMEMSET=0; AC_SUBST([GNULIB_WMEMSET]) | ||
149 | GNULIB_WCSLEN=0; AC_SUBST([GNULIB_WCSLEN]) | ||
150 | GNULIB_WCSNLEN=0; AC_SUBST([GNULIB_WCSNLEN]) | ||
151 | GNULIB_WCSCPY=0; AC_SUBST([GNULIB_WCSCPY]) | ||
152 | GNULIB_WCPCPY=0; AC_SUBST([GNULIB_WCPCPY]) | ||
153 | GNULIB_WCSNCPY=0; AC_SUBST([GNULIB_WCSNCPY]) | ||
154 | GNULIB_WCPNCPY=0; AC_SUBST([GNULIB_WCPNCPY]) | ||
155 | GNULIB_WCSCAT=0; AC_SUBST([GNULIB_WCSCAT]) | ||
156 | GNULIB_WCSNCAT=0; AC_SUBST([GNULIB_WCSNCAT]) | ||
157 | GNULIB_WCSCMP=0; AC_SUBST([GNULIB_WCSCMP]) | ||
158 | GNULIB_WCSNCMP=0; AC_SUBST([GNULIB_WCSNCMP]) | ||
159 | GNULIB_WCSCASECMP=0; AC_SUBST([GNULIB_WCSCASECMP]) | ||
160 | GNULIB_WCSNCASECMP=0; AC_SUBST([GNULIB_WCSNCASECMP]) | ||
161 | GNULIB_WCSCOLL=0; AC_SUBST([GNULIB_WCSCOLL]) | ||
162 | GNULIB_WCSXFRM=0; AC_SUBST([GNULIB_WCSXFRM]) | ||
163 | GNULIB_WCSDUP=0; AC_SUBST([GNULIB_WCSDUP]) | ||
164 | GNULIB_WCSCHR=0; AC_SUBST([GNULIB_WCSCHR]) | ||
165 | GNULIB_WCSRCHR=0; AC_SUBST([GNULIB_WCSRCHR]) | ||
166 | GNULIB_WCSCSPN=0; AC_SUBST([GNULIB_WCSCSPN]) | ||
167 | GNULIB_WCSSPN=0; AC_SUBST([GNULIB_WCSSPN]) | ||
168 | GNULIB_WCSPBRK=0; AC_SUBST([GNULIB_WCSPBRK]) | ||
169 | GNULIB_WCSSTR=0; AC_SUBST([GNULIB_WCSSTR]) | ||
170 | GNULIB_WCSTOK=0; AC_SUBST([GNULIB_WCSTOK]) | ||
171 | GNULIB_WCSWIDTH=0; AC_SUBST([GNULIB_WCSWIDTH]) | ||
128 | dnl Assume proper GNU behavior unless another module says otherwise. | 172 | dnl Assume proper GNU behavior unless another module says otherwise. |
129 | HAVE_BTOWC=1; AC_SUBST([HAVE_BTOWC]) | 173 | HAVE_BTOWC=1; AC_SUBST([HAVE_BTOWC]) |
130 | HAVE_MBSINIT=1; AC_SUBST([HAVE_MBSINIT]) | 174 | HAVE_MBSINIT=1; AC_SUBST([HAVE_MBSINIT]) |
@@ -135,6 +179,34 @@ AC_DEFUN([gl_WCHAR_H_DEFAULTS], | |||
135 | HAVE_WCRTOMB=1; AC_SUBST([HAVE_WCRTOMB]) | 179 | HAVE_WCRTOMB=1; AC_SUBST([HAVE_WCRTOMB]) |
136 | HAVE_WCSRTOMBS=1; AC_SUBST([HAVE_WCSRTOMBS]) | 180 | HAVE_WCSRTOMBS=1; AC_SUBST([HAVE_WCSRTOMBS]) |
137 | HAVE_WCSNRTOMBS=1; AC_SUBST([HAVE_WCSNRTOMBS]) | 181 | HAVE_WCSNRTOMBS=1; AC_SUBST([HAVE_WCSNRTOMBS]) |
182 | HAVE_WMEMCHR=1; AC_SUBST([HAVE_WMEMCHR]) | ||
183 | HAVE_WMEMCMP=1; AC_SUBST([HAVE_WMEMCMP]) | ||
184 | HAVE_WMEMCPY=1; AC_SUBST([HAVE_WMEMCPY]) | ||
185 | HAVE_WMEMMOVE=1; AC_SUBST([HAVE_WMEMMOVE]) | ||
186 | HAVE_WMEMSET=1; AC_SUBST([HAVE_WMEMSET]) | ||
187 | HAVE_WCSLEN=1; AC_SUBST([HAVE_WCSLEN]) | ||
188 | HAVE_WCSNLEN=1; AC_SUBST([HAVE_WCSNLEN]) | ||
189 | HAVE_WCSCPY=1; AC_SUBST([HAVE_WCSCPY]) | ||
190 | HAVE_WCPCPY=1; AC_SUBST([HAVE_WCPCPY]) | ||
191 | HAVE_WCSNCPY=1; AC_SUBST([HAVE_WCSNCPY]) | ||
192 | HAVE_WCPNCPY=1; AC_SUBST([HAVE_WCPNCPY]) | ||
193 | HAVE_WCSCAT=1; AC_SUBST([HAVE_WCSCAT]) | ||
194 | HAVE_WCSNCAT=1; AC_SUBST([HAVE_WCSNCAT]) | ||
195 | HAVE_WCSCMP=1; AC_SUBST([HAVE_WCSCMP]) | ||
196 | HAVE_WCSNCMP=1; AC_SUBST([HAVE_WCSNCMP]) | ||
197 | HAVE_WCSCASECMP=1; AC_SUBST([HAVE_WCSCASECMP]) | ||
198 | HAVE_WCSNCASECMP=1; AC_SUBST([HAVE_WCSNCASECMP]) | ||
199 | HAVE_WCSCOLL=1; AC_SUBST([HAVE_WCSCOLL]) | ||
200 | HAVE_WCSXFRM=1; AC_SUBST([HAVE_WCSXFRM]) | ||
201 | HAVE_WCSDUP=1; AC_SUBST([HAVE_WCSDUP]) | ||
202 | HAVE_WCSCHR=1; AC_SUBST([HAVE_WCSCHR]) | ||
203 | HAVE_WCSRCHR=1; AC_SUBST([HAVE_WCSRCHR]) | ||
204 | HAVE_WCSCSPN=1; AC_SUBST([HAVE_WCSCSPN]) | ||
205 | HAVE_WCSSPN=1; AC_SUBST([HAVE_WCSSPN]) | ||
206 | HAVE_WCSPBRK=1; AC_SUBST([HAVE_WCSPBRK]) | ||
207 | HAVE_WCSSTR=1; AC_SUBST([HAVE_WCSSTR]) | ||
208 | HAVE_WCSTOK=1; AC_SUBST([HAVE_WCSTOK]) | ||
209 | HAVE_WCSWIDTH=1; AC_SUBST([HAVE_WCSWIDTH]) | ||
138 | HAVE_DECL_WCTOB=1; AC_SUBST([HAVE_DECL_WCTOB]) | 210 | HAVE_DECL_WCTOB=1; AC_SUBST([HAVE_DECL_WCTOB]) |
139 | HAVE_DECL_WCWIDTH=1; AC_SUBST([HAVE_DECL_WCWIDTH]) | 211 | HAVE_DECL_WCWIDTH=1; AC_SUBST([HAVE_DECL_WCWIDTH]) |
140 | REPLACE_MBSTATE_T=0; AC_SUBST([REPLACE_MBSTATE_T]) | 212 | REPLACE_MBSTATE_T=0; AC_SUBST([REPLACE_MBSTATE_T]) |
@@ -149,4 +221,5 @@ AC_DEFUN([gl_WCHAR_H_DEFAULTS], | |||
149 | REPLACE_WCSRTOMBS=0; AC_SUBST([REPLACE_WCSRTOMBS]) | 221 | REPLACE_WCSRTOMBS=0; AC_SUBST([REPLACE_WCSRTOMBS]) |
150 | REPLACE_WCSNRTOMBS=0; AC_SUBST([REPLACE_WCSNRTOMBS]) | 222 | REPLACE_WCSNRTOMBS=0; AC_SUBST([REPLACE_WCSNRTOMBS]) |
151 | REPLACE_WCWIDTH=0; AC_SUBST([REPLACE_WCWIDTH]) | 223 | REPLACE_WCWIDTH=0; AC_SUBST([REPLACE_WCWIDTH]) |
224 | REPLACE_WCSWIDTH=0; AC_SUBST([REPLACE_WCSWIDTH]) | ||
152 | ]) | 225 | ]) |
diff --git a/gl/m4/wchar_t.m4 b/gl/m4/wchar_t.m4 index ed804e66..e1e1e699 100644 --- a/gl/m4/wchar_t.m4 +++ b/gl/m4/wchar_t.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # wchar_t.m4 serial 3 (gettext-0.18) | 1 | # wchar_t.m4 serial 4 (gettext-0.18.2) |
2 | dnl Copyright (C) 2002-2003, 2008-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2003, 2008-2013 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,9 +11,13 @@ dnl Prerequisite: AC_PROG_CC | |||
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_COMPILE_IFELSE( |
15 | wchar_t foo = (wchar_t)'\0';], , | 15 | [AC_LANG_PROGRAM( |
16 | [gt_cv_c_wchar_t=yes], [gt_cv_c_wchar_t=no])]) | 16 | [[#include <stddef.h> |
17 | wchar_t foo = (wchar_t)'\0';]], | ||
18 | [[]])], | ||
19 | [gt_cv_c_wchar_t=yes], | ||
20 | [gt_cv_c_wchar_t=no])]) | ||
17 | if test $gt_cv_c_wchar_t = yes; then | 21 | if test $gt_cv_c_wchar_t = yes; then |
18 | AC_DEFINE([HAVE_WCHAR_T], [1], [Define if you have the 'wchar_t' type.]) | 22 | AC_DEFINE([HAVE_WCHAR_T], [1], [Define if you have the 'wchar_t' type.]) |
19 | fi | 23 | fi |
diff --git a/gl/m4/wcrtomb.m4 b/gl/m4/wcrtomb.m4 index 6a2d772a..f56b5bae 100644 --- a/gl/m4/wcrtomb.m4 +++ b/gl/m4/wcrtomb.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # wcrtomb.m4 serial 5 | 1 | # wcrtomb.m4 serial 11 |
2 | dnl Copyright (C) 2008-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2008-2013 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. |
@@ -14,6 +14,22 @@ AC_DEFUN([gl_FUNC_WCRTOMB], | |||
14 | AC_CHECK_FUNCS_ONCE([wcrtomb]) | 14 | AC_CHECK_FUNCS_ONCE([wcrtomb]) |
15 | if test $ac_cv_func_wcrtomb = no; then | 15 | if test $ac_cv_func_wcrtomb = no; then |
16 | HAVE_WCRTOMB=0 | 16 | HAVE_WCRTOMB=0 |
17 | AC_CHECK_DECLS([wcrtomb],,, [[ | ||
18 | /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before | ||
19 | <wchar.h>. | ||
20 | BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be | ||
21 | included before <wchar.h>. */ | ||
22 | #include <stddef.h> | ||
23 | #include <stdio.h> | ||
24 | #include <time.h> | ||
25 | #include <wchar.h> | ||
26 | ]]) | ||
27 | if test $ac_cv_have_decl_wcrtomb = yes; then | ||
28 | dnl On Minix 3.1.8, the system's <wchar.h> declares wcrtomb() although | ||
29 | dnl it does not have the function. Avoid a collision with gnulib's | ||
30 | dnl replacement. | ||
31 | REPLACE_WCRTOMB=1 | ||
32 | fi | ||
17 | else | 33 | else |
18 | if test $REPLACE_MBSTATE_T = 1; then | 34 | if test $REPLACE_MBSTATE_T = 1; then |
19 | REPLACE_WCRTOMB=1 | 35 | REPLACE_WCRTOMB=1 |
@@ -40,35 +56,43 @@ changequote(,)dnl | |||
40 | esac | 56 | esac |
41 | changequote([,])dnl | 57 | changequote([,])dnl |
42 | if test $LOCALE_FR != none || test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none || test $LOCALE_ZH_CN != none; then | 58 | if test $LOCALE_FR != none || test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none || test $LOCALE_ZH_CN != none; then |
43 | AC_TRY_RUN([ | 59 | AC_RUN_IFELSE( |
60 | [AC_LANG_SOURCE([[ | ||
44 | #include <locale.h> | 61 | #include <locale.h> |
45 | #include <stdio.h> | ||
46 | #include <string.h> | 62 | #include <string.h> |
63 | /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before | ||
64 | <wchar.h>. | ||
65 | BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be | ||
66 | included before <wchar.h>. */ | ||
67 | #include <stddef.h> | ||
68 | #include <stdio.h> | ||
69 | #include <time.h> | ||
47 | #include <wchar.h> | 70 | #include <wchar.h> |
48 | int main () | 71 | int main () |
49 | { | 72 | { |
73 | int result = 0; | ||
50 | if (setlocale (LC_ALL, "$LOCALE_FR") != NULL) | 74 | if (setlocale (LC_ALL, "$LOCALE_FR") != NULL) |
51 | { | 75 | { |
52 | if (wcrtomb (NULL, 0, NULL) != 1) | 76 | if (wcrtomb (NULL, 0, NULL) != 1) |
53 | return 1; | 77 | result |= 1; |
54 | } | 78 | } |
55 | if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) | 79 | if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) |
56 | { | 80 | { |
57 | if (wcrtomb (NULL, 0, NULL) != 1) | 81 | if (wcrtomb (NULL, 0, NULL) != 1) |
58 | return 1; | 82 | result |= 2; |
59 | } | 83 | } |
60 | if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) | 84 | if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) |
61 | { | 85 | { |
62 | if (wcrtomb (NULL, 0, NULL) != 1) | 86 | if (wcrtomb (NULL, 0, NULL) != 1) |
63 | return 1; | 87 | result |= 4; |
64 | } | 88 | } |
65 | if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) | 89 | if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) |
66 | { | 90 | { |
67 | if (wcrtomb (NULL, 0, NULL) != 1) | 91 | if (wcrtomb (NULL, 0, NULL) != 1) |
68 | return 1; | 92 | result |= 8; |
69 | } | 93 | } |
70 | return 0; | 94 | return result; |
71 | }], | 95 | }]])], |
72 | [gl_cv_func_wcrtomb_retval=yes], | 96 | [gl_cv_func_wcrtomb_retval=yes], |
73 | [gl_cv_func_wcrtomb_retval=no], | 97 | [gl_cv_func_wcrtomb_retval=no], |
74 | [:]) | 98 | [:]) |
@@ -80,11 +104,6 @@ int main () | |||
80 | esac | 104 | esac |
81 | fi | 105 | fi |
82 | fi | 106 | fi |
83 | if test $HAVE_WCRTOMB = 0 || test $REPLACE_WCRTOMB = 1; then | ||
84 | gl_REPLACE_WCHAR_H | ||
85 | AC_LIBOBJ([wcrtomb]) | ||
86 | gl_PREREQ_WCRTOMB | ||
87 | fi | ||
88 | ]) | 107 | ]) |
89 | 108 | ||
90 | # Prerequisites of lib/wcrtomb.c. | 109 | # Prerequisites of lib/wcrtomb.c. |
diff --git a/gl/m4/wctype_h.m4 b/gl/m4/wctype_h.m4 index 32924514..82ada0ee 100644 --- a/gl/m4/wctype_h.m4 +++ b/gl/m4/wctype_h.m4 | |||
@@ -1,8 +1,8 @@ | |||
1 | # wctype_h.m4 serial 6 | 1 | # wctype_h.m4 serial 18 |
2 | 2 | ||
3 | 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. |
4 | 4 | ||
5 | dnl Copyright (C) 2006-2010 Free Software Foundation, Inc. | 5 | dnl Copyright (C) 2006-2013 Free Software Foundation, Inc. |
6 | dnl This file is free software; the Free Software Foundation | 6 | dnl This file is free software; the Free Software Foundation |
7 | dnl gives unlimited permission to copy and/or distribute it, | 7 | dnl gives unlimited permission to copy and/or distribute it, |
8 | 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. |
@@ -11,6 +11,7 @@ dnl Written by Paul Eggert. | |||
11 | 11 | ||
12 | AC_DEFUN([gl_WCTYPE_H], | 12 | AC_DEFUN([gl_WCTYPE_H], |
13 | [ | 13 | [ |
14 | AC_REQUIRE([gl_WCTYPE_H_DEFAULTS]) | ||
14 | AC_REQUIRE([AC_PROG_CC]) | 15 | AC_REQUIRE([AC_PROG_CC]) |
15 | AC_REQUIRE([AC_CANONICAL_HOST]) | 16 | AC_REQUIRE([AC_CANONICAL_HOST]) |
16 | AC_CHECK_FUNCS_ONCE([iswcntrl]) | 17 | AC_CHECK_FUNCS_ONCE([iswcntrl]) |
@@ -20,15 +21,6 @@ AC_DEFUN([gl_WCTYPE_H], | |||
20 | HAVE_ISWCNTRL=0 | 21 | HAVE_ISWCNTRL=0 |
21 | fi | 22 | fi |
22 | AC_SUBST([HAVE_ISWCNTRL]) | 23 | AC_SUBST([HAVE_ISWCNTRL]) |
23 | AC_CHECK_FUNCS_ONCE([iswblank]) | ||
24 | if test $ac_cv_func_iswblank = yes; then | ||
25 | HAVE_ISWBLANK=1 | ||
26 | else | ||
27 | HAVE_ISWBLANK=0 | ||
28 | fi | ||
29 | AC_SUBST([HAVE_ISWBLANK]) | ||
30 | AC_CHECK_HEADERS_ONCE([wctype.h]) | ||
31 | AC_REQUIRE([AC_C_INLINE]) | ||
32 | 24 | ||
33 | AC_REQUIRE([gt_TYPE_WINT_T]) | 25 | AC_REQUIRE([gt_TYPE_WINT_T]) |
34 | if test $gt_cv_c_wint_t = yes; then | 26 | if test $gt_cv_c_wint_t = yes; then |
@@ -38,39 +30,180 @@ AC_DEFUN([gl_WCTYPE_H], | |||
38 | fi | 30 | fi |
39 | AC_SUBST([HAVE_WINT_T]) | 31 | AC_SUBST([HAVE_WINT_T]) |
40 | 32 | ||
33 | gl_CHECK_NEXT_HEADERS([wctype.h]) | ||
41 | if test $ac_cv_header_wctype_h = yes; then | 34 | if test $ac_cv_header_wctype_h = yes; then |
42 | if test $ac_cv_func_iswcntrl = yes; then | 35 | if test $ac_cv_func_iswcntrl = yes; then |
43 | dnl Linux libc5 has an iswprint function that returns 0 for all arguments. | 36 | dnl Linux libc5 has an iswprint function that returns 0 for all arguments. |
44 | dnl The other functions are likely broken in the same way. | 37 | dnl The other functions are likely broken in the same way. |
45 | AC_CACHE_CHECK([whether iswcntrl works], [gl_cv_func_iswcntrl_works], | 38 | AC_CACHE_CHECK([whether iswcntrl works], [gl_cv_func_iswcntrl_works], |
46 | [ | 39 | [ |
47 | AC_RUN_IFELSE([AC_LANG_SOURCE([[ | 40 | AC_RUN_IFELSE( |
48 | #include <stddef.h> | 41 | [AC_LANG_SOURCE([[ |
49 | #include <stdio.h> | 42 | /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be |
50 | #include <time.h> | 43 | included before <wchar.h>. |
51 | #include <wchar.h> | 44 | BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> |
52 | #include <wctype.h> | 45 | must be included before <wchar.h>. */ |
53 | int main () { return iswprint ('x') == 0; }]])], | 46 | #include <stddef.h> |
47 | #include <stdio.h> | ||
48 | #include <time.h> | ||
49 | #include <wchar.h> | ||
50 | #include <wctype.h> | ||
51 | int main () { return iswprint ('x') == 0; } | ||
52 | ]])], | ||
54 | [gl_cv_func_iswcntrl_works=yes], [gl_cv_func_iswcntrl_works=no], | 53 | [gl_cv_func_iswcntrl_works=yes], [gl_cv_func_iswcntrl_works=no], |
55 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdlib.h> | 54 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdlib.h> |
56 | #if __GNU_LIBRARY__ == 1 | 55 | #if __GNU_LIBRARY__ == 1 |
57 | Linux libc5 i18n is broken. | 56 | Linux libc5 i18n is broken. |
58 | #endif]], [])], | 57 | #endif]], [])], |
59 | [gl_cv_func_iswcntrl_works=yes], [gl_cv_func_iswcntrl_works=no]) | 58 | [gl_cv_func_iswcntrl_works="guessing yes"], |
59 | [gl_cv_func_iswcntrl_works="guessing no"]) | ||
60 | ]) | 60 | ]) |
61 | ]) | 61 | ]) |
62 | fi | 62 | fi |
63 | gl_CHECK_NEXT_HEADERS([wctype.h]) | ||
64 | HAVE_WCTYPE_H=1 | 63 | HAVE_WCTYPE_H=1 |
65 | else | 64 | else |
66 | HAVE_WCTYPE_H=0 | 65 | HAVE_WCTYPE_H=0 |
67 | fi | 66 | fi |
68 | AC_SUBST([HAVE_WCTYPE_H]) | 67 | AC_SUBST([HAVE_WCTYPE_H]) |
69 | 68 | ||
70 | if test "$gl_cv_func_iswcntrl_works" = no; then | 69 | case "$gl_cv_func_iswcntrl_works" in |
71 | REPLACE_ISWCNTRL=1 | 70 | *yes) REPLACE_ISWCNTRL=0 ;; |
71 | *) REPLACE_ISWCNTRL=1 ;; | ||
72 | esac | ||
73 | AC_SUBST([REPLACE_ISWCNTRL]) | ||
74 | |||
75 | if test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; then | ||
76 | dnl Redefine all of iswcntrl, ..., iswxdigit in <wctype.h>. | ||
77 | : | ||
78 | fi | ||
79 | |||
80 | if test $REPLACE_ISWCNTRL = 1; then | ||
81 | REPLACE_TOWLOWER=1 | ||
72 | else | 82 | else |
73 | REPLACE_ISWCNTRL=0 | 83 | AC_CHECK_FUNCS([towlower]) |
84 | if test $ac_cv_func_towlower = yes; then | ||
85 | REPLACE_TOWLOWER=0 | ||
86 | else | ||
87 | AC_CHECK_DECLS([towlower],,, | ||
88 | [[/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be | ||
89 | included before <wchar.h>. | ||
90 | BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> | ||
91 | must be included before <wchar.h>. */ | ||
92 | #include <stddef.h> | ||
93 | #include <stdio.h> | ||
94 | #include <time.h> | ||
95 | #include <wchar.h> | ||
96 | #if HAVE_WCTYPE_H | ||
97 | # include <wctype.h> | ||
98 | #endif | ||
99 | ]]) | ||
100 | if test $ac_cv_have_decl_towlower = yes; then | ||
101 | dnl On Minix 3.1.8, the system's <wctype.h> declares towlower() and | ||
102 | dnl towupper() although it does not have the functions. Avoid a | ||
103 | dnl collision with gnulib's replacement. | ||
104 | REPLACE_TOWLOWER=1 | ||
105 | else | ||
106 | REPLACE_TOWLOWER=0 | ||
107 | fi | ||
108 | fi | ||
74 | fi | 109 | fi |
75 | AC_SUBST([REPLACE_ISWCNTRL]) | 110 | AC_SUBST([REPLACE_TOWLOWER]) |
111 | |||
112 | if test $HAVE_ISWCNTRL = 0 || test $REPLACE_TOWLOWER = 1; then | ||
113 | dnl Redefine towlower, towupper in <wctype.h>. | ||
114 | : | ||
115 | fi | ||
116 | |||
117 | dnl We assume that the wctype() and iswctype() functions exist if and only | ||
118 | dnl if the type wctype_t is defined in <wchar.h> or in <wctype.h> if that | ||
119 | dnl exists. | ||
120 | dnl HP-UX 11.00 declares all these in <wchar.h> and lacks <wctype.h>. | ||
121 | AC_CACHE_CHECK([for wctype_t], [gl_cv_type_wctype_t], | ||
122 | [AC_COMPILE_IFELSE( | ||
123 | [AC_LANG_PROGRAM( | ||
124 | [[/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be | ||
125 | included before <wchar.h>. | ||
126 | BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> | ||
127 | must be included before <wchar.h>. */ | ||
128 | #include <stddef.h> | ||
129 | #include <stdio.h> | ||
130 | #include <time.h> | ||
131 | #include <wchar.h> | ||
132 | #if HAVE_WCTYPE_H | ||
133 | # include <wctype.h> | ||
134 | #endif | ||
135 | wctype_t a; | ||
136 | ]], | ||
137 | [[]])], | ||
138 | [gl_cv_type_wctype_t=yes], | ||
139 | [gl_cv_type_wctype_t=no]) | ||
140 | ]) | ||
141 | if test $gl_cv_type_wctype_t = no; then | ||
142 | HAVE_WCTYPE_T=0 | ||
143 | fi | ||
144 | |||
145 | dnl We assume that the wctrans() and towctrans() functions exist if and only | ||
146 | dnl if the type wctrans_t is defined in <wctype.h>. | ||
147 | AC_CACHE_CHECK([for wctrans_t], [gl_cv_type_wctrans_t], | ||
148 | [AC_COMPILE_IFELSE( | ||
149 | [AC_LANG_PROGRAM( | ||
150 | [[/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be | ||
151 | included before <wchar.h>. | ||
152 | BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> | ||
153 | must be included before <wchar.h>. */ | ||
154 | #include <stddef.h> | ||
155 | #include <stdio.h> | ||
156 | #include <time.h> | ||
157 | #include <wchar.h> | ||
158 | #include <wctype.h> | ||
159 | wctrans_t a; | ||
160 | ]], | ||
161 | [[]])], | ||
162 | [gl_cv_type_wctrans_t=yes], | ||
163 | [gl_cv_type_wctrans_t=no]) | ||
164 | ]) | ||
165 | if test $gl_cv_type_wctrans_t = no; then | ||
166 | HAVE_WCTRANS_T=0 | ||
167 | fi | ||
168 | |||
169 | dnl Check for declarations of anything we want to poison if the | ||
170 | dnl corresponding gnulib module is not in use. | ||
171 | gl_WARN_ON_USE_PREPARE([[ | ||
172 | /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before | ||
173 | <wchar.h>. | ||
174 | BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be | ||
175 | included before <wchar.h>. */ | ||
176 | #if !(defined __GLIBC__ && !defined __UCLIBC__) | ||
177 | # include <stddef.h> | ||
178 | # include <stdio.h> | ||
179 | # include <time.h> | ||
180 | # include <wchar.h> | ||
181 | #endif | ||
182 | #include <wctype.h> | ||
183 | ]], | ||
184 | [wctype iswctype wctrans towctrans | ||
185 | ]) | ||
186 | ]) | ||
187 | |||
188 | AC_DEFUN([gl_WCTYPE_MODULE_INDICATOR], | ||
189 | [ | ||
190 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. | ||
191 | AC_REQUIRE([gl_WCTYPE_H_DEFAULTS]) | ||
192 | gl_MODULE_INDICATOR_SET_VARIABLE([$1]) | ||
193 | dnl Define it also as a C macro, for the benefit of the unit tests. | ||
194 | gl_MODULE_INDICATOR_FOR_TESTS([$1]) | ||
195 | ]) | ||
196 | |||
197 | AC_DEFUN([gl_WCTYPE_H_DEFAULTS], | ||
198 | [ | ||
199 | GNULIB_ISWBLANK=0; AC_SUBST([GNULIB_ISWBLANK]) | ||
200 | GNULIB_WCTYPE=0; AC_SUBST([GNULIB_WCTYPE]) | ||
201 | GNULIB_ISWCTYPE=0; AC_SUBST([GNULIB_ISWCTYPE]) | ||
202 | GNULIB_WCTRANS=0; AC_SUBST([GNULIB_WCTRANS]) | ||
203 | GNULIB_TOWCTRANS=0; AC_SUBST([GNULIB_TOWCTRANS]) | ||
204 | dnl Assume proper GNU behavior unless another module says otherwise. | ||
205 | HAVE_ISWBLANK=1; AC_SUBST([HAVE_ISWBLANK]) | ||
206 | HAVE_WCTYPE_T=1; AC_SUBST([HAVE_WCTYPE_T]) | ||
207 | HAVE_WCTRANS_T=1; AC_SUBST([HAVE_WCTRANS_T]) | ||
208 | REPLACE_ISWBLANK=0; AC_SUBST([REPLACE_ISWBLANK]) | ||
76 | ]) | 209 | ]) |
diff --git a/gl/m4/wint_t.m4 b/gl/m4/wint_t.m4 index a6c7d15c..d7cd3db9 100644 --- a/gl/m4/wint_t.m4 +++ b/gl/m4/wint_t.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # wint_t.m4 serial 4 (gettext-0.18) | 1 | # wint_t.m4 serial 5 (gettext-0.18.2) |
2 | dnl Copyright (C) 2003, 2007-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2003, 2007-2013 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,7 +11,9 @@ dnl Prerequisite: AC_PROG_CC | |||
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_COMPILE_IFELSE( |
15 | [AC_LANG_PROGRAM( | ||
16 | [[ | ||
15 | /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before | 17 | /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before |
16 | <wchar.h>. | 18 | <wchar.h>. |
17 | BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included | 19 | BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included |
@@ -20,8 +22,10 @@ AC_DEFUN([gt_TYPE_WINT_T], | |||
20 | #include <stdio.h> | 22 | #include <stdio.h> |
21 | #include <time.h> | 23 | #include <time.h> |
22 | #include <wchar.h> | 24 | #include <wchar.h> |
23 | wint_t foo = (wchar_t)'\0';], , | 25 | wint_t foo = (wchar_t)'\0';]], |
24 | [gt_cv_c_wint_t=yes], [gt_cv_c_wint_t=no])]) | 26 | [[]])], |
27 | [gt_cv_c_wint_t=yes], | ||
28 | [gt_cv_c_wint_t=no])]) | ||
25 | if test $gt_cv_c_wint_t = yes; then | 29 | if test $gt_cv_c_wint_t = yes; then |
26 | AC_DEFINE([HAVE_WINT_T], [1], [Define if you have the 'wint_t' type.]) | 30 | AC_DEFINE([HAVE_WINT_T], [1], [Define if you have the 'wint_t' type.]) |
27 | fi | 31 | fi |
diff --git a/gl/m4/write.m4 b/gl/m4/write.m4 deleted file mode 100644 index 56325aba..00000000 --- a/gl/m4/write.m4 +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | # write.m4 serial 1 | ||
2 | dnl Copyright (C) 2008, 2009, 2010 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/xalloc.m4 b/gl/m4/xalloc.m4 index 83247fe3..64ca7014 100644 --- a/gl/m4/xalloc.m4 +++ b/gl/m4/xalloc.m4 | |||
@@ -1,25 +1,7 @@ | |||
1 | # xalloc.m4 serial 16 | 1 | # xalloc.m4 serial 18 |
2 | dnl Copyright (C) 2002, 2003, 2004, 2005, 2006, 2009, 2010 Free Software | 2 | dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc. |
3 | dnl Foundation, Inc. | ||
4 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
5 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
6 | 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 | 6 | ||
8 | AC_DEFUN([gl_XALLOC], | 7 | AC_DEFUN([gl_XALLOC], [:]) |
9 | [ | ||
10 | AC_LIBOBJ([xmalloc]) | ||
11 | |||
12 | gl_PREREQ_XALLOC | ||
13 | gl_PREREQ_XMALLOC | ||
14 | ]) | ||
15 | |||
16 | # Prerequisites of lib/xalloc.h. | ||
17 | AC_DEFUN([gl_PREREQ_XALLOC], [ | ||
18 | AC_REQUIRE([gl_INLINE]) | ||
19 | : | ||
20 | ]) | ||
21 | |||
22 | # Prerequisites of lib/xmalloc.c. | ||
23 | AC_DEFUN([gl_PREREQ_XMALLOC], [ | ||
24 | : | ||
25 | ]) | ||
diff --git a/gl/m4/xsize.m4 b/gl/m4/xsize.m4 index b653693a..8ea9f2cd 100644 --- a/gl/m4/xsize.m4 +++ b/gl/m4/xsize.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # xsize.m4 serial 4 | 1 | # xsize.m4 serial 5 |
2 | dnl Copyright (C) 2003-2004, 2008-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2003-2004, 2008-2013 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,5 @@ AC_DEFUN([gl_XSIZE], | |||
8 | [ | 8 | [ |
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]) | ||
12 | AC_CHECK_HEADERS([stdint.h]) | 11 | AC_CHECK_HEADERS([stdint.h]) |
13 | ]) | 12 | ]) |
diff --git a/gl/m4/xstrndup.m4 b/gl/m4/xstrndup.m4 index 74302cc9..4a9330bb 100644 --- a/gl/m4/xstrndup.m4 +++ b/gl/m4/xstrndup.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # xstrndup.m4 serial 2 | 1 | # xstrndup.m4 serial 2 |
2 | dnl Copyright (C) 2003, 2009, 2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2003, 2009-2013 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. |