diff options
Diffstat (limited to 'gl/m4')
129 files changed, 3212 insertions, 1156 deletions
diff --git a/gl/m4/00gnulib.m4 b/gl/m4/00gnulib.m4 index d4d04d15..301469b3 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 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2009-2010 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 4b978e13..f3ee3438 100644 --- a/gl/m4/alloca.m4 +++ b/gl/m4/alloca.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # alloca.m4 serial 9 | 1 | # alloca.m4 serial 9 |
2 | dnl Copyright (C) 2002-2004, 2006, 2007, 2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2004, 2006-2007, 2009-2010 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. |
diff --git a/gl/m4/arpa_inet_h.m4 b/gl/m4/arpa_inet_h.m4 index a6e63df0..15a30e2b 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 5 | 1 | # arpa_inet_h.m4 serial 8 |
2 | dnl Copyright (C) 2006, 2008 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2006, 2008, 2009, 2010 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,27 +16,35 @@ AC_DEFUN([gl_HEADER_ARPA_INET], | |||
16 | if test $ac_cv_header_arpa_inet_h = yes; then | 16 | if test $ac_cv_header_arpa_inet_h = yes; then |
17 | HAVE_ARPA_INET_H=1 | 17 | HAVE_ARPA_INET_H=1 |
18 | else | 18 | else |
19 | ARPA_INET_H='arpa/inet.h' | ||
20 | HAVE_ARPA_INET_H=0 | 19 | HAVE_ARPA_INET_H=0 |
21 | fi | 20 | fi |
22 | AC_SUBST([HAVE_ARPA_INET_H]) | 21 | AC_SUBST([HAVE_ARPA_INET_H]) |
23 | dnl Execute this unconditionally, because ARPA_INET_H may be set by other | 22 | dnl <arpa/inet.h> is always overridden, because of GNULIB_POSIXCHECK. |
24 | dnl modules, after this code is executed. | ||
25 | gl_CHECK_NEXT_HEADERS([arpa/inet.h]) | 23 | gl_CHECK_NEXT_HEADERS([arpa/inet.h]) |
24 | |||
25 | dnl Check for declarations of anything we want to poison if the | ||
26 | dnl corresponding gnulib module is not in use. | ||
27 | gl_WARN_ON_USE_PREPARE([[ | ||
28 | /* On some systems, this header is not self-consistent. */ | ||
29 | #ifndef __GLIBC__ | ||
30 | # include <sys/socket.h> | ||
31 | #endif | ||
32 | #include <arpa/inet.h> | ||
33 | ]], [inet_ntop inet_pton]) | ||
26 | ]) | 34 | ]) |
27 | 35 | ||
28 | dnl Unconditionally enables the replacement of <arpa/inet.h>. | 36 | dnl Unconditionally enables the replacement of <arpa/inet.h>. |
29 | AC_DEFUN([gl_REPLACE_ARPA_INET_H], | 37 | AC_DEFUN([gl_REPLACE_ARPA_INET_H], |
30 | [ | 38 | [ |
31 | AC_REQUIRE([gl_ARPA_INET_H_DEFAULTS]) | 39 | dnl This is a no-op, because <arpa/inet.h> is always overridden. |
32 | ARPA_INET_H='arpa/inet.h' | 40 | : |
33 | ]) | 41 | ]) |
34 | 42 | ||
35 | AC_DEFUN([gl_ARPA_INET_MODULE_INDICATOR], | 43 | AC_DEFUN([gl_ARPA_INET_MODULE_INDICATOR], |
36 | [ | 44 | [ |
37 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. | 45 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. |
38 | AC_REQUIRE([gl_ARPA_INET_H_DEFAULTS]) | 46 | AC_REQUIRE([gl_ARPA_INET_H_DEFAULTS]) |
39 | GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 | 47 | gl_MODULE_INDICATOR_SET_VARIABLE([$1]) |
40 | ]) | 48 | ]) |
41 | 49 | ||
42 | AC_DEFUN([gl_ARPA_INET_H_DEFAULTS], | 50 | AC_DEFUN([gl_ARPA_INET_H_DEFAULTS], |
@@ -46,5 +54,4 @@ AC_DEFUN([gl_ARPA_INET_H_DEFAULTS], | |||
46 | dnl Assume proper GNU behavior unless another module says otherwise. | 54 | dnl Assume proper GNU behavior unless another module says otherwise. |
47 | HAVE_DECL_INET_NTOP=1; AC_SUBST([HAVE_DECL_INET_NTOP]) | 55 | HAVE_DECL_INET_NTOP=1; AC_SUBST([HAVE_DECL_INET_NTOP]) |
48 | HAVE_DECL_INET_PTON=1; AC_SUBST([HAVE_DECL_INET_PTON]) | 56 | HAVE_DECL_INET_PTON=1; AC_SUBST([HAVE_DECL_INET_PTON]) |
49 | ARPA_INET_H=''; AC_SUBST([ARPA_INET_H]) | ||
50 | ]) | 57 | ]) |
diff --git a/gl/m4/base64.m4 b/gl/m4/base64.m4 index 24801efa..d1e13522 100644 --- a/gl/m4/base64.m4 +++ b/gl/m4/base64.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # base64.m4 serial 3 | 1 | # base64.m4 serial 3 |
2 | dnl Copyright (C) 2004, 2006 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2004, 2006, 2009, 2010 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/btowc.m4 b/gl/m4/btowc.m4 index b46f74fb..c4ee4e41 100644 --- a/gl/m4/btowc.m4 +++ b/gl/m4/btowc.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # btowc.m4 serial 4 | 1 | # btowc.m4 serial 6 |
2 | dnl Copyright (C) 2008-2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2008-2010 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,49 @@ AC_DEFUN([gl_FUNC_BTOWC], | |||
8 | [ | 8 | [ |
9 | AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) | 9 | AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) |
10 | 10 | ||
11 | dnl Check whether <wchar.h> is usable at all, first. Otherwise the test | ||
12 | dnl program below may lead to an endless loop. See | ||
13 | dnl <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42440>. | ||
14 | AC_REQUIRE([gl_WCHAR_H_INLINE_OK]) | ||
15 | |||
11 | AC_CHECK_FUNCS_ONCE([btowc]) | 16 | AC_CHECK_FUNCS_ONCE([btowc]) |
12 | if test $ac_cv_func_btowc = no; then | 17 | if test $ac_cv_func_btowc = no; then |
13 | HAVE_BTOWC=0 | 18 | HAVE_BTOWC=0 |
14 | else | 19 | else |
15 | 20 | ||
16 | dnl IRIX 6.5 btowc(EOF) is 0xFF, not WEOF. | ||
17 | AC_REQUIRE([AC_PROG_CC]) | 21 | AC_REQUIRE([AC_PROG_CC]) |
18 | AC_REQUIRE([gt_LOCALE_FR]) | 22 | AC_REQUIRE([gt_LOCALE_FR]) |
19 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | 23 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles |
24 | |||
25 | dnl Cygwin 1.7.2 btowc('\0') is WEOF, not 0. | ||
26 | AC_CACHE_CHECK([whether btowc(0) is correct], | ||
27 | [gl_cv_func_btowc_nul], | ||
28 | [ | ||
29 | AC_TRY_RUN([ | ||
30 | #include <stdio.h> | ||
31 | #include <string.h> | ||
32 | #include <wchar.h> | ||
33 | int main () | ||
34 | { | ||
35 | if (btowc ('\0') != 0) | ||
36 | return 1; | ||
37 | return 0; | ||
38 | }], | ||
39 | [gl_cv_func_btowc_nul=yes], | ||
40 | [gl_cv_func_btowc_nul=no], | ||
41 | [ | ||
42 | changequote(,)dnl | ||
43 | case "$host_os" in | ||
44 | # Guess no on Cygwin. | ||
45 | cygwin*) gl_cv_func_btowc_nul="guessing no" ;; | ||
46 | # Guess yes otherwise. | ||
47 | *) gl_cv_func_btowc_nul="guessing yes" ;; | ||
48 | esac | ||
49 | changequote([,])dnl | ||
50 | ]) | ||
51 | ]) | ||
52 | |||
53 | dnl IRIX 6.5 btowc(EOF) is 0xFF, not WEOF. | ||
20 | AC_CACHE_CHECK([whether btowc(EOF) is correct], | 54 | AC_CACHE_CHECK([whether btowc(EOF) is correct], |
21 | [gl_cv_func_btowc_eof], | 55 | [gl_cv_func_btowc_eof], |
22 | [ | 56 | [ |
@@ -50,6 +84,11 @@ int main () | |||
50 | [:]) | 84 | [:]) |
51 | fi | 85 | fi |
52 | ]) | 86 | ]) |
87 | |||
88 | case "$gl_cv_func_btowc_nul" in | ||
89 | *yes) ;; | ||
90 | *) REPLACE_BTOWC=1 ;; | ||
91 | esac | ||
53 | case "$gl_cv_func_btowc_eof" in | 92 | case "$gl_cv_func_btowc_eof" in |
54 | *yes) ;; | 93 | *yes) ;; |
55 | *) REPLACE_BTOWC=1 ;; | 94 | *) REPLACE_BTOWC=1 ;; |
diff --git a/gl/m4/c-strtod.m4 b/gl/m4/c-strtod.m4 index ba954354..41cf18e9 100644 --- a/gl/m4/c-strtod.m4 +++ b/gl/m4/c-strtod.m4 | |||
@@ -1,6 +1,6 @@ | |||
1 | # c-strtod.m4 serial 11 | 1 | # c-strtod.m4 serial 11 |
2 | 2 | ||
3 | # Copyright (C) 2004, 2005, 2006, 2009 Free Software Foundation, Inc. | 3 | # Copyright (C) 2004-2006, 2009-2010 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. |
@@ -14,17 +14,17 @@ AC_DEFUN([gl_C99_STRTOLD], | |||
14 | [AC_LINK_IFELSE( | 14 | [AC_LINK_IFELSE( |
15 | [AC_LANG_PROGRAM( | 15 | [AC_LANG_PROGRAM( |
16 | [[/* On HP-UX before 11.23, strtold returns a struct instead of | 16 | [[/* On HP-UX before 11.23, strtold returns a struct instead of |
17 | long double. Reject implementations like that, by requiring | 17 | long double. Reject implementations like that, by requiring |
18 | compatibility with the C99 prototype. */ | 18 | compatibility with the C99 prototype. */ |
19 | #include <stdlib.h> | 19 | #include <stdlib.h> |
20 | static long double (*p) (char const *, char **) = strtold; | 20 | static long double (*p) (char const *, char **) = strtold; |
21 | static long double | 21 | static long double |
22 | test (char const *nptr, char **endptr) | 22 | test (char const *nptr, char **endptr) |
23 | { | 23 | { |
24 | long double r; | 24 | long double r; |
25 | r = strtold (nptr, endptr); | 25 | r = strtold (nptr, endptr); |
26 | return r; | 26 | return r; |
27 | }]], | 27 | }]], |
28 | [[return test ("1.0", NULL) != 1 || p ("1.0", NULL) != 1;]])], | 28 | [[return test ("1.0", NULL) != 1 || p ("1.0", NULL) != 1;]])], |
29 | [gl_cv_func_c99_strtold=yes], | 29 | [gl_cv_func_c99_strtold=yes], |
30 | [gl_cv_func_c99_strtold=no])]) | 30 | [gl_cv_func_c99_strtold=no])]) |
diff --git a/gl/m4/cloexec.m4 b/gl/m4/cloexec.m4 index 4c4e26a1..c75595ca 100644 --- a/gl/m4/cloexec.m4 +++ b/gl/m4/cloexec.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | #serial 6 | 1 | #serial 6 |
2 | dnl Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2004-2006, 2009-2010 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/codeset.m4 b/gl/m4/codeset.m4 index 413217bd..a53c0426 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 4 (gettext-0.18) |
2 | dnl Copyright (C) 2000-2002, 2006, 2008, 2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2000-2002, 2006, 2008-2010 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/dirname.m4 b/gl/m4/dirname.m4 index e35da965..576b5bea 100644 --- a/gl/m4/dirname.m4 +++ b/gl/m4/dirname.m4 | |||
@@ -1,18 +1,26 @@ | |||
1 | #serial 7 -*- autoconf -*- | 1 | #serial 8 -*- autoconf -*- |
2 | dnl Copyright (C) 2002-2006 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2006, 2009-2010 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_DIRNAME], | 7 | AC_DEFUN([gl_DIRNAME], |
8 | [ | 8 | [ |
9 | AC_REQUIRE([gl_DIRNAME_LGPL]) | ||
9 | AC_LIBOBJ([basename]) | 10 | AC_LIBOBJ([basename]) |
10 | AC_LIBOBJ([dirname]) | 11 | AC_LIBOBJ([dirname]) |
12 | ]) | ||
13 | |||
14 | AC_DEFUN([gl_DIRNAME_LGPL], | ||
15 | [ | ||
16 | AC_LIBOBJ([basename-lgpl]) | ||
17 | AC_LIBOBJ([dirname-lgpl]) | ||
11 | AC_LIBOBJ([stripslash]) | 18 | AC_LIBOBJ([stripslash]) |
12 | 19 | ||
13 | dnl Prerequisites of lib/dirname.h. | 20 | dnl Prerequisites of lib/dirname.h. |
14 | AC_REQUIRE([gl_AC_DOS]) | 21 | AC_REQUIRE([gl_AC_DOS]) |
15 | AC_REQUIRE([gl_DOUBLE_SLASH_ROOT]) | 22 | AC_REQUIRE([gl_DOUBLE_SLASH_ROOT]) |
16 | 23 | ||
17 | dnl No prerequisites of lib/basename.c, lib/dirname.c, lib/stripslash.c. | 24 | dnl No prerequisites of lib/basename-lgpl.c, lib/dirname-lgpl.c, |
25 | dnl lib/stripslash.c. | ||
18 | ]) | 26 | ]) |
diff --git a/gl/m4/dos.m4 b/gl/m4/dos.m4 index dd59571c..5660542b 100644 --- a/gl/m4/dos.m4 +++ b/gl/m4/dos.m4 | |||
@@ -1,9 +1,9 @@ | |||
1 | #serial 10 -*- autoconf -*- | 1 | #serial 11 -*- autoconf -*- |
2 | 2 | ||
3 | # Define some macros required for proper operation of code in lib/*.c | 3 | # Define some macros required for proper operation of code in lib/*.c |
4 | # on MSDOS/Windows systems. | 4 | # on MSDOS/Windows systems. |
5 | 5 | ||
6 | # Copyright (C) 2000, 2001, 2004, 2005, 2006 Free Software Foundation, Inc. | 6 | # Copyright (C) 2000-2001, 2004-2006, 2009-2010 Free Software Foundation, Inc. |
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, |
9 | # with or without modifications, as long as this notice is preserved. | 9 | # with or without modifications, as long as this notice is preserved. |
@@ -14,31 +14,31 @@ AC_DEFUN([gl_AC_DOS], | |||
14 | [ | 14 | [ |
15 | AC_CACHE_CHECK([whether system is Windows or MSDOS], [ac_cv_win_or_dos], | 15 | AC_CACHE_CHECK([whether system is Windows or MSDOS], [ac_cv_win_or_dos], |
16 | [ | 16 | [ |
17 | AC_TRY_COMPILE([], | 17 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[ |
18 | [#if !defined _WIN32 && !defined __WIN32__ && !defined __MSDOS__ && !defined __CYGWIN__ | 18 | #if !defined _WIN32 && !defined __WIN32__ && !defined __MSDOS__ && !defined __CYGWIN__ |
19 | neither MSDOS nor Windows | 19 | neither MSDOS nor Windows |
20 | #endif], | 20 | #endif]])], |
21 | [ac_cv_win_or_dos=yes], | 21 | [ac_cv_win_or_dos=yes], |
22 | [ac_cv_win_or_dos=no]) | 22 | [ac_cv_win_or_dos=no]) |
23 | ]) | 23 | ]) |
24 | 24 | ||
25 | if test x"$ac_cv_win_or_dos" = xyes; then | 25 | if test x"$ac_cv_win_or_dos" = xyes; then |
26 | ac_fs_accepts_drive_letter_prefix=1 | 26 | ac_fs_accepts_drive_letter_prefix=1 |
27 | ac_fs_backslash_is_file_name_separator=1 | 27 | ac_fs_backslash_is_file_name_separator=1 |
28 | AC_CACHE_CHECK([whether drive letter can start relative path], | 28 | AC_CACHE_CHECK([whether drive letter can start relative path], |
29 | [ac_cv_drive_letter_can_be_relative], | 29 | [ac_cv_drive_letter_can_be_relative], |
30 | [ | 30 | [ |
31 | AC_TRY_COMPILE([], | 31 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[ |
32 | [#if defined __CYGWIN__ | 32 | #if defined __CYGWIN__ |
33 | drive letters are always absolute | 33 | drive letters are always absolute |
34 | #endif], | 34 | #endif]])], |
35 | [ac_cv_drive_letter_can_be_relative=yes], | 35 | [ac_cv_drive_letter_can_be_relative=yes], |
36 | [ac_cv_drive_letter_can_be_relative=no]) | 36 | [ac_cv_drive_letter_can_be_relative=no]) |
37 | ]) | 37 | ]) |
38 | if test x"$ac_cv_drive_letter_can_be_relative" = xyes; then | 38 | if test x"$ac_cv_drive_letter_can_be_relative" = xyes; then |
39 | ac_fs_drive_letter_can_be_relative=1 | 39 | ac_fs_drive_letter_can_be_relative=1 |
40 | else | 40 | else |
41 | ac_fs_drive_letter_can_be_relative=0 | 41 | ac_fs_drive_letter_can_be_relative=0 |
42 | fi | 42 | fi |
43 | else | 43 | else |
44 | ac_fs_accepts_drive_letter_prefix=0 | 44 | ac_fs_accepts_drive_letter_prefix=0 |
diff --git a/gl/m4/double-slash-root.m4 b/gl/m4/double-slash-root.m4 index 8c6841bc..66a79c0f 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, 2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2006, 2008-2010 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,27 +9,27 @@ AC_DEFUN([gl_DOUBLE_SLASH_ROOT], | |||
9 | AC_REQUIRE([AC_CANONICAL_HOST]) | 9 | AC_REQUIRE([AC_CANONICAL_HOST]) |
10 | AC_CACHE_CHECK([whether // is distinct from /], [gl_cv_double_slash_root], | 10 | AC_CACHE_CHECK([whether // is distinct from /], [gl_cv_double_slash_root], |
11 | [ if test x"$cross_compiling" = xyes ; then | 11 | [ if test x"$cross_compiling" = xyes ; then |
12 | # When cross-compiling, there is no way to tell whether // is special | 12 | # When cross-compiling, there is no way to tell whether // is special |
13 | # short of a list of hosts. However, the only known hosts to date | 13 | # short of a list of hosts. However, the only known hosts to date |
14 | # that have a distinct // are Apollo DomainOS (too old to port to), | 14 | # that have a distinct // are Apollo DomainOS (too old to port to), |
15 | # Cygwin, and z/OS. If anyone knows of another system for which // has | 15 | # Cygwin, and z/OS. If anyone knows of another system for which // has |
16 | # special semantics and is distinct from /, please report it to | 16 | # special semantics and is distinct from /, please report it to |
17 | # <bug-gnulib@gnu.org>. | 17 | # <bug-gnulib@gnu.org>. |
18 | case $host in | 18 | case $host in |
19 | *-cygwin | i370-ibm-openedition) | 19 | *-cygwin | i370-ibm-openedition) |
20 | gl_cv_double_slash_root=yes ;; | 20 | gl_cv_double_slash_root=yes ;; |
21 | *) | 21 | *) |
22 | # Be optimistic and assume that / and // are the same when we | 22 | # Be optimistic and assume that / and // are the same when we |
23 | # don't know. | 23 | # don't know. |
24 | gl_cv_double_slash_root='unknown, assuming no' ;; | 24 | gl_cv_double_slash_root='unknown, assuming no' ;; |
25 | esac | 25 | esac |
26 | else | 26 | else |
27 | set x `ls -di / // 2>/dev/null` | 27 | set x `ls -di / // 2>/dev/null` |
28 | if test "$[2]" = "$[4]" && wc //dev/null >/dev/null 2>&1; then | 28 | if test "$[2]" = "$[4]" && wc //dev/null >/dev/null 2>&1; then |
29 | gl_cv_double_slash_root=no | 29 | gl_cv_double_slash_root=no |
30 | else | 30 | else |
31 | gl_cv_double_slash_root=yes | 31 | gl_cv_double_slash_root=yes |
32 | fi | 32 | fi |
33 | fi]) | 33 | fi]) |
34 | if test "$gl_cv_double_slash_root" = yes; then | 34 | if test "$gl_cv_double_slash_root" = yes; then |
35 | AC_DEFINE([DOUBLE_SLASH_IS_DISTINCT_ROOT], [1], | 35 | AC_DEFINE([DOUBLE_SLASH_IS_DISTINCT_ROOT], [1], |
diff --git a/gl/m4/dup2.m4 b/gl/m4/dup2.m4 new file mode 100644 index 00000000..998d66f8 --- /dev/null +++ b/gl/m4/dup2.m4 | |||
@@ -0,0 +1,58 @@ | |||
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/errno_h.m4 b/gl/m4/errno_h.m4 index 16188d9b..d02a0393 100644 --- a/gl/m4/errno_h.m4 +++ b/gl/m4/errno_h.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # errno_h.m4 serial 5 | 1 | # errno_h.m4 serial 6 |
2 | dnl Copyright (C) 2004, 2006, 2008, 2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2004, 2006, 2008, 2009, 2010 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,6 +34,9 @@ booboo | |||
34 | #if !defined ENOTSUP | 34 | #if !defined ENOTSUP |
35 | booboo | 35 | booboo |
36 | #endif | 36 | #endif |
37 | #if !defined ESTALE | ||
38 | booboo | ||
39 | #endif | ||
37 | #if !defined ECANCELED | 40 | #if !defined ECANCELED |
38 | booboo | 41 | booboo |
39 | #endif | 42 | #endif |
diff --git a/gl/m4/error.m4 b/gl/m4/error.m4 index 7c7746e2..9f1307a4 100644 --- a/gl/m4/error.m4 +++ b/gl/m4/error.m4 | |||
@@ -1,7 +1,6 @@ | |||
1 | #serial 11 | 1 | #serial 12 |
2 | 2 | ||
3 | # Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2004 Free Software | 3 | # Copyright (C) 1996-1998, 2001-2004, 2009-2010 Free Software Foundation, Inc. |
4 | # 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, |
@@ -18,5 +17,6 @@ AC_DEFUN([gl_ERROR], | |||
18 | AC_DEFUN([gl_PREREQ_ERROR], | 17 | AC_DEFUN([gl_PREREQ_ERROR], |
19 | [ | 18 | [ |
20 | AC_REQUIRE([AC_FUNC_STRERROR_R]) | 19 | AC_REQUIRE([AC_FUNC_STRERROR_R]) |
20 | AC_REQUIRE([AC_C_INLINE]) | ||
21 | : | 21 | : |
22 | ]) | 22 | ]) |
diff --git a/gl/m4/exitfail.m4 b/gl/m4/exitfail.m4 deleted file mode 100644 index b7a691e5..00000000 --- a/gl/m4/exitfail.m4 +++ /dev/null | |||
@@ -1,13 +0,0 @@ | |||
1 | # exitfail.m4 serial 6 | ||
2 | dnl Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | ||
4 | dnl gives unlimited permission to copy and/or distribute it, | ||
5 | dnl with or without modifications, as long as this notice is preserved. | ||
6 | |||
7 | AC_DEFUN([gl_EXITFAIL], | ||
8 | [ | ||
9 | AC_LIBOBJ([exitfail]) | ||
10 | |||
11 | dnl No prerequisites of lib/exitfail.c. | ||
12 | : | ||
13 | ]) | ||
diff --git a/gl/m4/extensions.m4 b/gl/m4/extensions.m4 index ba6d5e19..7d9458a8 100644 --- a/gl/m4/extensions.m4 +++ b/gl/m4/extensions.m4 | |||
@@ -1,7 +1,7 @@ | |||
1 | # serial 8 -*- Autoconf -*- | 1 | # serial 9 -*- 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-2009 Free Software Foundation, Inc. | 4 | # Copyright (C) 2003, 2006-2010 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. |
@@ -12,6 +12,20 @@ | |||
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 | ||
15 | # If autoconf reports a warning | ||
16 | # warning: AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS | ||
17 | # or warning: AC_RUN_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS | ||
18 | # the fix is | ||
19 | # 1) to ensure that AC_USE_SYSTEM_EXTENSIONS is never directly invoked | ||
20 | # but always AC_REQUIREd, | ||
21 | # 2) to ensure that for each occurrence of | ||
22 | # AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) | ||
23 | # or | ||
24 | # AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) | ||
25 | # the corresponding gnulib module description has 'extensions' among | ||
26 | # its dependencies. This will ensure that the gl_USE_SYSTEM_EXTENSIONS | ||
27 | # invocation occurs in gl_EARLY, not in gl_INIT. | ||
28 | |||
15 | # AC_USE_SYSTEM_EXTENSIONS | 29 | # AC_USE_SYSTEM_EXTENSIONS |
16 | # ------------------------ | 30 | # ------------------------ |
17 | # Enable extensions on systems that normally disable them, | 31 | # Enable extensions on systems that normally disable them, |
@@ -74,8 +88,8 @@ AC_BEFORE([$0], [AC_RUN_IFELSE])dnl | |||
74 | [ac_cv_safe_to_define___extensions__], | 88 | [ac_cv_safe_to_define___extensions__], |
75 | [AC_COMPILE_IFELSE( | 89 | [AC_COMPILE_IFELSE( |
76 | [AC_LANG_PROGRAM([[ | 90 | [AC_LANG_PROGRAM([[ |
77 | # define __EXTENSIONS__ 1 | 91 | # define __EXTENSIONS__ 1 |
78 | ]AC_INCLUDES_DEFAULT])], | 92 | ]AC_INCLUDES_DEFAULT])], |
79 | [ac_cv_safe_to_define___extensions__=yes], | 93 | [ac_cv_safe_to_define___extensions__=yes], |
80 | [ac_cv_safe_to_define___extensions__=no])]) | 94 | [ac_cv_safe_to_define___extensions__=no])]) |
81 | test $ac_cv_safe_to_define___extensions__ = yes && | 95 | test $ac_cv_safe_to_define___extensions__ = yes && |
diff --git a/gl/m4/fcntl-o.m4 b/gl/m4/fcntl-o.m4 new file mode 100644 index 00000000..d416a61c --- /dev/null +++ b/gl/m4/fcntl-o.m4 | |||
@@ -0,0 +1,81 @@ | |||
1 | # fcntl-o.m4 serial 1 | ||
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 Written by Paul Eggert. | ||
8 | |||
9 | # Test whether the flags O_NOATIME and O_NOFOLLOW actually work. | ||
10 | # Define HAVE_WORKING_O_NOATIME to 1 if O_NOATIME works, or to 0 otherwise. | ||
11 | # Define HAVE_WORKING_O_NOFOLLOW to 1 if O_NOFOLLOW works, or to 0 otherwise. | ||
12 | AC_DEFUN([gl_FCNTL_O_FLAGS], | ||
13 | [ | ||
14 | dnl Persuade glibc <fcntl.h> to define O_NOATIME and O_NOFOLLOW. | ||
15 | AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) | ||
16 | AC_CACHE_CHECK([for working fcntl.h], [gl_cv_header_working_fcntl_h], | ||
17 | [AC_RUN_IFELSE( | ||
18 | [AC_LANG_PROGRAM( | ||
19 | [[#include <sys/types.h> | ||
20 | #include <sys/stat.h> | ||
21 | #include <unistd.h> | ||
22 | #include <fcntl.h> | ||
23 | #ifndef O_NOATIME | ||
24 | #define O_NOATIME 0 | ||
25 | #endif | ||
26 | #ifndef O_NOFOLLOW | ||
27 | #define O_NOFOLLOW 0 | ||
28 | #endif | ||
29 | static int const constants[] = | ||
30 | { | ||
31 | O_CREAT, O_EXCL, O_NOCTTY, O_TRUNC, O_APPEND, | ||
32 | O_NONBLOCK, O_SYNC, O_ACCMODE, O_RDONLY, O_RDWR, O_WRONLY | ||
33 | }; | ||
34 | ]], | ||
35 | [[ | ||
36 | int status = !constants; | ||
37 | { | ||
38 | static char const sym[] = "conftest.sym"; | ||
39 | if (symlink (".", sym) != 0 | ||
40 | || close (open (sym, O_RDONLY | O_NOFOLLOW)) == 0) | ||
41 | status |= 32; | ||
42 | unlink (sym); | ||
43 | } | ||
44 | { | ||
45 | static char const file[] = "confdefs.h"; | ||
46 | int fd = open (file, O_RDONLY | O_NOATIME); | ||
47 | char c; | ||
48 | struct stat st0, st1; | ||
49 | if (fd < 0 | ||
50 | || fstat (fd, &st0) != 0 | ||
51 | || sleep (1) != 0 | ||
52 | || read (fd, &c, 1) != 1 | ||
53 | || close (fd) != 0 | ||
54 | || stat (file, &st1) != 0 | ||
55 | || st0.st_atime != st1.st_atime) | ||
56 | status |= 64; | ||
57 | } | ||
58 | return status;]])], | ||
59 | [gl_cv_header_working_fcntl_h=yes], | ||
60 | [case $? in #( | ||
61 | 32) gl_cv_header_working_fcntl_h='no (bad O_NOFOLLOW)';; #( | ||
62 | 64) gl_cv_header_working_fcntl_h='no (bad O_NOATIME)';; #( | ||
63 | 96) gl_cv_header_working_fcntl_h='no (bad O_NOATIME, O_NOFOLLOW)';; #( | ||
64 | *) gl_cv_header_working_fcntl_h='no';; | ||
65 | esac], | ||
66 | [gl_cv_header_working_fcntl_h=cross-compiling])]) | ||
67 | |||
68 | case $gl_cv_header_working_fcntl_h in #( | ||
69 | *O_NOATIME* | no | cross-compiling) ac_val=0;; #( | ||
70 | *) ac_val=1;; | ||
71 | esac | ||
72 | AC_DEFINE_UNQUOTED([HAVE_WORKING_O_NOATIME], [$ac_val], | ||
73 | [Define to 1 if O_NOATIME works.]) | ||
74 | |||
75 | case $gl_cv_header_working_fcntl_h in #( | ||
76 | *O_NOFOLLOW* | no | cross-compiling) ac_val=0;; #( | ||
77 | *) ac_val=1;; | ||
78 | esac | ||
79 | AC_DEFINE_UNQUOTED([HAVE_WORKING_O_NOFOLLOW], [$ac_val], | ||
80 | [Define to 1 if O_NOFOLLOW works.]) | ||
81 | ]) | ||
diff --git a/gl/m4/fcntl-safer.m4 b/gl/m4/fcntl-safer.m4 index 3475b0a7..1a739b09 100644 --- a/gl/m4/fcntl-safer.m4 +++ b/gl/m4/fcntl-safer.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | #serial 5 | 1 | #serial 7 |
2 | dnl Copyright (C) 2005-2007 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2005-2007, 2009-2010 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,4 +8,12 @@ AC_DEFUN([gl_FCNTL_SAFER], | |||
8 | [ | 8 | [ |
9 | AC_LIBOBJ([open-safer]) | 9 | AC_LIBOBJ([open-safer]) |
10 | AC_LIBOBJ([creat-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]) | ||
11 | ]) | 19 | ]) |
diff --git a/gl/m4/fcntl.m4 b/gl/m4/fcntl.m4 new file mode 100644 index 00000000..fcb5f447 --- /dev/null +++ b/gl/m4/fcntl.m4 | |||
@@ -0,0 +1,83 @@ | |||
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 index 1ae0b15a..e41915c3 100644 --- a/gl/m4/fcntl_h.m4 +++ b/gl/m4/fcntl_h.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # serial 12 | ||
1 | # Configure fcntl.h. | 2 | # Configure fcntl.h. |
2 | dnl Copyright (C) 2006, 2007, 2009 Free Software Foundation, Inc. | 3 | dnl Copyright (C) 2006, 2007, 2009, 2010 Free Software Foundation, 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. |
@@ -9,88 +10,34 @@ dnl Written by Paul Eggert. | |||
9 | AC_DEFUN([gl_FCNTL_H], | 10 | AC_DEFUN([gl_FCNTL_H], |
10 | [ | 11 | [ |
11 | AC_REQUIRE([gl_FCNTL_H_DEFAULTS]) | 12 | AC_REQUIRE([gl_FCNTL_H_DEFAULTS]) |
12 | dnl Persuade glibc <fcntl.h> to define O_NOATIME and O_NOFOLLOW. | 13 | AC_REQUIRE([gl_FCNTL_O_FLAGS]) |
13 | AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) | ||
14 | AC_CACHE_CHECK([for working fcntl.h], [gl_cv_header_working_fcntl_h], | ||
15 | [AC_RUN_IFELSE( | ||
16 | [AC_LANG_PROGRAM( | ||
17 | [[#include <sys/types.h> | ||
18 | #include <sys/stat.h> | ||
19 | #include <unistd.h> | ||
20 | #include <fcntl.h> | ||
21 | #ifndef O_NOATIME | ||
22 | #define O_NOATIME 0 | ||
23 | #endif | ||
24 | #ifndef O_NOFOLLOW | ||
25 | #define O_NOFOLLOW 0 | ||
26 | #endif | ||
27 | static int const constants[] = | ||
28 | { | ||
29 | O_CREAT, O_EXCL, O_NOCTTY, O_TRUNC, O_APPEND, | ||
30 | O_NONBLOCK, O_SYNC, O_ACCMODE, O_RDONLY, O_RDWR, O_WRONLY | ||
31 | }; | ||
32 | ]], | ||
33 | [[ | ||
34 | int status = !constants; | ||
35 | { | ||
36 | static char const sym[] = "conftest.sym"; | ||
37 | if (symlink (".", sym) != 0 | ||
38 | || close (open (sym, O_RDONLY | O_NOFOLLOW)) == 0) | ||
39 | status |= 32; | ||
40 | } | ||
41 | { | ||
42 | static char const file[] = "confdefs.h"; | ||
43 | int fd = open (file, O_RDONLY | O_NOATIME); | ||
44 | char c; | ||
45 | struct stat st0, st1; | ||
46 | if (fd < 0 | ||
47 | || fstat (fd, &st0) != 0 | ||
48 | || sleep (1) != 0 | ||
49 | || read (fd, &c, 1) != 1 | ||
50 | || close (fd) != 0 | ||
51 | || stat (file, &st1) != 0 | ||
52 | || st0.st_atime != st1.st_atime) | ||
53 | status |= 64; | ||
54 | } | ||
55 | return status;]])], | ||
56 | [gl_cv_header_working_fcntl_h=yes], | ||
57 | [case $? in #( | ||
58 | 32) gl_cv_header_working_fcntl_h='no (bad O_NOFOLLOW)';; #( | ||
59 | 64) gl_cv_header_working_fcntl_h='no (bad O_NOATIME)';; #( | ||
60 | 96) gl_cv_header_working_fcntl_h='no (bad O_NOATIME, O_NOFOLLOW)';; #( | ||
61 | *) gl_cv_header_working_fcntl_h='no';; | ||
62 | esac], | ||
63 | [gl_cv_header_working_fcntl_h=cross-compiling])]) | ||
64 | |||
65 | case $gl_cv_header_working_fcntl_h in #( | ||
66 | *O_NOATIME* | no | cross-compiling) ac_val=0;; #( | ||
67 | *) ac_val=1;; | ||
68 | esac | ||
69 | AC_DEFINE_UNQUOTED([HAVE_WORKING_O_NOATIME], [$ac_val], | ||
70 | [Define to 1 if O_NOATIME works.]) | ||
71 | |||
72 | case $gl_cv_header_working_fcntl_h in #( | ||
73 | *O_NOFOLLOW* | no | cross-compiling) ac_val=0;; #( | ||
74 | *) ac_val=1;; | ||
75 | esac | ||
76 | AC_DEFINE_UNQUOTED([HAVE_WORKING_O_NOFOLLOW], [$ac_val], | ||
77 | [Define to 1 if O_NOFOLLOW works.]) | ||
78 | |||
79 | gl_CHECK_NEXT_HEADERS([fcntl.h]) | 14 | gl_CHECK_NEXT_HEADERS([fcntl.h]) |
80 | FCNTL_H='fcntl.h' | 15 | |
81 | AC_SUBST([FCNTL_H]) | 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]) | ||
82 | ]) | 21 | ]) |
83 | 22 | ||
84 | AC_DEFUN([gl_FCNTL_MODULE_INDICATOR], | 23 | AC_DEFUN([gl_FCNTL_MODULE_INDICATOR], |
85 | [ | 24 | [ |
86 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. | 25 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. |
87 | AC_REQUIRE([gl_FCNTL_H_DEFAULTS]) | 26 | AC_REQUIRE([gl_FCNTL_H_DEFAULTS]) |
88 | GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 | 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]) | ||
89 | ]) | 30 | ]) |
90 | 31 | ||
91 | AC_DEFUN([gl_FCNTL_H_DEFAULTS], | 32 | AC_DEFUN([gl_FCNTL_H_DEFAULTS], |
92 | [ | 33 | [ |
93 | GNULIB_OPEN=0; AC_SUBST([GNULIB_OPEN]) | 34 | GNULIB_FCNTL=0; AC_SUBST([GNULIB_FCNTL]) |
35 | GNULIB_OPEN=0; AC_SUBST([GNULIB_OPEN]) | ||
36 | GNULIB_OPENAT=0; AC_SUBST([GNULIB_OPENAT]) | ||
94 | dnl Assume proper GNU behavior unless another module says otherwise. | 37 | dnl Assume proper GNU behavior unless another module says otherwise. |
95 | REPLACE_OPEN=0; AC_SUBST([REPLACE_OPEN]) | 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]) | ||
96 | ]) | 43 | ]) |
diff --git a/gl/m4/float_h.m4 b/gl/m4/float_h.m4 index d36e3a46..a74a0d95 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 3 |
2 | dnl Copyright (C) 2007 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007, 2009, 2010 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/floorf.m4 b/gl/m4/floorf.m4 index 915e5664..fb17a5ea 100644 --- a/gl/m4/floorf.m4 +++ b/gl/m4/floorf.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # floorf.m4 serial 4 | 1 | # floorf.m4 serial 6 |
2 | dnl Copyright (C) 2007, 2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007, 2009-2010 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,13 +20,12 @@ AC_DEFUN([gl_FUNC_FLOORF], | |||
20 | REPLACE_FLOORF=1 | 20 | REPLACE_FLOORF=1 |
21 | fi | 21 | fi |
22 | else | 22 | else |
23 | REPLACE_FLOORF=1 | 23 | HAVE_DECL_FLOORF=0 |
24 | fi | 24 | fi |
25 | if test $REPLACE_FLOORF = 1; then | 25 | if test $HAVE_DECL_FLOORF = 0 || test $REPLACE_FLOORF = 1; then |
26 | AC_LIBOBJ([floorf]) | 26 | AC_LIBOBJ([floorf]) |
27 | FLOORF_LIBM= | 27 | FLOORF_LIBM= |
28 | fi | 28 | fi |
29 | AC_SUBST([REPLACE_FLOORF]) | ||
30 | AC_SUBST([FLOORF_LIBM]) | 29 | AC_SUBST([FLOORF_LIBM]) |
31 | ]) | 30 | ]) |
32 | 31 | ||
diff --git a/gl/m4/fstypename.m4 b/gl/m4/fstypename.m4 index aa676f3a..9e81efe3 100644 --- a/gl/m4/fstypename.m4 +++ b/gl/m4/fstypename.m4 | |||
@@ -6,7 +6,8 @@ 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 Free Software Foundation, Inc. | 9 | # Copyright (C) 1998-1999, 2001, 2004, 2006, 2009-2010 Free Software |
10 | # Foundation, Inc. | ||
10 | # This file is free software; the Free Software Foundation | 11 | # This file is free software; the Free Software Foundation |
11 | # gives unlimited permission to copy and/or distribute it, | 12 | # gives unlimited permission to copy and/or distribute it, |
12 | # with or without modifications, as long as this notice is preserved. | 13 | # with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/fsusage.m4 b/gl/m4/fsusage.m4 index 8b8cbf72..216b9dd8 100644 --- a/gl/m4/fsusage.m4 +++ b/gl/m4/fsusage.m4 | |||
@@ -1,7 +1,7 @@ | |||
1 | # serial 24 | 1 | # serial 25 |
2 | # Obtaining file system usage information. | 2 | # Obtaining file system usage information. |
3 | 3 | ||
4 | # Copyright (C) 1997-1998, 2000-2001, 2003-2009 Free Software Foundation, Inc. | 4 | # Copyright (C) 1997-1998, 2000-2001, 2003-2010 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, |
@@ -46,7 +46,7 @@ ac_fsusage_space=no | |||
46 | if test $ac_fsusage_space = no; then | 46 | if test $ac_fsusage_space = no; then |
47 | # SVR4 | 47 | # SVR4 |
48 | AC_CACHE_CHECK([for statvfs function (SVR4)], [fu_cv_sys_stat_statvfs], | 48 | AC_CACHE_CHECK([for statvfs function (SVR4)], [fu_cv_sys_stat_statvfs], |
49 | [AC_TRY_LINK([#include <sys/types.h> | 49 | [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h> |
50 | #if defined __GLIBC__ && defined __linux__ | 50 | #if defined __GLIBC__ && defined __linux__ |
51 | Do not use statvfs on systems with GNU libc on Linux, because that function | 51 | Do not use statvfs on systems with GNU libc on Linux, because that function |
52 | stats all preceding entries in /proc/mounts, and that makes df hang if even | 52 | stats all preceding entries in /proc/mounts, and that makes df hang if even |
@@ -59,14 +59,14 @@ a system call. | |||
59 | "Do not use Tru64's statvfs implementation" | 59 | "Do not use Tru64's statvfs implementation" |
60 | #endif | 60 | #endif |
61 | 61 | ||
62 | #include <sys/statvfs.h>], | 62 | #include <sys/statvfs.h>]], |
63 | [struct statvfs fsd; statvfs (0, &fsd);], | 63 | [[struct statvfs fsd; statvfs (0, &fsd);]])], |
64 | fu_cv_sys_stat_statvfs=yes, | 64 | [fu_cv_sys_stat_statvfs=yes], |
65 | fu_cv_sys_stat_statvfs=no)]) | 65 | [fu_cv_sys_stat_statvfs=no])]) |
66 | if test $fu_cv_sys_stat_statvfs = yes; then | 66 | if test $fu_cv_sys_stat_statvfs = yes; then |
67 | ac_fsusage_space=yes | 67 | ac_fsusage_space=yes |
68 | AC_DEFINE([STAT_STATVFS], [1], | 68 | AC_DEFINE([STAT_STATVFS], [1], |
69 | [ Define if there is a function named statvfs. (SVR4)]) | 69 | [ Define if there is a function named statvfs. (SVR4)]) |
70 | fi | 70 | fi |
71 | fi | 71 | fi |
72 | 72 | ||
@@ -74,7 +74,7 @@ if test $ac_fsusage_space = no; then | |||
74 | # DEC Alpha running OSF/1 | 74 | # DEC Alpha running OSF/1 |
75 | AC_MSG_CHECKING([for 3-argument statfs function (DEC OSF/1)]) | 75 | AC_MSG_CHECKING([for 3-argument statfs function (DEC OSF/1)]) |
76 | AC_CACHE_VAL([fu_cv_sys_stat_statfs3_osf1], | 76 | AC_CACHE_VAL([fu_cv_sys_stat_statfs3_osf1], |
77 | [AC_TRY_RUN([ | 77 | [AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
78 | #include <sys/param.h> | 78 | #include <sys/param.h> |
79 | #include <sys/types.h> | 79 | #include <sys/types.h> |
80 | #include <sys/mount.h> | 80 | #include <sys/mount.h> |
@@ -84,15 +84,15 @@ if test $ac_fsusage_space = no; then | |||
84 | struct statfs fsd; | 84 | struct statfs fsd; |
85 | fsd.f_fsize = 0; | 85 | fsd.f_fsize = 0; |
86 | return statfs (".", &fsd, sizeof (struct statfs)) != 0; | 86 | return statfs (".", &fsd, sizeof (struct statfs)) != 0; |
87 | }], | 87 | }]])], |
88 | fu_cv_sys_stat_statfs3_osf1=yes, | 88 | [fu_cv_sys_stat_statfs3_osf1=yes], |
89 | fu_cv_sys_stat_statfs3_osf1=no, | 89 | [fu_cv_sys_stat_statfs3_osf1=no], |
90 | fu_cv_sys_stat_statfs3_osf1=no)]) | 90 | [fu_cv_sys_stat_statfs3_osf1=no])]) |
91 | AC_MSG_RESULT([$fu_cv_sys_stat_statfs3_osf1]) | 91 | AC_MSG_RESULT([$fu_cv_sys_stat_statfs3_osf1]) |
92 | if test $fu_cv_sys_stat_statfs3_osf1 = yes; then | 92 | if test $fu_cv_sys_stat_statfs3_osf1 = yes; then |
93 | ac_fsusage_space=yes | 93 | ac_fsusage_space=yes |
94 | AC_DEFINE([STAT_STATFS3_OSF1], [1], | 94 | AC_DEFINE([STAT_STATFS3_OSF1], [1], |
95 | [ Define if statfs takes 3 args. (DEC Alpha running OSF/1)]) | 95 | [ Define if statfs takes 3 args. (DEC Alpha running OSF/1)]) |
96 | fi | 96 | fi |
97 | fi | 97 | fi |
98 | 98 | ||
@@ -101,7 +101,7 @@ if test $ac_fsusage_space = no; then | |||
101 | AC_MSG_CHECKING([for two-argument statfs with statfs.bsize dnl | 101 | AC_MSG_CHECKING([for two-argument statfs with statfs.bsize dnl |
102 | member (AIX, 4.3BSD)]) | 102 | member (AIX, 4.3BSD)]) |
103 | AC_CACHE_VAL([fu_cv_sys_stat_statfs2_bsize], | 103 | AC_CACHE_VAL([fu_cv_sys_stat_statfs2_bsize], |
104 | [AC_TRY_RUN([ | 104 | [AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
105 | #ifdef HAVE_SYS_PARAM_H | 105 | #ifdef HAVE_SYS_PARAM_H |
106 | #include <sys/param.h> | 106 | #include <sys/param.h> |
107 | #endif | 107 | #endif |
@@ -117,10 +117,10 @@ member (AIX, 4.3BSD)]) | |||
117 | struct statfs fsd; | 117 | struct statfs fsd; |
118 | fsd.f_bsize = 0; | 118 | fsd.f_bsize = 0; |
119 | return statfs (".", &fsd) != 0; | 119 | return statfs (".", &fsd) != 0; |
120 | }], | 120 | }]])], |
121 | fu_cv_sys_stat_statfs2_bsize=yes, | 121 | [fu_cv_sys_stat_statfs2_bsize=yes], |
122 | fu_cv_sys_stat_statfs2_bsize=no, | 122 | [fu_cv_sys_stat_statfs2_bsize=no], |
123 | fu_cv_sys_stat_statfs2_bsize=no)]) | 123 | [fu_cv_sys_stat_statfs2_bsize=no])]) |
124 | AC_MSG_RESULT([$fu_cv_sys_stat_statfs2_bsize]) | 124 | AC_MSG_RESULT([$fu_cv_sys_stat_statfs2_bsize]) |
125 | if test $fu_cv_sys_stat_statfs2_bsize = yes; then | 125 | if test $fu_cv_sys_stat_statfs2_bsize = yes; then |
126 | ac_fsusage_space=yes | 126 | ac_fsusage_space=yes |
@@ -134,22 +134,23 @@ if test $ac_fsusage_space = no; then | |||
134 | # SVR3 | 134 | # SVR3 |
135 | AC_MSG_CHECKING([for four-argument statfs (AIX-3.2.5, SVR3)]) | 135 | AC_MSG_CHECKING([for four-argument statfs (AIX-3.2.5, SVR3)]) |
136 | AC_CACHE_VAL([fu_cv_sys_stat_statfs4], | 136 | AC_CACHE_VAL([fu_cv_sys_stat_statfs4], |
137 | [AC_TRY_RUN([#include <sys/types.h> | 137 | [AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
138 | #include <sys/types.h> | ||
138 | #include <sys/statfs.h> | 139 | #include <sys/statfs.h> |
139 | int | 140 | int |
140 | main () | 141 | main () |
141 | { | 142 | { |
142 | struct statfs fsd; | 143 | struct statfs fsd; |
143 | return statfs (".", &fsd, sizeof fsd, 0) != 0; | 144 | return statfs (".", &fsd, sizeof fsd, 0) != 0; |
144 | }], | 145 | }]])], |
145 | fu_cv_sys_stat_statfs4=yes, | 146 | [fu_cv_sys_stat_statfs4=yes], |
146 | fu_cv_sys_stat_statfs4=no, | 147 | [fu_cv_sys_stat_statfs4=no], |
147 | fu_cv_sys_stat_statfs4=no)]) | 148 | [fu_cv_sys_stat_statfs4=no])]) |
148 | AC_MSG_RESULT([$fu_cv_sys_stat_statfs4]) | 149 | AC_MSG_RESULT([$fu_cv_sys_stat_statfs4]) |
149 | if test $fu_cv_sys_stat_statfs4 = yes; then | 150 | if test $fu_cv_sys_stat_statfs4 = yes; then |
150 | ac_fsusage_space=yes | 151 | ac_fsusage_space=yes |
151 | AC_DEFINE([STAT_STATFS4], [1], | 152 | AC_DEFINE([STAT_STATFS4], [1], |
152 | [ Define if statfs takes 4 args. (SVR3, Dynix, Irix, Dolphin)]) | 153 | [ Define if statfs takes 4 args. (SVR3, Dynix, Irix, Dolphin)]) |
153 | fi | 154 | fi |
154 | fi | 155 | fi |
155 | 156 | ||
@@ -158,7 +159,8 @@ if test $ac_fsusage_space = no; then | |||
158 | AC_MSG_CHECKING([for two-argument statfs with statfs.fsize dnl | 159 | AC_MSG_CHECKING([for two-argument statfs with statfs.fsize dnl |
159 | member (4.4BSD and NetBSD)]) | 160 | member (4.4BSD and NetBSD)]) |
160 | AC_CACHE_VAL([fu_cv_sys_stat_statfs2_fsize], | 161 | AC_CACHE_VAL([fu_cv_sys_stat_statfs2_fsize], |
161 | [AC_TRY_RUN([#include <sys/types.h> | 162 | [AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
163 | #include <sys/types.h> | ||
162 | #ifdef HAVE_SYS_PARAM_H | 164 | #ifdef HAVE_SYS_PARAM_H |
163 | #include <sys/param.h> | 165 | #include <sys/param.h> |
164 | #endif | 166 | #endif |
@@ -171,10 +173,10 @@ member (4.4BSD and NetBSD)]) | |||
171 | struct statfs fsd; | 173 | struct statfs fsd; |
172 | fsd.f_fsize = 0; | 174 | fsd.f_fsize = 0; |
173 | return statfs (".", &fsd) != 0; | 175 | return statfs (".", &fsd) != 0; |
174 | }], | 176 | }]])], |
175 | fu_cv_sys_stat_statfs2_fsize=yes, | 177 | [fu_cv_sys_stat_statfs2_fsize=yes], |
176 | fu_cv_sys_stat_statfs2_fsize=no, | 178 | [fu_cv_sys_stat_statfs2_fsize=no], |
177 | fu_cv_sys_stat_statfs2_fsize=no)]) | 179 | [fu_cv_sys_stat_statfs2_fsize=no])]) |
178 | AC_MSG_RESULT([$fu_cv_sys_stat_statfs2_fsize]) | 180 | AC_MSG_RESULT([$fu_cv_sys_stat_statfs2_fsize]) |
179 | if test $fu_cv_sys_stat_statfs2_fsize = yes; then | 181 | if test $fu_cv_sys_stat_statfs2_fsize = yes; then |
180 | ac_fsusage_space=yes | 182 | ac_fsusage_space=yes |
@@ -188,7 +190,8 @@ if test $ac_fsusage_space = no; then | |||
188 | # Ultrix | 190 | # Ultrix |
189 | AC_MSG_CHECKING([for two-argument statfs with struct fs_data (Ultrix)]) | 191 | AC_MSG_CHECKING([for two-argument statfs with struct fs_data (Ultrix)]) |
190 | AC_CACHE_VAL([fu_cv_sys_stat_fs_data], | 192 | AC_CACHE_VAL([fu_cv_sys_stat_fs_data], |
191 | [AC_TRY_RUN([#include <sys/types.h> | 193 | [AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
194 | #include <sys/types.h> | ||
192 | #ifdef HAVE_SYS_PARAM_H | 195 | #ifdef HAVE_SYS_PARAM_H |
193 | #include <sys/param.h> | 196 | #include <sys/param.h> |
194 | #endif | 197 | #endif |
@@ -205,10 +208,10 @@ if test $ac_fsusage_space = no; then | |||
205 | /* Ultrix's statfs returns 1 for success, | 208 | /* Ultrix's statfs returns 1 for success, |
206 | 0 for not mounted, -1 for failure. */ | 209 | 0 for not mounted, -1 for failure. */ |
207 | return statfs (".", &fsd) != 1; | 210 | return statfs (".", &fsd) != 1; |
208 | }], | 211 | }]])], |
209 | fu_cv_sys_stat_fs_data=yes, | 212 | [fu_cv_sys_stat_fs_data=yes], |
210 | fu_cv_sys_stat_fs_data=no, | 213 | [fu_cv_sys_stat_fs_data=no], |
211 | fu_cv_sys_stat_fs_data=no)]) | 214 | [fu_cv_sys_stat_fs_data=no])]) |
212 | AC_MSG_RESULT([$fu_cv_sys_stat_fs_data]) | 215 | AC_MSG_RESULT([$fu_cv_sys_stat_fs_data]) |
213 | if test $fu_cv_sys_stat_fs_data = yes; then | 216 | if test $fu_cv_sys_stat_fs_data = yes; then |
214 | ac_fsusage_space=yes | 217 | ac_fsusage_space=yes |
@@ -220,12 +223,12 @@ fi | |||
220 | 223 | ||
221 | if test $ac_fsusage_space = no; then | 224 | if test $ac_fsusage_space = no; then |
222 | # SVR2 | 225 | # SVR2 |
223 | AC_TRY_CPP([#include <sys/filsys.h> | 226 | AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include <sys/filsys.h> |
224 | ], | 227 | ]])], |
225 | AC_DEFINE([STAT_READ_FILSYS], [1], | 228 | [AC_DEFINE([STAT_READ_FILSYS], [1], |
226 | [Define if there is no specific function for reading file systems usage | 229 | [Define if there is no specific function for reading file systems usage |
227 | information and you have the <sys/filsys.h> header file. (SVR2)]) | 230 | information and you have the <sys/filsys.h> header file. (SVR2)]) |
228 | ac_fsusage_space=yes) | 231 | ac_fsusage_space=yes]) |
229 | fi | 232 | fi |
230 | 233 | ||
231 | AS_IF([test $ac_fsusage_space = yes], [$1], [$2]) | 234 | AS_IF([test $ac_fsusage_space = yes], [$1], [$2]) |
@@ -246,8 +249,8 @@ choke -- this is a workaround for a Sun-specific problem | |||
246 | #endif | 249 | #endif |
247 | #include <sys/types.h> | 250 | #include <sys/types.h> |
248 | #include <sys/vfs.h>]], | 251 | #include <sys/vfs.h>]], |
249 | [[struct statfs t; long c = *(t.f_spare); | 252 | [[struct statfs t; long c = *(t.f_spare); |
250 | if (c) return 0;]])], | 253 | if (c) return 0;]])], |
251 | [fu_cv_sys_truncating_statfs=yes], | 254 | [fu_cv_sys_truncating_statfs=yes], |
252 | [fu_cv_sys_truncating_statfs=no])]) | 255 | [fu_cv_sys_truncating_statfs=no])]) |
253 | if test $fu_cv_sys_truncating_statfs = yes; then | 256 | if test $fu_cv_sys_truncating_statfs = yes; then |
diff --git a/gl/m4/getaddrinfo.m4 b/gl/m4/getaddrinfo.m4 index 40886719..bc3066db 100644 --- a/gl/m4/getaddrinfo.m4 +++ b/gl/m4/getaddrinfo.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # getaddrinfo.m4 serial 20 | 1 | # getaddrinfo.m4 serial 23 |
2 | dnl Copyright (C) 2004-2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2004-2010 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,7 +25,7 @@ AC_DEFUN([gl_GETADDRINFO], | |||
25 | LIBS="$gai_saved_LIBS $GETADDRINFO_LIB" | 25 | LIBS="$gai_saved_LIBS $GETADDRINFO_LIB" |
26 | 26 | ||
27 | AC_CACHE_CHECK([for getaddrinfo], [gl_cv_func_getaddrinfo], [ | 27 | AC_CACHE_CHECK([for getaddrinfo], [gl_cv_func_getaddrinfo], [ |
28 | AC_TRY_LINK([ | 28 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[ |
29 | #include <sys/types.h> | 29 | #include <sys/types.h> |
30 | #ifdef HAVE_SYS_SOCKET_H | 30 | #ifdef HAVE_SYS_SOCKET_H |
31 | #include <sys/socket.h> | 31 | #include <sys/socket.h> |
@@ -34,21 +34,21 @@ AC_DEFUN([gl_GETADDRINFO], | |||
34 | #include <netdb.h> | 34 | #include <netdb.h> |
35 | #endif | 35 | #endif |
36 | #include <stddef.h> | 36 | #include <stddef.h> |
37 | ], [getaddrinfo("", "", NULL, NULL);], | 37 | ]], [[getaddrinfo("", "", NULL, NULL);]])], |
38 | [gl_cv_func_getaddrinfo=yes], | 38 | [gl_cv_func_getaddrinfo=yes], |
39 | [gl_cv_func_getaddrinfo=no])]) | 39 | [gl_cv_func_getaddrinfo=no])]) |
40 | if test $gl_cv_func_getaddrinfo = no; then | 40 | if test $gl_cv_func_getaddrinfo = no; then |
41 | AC_CACHE_CHECK([for getaddrinfo in ws2tcpip.h and -lws2_32], | 41 | AC_CACHE_CHECK([for getaddrinfo in ws2tcpip.h and -lws2_32], |
42 | gl_cv_w32_getaddrinfo, [ | 42 | gl_cv_w32_getaddrinfo, [ |
43 | gl_cv_w32_getaddrinfo=no | 43 | gl_cv_w32_getaddrinfo=no |
44 | am_save_LIBS="$LIBS" | 44 | am_save_LIBS="$LIBS" |
45 | LIBS="$LIBS -lws2_32" | 45 | LIBS="$LIBS -lws2_32" |
46 | AC_TRY_LINK([ | 46 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[ |
47 | #ifdef HAVE_WS2TCPIP_H | 47 | #ifdef HAVE_WS2TCPIP_H |
48 | #include <ws2tcpip.h> | 48 | #include <ws2tcpip.h> |
49 | #endif | 49 | #endif |
50 | #include <stddef.h> | 50 | #include <stddef.h> |
51 | ], [getaddrinfo(NULL, NULL, NULL, NULL);], gl_cv_w32_getaddrinfo=yes) | 51 | ]], [[getaddrinfo(NULL, NULL, NULL, NULL);]])], [gl_cv_w32_getaddrinfo=yes]) |
52 | LIBS="$am_save_LIBS" | 52 | LIBS="$am_save_LIBS" |
53 | ]) | 53 | ]) |
54 | if test "$gl_cv_w32_getaddrinfo" = "yes"; then | 54 | if test "$gl_cv_w32_getaddrinfo" = "yes"; then |
@@ -64,7 +64,7 @@ AC_DEFUN([gl_GETADDRINFO], | |||
64 | # header included somehow. | 64 | # header included somehow. |
65 | AC_CACHE_CHECK([for gai_strerror (possibly via ws2tcpip.h)], | 65 | AC_CACHE_CHECK([for gai_strerror (possibly via ws2tcpip.h)], |
66 | gl_cv_func_gai_strerror, [ | 66 | gl_cv_func_gai_strerror, [ |
67 | AC_TRY_LINK([ | 67 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[ |
68 | #include <sys/types.h> | 68 | #include <sys/types.h> |
69 | #ifdef HAVE_SYS_SOCKET_H | 69 | #ifdef HAVE_SYS_SOCKET_H |
70 | #include <sys/socket.h> | 70 | #include <sys/socket.h> |
@@ -76,7 +76,7 @@ AC_DEFUN([gl_GETADDRINFO], | |||
76 | #include <ws2tcpip.h> | 76 | #include <ws2tcpip.h> |
77 | #endif | 77 | #endif |
78 | #include <stddef.h> | 78 | #include <stddef.h> |
79 | ], [gai_strerror (NULL);], | 79 | ]], [[gai_strerror (NULL);]])], |
80 | [gl_cv_func_gai_strerror=yes], | 80 | [gl_cv_func_gai_strerror=yes], |
81 | [gl_cv_func_gai_strerror=no])]) | 81 | [gl_cv_func_gai_strerror=no])]) |
82 | if test $gl_cv_func_gai_strerror = no; then | 82 | if test $gl_cv_func_gai_strerror = no; then |
@@ -96,6 +96,7 @@ AC_DEFUN([gl_PREREQ_GETADDRINFO], [ | |||
96 | AC_REQUIRE([gl_HEADER_SYS_SOCKET])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H | 96 | AC_REQUIRE([gl_HEADER_SYS_SOCKET])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H |
97 | AC_REQUIRE([gl_HOSTENT]) dnl for HOSTENT_LIB | 97 | AC_REQUIRE([gl_HOSTENT]) dnl for HOSTENT_LIB |
98 | AC_REQUIRE([gl_SERVENT]) dnl for SERVENT_LIB | 98 | AC_REQUIRE([gl_SERVENT]) dnl for SERVENT_LIB |
99 | AC_REQUIRE([gl_FUNC_INET_NTOP]) dnl for INET_NTOP_LIB | ||
99 | AC_REQUIRE([AC_C_RESTRICT]) | 100 | AC_REQUIRE([AC_C_RESTRICT]) |
100 | AC_REQUIRE([gl_SOCKET_FAMILIES]) | 101 | AC_REQUIRE([gl_SOCKET_FAMILIES]) |
101 | AC_REQUIRE([gl_HEADER_SYS_SOCKET]) | 102 | AC_REQUIRE([gl_HEADER_SYS_SOCKET]) |
@@ -163,4 +164,10 @@ AC_DEFUN([gl_PREREQ_GETADDRINFO], [ | |||
163 | *" $SERVENT_LIB "*) ;; | 164 | *" $SERVENT_LIB "*) ;; |
164 | *) GETADDRINFO_LIB="$GETADDRINFO_LIB $SERVENT_LIB" ;; | 165 | *) GETADDRINFO_LIB="$GETADDRINFO_LIB $SERVENT_LIB" ;; |
165 | esac | 166 | esac |
167 | |||
168 | dnl Append $INET_NTOP_LIB to GETADDRINFO_LIB, avoiding gratuitous duplicates. | ||
169 | case " $GETADDRINFO_LIB " in | ||
170 | *" $INET_NTOP_LIB "*) ;; | ||
171 | *) GETADDRINFO_LIB="$GETADDRINFO_LIB $INET_NTOP_LIB" ;; | ||
172 | esac | ||
166 | ]) | 173 | ]) |
diff --git a/gl/m4/getdtablesize.m4 b/gl/m4/getdtablesize.m4 new file mode 100644 index 00000000..d2386284 --- /dev/null +++ b/gl/m4/getdtablesize.m4 | |||
@@ -0,0 +1,15 @@ | |||
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 6b6fca95..ef0b43ef 100644 --- a/gl/m4/gethostname.m4 +++ b/gl/m4/gethostname.m4 | |||
@@ -1,21 +1,101 @@ | |||
1 | # gethostname.m4 serial 5 | 1 | # gethostname.m4 serial 9 |
2 | dnl Copyright (C) 2002, 2008, 2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002, 2008, 2009, 2010 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 | # Ensure | ||
8 | # - the gethostname() function, | ||
9 | # - the HOST_NAME_MAX macro in <limits.h>. | ||
7 | AC_DEFUN([gl_FUNC_GETHOSTNAME], | 10 | AC_DEFUN([gl_FUNC_GETHOSTNAME], |
8 | [ | 11 | [ |
9 | AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) | 12 | AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) |
10 | gl_PREREQ_SYS_H_WINSOCK2 | 13 | gl_PREREQ_SYS_H_WINSOCK2 |
11 | AC_REPLACE_FUNCS([gethostname]) | 14 | |
12 | if test $ac_cv_func_gethostname = no; then | 15 | dnl Where is gethostname() defined? |
16 | dnl - On native Windows, it is in ws2_32.dll. | ||
17 | dnl - Otherwise is is in libc. | ||
18 | GETHOSTNAME_LIB= | ||
19 | AC_CHECK_FUNCS([gethostname], , [ | ||
20 | AC_CACHE_CHECK([for gethostname in winsock2.h and -lws2_32], | ||
21 | [gl_cv_w32_gethostname], | ||
22 | [gl_cv_w32_gethostname=no | ||
23 | gl_save_LIBS="$LIBS" | ||
24 | LIBS="$LIBS -lws2_32" | ||
25 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[ | ||
26 | #ifdef HAVE_WINSOCK2_H | ||
27 | #include <winsock2.h> | ||
28 | #endif | ||
29 | #include <stddef.h> | ||
30 | ]], [[gethostname(NULL, 0);]])], [gl_cv_w32_gethostname=yes]) | ||
31 | LIBS="$gl_save_LIBS" | ||
32 | ]) | ||
33 | if test "$gl_cv_w32_gethostname" = "yes"; then | ||
34 | GETHOSTNAME_LIB="-lws2_32" | ||
35 | fi | ||
36 | ]) | ||
37 | AC_SUBST([GETHOSTNAME_LIB]) | ||
38 | |||
39 | if test "$ac_cv_func_gethostname" = no; then | ||
40 | AC_LIBOBJ([gethostname]) | ||
13 | HAVE_GETHOSTNAME=0 | 41 | HAVE_GETHOSTNAME=0 |
14 | gl_PREREQ_GETHOSTNAME | 42 | gl_PREREQ_GETHOSTNAME |
15 | fi | 43 | fi |
44 | |||
45 | dnl Also provide HOST_NAME_MAX when <limits.h> lacks it. | ||
46 | dnl - On most Unix systems, use MAXHOSTNAMELEN from <sys/param.h> instead. | ||
47 | dnl - On Solaris, Cygwin, BeOS, use MAXHOSTNAMELEN from <netdb.h> instead. | ||
48 | dnl - On mingw, use 256, because | ||
49 | dnl <http://msdn.microsoft.com/en-us/library/ms738527.aspx> says: | ||
50 | dnl "if a buffer of 256 bytes is passed in the name parameter and | ||
51 | dnl the namelen parameter is set to 256, the buffer size will always | ||
52 | dnl be adequate." | ||
53 | dnl With this, there is no need to use sysconf (_SC_HOST_NAME_MAX), which | ||
54 | dnl is not a compile-time constant. | ||
55 | dnl We cannot override <limits.h> using the usual technique, because | ||
56 | dnl gl_CHECK_NEXT_HEADERS does not work for <limits.h>. Therefore retrieve | ||
57 | dnl the value of HOST_NAME_MAX at configure time. | ||
58 | AC_CHECK_HEADERS_ONCE([sys/param.h]) | ||
59 | AC_CHECK_HEADERS_ONCE([sys/socket.h]) | ||
60 | AC_CHECK_HEADERS_ONCE([netdb.h]) | ||
61 | AC_CACHE_CHECK([for HOST_NAME_MAX], [gl_cv_decl_HOST_NAME_MAX], [ | ||
62 | gl_cv_decl_HOST_NAME_MAX= | ||
63 | AC_EGREP_CPP([lucky], [ | ||
64 | #include <limits.h> | ||
65 | #ifdef HOST_NAME_MAX | ||
66 | lucky | ||
67 | #endif | ||
68 | ], [gl_cv_decl_HOST_NAME_MAX=yes]) | ||
69 | if test -z "$gl_cv_decl_HOST_NAME_MAX"; then | ||
70 | dnl It's not defined in <limits.h>. Substitute it. | ||
71 | if test "$gl_cv_w32_gethostname" = yes; then | ||
72 | dnl mingw. | ||
73 | gl_cv_decl_HOST_NAME_MAX=256 | ||
74 | else | ||
75 | _AC_COMPUTE_INT([MAXHOSTNAMELEN], [gl_cv_decl_HOST_NAME_MAX], [ | ||
76 | #include <sys/types.h> | ||
77 | #if HAVE_SYS_PARAM_H | ||
78 | # include <sys/param.h> | ||
79 | #endif | ||
80 | #if HAVE_SYS_SOCKET_H | ||
81 | # include <sys/socket.h> | ||
82 | #endif | ||
83 | #if HAVE_NETDB_H | ||
84 | # include <netdb.h> | ||
85 | #endif | ||
86 | ]) | ||
87 | fi | ||
88 | fi | ||
89 | ]) | ||
90 | if test "$gl_cv_decl_HOST_NAME_MAX" != yes; then | ||
91 | AC_DEFINE_UNQUOTED([HOST_NAME_MAX], [$gl_cv_decl_HOST_NAME_MAX], | ||
92 | [Define HOST_NAME_MAX when <limits.h> does not define it.]) | ||
93 | fi | ||
16 | ]) | 94 | ]) |
17 | 95 | ||
18 | # Prerequisites of lib/gethostname.c. | 96 | # Prerequisites of lib/gethostname.c. |
19 | AC_DEFUN([gl_PREREQ_GETHOSTNAME], [ | 97 | AC_DEFUN([gl_PREREQ_GETHOSTNAME], [ |
20 | AC_CHECK_FUNCS([uname]) | 98 | if test "$gl_cv_w32_gethostname" != "yes"; then |
99 | AC_CHECK_FUNCS([uname]) | ||
100 | fi | ||
21 | ]) | 101 | ]) |
diff --git a/gl/m4/getloadavg.m4 b/gl/m4/getloadavg.m4 index 015bcac2..0a731c4f 100644 --- a/gl/m4/getloadavg.m4 +++ b/gl/m4/getloadavg.m4 | |||
@@ -1,7 +1,7 @@ | |||
1 | # Check for getloadavg. | 1 | # Check for getloadavg. |
2 | 2 | ||
3 | # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1999, 2000, 2002, 2003, | 3 | # Copyright (C) 1992-1996, 1999-2000, 2002-2003, 2006, 2008-2010 Free Software |
4 | # 2006, 2008, 2009 Free Software 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, |
@@ -60,17 +60,17 @@ if test $gl_have_func = no; then | |||
60 | gl_getloadavg_LIBS=$LIBS | 60 | gl_getloadavg_LIBS=$LIBS |
61 | LIBS="-L/usr/local/lib $LIBS" | 61 | LIBS="-L/usr/local/lib $LIBS" |
62 | AC_CHECK_LIB([getloadavg], [getloadavg], | 62 | AC_CHECK_LIB([getloadavg], [getloadavg], |
63 | [LIBS="-lgetloadavg $LIBS"], [LIBS=$gl_getloadavg_LIBS]) | 63 | [LIBS="-lgetloadavg $LIBS"], [LIBS=$gl_getloadavg_LIBS]) |
64 | fi | 64 | fi |
65 | 65 | ||
66 | # Make sure it is really in the library, if we think we found it, | 66 | # Make sure it is really in the library, if we think we found it, |
67 | # otherwise set up the replacement function. | 67 | # otherwise set up the replacement function. |
68 | AC_CHECK_FUNCS([getloadavg], [], | 68 | AC_CHECK_FUNCS([getloadavg], [], |
69 | [gl_PREREQ_GETLOADAVG]) | 69 | [gl_PREREQ_GETLOADAVG]) |
70 | 70 | ||
71 | # Some definitions of getloadavg require that the program be installed setgid. | 71 | # Some definitions of getloadavg require that the program be installed setgid. |
72 | AC_CACHE_CHECK([whether getloadavg requires setgid], | 72 | AC_CACHE_CHECK([whether getloadavg requires setgid], |
73 | gl_cv_func_getloadavg_setgid, | 73 | gl_cv_func_getloadavg_setgid, |
74 | [AC_EGREP_CPP([Yowza Am I SETGID yet], | 74 | [AC_EGREP_CPP([Yowza Am I SETGID yet], |
75 | [#define CONFIGURING_GETLOADAVG | 75 | [#define CONFIGURING_GETLOADAVG |
76 | #include "$srcdir/$1/getloadavg.c" | 76 | #include "$srcdir/$1/getloadavg.c" |
@@ -78,13 +78,13 @@ AC_CACHE_CHECK([whether getloadavg requires setgid], | |||
78 | Yowza Am I SETGID yet | 78 | Yowza Am I SETGID yet |
79 | #endif | 79 | #endif |
80 | ], | 80 | ], |
81 | gl_cv_func_getloadavg_setgid=yes, | 81 | gl_cv_func_getloadavg_setgid=yes, |
82 | gl_cv_func_getloadavg_setgid=no)]) | 82 | gl_cv_func_getloadavg_setgid=no)]) |
83 | if test $gl_cv_func_getloadavg_setgid = yes; then | 83 | if test $gl_cv_func_getloadavg_setgid = yes; then |
84 | NEED_SETGID=true | 84 | NEED_SETGID=true |
85 | AC_DEFINE([GETLOADAVG_PRIVILEGED], [1], | 85 | AC_DEFINE([GETLOADAVG_PRIVILEGED], [1], |
86 | [Define to 1 if the `getloadavg' function needs to be run setuid | 86 | [Define to 1 if the `getloadavg' function needs to be run setuid |
87 | or setgid.]) | 87 | or setgid.]) |
88 | else | 88 | else |
89 | NEED_SETGID=false | 89 | NEED_SETGID=false |
90 | fi | 90 | fi |
@@ -98,8 +98,8 @@ if test $gl_cv_func_getloadavg_setgid = yes; then | |||
98 | test -z "$ac_ls_output" && ac_ls_output=`ls -lg /dev/kmem` | 98 | test -z "$ac_ls_output" && ac_ls_output=`ls -lg /dev/kmem` |
99 | gl_cv_group_kmem=`echo $ac_ls_output \ | 99 | gl_cv_group_kmem=`echo $ac_ls_output \ |
100 | | sed -ne ['s/[ ][ ]*/ /g | 100 | | sed -ne ['s/[ ][ ]*/ /g |
101 | s/^.[sSrwx-]* *[0-9]* *\([^0-9]*\) *.*/\1/ | 101 | s/^.[sSrwx-]* *[0-9]* *\([^0-9]*\) *.*/\1/ |
102 | / /s/.* //;p']` | 102 | / /s/.* //;p']` |
103 | ]) | 103 | ]) |
104 | AC_SUBST([KMEM_GROUP], [$gl_cv_group_kmem])dnl | 104 | AC_SUBST([KMEM_GROUP], [$gl_cv_group_kmem])dnl |
105 | fi | 105 | fi |
@@ -154,8 +154,8 @@ if test $gl_have_func = no; then | |||
154 | [gl_have_func=yes | 154 | [gl_have_func=yes |
155 | AC_DEFINE([UMAX], [1], [Define to 1 for Encore UMAX.]) | 155 | AC_DEFINE([UMAX], [1], [Define to 1 for Encore UMAX.]) |
156 | AC_DEFINE([UMAX4_3], [1], | 156 | AC_DEFINE([UMAX4_3], [1], |
157 | [Define to 1 for Encore UMAX 4.3 that has <inq_status/cpustats.h> | 157 | [Define to 1 for Encore UMAX 4.3 that has <inq_status/cpustats.h> |
158 | instead of <sys/cpustats.h>.])]) | 158 | instead of <sys/cpustats.h>.])]) |
159 | fi | 159 | fi |
160 | 160 | ||
161 | if test $gl_have_func = no; then | 161 | if test $gl_have_func = no; then |
@@ -169,10 +169,19 @@ fi | |||
169 | 169 | ||
170 | AC_CHECK_HEADERS([nlist.h], | 170 | AC_CHECK_HEADERS([nlist.h], |
171 | [AC_CHECK_MEMBERS([struct nlist.n_un.n_name], | 171 | [AC_CHECK_MEMBERS([struct nlist.n_un.n_name], |
172 | [AC_DEFINE([NLIST_NAME_UNION], [1], | 172 | [AC_DEFINE([NLIST_NAME_UNION], [1], |
173 | [Define to 1 if your `struct nlist' has an | 173 | [Define to 1 if your `struct nlist' has an |
174 | `n_un' member. Obsolete, depend on | 174 | `n_un' member. Obsolete, depend on |
175 | `HAVE_STRUCT_NLIST_N_UN_N_NAME])], [], | 175 | `HAVE_STRUCT_NLIST_N_UN_N_NAME])], [], |
176 | [@%:@include <nlist.h>]) | 176 | [@%:@include <nlist.h>]) |
177 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <nlist.h>]], | ||
178 | [[struct nlist x; | ||
179 | #ifdef HAVE_STRUCT_NLIST_N_UN_N_NAME | ||
180 | x.n_un.n_name = ""; | ||
181 | #else | ||
182 | x.n_name = ""; | ||
183 | #endif]])], | ||
184 | [AC_DEFINE([N_NAME_POINTER], [1], | ||
185 | [Define to 1 if the nlist n_name member is a pointer])]) | ||
177 | ])dnl | 186 | ])dnl |
178 | ])# gl_PREREQ_GETLOADAVG | 187 | ])# gl_PREREQ_GETLOADAVG |
diff --git a/gl/m4/getopt.m4 b/gl/m4/getopt.m4 index 9b683c2f..a19805ea 100644 --- a/gl/m4/getopt.m4 +++ b/gl/m4/getopt.m4 | |||
@@ -1,82 +1,272 @@ | |||
1 | # getopt.m4 serial 14 | 1 | # getopt.m4 serial 24 |
2 | dnl Copyright (C) 2002-2006, 2008 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2006, 2008-2010 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 | # The getopt module assume you want GNU getopt, with getopt_long etc, | 7 | # Request a POSIX compliant getopt function. |
8 | # rather than vanilla POSIX getopt. This means your code should | 8 | AC_DEFUN([gl_FUNC_GETOPT_POSIX], |
9 | # always include <getopt.h> for the getopt prototypes. | 9 | [ |
10 | m4_divert_text([DEFAULTS], [gl_getopt_required=POSIX]) | ||
11 | AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) | ||
12 | gl_GETOPT_IFELSE([ | ||
13 | gl_REPLACE_GETOPT | ||
14 | ], | ||
15 | []) | ||
16 | ]) | ||
17 | |||
18 | # Request a POSIX compliant getopt function with GNU extensions (such as | ||
19 | # options with optional arguments) and the functions getopt_long, | ||
20 | # getopt_long_only. | ||
21 | AC_DEFUN([gl_FUNC_GETOPT_GNU], | ||
22 | [ | ||
23 | m4_divert_text([INIT_PREPARE], [gl_getopt_required=GNU]) | ||
24 | |||
25 | AC_REQUIRE([gl_FUNC_GETOPT_POSIX]) | ||
26 | ]) | ||
10 | 27 | ||
11 | AC_DEFUN([gl_GETOPT_SUBSTITUTE], | 28 | # Request the gnulib implementation of the getopt functions unconditionally. |
29 | # argp.m4 uses this. | ||
30 | AC_DEFUN([gl_REPLACE_GETOPT], | ||
12 | [ | 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. | ||
13 | AC_LIBOBJ([getopt]) | 37 | AC_LIBOBJ([getopt]) |
14 | AC_LIBOBJ([getopt1]) | 38 | AC_LIBOBJ([getopt1]) |
15 | gl_GETOPT_SUBSTITUTE_HEADER | ||
16 | gl_PREREQ_GETOPT | 39 | gl_PREREQ_GETOPT |
17 | ]) | 40 | ]) |
18 | 41 | ||
19 | AC_DEFUN([gl_GETOPT_SUBSTITUTE_HEADER], | 42 | # emacs' configure.in uses this. |
43 | AC_DEFUN([gl_GETOPT_IFELSE], | ||
20 | [ | 44 | [ |
21 | GETOPT_H=getopt.h | 45 | AC_REQUIRE([gl_GETOPT_CHECK_HEADERS]) |
22 | AC_DEFINE([__GETOPT_PREFIX], [[rpl_]], | 46 | AS_IF([test -n "$gl_replace_getopt"], [$1], [$2]) |
23 | [Define to rpl_ if the getopt replacement functions and variables | ||
24 | should be used.]) | ||
25 | AC_SUBST([GETOPT_H]) | ||
26 | ]) | 47 | ]) |
27 | 48 | ||
49 | # Determine whether to replace the entire getopt facility. | ||
28 | AC_DEFUN([gl_GETOPT_CHECK_HEADERS], | 50 | AC_DEFUN([gl_GETOPT_CHECK_HEADERS], |
29 | [ | 51 | [ |
30 | if test -z "$GETOPT_H"; then | 52 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles |
31 | AC_CHECK_HEADERS([getopt.h], [], [GETOPT_H=getopt.h]) | 53 | |
54 | dnl Persuade Solaris <unistd.h> to declare optarg, optind, opterr, optopt. | ||
55 | AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) | ||
56 | |||
57 | gl_CHECK_NEXT_HEADERS([getopt.h]) | ||
58 | AC_CHECK_HEADERS_ONCE([getopt.h]) | ||
59 | if test $ac_cv_header_getopt_h = yes; then | ||
60 | HAVE_GETOPT_H=1 | ||
61 | else | ||
62 | HAVE_GETOPT_H=0 | ||
63 | fi | ||
64 | AC_SUBST([HAVE_GETOPT_H]) | ||
65 | |||
66 | gl_replace_getopt= | ||
67 | |||
68 | dnl Test whether <getopt.h> is available. | ||
69 | if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then | ||
70 | AC_CHECK_HEADERS([getopt.h], [], [gl_replace_getopt=yes]) | ||
71 | fi | ||
72 | |||
73 | dnl Test whether the function getopt_long is available. | ||
74 | if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then | ||
75 | AC_CHECK_FUNCS([getopt_long_only], [], [gl_replace_getopt=yes]) | ||
32 | fi | 76 | fi |
33 | 77 | ||
34 | if test -z "$GETOPT_H"; then | 78 | dnl BSD getopt_long uses an incompatible method to reset option processing. |
35 | AC_CHECK_FUNCS([getopt_long_only], [], [GETOPT_H=getopt.h]) | 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 | if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then | ||
83 | AC_CHECK_DECLS([optreset], [], [], | ||
84 | [[#include <getopt.h>]]) | ||
36 | fi | 85 | fi |
37 | 86 | ||
38 | dnl BSD getopt_long uses an incompatible method to reset option processing, | 87 | dnl mingw's getopt (in libmingwex.a) does weird things when the options |
39 | dnl and (as of 2004-10-15) mishandles optional option-arguments. | 88 | dnl strings starts with '+' and it's not the first call. Some internal state |
40 | if test -z "$GETOPT_H"; then | 89 | dnl is left over from earlier calls, and neither setting optind = 0 nor |
41 | AC_CHECK_DECL([optreset], [GETOPT_H=getopt.h], [], [#include <getopt.h>]) | 90 | dnl setting optreset = 1 get rid of this internal state. |
91 | dnl POSIX is silent on optind vs. optreset, so we allow either behavior. | ||
92 | if test -z "$gl_replace_getopt"; then | ||
93 | AC_CACHE_CHECK([whether getopt is POSIX compatible], | ||
94 | [gl_cv_func_getopt_posix], | ||
95 | [ | ||
96 | dnl This test fails on mingw and succeeds on all other platforms. | ||
97 | AC_RUN_IFELSE([AC_LANG_SOURCE([[ | ||
98 | #include <unistd.h> | ||
99 | #include <stdlib.h> | ||
100 | #include <string.h> | ||
101 | |||
102 | #if !HAVE_DECL_OPTRESET | ||
103 | # define OPTIND_MIN 0 | ||
104 | #else | ||
105 | # define OPTIND_MIN 1 | ||
106 | #endif | ||
107 | |||
108 | int | ||
109 | main () | ||
110 | { | ||
111 | { | ||
112 | int argc = 0; | ||
113 | char *argv[10]; | ||
114 | int c; | ||
115 | |||
116 | argv[argc++] = "program"; | ||
117 | argv[argc++] = "-a"; | ||
118 | argv[argc++] = "foo"; | ||
119 | argv[argc++] = "bar"; | ||
120 | argv[argc] = NULL; | ||
121 | optind = OPTIND_MIN; | ||
122 | opterr = 0; | ||
123 | |||
124 | c = getopt (argc, argv, "ab"); | ||
125 | if (!(c == 'a')) | ||
126 | return 1; | ||
127 | c = getopt (argc, argv, "ab"); | ||
128 | if (!(c == -1)) | ||
129 | return 2; | ||
130 | if (!(optind == 2)) | ||
131 | return 3; | ||
132 | } | ||
133 | /* Some internal state exists at this point. */ | ||
134 | { | ||
135 | int argc = 0; | ||
136 | char *argv[10]; | ||
137 | int c; | ||
138 | |||
139 | argv[argc++] = "program"; | ||
140 | argv[argc++] = "donald"; | ||
141 | argv[argc++] = "-p"; | ||
142 | argv[argc++] = "billy"; | ||
143 | argv[argc++] = "duck"; | ||
144 | argv[argc++] = "-a"; | ||
145 | argv[argc++] = "bar"; | ||
146 | argv[argc] = NULL; | ||
147 | optind = OPTIND_MIN; | ||
148 | opterr = 0; | ||
149 | |||
150 | c = getopt (argc, argv, "+abp:q:"); | ||
151 | if (!(c == -1)) | ||
152 | return 4; | ||
153 | if (!(strcmp (argv[0], "program") == 0)) | ||
154 | return 5; | ||
155 | if (!(strcmp (argv[1], "donald") == 0)) | ||
156 | return 6; | ||
157 | if (!(strcmp (argv[2], "-p") == 0)) | ||
158 | return 7; | ||
159 | if (!(strcmp (argv[3], "billy") == 0)) | ||
160 | return 8; | ||
161 | if (!(strcmp (argv[4], "duck") == 0)) | ||
162 | return 9; | ||
163 | if (!(strcmp (argv[5], "-a") == 0)) | ||
164 | return 10; | ||
165 | if (!(strcmp (argv[6], "bar") == 0)) | ||
166 | return 11; | ||
167 | if (!(optind == 1)) | ||
168 | return 12; | ||
169 | } | ||
170 | |||
171 | return 0; | ||
172 | } | ||
173 | ]])], | ||
174 | [gl_cv_func_getopt_posix=yes], [gl_cv_func_getopt_posix=no], | ||
175 | [case "$host_os" in | ||
176 | mingw*) gl_cv_func_getopt_posix="guessing no";; | ||
177 | *) gl_cv_func_getopt_posix="guessing yes";; | ||
178 | esac | ||
179 | ]) | ||
180 | ]) | ||
181 | case "$gl_cv_func_getopt_posix" in | ||
182 | *no) gl_replace_getopt=yes ;; | ||
183 | esac | ||
42 | fi | 184 | fi |
43 | 185 | ||
44 | dnl Solaris 10 getopt doesn't handle `+' as a leading character in an | 186 | if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then |
45 | dnl option string (as of 2005-05-05). | 187 | AC_CACHE_CHECK([for working GNU getopt function], [gl_cv_func_getopt_gnu], |
46 | if test -z "$GETOPT_H"; then | 188 | [# Even with POSIXLY_CORRECT, the GNU extension of leading '-' in the |
47 | AC_CACHE_CHECK([for working GNU getopt function], [gl_cv_func_gnu_getopt], | 189 | # optstring is necessary for programs like m4 that have POSIX-mandated |
48 | [AC_RUN_IFELSE( | 190 | # semantics for supporting options interspersed with files. |
49 | [AC_LANG_PROGRAM([[#include <getopt.h>]], | 191 | # Also, since getopt_long is a GNU extension, we require optind=0. |
50 | [[ | 192 | gl_had_POSIXLY_CORRECT=${POSIXLY_CORRECT:+yes} |
51 | char *myargv[3]; | 193 | POSIXLY_CORRECT=1 |
52 | myargv[0] = "conftest"; | 194 | export POSIXLY_CORRECT |
53 | myargv[1] = "-+"; | 195 | AC_RUN_IFELSE( |
54 | myargv[2] = 0; | 196 | [AC_LANG_PROGRAM([[#include <getopt.h> |
55 | return getopt (2, myargv, "+a") != '?'; | 197 | #include <stddef.h> |
56 | ]])], | 198 | #include <string.h> |
57 | [gl_cv_func_gnu_getopt=yes], | 199 | ]], [[ |
58 | [gl_cv_func_gnu_getopt=no], | 200 | /* This code succeeds on glibc 2.8, OpenBSD 4.0, Cygwin, mingw, |
59 | [dnl cross compiling - pessimistically guess based on decls | 201 | and fails on MacOS X 10.5, AIX 5.2, HP-UX 11, IRIX 6.5, |
60 | dnl Solaris 10 getopt doesn't handle `+' as a leading character in an | 202 | OSF/1 5.1, Solaris 10. */ |
61 | dnl option string (as of 2005-05-05). | 203 | { |
62 | AC_CHECK_DECL([getopt_clip], | 204 | char *myargv[3]; |
63 | [gl_cv_func_gnu_getopt=no], [gl_cv_func_gnu_getopt=yes], | 205 | myargv[0] = "conftest"; |
64 | [#include <getopt.h>])])]) | 206 | myargv[1] = "-+"; |
65 | if test "$gl_cv_func_gnu_getopt" = "no"; then | 207 | myargv[2] = 0; |
66 | GETOPT_H=getopt.h | 208 | opterr = 0; |
209 | if (getopt (2, myargv, "+a") != '?') | ||
210 | return 1; | ||
211 | } | ||
212 | /* This code succeeds on glibc 2.8, mingw, | ||
213 | and fails on MacOS X 10.5, OpenBSD 4.0, AIX 5.2, HP-UX 11, | ||
214 | IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x. */ | ||
215 | { | ||
216 | char *argv[] = { "program", "-p", "foo", "bar", NULL }; | ||
217 | |||
218 | optind = 1; | ||
219 | if (getopt (4, argv, "p::") != 'p') | ||
220 | return 2; | ||
221 | if (optarg != NULL) | ||
222 | return 3; | ||
223 | if (getopt (4, argv, "p::") != -1) | ||
224 | return 4; | ||
225 | if (optind != 2) | ||
226 | return 5; | ||
227 | } | ||
228 | /* This code succeeds on glibc 2.8 and fails on Cygwin 1.7.0. */ | ||
229 | { | ||
230 | char *argv[] = { "program", "foo", "-p", NULL }; | ||
231 | optind = 0; | ||
232 | if (getopt (3, argv, "-p") != 1) | ||
233 | return 6; | ||
234 | if (getopt (3, argv, "-p") != 'p') | ||
235 | return 7; | ||
236 | } | ||
237 | return 0; | ||
238 | ]])], | ||
239 | [gl_cv_func_getopt_gnu=yes], | ||
240 | [gl_cv_func_getopt_gnu=no], | ||
241 | [dnl Cross compiling. Guess based on host and declarations. | ||
242 | case $host_os:$ac_cv_have_decl_optreset in | ||
243 | *-gnu*:* | mingw*:*) gl_cv_func_getopt_gnu=no;; | ||
244 | *:yes) gl_cv_func_getopt_gnu=no;; | ||
245 | *) gl_cv_func_getopt_gnu=yes;; | ||
246 | esac | ||
247 | ]) | ||
248 | if test "$gl_had_POSIXLY_CORRECT" != yes; then | ||
249 | AS_UNSET([POSIXLY_CORRECT]) | ||
250 | fi | ||
251 | ]) | ||
252 | if test "$gl_cv_func_getopt_gnu" = "no"; then | ||
253 | gl_replace_getopt=yes | ||
67 | fi | 254 | fi |
68 | fi | 255 | fi |
69 | ]) | 256 | ]) |
70 | 257 | ||
71 | AC_DEFUN([gl_GETOPT_IFELSE], | 258 | # emacs' configure.in uses this. |
259 | AC_DEFUN([gl_GETOPT_SUBSTITUTE_HEADER], | ||
72 | [ | 260 | [ |
73 | AC_REQUIRE([gl_GETOPT_CHECK_HEADERS]) | 261 | GETOPT_H=getopt.h |
74 | AS_IF([test -n "$GETOPT_H"], [$1], [$2]) | 262 | AC_DEFINE([__GETOPT_PREFIX], [[rpl_]], |
263 | [Define to rpl_ if the getopt replacement functions and variables | ||
264 | should be used.]) | ||
265 | AC_SUBST([GETOPT_H]) | ||
75 | ]) | 266 | ]) |
76 | 267 | ||
77 | AC_DEFUN([gl_GETOPT], [gl_GETOPT_IFELSE([gl_GETOPT_SUBSTITUTE])]) | ||
78 | |||
79 | # Prerequisites of lib/getopt*. | 268 | # Prerequisites of lib/getopt*. |
269 | # emacs' configure.in uses this. | ||
80 | AC_DEFUN([gl_PREREQ_GETOPT], | 270 | AC_DEFUN([gl_PREREQ_GETOPT], |
81 | [ | 271 | [ |
82 | AC_CHECK_DECLS_ONCE([getenv]) | 272 | AC_CHECK_DECLS_ONCE([getenv]) |
diff --git a/gl/m4/gettext.m4 b/gl/m4/gettext.m4 index d90c8500..d6dc3fe2 100644 --- a/gl/m4/gettext.m4 +++ b/gl/m4/gettext.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # gettext.m4 serial 62 (gettext-0.18) | 1 | # gettext.m4 serial 62 (gettext-0.18) |
2 | dnl Copyright (C) 1995-2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1995-2010 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/glibc2.m4 b/gl/m4/glibc2.m4 index fe58a0f3..f148c12c 100644 --- a/gl/m4/glibc2.m4 +++ b/gl/m4/glibc2.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # glibc2.m4 serial 2 | 1 | # glibc2.m4 serial 2 |
2 | dnl Copyright (C) 2000-2002, 2004, 2008 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2000-2002, 2004, 2008-2010 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,16 +12,16 @@ AC_DEFUN([gt_GLIBC2], | |||
12 | AC_CACHE_CHECK([whether we are using the GNU C Library 2 or newer], | 12 | AC_CACHE_CHECK([whether we are using the GNU C Library 2 or newer], |
13 | [ac_cv_gnu_library_2], | 13 | [ac_cv_gnu_library_2], |
14 | [AC_EGREP_CPP([Lucky GNU user], | 14 | [AC_EGREP_CPP([Lucky GNU user], |
15 | [ | 15 | [ |
16 | #include <features.h> | 16 | #include <features.h> |
17 | #ifdef __GNU_LIBRARY__ | 17 | #ifdef __GNU_LIBRARY__ |
18 | #if (__GLIBC__ >= 2) | 18 | #if (__GLIBC__ >= 2) |
19 | Lucky GNU user | 19 | Lucky GNU user |
20 | #endif | 20 | #endif |
21 | #endif | 21 | #endif |
22 | ], | 22 | ], |
23 | [ac_cv_gnu_library_2=yes], | 23 | [ac_cv_gnu_library_2=yes], |
24 | [ac_cv_gnu_library_2=no]) | 24 | [ac_cv_gnu_library_2=no]) |
25 | ] | 25 | ] |
26 | ) | 26 | ) |
27 | AC_SUBST([GLIBC2]) | 27 | AC_SUBST([GLIBC2]) |
diff --git a/gl/m4/glibc21.m4 b/gl/m4/glibc21.m4 index 93fbf474..68ada9d4 100644 --- a/gl/m4/glibc21.m4 +++ b/gl/m4/glibc21.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # glibc21.m4 serial 4 | 1 | # glibc21.m4 serial 4 |
2 | dnl Copyright (C) 2000-2002, 2004, 2008 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2000-2002, 2004, 2008-2010 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,16 +12,16 @@ AC_DEFUN([gl_GLIBC21], | |||
12 | AC_CACHE_CHECK([whether we are using the GNU C Library 2.1 or newer], | 12 | AC_CACHE_CHECK([whether we are using the GNU C Library 2.1 or newer], |
13 | [ac_cv_gnu_library_2_1], | 13 | [ac_cv_gnu_library_2_1], |
14 | [AC_EGREP_CPP([Lucky GNU user], | 14 | [AC_EGREP_CPP([Lucky GNU user], |
15 | [ | 15 | [ |
16 | #include <features.h> | 16 | #include <features.h> |
17 | #ifdef __GNU_LIBRARY__ | 17 | #ifdef __GNU_LIBRARY__ |
18 | #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) | 18 | #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) |
19 | Lucky GNU user | 19 | Lucky GNU user |
20 | #endif | 20 | #endif |
21 | #endif | 21 | #endif |
22 | ], | 22 | ], |
23 | [ac_cv_gnu_library_2_1=yes], | 23 | [ac_cv_gnu_library_2_1=yes], |
24 | [ac_cv_gnu_library_2_1=no]) | 24 | [ac_cv_gnu_library_2_1=no]) |
25 | ] | 25 | ] |
26 | ) | 26 | ) |
27 | AC_SUBST([GLIBC21]) | 27 | AC_SUBST([GLIBC21]) |
diff --git a/gl/m4/gnulib-cache.m4 b/gl/m4/gnulib-cache.m4 index 385f5432..0ac6b969 100644 --- a/gl/m4/gnulib-cache.m4 +++ b/gl/m4/gnulib-cache.m4 | |||
@@ -1,4 +1,4 @@ | |||
1 | # Copyright (C) 2002-2009 Free Software Foundation, Inc. | 1 | # Copyright (C) 2002-2010 Free Software Foundation, Inc. |
2 | # | 2 | # |
3 | # This file is free software, distributed under the terms of the GNU | 3 | # This file is free software, distributed under the terms of the GNU |
4 | # General Public License. As a special exception to the GNU General | 4 | # General Public License. As a special exception to the GNU General |
diff --git a/gl/m4/gnulib-common.m4 b/gl/m4/gnulib-common.m4 index c8fda203..9cc519e7 100644 --- a/gl/m4/gnulib-common.m4 +++ b/gl/m4/gnulib-common.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # gnulib-common.m4 serial 11 | 1 | # gnulib-common.m4 serial 18 |
2 | dnl Copyright (C) 2007-2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007-2010 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. |
@@ -23,23 +23,77 @@ AC_DEFUN([gl_COMMON_BODY], [ | |||
23 | # define __GNUC_STDC_INLINE__ 1 | 23 | # define __GNUC_STDC_INLINE__ 1 |
24 | #endif]) | 24 | #endif]) |
25 | AH_VERBATIM([unused_parameter], | 25 | AH_VERBATIM([unused_parameter], |
26 | [/* Define as a marker that can be attached to function parameter declarations | 26 | [/* Define as a marker that can be attached to declarations that might not |
27 | for parameters that are not used. This helps to reduce warnings, such as | 27 | be used. This helps to reduce warnings, such as from |
28 | from GCC -Wunused-parameter. */ | 28 | GCC -Wunused-parameter. */ |
29 | #if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) | 29 | #if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) |
30 | # define _UNUSED_PARAMETER_ __attribute__ ((__unused__)) | 30 | # define _GL_UNUSED __attribute__ ((__unused__)) |
31 | #else | 31 | #else |
32 | # define _UNUSED_PARAMETER_ | 32 | # define _GL_UNUSED |
33 | #endif | 33 | #endif |
34 | /* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name | ||
35 | is a misnomer outside of parameter lists. */ | ||
36 | #define _UNUSED_PARAMETER_ _GL_UNUSED | ||
34 | ]) | 37 | ]) |
35 | ]) | 38 | ]) |
36 | 39 | ||
40 | # gl_MODULE_INDICATOR_CONDITION | ||
41 | # expands to a C preprocessor expression that evaluates to 1 or 0, depending | ||
42 | # whether a gnulib module that has been requested shall be considered present | ||
43 | # or not. | ||
44 | AC_DEFUN([gl_MODULE_INDICATOR_CONDITION], [1]) | ||
45 | |||
46 | # gl_MODULE_INDICATOR_SET_VARIABLE([modulename]) | ||
47 | # sets the shell variable that indicates the presence of the given module to | ||
48 | # a C preprocessor expression that will evaluate to 1. | ||
49 | AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE], | ||
50 | [ | ||
51 | GNULIB_[]m4_translit([[$1]], | ||
52 | [abcdefghijklmnopqrstuvwxyz./-], | ||
53 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=gl_MODULE_INDICATOR_CONDITION | ||
54 | ]) | ||
55 | |||
37 | # gl_MODULE_INDICATOR([modulename]) | 56 | # gl_MODULE_INDICATOR([modulename]) |
38 | # defines a C macro indicating the presence of the given module. | 57 | # defines a C macro indicating the presence of the given module |
58 | # in a location where it can be used. | ||
59 | # | Value | Value | | ||
60 | # | in lib/ | in tests/ | | ||
61 | # --------------------------------------------+---------+-----------+ | ||
62 | # Module present among main modules: | 1 | 1 | | ||
63 | # --------------------------------------------+---------+-----------+ | ||
64 | # Module present among tests-related modules: | 0 | 1 | | ||
65 | # --------------------------------------------+---------+-----------+ | ||
66 | # Module not present at all: | 0 | 0 | | ||
67 | # --------------------------------------------+---------+-----------+ | ||
39 | AC_DEFUN([gl_MODULE_INDICATOR], | 68 | AC_DEFUN([gl_MODULE_INDICATOR], |
40 | [ | 69 | [ |
41 | AC_DEFINE([GNULIB_]translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___]), [1], | 70 | AC_DEFINE_UNQUOTED([GNULIB_]m4_translit([[$1]], |
42 | [Define to 1 when using the gnulib module ]$1[.]) | 71 | [abcdefghijklmnopqrstuvwxyz./-], |
72 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ___]), | ||
73 | [gl_MODULE_INDICATOR_CONDITION], | ||
74 | [Define to a C preprocessor expression that evaluates to 1 or 0, | ||
75 | depending whether the gnulib module $1 shall be considered present.]) | ||
76 | ]) | ||
77 | |||
78 | # gl_MODULE_INDICATOR_FOR_TESTS([modulename]) | ||
79 | # defines a C macro indicating the presence of the given module | ||
80 | # in lib or tests. This is useful to determine whether the module | ||
81 | # should be tested. | ||
82 | # | Value | Value | | ||
83 | # | in lib/ | in tests/ | | ||
84 | # --------------------------------------------+---------+-----------+ | ||
85 | # Module present among main modules: | 1 | 1 | | ||
86 | # --------------------------------------------+---------+-----------+ | ||
87 | # Module present among tests-related modules: | 1 | 1 | | ||
88 | # --------------------------------------------+---------+-----------+ | ||
89 | # Module not present at all: | 0 | 0 | | ||
90 | # --------------------------------------------+---------+-----------+ | ||
91 | AC_DEFUN([gl_MODULE_INDICATOR_FOR_TESTS], | ||
92 | [ | ||
93 | AC_DEFINE([GNULIB_TEST_]m4_translit([[$1]], | ||
94 | [abcdefghijklmnopqrstuvwxyz./-], | ||
95 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ___]), [1], | ||
96 | [Define to 1 when the gnulib module $1 should be tested.]) | ||
43 | ]) | 97 | ]) |
44 | 98 | ||
45 | # m4_foreach_w | 99 | # m4_foreach_w |
@@ -49,10 +103,25 @@ m4_ifndef([m4_foreach_w], | |||
49 | [m4_define([m4_foreach_w], | 103 | [m4_define([m4_foreach_w], |
50 | [m4_foreach([$1], m4_split(m4_normalize([$2]), [ ]), [$3])])]) | 104 | [m4_foreach([$1], m4_split(m4_normalize([$2]), [ ]), [$3])])]) |
51 | 105 | ||
106 | # AS_VAR_IF(VAR, VALUE, [IF-MATCH], [IF-NOT-MATCH]) | ||
107 | # ---------------------------------------------------- | ||
108 | # Backport of autoconf-2.63b's macro. | ||
109 | # Remove this macro when we can assume autoconf >= 2.64. | ||
110 | m4_ifndef([AS_VAR_IF], | ||
111 | [m4_define([AS_VAR_IF], | ||
112 | [AS_IF([test x"AS_VAR_GET([$1])" = x""$2], [$3], [$4])])]) | ||
113 | |||
52 | # AC_PROG_MKDIR_P | 114 | # AC_PROG_MKDIR_P |
53 | # is a backport of autoconf-2.60's AC_PROG_MKDIR_P. | 115 | # is a backport of autoconf-2.60's AC_PROG_MKDIR_P, with a fix |
54 | # Remove this macro when we can assume autoconf >= 2.60. | 116 | # for interoperability with automake-1.9.6 from autoconf-2.62. |
55 | m4_ifdef([AC_PROG_MKDIR_P], [], [ | 117 | # Remove this macro when we can assume autoconf >= 2.62 or |
118 | # autoconf >= 2.60 && automake >= 1.10. | ||
119 | m4_ifdef([AC_PROG_MKDIR_P], [ | ||
120 | dnl For automake-1.9.6 && autoconf < 2.62: Ensure MKDIR_P is AC_SUBSTed. | ||
121 | m4_define([AC_PROG_MKDIR_P], | ||
122 | m4_defn([AC_PROG_MKDIR_P])[ | ||
123 | AC_SUBST([MKDIR_P])])], [ | ||
124 | dnl For autoconf < 2.60: Backport of AC_PROG_MKDIR_P. | ||
56 | AC_DEFUN_ONCE([AC_PROG_MKDIR_P], | 125 | AC_DEFUN_ONCE([AC_PROG_MKDIR_P], |
57 | [AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake | 126 | [AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake |
58 | MKDIR_P='$(mkdir_p)' | 127 | MKDIR_P='$(mkdir_p)' |
@@ -70,13 +139,13 @@ AC_DEFUN([AC_C_RESTRICT], | |||
70 | for ac_kw in __restrict __restrict__ _Restrict restrict; do | 139 | for ac_kw in __restrict __restrict__ _Restrict restrict; do |
71 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM( | 140 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM( |
72 | [[typedef int * int_ptr; | 141 | [[typedef int * int_ptr; |
73 | int foo (int_ptr $ac_kw ip) { | 142 | int foo (int_ptr $ac_kw ip) { |
74 | return ip[0]; | 143 | return ip[0]; |
75 | }]], | 144 | }]], |
76 | [[int s[1]; | 145 | [[int s[1]; |
77 | int * $ac_kw t = s; | 146 | int * $ac_kw t = s; |
78 | t[0] = 0; | 147 | t[0] = 0; |
79 | return foo(t)]])], | 148 | return foo(t)]])], |
80 | [ac_cv_c_restrict=$ac_kw]) | 149 | [ac_cv_c_restrict=$ac_kw]) |
81 | test "$ac_cv_c_restrict" != no && break | 150 | test "$ac_cv_c_restrict" != no && break |
82 | done | 151 | done |
diff --git a/gl/m4/gnulib-comp.m4 b/gl/m4/gnulib-comp.m4 index 005cc4eb..4a956e44 100644 --- a/gl/m4/gnulib-comp.m4 +++ b/gl/m4/gnulib-comp.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # DO NOT EDIT! GENERATED AUTOMATICALLY! | 1 | # DO NOT EDIT! GENERATED AUTOMATICALLY! |
2 | # Copyright (C) 2002-2009 Free Software Foundation, Inc. | 2 | # Copyright (C) 2002-2010 Free Software Foundation, Inc. |
3 | # | 3 | # |
4 | # This file is free software, distributed under the terms of the GNU | 4 | # This file is free software, distributed under the terms of the GNU |
5 | # General Public License. As a special exception to the GNU General | 5 | # General Public License. As a special exception to the GNU General |
@@ -25,7 +25,108 @@ AC_DEFUN([gl_EARLY], | |||
25 | m4_pattern_allow([^gl_LIBOBJS$])dnl a variable | 25 | m4_pattern_allow([^gl_LIBOBJS$])dnl a variable |
26 | m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable | 26 | m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable |
27 | AC_REQUIRE([AC_PROG_RANLIB]) | 27 | AC_REQUIRE([AC_PROG_RANLIB]) |
28 | # Code from module alignof: | ||
29 | # Code from module alloca: | ||
30 | # Code from module alloca-opt: | ||
31 | # Code from module arg-nonnull: | ||
32 | # Code from module arpa_inet: | ||
33 | # Code from module base64: | ||
34 | # Code from module btowc: | ||
35 | # Code from module c++defs: | ||
36 | # Code from module c-strtod: | ||
37 | # Code from module cloexec: | ||
38 | # Code from module close-hook: | ||
39 | # Code from module configmake: | ||
40 | # Code from module dirname: | ||
41 | # Code from module dirname-lgpl: | ||
42 | # Code from module double-slash-root: | ||
43 | # Code from module dup2: | ||
44 | # Code from module errno: | ||
45 | # Code from module error: | ||
46 | # Code from module exitfail: | ||
47 | # Code from module extensions: | ||
28 | AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) | 48 | AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) |
49 | # Code from module fcntl: | ||
50 | # Code from module fcntl-h: | ||
51 | # Code from module fcntl-safer: | ||
52 | # Code from module float: | ||
53 | # Code from module floorf: | ||
54 | # Code from module fsusage: | ||
55 | # Code from module full-read: | ||
56 | # Code from module full-write: | ||
57 | # Code from module getaddrinfo: | ||
58 | # Code from module getdtablesize: | ||
59 | # Code from module gethostname: | ||
60 | # Code from module getloadavg: | ||
61 | # Code from module getopt: | ||
62 | # Code from module getopt-gnu: | ||
63 | # Code from module getopt-posix: | ||
64 | # Code from module gettext: | ||
65 | # Code from module gettext-h: | ||
66 | # Code from module havelib: | ||
67 | # Code from module hostent: | ||
68 | # Code from module include_next: | ||
69 | # Code from module inet_ntop: | ||
70 | # Code from module inline: | ||
71 | # Code from module intprops: | ||
72 | # Code from module langinfo: | ||
73 | # Code from module localcharset: | ||
74 | # Code from module locale: | ||
75 | # Code from module malloc: | ||
76 | # Code from module malloc-posix: | ||
77 | # Code from module math: | ||
78 | # Code from module mbrtowc: | ||
79 | # Code from module mbsinit: | ||
80 | # Code from module memchr: | ||
81 | # Code from module mktime: | ||
82 | # Code from module mountlist: | ||
83 | # Code from module multiarch: | ||
84 | # Code from module netdb: | ||
85 | # Code from module netinet_in: | ||
86 | # Code from module nl_langinfo: | ||
87 | # Code from module open: | ||
88 | # Code from module regex: | ||
89 | # Code from module safe-read: | ||
90 | # Code from module safe-write: | ||
91 | # Code from module servent: | ||
92 | # Code from module size_max: | ||
93 | # Code from module snprintf: | ||
94 | # Code from module sockets: | ||
95 | # Code from module socklen: | ||
96 | # Code from module ssize_t: | ||
97 | # Code from module stat: | ||
98 | # Code from module stdbool: | ||
99 | # Code from module stddef: | ||
100 | # Code from module stdint: | ||
101 | # Code from module stdio: | ||
102 | # Code from module stdlib: | ||
103 | # Code from module strdup-posix: | ||
104 | # Code from module streq: | ||
105 | # Code from module strerror: | ||
106 | # Code from module string: | ||
107 | # Code from module strndup: | ||
108 | # Code from module strnlen: | ||
109 | # Code from module strstr-simple: | ||
110 | # Code from module sys_socket: | ||
111 | # Code from module sys_stat: | ||
112 | # Code from module time: | ||
113 | # Code from module time_r: | ||
114 | # Code from module timegm: | ||
115 | # Code from module unistd: | ||
116 | # Code from module unistd-safer: | ||
117 | # Code from module vasnprintf: | ||
118 | # Code from module vasprintf: | ||
119 | # Code from module verify: | ||
120 | # Code from module vsnprintf: | ||
121 | # Code from module warn-on-use: | ||
122 | # Code from module wchar: | ||
123 | # Code from module wcrtomb: | ||
124 | # Code from module wctype: | ||
125 | # Code from module write: | ||
126 | # Code from module xalloc: | ||
127 | # Code from module xalloc-die: | ||
128 | # Code from module xsize: | ||
129 | # Code from module xstrndup: | ||
29 | ]) | 130 | ]) |
30 | 131 | ||
31 | # This macro should be invoked from ./configure.in, in the section | 132 | # This macro should be invoked from ./configure.in, in the section |
@@ -36,6 +137,7 @@ AC_DEFUN([gl_INIT], | |||
36 | gl_cond_libtool=false | 137 | gl_cond_libtool=false |
37 | gl_libdeps= | 138 | gl_libdeps= |
38 | gl_ltlibdeps= | 139 | gl_ltlibdeps= |
140 | gl_m4_base='gl/m4' | ||
39 | m4_pushdef([AC_LIBOBJ], m4_defn([gl_LIBOBJ])) | 141 | m4_pushdef([AC_LIBOBJ], m4_defn([gl_LIBOBJ])) |
40 | m4_pushdef([AC_REPLACE_FUNCS], m4_defn([gl_REPLACE_FUNCS])) | 142 | m4_pushdef([AC_REPLACE_FUNCS], m4_defn([gl_REPLACE_FUNCS])) |
41 | m4_pushdef([AC_LIBSOURCES], m4_defn([gl_LIBSOURCES])) | 143 | m4_pushdef([AC_LIBSOURCES], m4_defn([gl_LIBSOURCES])) |
@@ -43,111 +145,239 @@ AC_DEFUN([gl_INIT], | |||
43 | m4_pushdef([gl_LIBSOURCES_DIR], []) | 145 | m4_pushdef([gl_LIBSOURCES_DIR], []) |
44 | gl_COMMON | 146 | gl_COMMON |
45 | gl_source_base='gl' | 147 | gl_source_base='gl' |
148 | # Code from module alignof: | ||
149 | # Code from module alloca: | ||
150 | # Code from module alloca-opt: | ||
46 | gl_FUNC_ALLOCA | 151 | gl_FUNC_ALLOCA |
152 | # Code from module arg-nonnull: | ||
153 | # Code from module arpa_inet: | ||
47 | gl_HEADER_ARPA_INET | 154 | gl_HEADER_ARPA_INET |
48 | AC_PROG_MKDIR_P | 155 | AC_PROG_MKDIR_P |
156 | # Code from module base64: | ||
49 | gl_FUNC_BASE64 | 157 | gl_FUNC_BASE64 |
158 | # Code from module btowc: | ||
50 | gl_FUNC_BTOWC | 159 | gl_FUNC_BTOWC |
51 | gl_WCHAR_MODULE_INDICATOR([btowc]) | 160 | gl_WCHAR_MODULE_INDICATOR([btowc]) |
161 | # Code from module c++defs: | ||
162 | # Code from module c-strtod: | ||
52 | gl_C_STRTOD | 163 | gl_C_STRTOD |
164 | # Code from module cloexec: | ||
53 | gl_CLOEXEC | 165 | gl_CLOEXEC |
166 | gl_MODULE_INDICATOR_FOR_TESTS([cloexec]) | ||
167 | # Code from module close-hook: | ||
168 | # Code from module configmake: | ||
169 | # Code from module dirname: | ||
54 | gl_DIRNAME | 170 | gl_DIRNAME |
171 | gl_MODULE_INDICATOR([dirname]) | ||
172 | # Code from module dirname-lgpl: | ||
173 | gl_DIRNAME_LGPL | ||
174 | # Code from module double-slash-root: | ||
55 | gl_DOUBLE_SLASH_ROOT | 175 | gl_DOUBLE_SLASH_ROOT |
176 | # Code from module dup2: | ||
177 | gl_FUNC_DUP2 | ||
178 | gl_UNISTD_MODULE_INDICATOR([dup2]) | ||
179 | # Code from module errno: | ||
56 | gl_HEADER_ERRNO_H | 180 | gl_HEADER_ERRNO_H |
181 | # Code from module error: | ||
57 | gl_ERROR | 182 | gl_ERROR |
58 | m4_ifdef([AM_XGETTEXT_OPTION], | 183 | m4_ifdef([AM_XGETTEXT_OPTION], |
59 | [AM_XGETTEXT_OPTION([--flag=error:3:c-format]) | 184 | [AM_][XGETTEXT_OPTION([--flag=error:3:c-format]) |
60 | AM_XGETTEXT_OPTION([--flag=error_at_line:5:c-format])]) | 185 | AM_][XGETTEXT_OPTION([--flag=error_at_line:5:c-format])]) |
61 | gl_EXITFAIL | 186 | # Code from module exitfail: |
187 | # Code from module extensions: | ||
188 | # Code from module fcntl: | ||
189 | gl_FUNC_FCNTL | ||
190 | gl_FCNTL_MODULE_INDICATOR([fcntl]) | ||
191 | # Code from module fcntl-h: | ||
62 | gl_FCNTL_H | 192 | gl_FCNTL_H |
193 | # Code from module fcntl-safer: | ||
63 | gl_FCNTL_SAFER | 194 | gl_FCNTL_SAFER |
64 | gl_MODULE_INDICATOR([fcntl-safer]) | 195 | gl_MODULE_INDICATOR([fcntl-safer]) |
196 | # Code from module float: | ||
65 | gl_FLOAT_H | 197 | gl_FLOAT_H |
198 | # Code from module floorf: | ||
66 | gl_FUNC_FLOORF | 199 | gl_FUNC_FLOORF |
67 | gl_MATH_MODULE_INDICATOR([floorf]) | 200 | gl_MATH_MODULE_INDICATOR([floorf]) |
201 | # Code from module fsusage: | ||
68 | gl_FSUSAGE | 202 | gl_FSUSAGE |
203 | # Code from module full-read: | ||
204 | # Code from module full-write: | ||
205 | # Code from module getaddrinfo: | ||
69 | gl_GETADDRINFO | 206 | gl_GETADDRINFO |
70 | gl_NETDB_MODULE_INDICATOR([getaddrinfo]) | 207 | gl_NETDB_MODULE_INDICATOR([getaddrinfo]) |
208 | # Code from module getdtablesize: | ||
209 | gl_FUNC_GETDTABLESIZE | ||
210 | gl_UNISTD_MODULE_INDICATOR([getdtablesize]) | ||
211 | # Code from module gethostname: | ||
71 | gl_FUNC_GETHOSTNAME | 212 | gl_FUNC_GETHOSTNAME |
72 | gl_UNISTD_MODULE_INDICATOR([gethostname]) | 213 | gl_UNISTD_MODULE_INDICATOR([gethostname]) |
214 | # Code from module getloadavg: | ||
73 | gl_GETLOADAVG([$gl_source_base]) | 215 | gl_GETLOADAVG([$gl_source_base]) |
74 | gl_STDLIB_MODULE_INDICATOR([getloadavg]) | 216 | gl_STDLIB_MODULE_INDICATOR([getloadavg]) |
75 | gl_GETOPT | 217 | # Code from module getopt: |
218 | # Code from module getopt-gnu: | ||
219 | gl_FUNC_GETOPT_GNU | ||
220 | gl_MODULE_INDICATOR_FOR_TESTS([getopt-gnu]) | ||
221 | # Code from module getopt-posix: | ||
222 | gl_FUNC_GETOPT_POSIX | ||
223 | # Code from module gettext: | ||
76 | dnl you must add AM_GNU_GETTEXT([external]) or similar to configure.ac. | 224 | dnl you must add AM_GNU_GETTEXT([external]) or similar to configure.ac. |
77 | AM_GNU_GETTEXT_VERSION([0.17]) | 225 | AM_GNU_GETTEXT_VERSION([0.17]) |
226 | # Code from module gettext-h: | ||
78 | AC_SUBST([LIBINTL]) | 227 | AC_SUBST([LIBINTL]) |
79 | AC_SUBST([LTLIBINTL]) | 228 | AC_SUBST([LTLIBINTL]) |
229 | # Code from module havelib: | ||
230 | # Code from module hostent: | ||
80 | gl_HOSTENT | 231 | gl_HOSTENT |
81 | gl_INET_NTOP | 232 | # Code from module include_next: |
233 | # Code from module inet_ntop: | ||
234 | gl_FUNC_INET_NTOP | ||
82 | gl_ARPA_INET_MODULE_INDICATOR([inet_ntop]) | 235 | gl_ARPA_INET_MODULE_INDICATOR([inet_ntop]) |
236 | # Code from module inline: | ||
83 | gl_INLINE | 237 | gl_INLINE |
238 | # Code from module intprops: | ||
239 | # Code from module langinfo: | ||
240 | gl_LANGINFO_H | ||
241 | # Code from module localcharset: | ||
84 | gl_LOCALCHARSET | 242 | gl_LOCALCHARSET |
85 | LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(top_builddir)/$gl_source_base\"" | 243 | LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(top_builddir)/$gl_source_base\"" |
86 | AC_SUBST([LOCALCHARSET_TESTS_ENVIRONMENT]) | 244 | AC_SUBST([LOCALCHARSET_TESTS_ENVIRONMENT]) |
245 | # Code from module locale: | ||
246 | gl_LOCALE_H | ||
247 | # Code from module malloc: | ||
87 | AC_FUNC_MALLOC | 248 | AC_FUNC_MALLOC |
88 | AC_DEFINE([GNULIB_MALLOC_GNU], 1, [Define to indicate the 'malloc' module.]) | 249 | AC_DEFINE([GNULIB_MALLOC_GNU], 1, [Define to indicate the 'malloc' module.]) |
250 | # Code from module malloc-posix: | ||
89 | gl_FUNC_MALLOC_POSIX | 251 | gl_FUNC_MALLOC_POSIX |
90 | gl_STDLIB_MODULE_INDICATOR([malloc-posix]) | 252 | gl_STDLIB_MODULE_INDICATOR([malloc-posix]) |
253 | # Code from module math: | ||
91 | gl_MATH_H | 254 | gl_MATH_H |
255 | # Code from module mbrtowc: | ||
92 | gl_FUNC_MBRTOWC | 256 | gl_FUNC_MBRTOWC |
93 | gl_WCHAR_MODULE_INDICATOR([mbrtowc]) | 257 | gl_WCHAR_MODULE_INDICATOR([mbrtowc]) |
258 | # Code from module mbsinit: | ||
94 | gl_FUNC_MBSINIT | 259 | gl_FUNC_MBSINIT |
95 | gl_WCHAR_MODULE_INDICATOR([mbsinit]) | 260 | gl_WCHAR_MODULE_INDICATOR([mbsinit]) |
261 | # Code from module memchr: | ||
262 | gl_FUNC_MEMCHR | ||
263 | gl_STRING_MODULE_INDICATOR([memchr]) | ||
264 | # Code from module mktime: | ||
96 | gl_FUNC_MKTIME | 265 | gl_FUNC_MKTIME |
266 | gl_TIME_MODULE_INDICATOR([mktime]) | ||
267 | # Code from module mountlist: | ||
97 | gl_MOUNTLIST | 268 | gl_MOUNTLIST |
269 | # Code from module multiarch: | ||
98 | gl_MULTIARCH | 270 | gl_MULTIARCH |
271 | # Code from module netdb: | ||
99 | gl_HEADER_NETDB | 272 | gl_HEADER_NETDB |
273 | # Code from module netinet_in: | ||
100 | gl_HEADER_NETINET_IN | 274 | gl_HEADER_NETINET_IN |
101 | AC_PROG_MKDIR_P | 275 | AC_PROG_MKDIR_P |
276 | # Code from module nl_langinfo: | ||
277 | gl_FUNC_NL_LANGINFO | ||
278 | gl_LANGINFO_MODULE_INDICATOR([nl_langinfo]) | ||
279 | # Code from module open: | ||
102 | gl_FUNC_OPEN | 280 | gl_FUNC_OPEN |
103 | gl_MODULE_INDICATOR([open]) | ||
104 | gl_FCNTL_MODULE_INDICATOR([open]) | 281 | gl_FCNTL_MODULE_INDICATOR([open]) |
282 | # Code from module regex: | ||
105 | gl_REGEX | 283 | gl_REGEX |
284 | # Code from module safe-read: | ||
106 | gl_SAFE_READ | 285 | gl_SAFE_READ |
286 | # Code from module safe-write: | ||
107 | gl_SAFE_WRITE | 287 | gl_SAFE_WRITE |
288 | # Code from module servent: | ||
108 | gl_SERVENT | 289 | gl_SERVENT |
290 | # Code from module size_max: | ||
109 | gl_SIZE_MAX | 291 | gl_SIZE_MAX |
292 | # Code from module snprintf: | ||
110 | gl_FUNC_SNPRINTF | 293 | gl_FUNC_SNPRINTF |
111 | gl_STDIO_MODULE_INDICATOR([snprintf]) | 294 | gl_STDIO_MODULE_INDICATOR([snprintf]) |
295 | # Code from module sockets: | ||
296 | gl_SOCKETS | ||
297 | # Code from module socklen: | ||
112 | gl_TYPE_SOCKLEN_T | 298 | gl_TYPE_SOCKLEN_T |
299 | # Code from module ssize_t: | ||
113 | gt_TYPE_SSIZE_T | 300 | gt_TYPE_SSIZE_T |
301 | # Code from module stat: | ||
302 | gl_FUNC_STAT | ||
303 | gl_SYS_STAT_MODULE_INDICATOR([stat]) | ||
304 | # Code from module stdbool: | ||
114 | AM_STDBOOL_H | 305 | AM_STDBOOL_H |
306 | # Code from module stddef: | ||
307 | gl_STDDEF_H | ||
308 | # Code from module stdint: | ||
115 | gl_STDINT_H | 309 | gl_STDINT_H |
310 | # Code from module stdio: | ||
116 | gl_STDIO_H | 311 | gl_STDIO_H |
312 | # Code from module stdlib: | ||
117 | gl_STDLIB_H | 313 | gl_STDLIB_H |
314 | # Code from module strdup-posix: | ||
118 | gl_FUNC_STRDUP_POSIX | 315 | gl_FUNC_STRDUP_POSIX |
119 | gl_STRING_MODULE_INDICATOR([strdup]) | 316 | gl_STRING_MODULE_INDICATOR([strdup]) |
317 | # Code from module streq: | ||
318 | # Code from module strerror: | ||
120 | gl_FUNC_STRERROR | 319 | gl_FUNC_STRERROR |
121 | gl_STRING_MODULE_INDICATOR([strerror]) | 320 | gl_STRING_MODULE_INDICATOR([strerror]) |
321 | # Code from module string: | ||
122 | gl_HEADER_STRING_H | 322 | gl_HEADER_STRING_H |
323 | # Code from module strndup: | ||
123 | gl_FUNC_STRNDUP | 324 | gl_FUNC_STRNDUP |
124 | gl_STRING_MODULE_INDICATOR([strndup]) | 325 | gl_STRING_MODULE_INDICATOR([strndup]) |
326 | # Code from module strnlen: | ||
125 | gl_FUNC_STRNLEN | 327 | gl_FUNC_STRNLEN |
126 | gl_STRING_MODULE_INDICATOR([strnlen]) | 328 | gl_STRING_MODULE_INDICATOR([strnlen]) |
329 | # Code from module strstr-simple: | ||
330 | gl_FUNC_STRSTR_SIMPLE | ||
331 | gl_STRING_MODULE_INDICATOR([strstr]) | ||
332 | # Code from module sys_socket: | ||
127 | gl_HEADER_SYS_SOCKET | 333 | gl_HEADER_SYS_SOCKET |
128 | AC_PROG_MKDIR_P | 334 | AC_PROG_MKDIR_P |
335 | # Code from module sys_stat: | ||
336 | gl_HEADER_SYS_STAT_H | ||
337 | AC_PROG_MKDIR_P | ||
338 | # Code from module time: | ||
129 | gl_HEADER_TIME_H | 339 | gl_HEADER_TIME_H |
340 | # Code from module time_r: | ||
130 | gl_TIME_R | 341 | gl_TIME_R |
342 | gl_TIME_MODULE_INDICATOR([time_r]) | ||
343 | # Code from module timegm: | ||
131 | gl_FUNC_TIMEGM | 344 | gl_FUNC_TIMEGM |
345 | gl_TIME_MODULE_INDICATOR([timegm]) | ||
346 | # Code from module unistd: | ||
132 | gl_UNISTD_H | 347 | gl_UNISTD_H |
348 | # Code from module unistd-safer: | ||
133 | gl_UNISTD_SAFER | 349 | gl_UNISTD_SAFER |
350 | # Code from module vasnprintf: | ||
134 | gl_FUNC_VASNPRINTF | 351 | gl_FUNC_VASNPRINTF |
352 | # Code from module vasprintf: | ||
135 | gl_FUNC_VASPRINTF | 353 | gl_FUNC_VASPRINTF |
136 | gl_STDIO_MODULE_INDICATOR([vasprintf]) | 354 | gl_STDIO_MODULE_INDICATOR([vasprintf]) |
137 | m4_ifdef([AM_XGETTEXT_OPTION], | 355 | m4_ifdef([AM_XGETTEXT_OPTION], |
138 | [AM_XGETTEXT_OPTION([--flag=asprintf:2:c-format]) | 356 | [AM_][XGETTEXT_OPTION([--flag=asprintf:2:c-format]) |
139 | AM_XGETTEXT_OPTION([--flag=vasprintf:2:c-format])]) | 357 | AM_][XGETTEXT_OPTION([--flag=vasprintf:2:c-format])]) |
358 | # Code from module verify: | ||
359 | # Code from module vsnprintf: | ||
140 | gl_FUNC_VSNPRINTF | 360 | gl_FUNC_VSNPRINTF |
141 | gl_STDIO_MODULE_INDICATOR([vsnprintf]) | 361 | gl_STDIO_MODULE_INDICATOR([vsnprintf]) |
362 | # Code from module warn-on-use: | ||
363 | # Code from module wchar: | ||
142 | gl_WCHAR_H | 364 | gl_WCHAR_H |
365 | # Code from module wcrtomb: | ||
143 | gl_FUNC_WCRTOMB | 366 | gl_FUNC_WCRTOMB |
144 | gl_WCHAR_MODULE_INDICATOR([wcrtomb]) | 367 | gl_WCHAR_MODULE_INDICATOR([wcrtomb]) |
368 | # Code from module wctype: | ||
145 | gl_WCTYPE_H | 369 | gl_WCTYPE_H |
370 | # Code from module write: | ||
146 | gl_FUNC_WRITE | 371 | gl_FUNC_WRITE |
147 | gl_UNISTD_MODULE_INDICATOR([write]) | 372 | gl_UNISTD_MODULE_INDICATOR([write]) |
373 | # Code from module xalloc: | ||
148 | gl_XALLOC | 374 | gl_XALLOC |
375 | # Code from module xalloc-die: | ||
376 | # Code from module xsize: | ||
149 | gl_XSIZE | 377 | gl_XSIZE |
378 | # Code from module xstrndup: | ||
150 | gl_XSTRNDUP | 379 | gl_XSTRNDUP |
380 | # End of code from modules | ||
151 | m4_ifval(gl_LIBSOURCES_LIST, [ | 381 | m4_ifval(gl_LIBSOURCES_LIST, [ |
152 | m4_syscmd([test ! -d ]m4_defn([gl_LIBSOURCES_DIR])[ || | 382 | m4_syscmd([test ! -d ]m4_defn([gl_LIBSOURCES_DIR])[ || |
153 | for gl_file in ]gl_LIBSOURCES_LIST[ ; do | 383 | for gl_file in ]gl_LIBSOURCES_LIST[ ; do |
@@ -170,7 +400,7 @@ AC_DEFUN([gl_INIT], | |||
170 | if test -n "$gl_LIBOBJS"; then | 400 | if test -n "$gl_LIBOBJS"; then |
171 | # Remove the extension. | 401 | # Remove the extension. |
172 | sed_drop_objext='s/\.o$//;s/\.obj$//' | 402 | sed_drop_objext='s/\.o$//;s/\.obj$//' |
173 | for i in `for i in $gl_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do | 403 | for i in `for i in $gl_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do |
174 | gl_libobjs="$gl_libobjs $i.$ac_objext" | 404 | gl_libobjs="$gl_libobjs $i.$ac_objext" |
175 | gl_ltlibobjs="$gl_ltlibobjs $i.lo" | 405 | gl_ltlibobjs="$gl_ltlibobjs $i.lo" |
176 | done | 406 | done |
@@ -187,6 +417,13 @@ AC_DEFUN([gl_INIT], | |||
187 | m4_pushdef([gltests_LIBSOURCES_DIR], []) | 417 | m4_pushdef([gltests_LIBSOURCES_DIR], []) |
188 | gl_COMMON | 418 | gl_COMMON |
189 | gl_source_base='tests' | 419 | gl_source_base='tests' |
420 | changequote(,)dnl | ||
421 | gltests_WITNESS=IN_`echo "${PACKAGE-$PACKAGE_TARNAME}" | LC_ALL=C tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | LC_ALL=C sed -e 's/[^A-Z0-9_]/_/g'`_GNULIB_TESTS | ||
422 | changequote([, ])dnl | ||
423 | AC_SUBST([gltests_WITNESS]) | ||
424 | gl_module_indicator_condition=$gltests_WITNESS | ||
425 | m4_pushdef([gl_MODULE_INDICATOR_CONDITION], [$gl_module_indicator_condition]) | ||
426 | m4_popdef([gl_MODULE_INDICATOR_CONDITION]) | ||
190 | m4_ifval(gltests_LIBSOURCES_LIST, [ | 427 | m4_ifval(gltests_LIBSOURCES_LIST, [ |
191 | m4_syscmd([test ! -d ]m4_defn([gltests_LIBSOURCES_DIR])[ || | 428 | m4_syscmd([test ! -d ]m4_defn([gltests_LIBSOURCES_DIR])[ || |
192 | for gl_file in ]gltests_LIBSOURCES_LIST[ ; do | 429 | for gl_file in ]gltests_LIBSOURCES_LIST[ ; do |
@@ -209,7 +446,7 @@ AC_DEFUN([gl_INIT], | |||
209 | if test -n "$gltests_LIBOBJS"; then | 446 | if test -n "$gltests_LIBOBJS"; then |
210 | # Remove the extension. | 447 | # Remove the extension. |
211 | sed_drop_objext='s/\.o$//;s/\.obj$//' | 448 | sed_drop_objext='s/\.o$//;s/\.obj$//' |
212 | for i in `for i in $gltests_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do | 449 | for i in `for i in $gltests_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do |
213 | gltests_libobjs="$gltests_libobjs $i.$ac_objext" | 450 | gltests_libobjs="$gltests_libobjs $i.$ac_objext" |
214 | gltests_ltlibobjs="$gltests_ltlibobjs $i.lo" | 451 | gltests_ltlibobjs="$gltests_ltlibobjs $i.lo" |
215 | done | 452 | done |
@@ -280,8 +517,10 @@ AC_DEFUN([gltests_LIBSOURCES], [ | |||
280 | # This macro records the list of files which have been installed by | 517 | # This macro records the list of files which have been installed by |
281 | # gnulib-tool and may be removed by future gnulib-tool invocations. | 518 | # gnulib-tool and may be removed by future gnulib-tool invocations. |
282 | AC_DEFUN([gl_FILE_LIST], [ | 519 | AC_DEFUN([gl_FILE_LIST], [ |
520 | build-aux/arg-nonnull.h | ||
521 | build-aux/c++defs.h | ||
283 | build-aux/config.rpath | 522 | build-aux/config.rpath |
284 | build-aux/link-warning.h | 523 | build-aux/warn-on-use.h |
285 | lib/alignof.h | 524 | lib/alignof.h |
286 | lib/alloca.c | 525 | lib/alloca.c |
287 | lib/alloca.in.h | 526 | lib/alloca.in.h |
@@ -290,17 +529,22 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
290 | lib/asprintf.c | 529 | lib/asprintf.c |
291 | lib/base64.c | 530 | lib/base64.c |
292 | lib/base64.h | 531 | lib/base64.h |
532 | lib/basename-lgpl.c | ||
293 | lib/basename.c | 533 | lib/basename.c |
294 | lib/btowc.c | 534 | lib/btowc.c |
295 | lib/c-strtod.c | 535 | lib/c-strtod.c |
296 | lib/c-strtod.h | 536 | lib/c-strtod.h |
297 | lib/cloexec.c | 537 | lib/cloexec.c |
298 | lib/cloexec.h | 538 | lib/cloexec.h |
539 | lib/close-hook.c | ||
540 | lib/close-hook.h | ||
299 | lib/config.charset | 541 | lib/config.charset |
300 | lib/creat-safer.c | 542 | lib/creat-safer.c |
543 | lib/dirname-lgpl.c | ||
301 | lib/dirname.c | 544 | lib/dirname.c |
302 | lib/dirname.h | 545 | lib/dirname.h |
303 | lib/dup-safer.c | 546 | lib/dup-safer.c |
547 | lib/dup2.c | ||
304 | lib/errno.in.h | 548 | lib/errno.in.h |
305 | lib/error.c | 549 | lib/error.c |
306 | lib/error.h | 550 | lib/error.h |
@@ -308,6 +552,7 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
308 | lib/exitfail.h | 552 | lib/exitfail.h |
309 | lib/fcntl--.h | 553 | lib/fcntl--.h |
310 | lib/fcntl-safer.h | 554 | lib/fcntl-safer.h |
555 | lib/fcntl.c | ||
311 | lib/fcntl.in.h | 556 | lib/fcntl.in.h |
312 | lib/fd-safer.c | 557 | lib/fd-safer.c |
313 | lib/float+.h | 558 | lib/float+.h |
@@ -322,6 +567,7 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
322 | lib/full-write.h | 567 | lib/full-write.h |
323 | lib/gai_strerror.c | 568 | lib/gai_strerror.c |
324 | lib/getaddrinfo.c | 569 | lib/getaddrinfo.c |
570 | lib/getdtablesize.c | ||
325 | lib/gethostname.c | 571 | lib/gethostname.c |
326 | lib/getloadavg.c | 572 | lib/getloadavg.c |
327 | lib/getopt.c | 573 | lib/getopt.c |
@@ -331,17 +577,23 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
331 | lib/gettext.h | 577 | lib/gettext.h |
332 | lib/inet_ntop.c | 578 | lib/inet_ntop.c |
333 | lib/intprops.h | 579 | lib/intprops.h |
580 | lib/langinfo.in.h | ||
334 | lib/localcharset.c | 581 | lib/localcharset.c |
335 | lib/localcharset.h | 582 | lib/localcharset.h |
583 | lib/locale.in.h | ||
336 | lib/malloc.c | 584 | lib/malloc.c |
337 | lib/math.in.h | 585 | lib/math.in.h |
338 | lib/mbrtowc.c | 586 | lib/mbrtowc.c |
339 | lib/mbsinit.c | 587 | lib/mbsinit.c |
588 | lib/memchr.c | ||
589 | lib/memchr.valgrind | ||
590 | lib/mktime-internal.h | ||
340 | lib/mktime.c | 591 | lib/mktime.c |
341 | lib/mountlist.c | 592 | lib/mountlist.c |
342 | lib/mountlist.h | 593 | lib/mountlist.h |
343 | lib/netdb.in.h | 594 | lib/netdb.in.h |
344 | lib/netinet_in.in.h | 595 | lib/netinet_in.in.h |
596 | lib/nl_langinfo.c | ||
345 | lib/open-safer.c | 597 | lib/open-safer.c |
346 | lib/open.c | 598 | lib/open.c |
347 | lib/pipe-safer.c | 599 | lib/pipe-safer.c |
@@ -363,11 +615,16 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
363 | lib/safe-write.h | 615 | lib/safe-write.h |
364 | lib/size_max.h | 616 | lib/size_max.h |
365 | lib/snprintf.c | 617 | lib/snprintf.c |
618 | lib/sockets.c | ||
619 | lib/sockets.h | ||
620 | lib/stat.c | ||
366 | lib/stdbool.in.h | 621 | lib/stdbool.in.h |
622 | lib/stddef.in.h | ||
367 | lib/stdint.in.h | 623 | lib/stdint.in.h |
368 | lib/stdio-write.c | 624 | lib/stdio-write.c |
369 | lib/stdio.in.h | 625 | lib/stdio.in.h |
370 | lib/stdlib.in.h | 626 | lib/stdlib.in.h |
627 | lib/str-two-way.h | ||
371 | lib/strdup.c | 628 | lib/strdup.c |
372 | lib/streq.h | 629 | lib/streq.h |
373 | lib/strerror.c | 630 | lib/strerror.c |
@@ -375,7 +632,9 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
375 | lib/stripslash.c | 632 | lib/stripslash.c |
376 | lib/strndup.c | 633 | lib/strndup.c |
377 | lib/strnlen.c | 634 | lib/strnlen.c |
635 | lib/strstr.c | ||
378 | lib/sys_socket.in.h | 636 | lib/sys_socket.in.h |
637 | lib/sys_stat.in.h | ||
379 | lib/time.in.h | 638 | lib/time.in.h |
380 | lib/time_r.c | 639 | lib/time_r.c |
381 | lib/timegm.c | 640 | lib/timegm.c |
@@ -387,6 +646,7 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
387 | lib/vasprintf.c | 646 | lib/vasprintf.c |
388 | lib/verify.h | 647 | lib/verify.h |
389 | lib/vsnprintf.c | 648 | lib/vsnprintf.c |
649 | lib/w32sock.h | ||
390 | lib/wchar.in.h | 650 | lib/wchar.in.h |
391 | lib/wcrtomb.c | 651 | lib/wcrtomb.c |
392 | lib/wctype.in.h | 652 | lib/wctype.in.h |
@@ -408,17 +668,20 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
408 | m4/dirname.m4 | 668 | m4/dirname.m4 |
409 | m4/dos.m4 | 669 | m4/dos.m4 |
410 | m4/double-slash-root.m4 | 670 | m4/double-slash-root.m4 |
671 | m4/dup2.m4 | ||
411 | m4/errno_h.m4 | 672 | m4/errno_h.m4 |
412 | m4/error.m4 | 673 | m4/error.m4 |
413 | m4/exitfail.m4 | ||
414 | m4/extensions.m4 | 674 | m4/extensions.m4 |
675 | m4/fcntl-o.m4 | ||
415 | m4/fcntl-safer.m4 | 676 | m4/fcntl-safer.m4 |
677 | m4/fcntl.m4 | ||
416 | m4/fcntl_h.m4 | 678 | m4/fcntl_h.m4 |
417 | m4/float_h.m4 | 679 | m4/float_h.m4 |
418 | m4/floorf.m4 | 680 | m4/floorf.m4 |
419 | m4/fstypename.m4 | 681 | m4/fstypename.m4 |
420 | m4/fsusage.m4 | 682 | m4/fsusage.m4 |
421 | m4/getaddrinfo.m4 | 683 | m4/getaddrinfo.m4 |
684 | m4/getdtablesize.m4 | ||
422 | m4/gethostname.m4 | 685 | m4/gethostname.m4 |
423 | m4/getloadavg.m4 | 686 | m4/getloadavg.m4 |
424 | m4/getopt.m4 | 687 | m4/getopt.m4 |
@@ -439,6 +702,7 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
439 | m4/intmax_t.m4 | 702 | m4/intmax_t.m4 |
440 | m4/inttypes-pri.m4 | 703 | m4/inttypes-pri.m4 |
441 | m4/inttypes_h.m4 | 704 | m4/inttypes_h.m4 |
705 | m4/langinfo_h.m4 | ||
442 | m4/lcmessage.m4 | 706 | m4/lcmessage.m4 |
443 | m4/lib-ld.m4 | 707 | m4/lib-ld.m4 |
444 | m4/lib-link.m4 | 708 | m4/lib-link.m4 |
@@ -447,6 +711,7 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
447 | m4/locale-fr.m4 | 711 | m4/locale-fr.m4 |
448 | m4/locale-ja.m4 | 712 | m4/locale-ja.m4 |
449 | m4/locale-zh.m4 | 713 | m4/locale-zh.m4 |
714 | m4/locale_h.m4 | ||
450 | m4/lock.m4 | 715 | m4/lock.m4 |
451 | m4/longlong.m4 | 716 | m4/longlong.m4 |
452 | m4/ls-mntd-fs.m4 | 717 | m4/ls-mntd-fs.m4 |
@@ -455,11 +720,15 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
455 | m4/mbrtowc.m4 | 720 | m4/mbrtowc.m4 |
456 | m4/mbsinit.m4 | 721 | m4/mbsinit.m4 |
457 | m4/mbstate_t.m4 | 722 | m4/mbstate_t.m4 |
723 | m4/memchr.m4 | ||
458 | m4/mktime.m4 | 724 | m4/mktime.m4 |
725 | m4/mmap-anon.m4 | ||
726 | m4/mode_t.m4 | ||
459 | m4/mountlist.m4 | 727 | m4/mountlist.m4 |
460 | m4/multiarch.m4 | 728 | m4/multiarch.m4 |
461 | m4/netdb_h.m4 | 729 | m4/netdb_h.m4 |
462 | m4/netinet_in_h.m4 | 730 | m4/netinet_in_h.m4 |
731 | m4/nl_langinfo.m4 | ||
463 | m4/nls.m4 | 732 | m4/nls.m4 |
464 | m4/onceonly.m4 | 733 | m4/onceonly.m4 |
465 | m4/open.m4 | 734 | m4/open.m4 |
@@ -473,10 +742,13 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
473 | m4/servent.m4 | 742 | m4/servent.m4 |
474 | m4/size_max.m4 | 743 | m4/size_max.m4 |
475 | m4/snprintf.m4 | 744 | m4/snprintf.m4 |
745 | m4/sockets.m4 | ||
476 | m4/socklen.m4 | 746 | m4/socklen.m4 |
477 | m4/sockpfaf.m4 | 747 | m4/sockpfaf.m4 |
478 | m4/ssize_t.m4 | 748 | m4/ssize_t.m4 |
749 | m4/stat.m4 | ||
479 | m4/stdbool.m4 | 750 | m4/stdbool.m4 |
751 | m4/stddef_h.m4 | ||
480 | m4/stdint.m4 | 752 | m4/stdint.m4 |
481 | m4/stdint_h.m4 | 753 | m4/stdint_h.m4 |
482 | m4/stdio_h.m4 | 754 | m4/stdio_h.m4 |
@@ -486,7 +758,9 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
486 | m4/string_h.m4 | 758 | m4/string_h.m4 |
487 | m4/strndup.m4 | 759 | m4/strndup.m4 |
488 | m4/strnlen.m4 | 760 | m4/strnlen.m4 |
761 | m4/strstr.m4 | ||
489 | m4/sys_socket_h.m4 | 762 | m4/sys_socket_h.m4 |
763 | m4/sys_stat_h.m4 | ||
490 | m4/threadlib.m4 | 764 | m4/threadlib.m4 |
491 | m4/time_h.m4 | 765 | m4/time_h.m4 |
492 | m4/time_r.m4 | 766 | m4/time_r.m4 |
@@ -498,10 +772,11 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
498 | m4/vasprintf.m4 | 772 | m4/vasprintf.m4 |
499 | m4/visibility.m4 | 773 | m4/visibility.m4 |
500 | m4/vsnprintf.m4 | 774 | m4/vsnprintf.m4 |
501 | m4/wchar.m4 | 775 | m4/warn-on-use.m4 |
776 | m4/wchar_h.m4 | ||
502 | m4/wchar_t.m4 | 777 | m4/wchar_t.m4 |
503 | m4/wcrtomb.m4 | 778 | m4/wcrtomb.m4 |
504 | m4/wctype.m4 | 779 | m4/wctype_h.m4 |
505 | m4/wint_t.m4 | 780 | m4/wint_t.m4 |
506 | m4/write.m4 | 781 | m4/write.m4 |
507 | m4/xalloc.m4 | 782 | m4/xalloc.m4 |
diff --git a/gl/m4/gnulib-tool.m4 b/gl/m4/gnulib-tool.m4 index 4438d488..69e7733b 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 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2004-2005, 2009-2010 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 4a96af7a..11110411 100644 --- a/gl/m4/hostent.m4 +++ b/gl/m4/hostent.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # hostent.m4 serial 1 | 1 | # hostent.m4 serial 1 |
2 | dnl Copyright (C) 2008 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2008, 2009, 2010 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/iconv.m4 b/gl/m4/iconv.m4 index 3cc62682..f46ff142 100644 --- a/gl/m4/iconv.m4 +++ b/gl/m4/iconv.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # iconv.m4 serial AM7 (gettext-0.18) | 1 | # iconv.m4 serial 9 (gettext-0.18) |
2 | dnl Copyright (C) 2000-2002, 2007-2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2000-2002, 2007-2010 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. |
@@ -58,7 +58,7 @@ AC_DEFUN([AM_ICONV_LINK], | |||
58 | ]) | 58 | ]) |
59 | if test "$am_cv_func_iconv" = yes; then | 59 | if test "$am_cv_func_iconv" = yes; then |
60 | AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [ | 60 | AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [ |
61 | dnl This tests against bugs in AIX 5.1 and HP-UX 11.11. | 61 | dnl This tests against bugs in AIX 5.1, HP-UX 11.11, Solaris 10. |
62 | am_save_LIBS="$LIBS" | 62 | am_save_LIBS="$LIBS" |
63 | if test $am_cv_lib_iconv = yes; then | 63 | if test $am_cv_lib_iconv = yes; then |
64 | LIBS="$LIBS $LIBICONV" | 64 | LIBS="$LIBS $LIBICONV" |
@@ -87,6 +87,25 @@ int main () | |||
87 | return 1; | 87 | return 1; |
88 | } | 88 | } |
89 | } | 89 | } |
90 | /* Test against Solaris 10 bug: Failures are not distinguishable from | ||
91 | successful returns. */ | ||
92 | { | ||
93 | iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); | ||
94 | if (cd_ascii_to_88591 != (iconv_t)(-1)) | ||
95 | { | ||
96 | static const char input[] = "\263"; | ||
97 | char buf[10]; | ||
98 | const char *inptr = input; | ||
99 | size_t inbytesleft = strlen (input); | ||
100 | char *outptr = buf; | ||
101 | size_t outbytesleft = sizeof (buf); | ||
102 | size_t res = iconv (cd_ascii_to_88591, | ||
103 | (char **) &inptr, &inbytesleft, | ||
104 | &outptr, &outbytesleft); | ||
105 | if (res == 0) | ||
106 | return 1; | ||
107 | } | ||
108 | } | ||
90 | #if 0 /* This bug could be worked around by the caller. */ | 109 | #if 0 /* This bug could be worked around by the caller. */ |
91 | /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ | 110 | /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ |
92 | { | 111 | { |
@@ -172,8 +191,8 @@ size_t iconv(); | |||
172 | ], [], [am_cv_proto_iconv_arg1=""], [am_cv_proto_iconv_arg1="const"]) | 191 | ], [], [am_cv_proto_iconv_arg1=""], [am_cv_proto_iconv_arg1="const"]) |
173 | am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) | 192 | am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) |
174 | am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` | 193 | am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` |
175 | AC_MSG_RESULT([${ac_t:- | 194 | AC_MSG_RESULT([ |
176 | }$am_cv_proto_iconv]) | 195 | $am_cv_proto_iconv]) |
177 | AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1], | 196 | AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1], |
178 | [Define as const if the declaration of iconv() needs const.]) | 197 | [Define as const if the declaration of iconv() needs const.]) |
179 | fi | 198 | fi |
diff --git a/gl/m4/include_next.m4 b/gl/m4/include_next.m4 index d6101fe3..c7e0672f 100644 --- a/gl/m4/include_next.m4 +++ b/gl/m4/include_next.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # include_next.m4 serial 12 | 1 | # include_next.m4 serial 14 |
2 | dnl Copyright (C) 2006-2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2006-2010 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. |
@@ -104,10 +104,16 @@ EOF | |||
104 | # For each arg foo.h, if #include_next works, define NEXT_FOO_H to be | 104 | # For each arg foo.h, if #include_next works, define NEXT_FOO_H to be |
105 | # '<foo.h>'; otherwise define it to be | 105 | # '<foo.h>'; otherwise define it to be |
106 | # '"///usr/include/foo.h"', or whatever other absolute file name is suitable. | 106 | # '"///usr/include/foo.h"', or whatever other absolute file name is suitable. |
107 | # Also, if #include_next works as first preprocessing directive in a file, | ||
108 | # define NEXT_AS_FIRST_DIRECTIVE_FOO_H to be '<foo.h>'; otherwise define it to | ||
109 | # be | ||
110 | # '"///usr/include/foo.h"', or whatever other absolute file name is suitable. | ||
107 | # That way, a header file with the following line: | 111 | # That way, a header file with the following line: |
108 | # #@INCLUDE_NEXT@ @NEXT_FOO_H@ | 112 | # #@INCLUDE_NEXT@ @NEXT_FOO_H@ |
113 | # or | ||
114 | # #@INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ @NEXT_AS_FIRST_DIRECTIVE_FOO_H@ | ||
109 | # behaves (after sed substitution) as if it contained | 115 | # behaves (after sed substitution) as if it contained |
110 | # #include_next <foo.h> | 116 | # #include_next <foo.h> |
111 | # even if the compiler does not support include_next. | 117 | # even if the compiler does not support include_next. |
112 | # The three "///" are to pacify Sun C 5.8, which otherwise would say | 118 | # The three "///" are to pacify Sun C 5.8, which otherwise would say |
113 | # "warning: #include of /usr/include/... may be non-portable". | 119 | # "warning: #include of /usr/include/... may be non-portable". |
@@ -123,49 +129,59 @@ AC_DEFUN([gl_CHECK_NEXT_HEADERS], | |||
123 | 129 | ||
124 | m4_foreach_w([gl_HEADER_NAME], [$1], | 130 | m4_foreach_w([gl_HEADER_NAME], [$1], |
125 | [AS_VAR_PUSHDEF([gl_next_header], | 131 | [AS_VAR_PUSHDEF([gl_next_header], |
126 | [gl_cv_next_]m4_quote(m4_defn([gl_HEADER_NAME]))) | 132 | [gl_cv_next_]m4_defn([gl_HEADER_NAME])) |
127 | if test $gl_cv_have_include_next = yes; then | 133 | if test $gl_cv_have_include_next = yes; then |
128 | AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>']) | 134 | AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>']) |
129 | else | 135 | else |
130 | AC_CACHE_CHECK( | 136 | AC_CACHE_CHECK( |
131 | [absolute name of <]m4_quote(m4_defn([gl_HEADER_NAME]))[>], | 137 | [absolute name of <]m4_defn([gl_HEADER_NAME])[>], |
132 | m4_quote(m4_defn([gl_next_header])), | 138 | m4_defn([gl_next_header]), |
133 | [AS_VAR_PUSHDEF([gl_header_exists], | 139 | [AS_VAR_PUSHDEF([gl_header_exists], |
134 | [ac_cv_header_]m4_quote(m4_defn([gl_HEADER_NAME]))) | 140 | [ac_cv_header_]m4_defn([gl_HEADER_NAME])) |
135 | if test AS_VAR_GET(gl_header_exists) = yes; then | 141 | if test AS_VAR_GET(gl_header_exists) = yes; then |
136 | AC_LANG_CONFTEST( | 142 | AC_LANG_CONFTEST( |
137 | [AC_LANG_SOURCE( | 143 | [AC_LANG_SOURCE( |
138 | [[#include <]]m4_dquote(m4_defn([gl_HEADER_NAME]))[[>]] | 144 | [[#include <]]m4_dquote(m4_defn([gl_HEADER_NAME]))[[>]] |
139 | )]) | 145 | )]) |
140 | dnl AIX "xlc -E" and "cc -E" omit #line directives for header files | 146 | dnl AIX "xlc -E" and "cc -E" omit #line directives for header files |
141 | dnl that contain only a #include of other header files and no | 147 | dnl that contain only a #include of other header files and no |
142 | dnl non-comment tokens of their own. This leads to a failure to | 148 | dnl non-comment tokens of their own. This leads to a failure to |
143 | dnl detect the absolute name of <dirent.h>, <signal.h>, <poll.h> | 149 | dnl detect the absolute name of <dirent.h>, <signal.h>, <poll.h> |
144 | dnl and others. The workaround is to force preservation of comments | 150 | dnl and others. The workaround is to force preservation of comments |
145 | dnl through option -C. This ensures all necessary #line directives | 151 | dnl through option -C. This ensures all necessary #line directives |
146 | dnl are present. GCC supports option -C as well. | 152 | dnl are present. GCC supports option -C as well. |
147 | case "$host_os" in | 153 | case "$host_os" in |
148 | aix*) gl_absname_cpp="$ac_cpp -C" ;; | 154 | aix*) gl_absname_cpp="$ac_cpp -C" ;; |
149 | *) gl_absname_cpp="$ac_cpp" ;; | 155 | *) gl_absname_cpp="$ac_cpp" ;; |
150 | esac | 156 | esac |
151 | dnl eval is necessary to expand gl_absname_cpp. | 157 | dnl eval is necessary to expand gl_absname_cpp. |
152 | dnl Ultrix and Pyramid sh refuse to redirect output of eval, | 158 | dnl Ultrix and Pyramid sh refuse to redirect output of eval, |
153 | dnl so use subshell. | 159 | dnl so use subshell. |
154 | AS_VAR_SET([gl_next_header], | 160 | AS_VAR_SET([gl_next_header], |
155 | ['"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | | 161 | ['"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | |
156 | sed -n '\#/]m4_quote(m4_defn([gl_HEADER_NAME]))[#{ | 162 | sed -n '\#/]m4_defn([gl_HEADER_NAME])[#{ |
157 | s#.*"\(.*/]m4_quote(m4_defn([gl_HEADER_NAME]))[\)".*#\1# | 163 | s#.*"\(.*/]m4_defn([gl_HEADER_NAME])[\)".*#\1# |
158 | s#^/[^/]#//&# | 164 | s#^/[^/]#//&# |
159 | p | 165 | p |
160 | q | 166 | q |
161 | }'`'"']) | 167 | }'`'"']) |
162 | else | 168 | else |
163 | AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>']) | 169 | AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>']) |
164 | fi | 170 | fi |
165 | AS_VAR_POPDEF([gl_header_exists])]) | 171 | AS_VAR_POPDEF([gl_header_exists])]) |
166 | fi | 172 | fi |
167 | AC_SUBST( | 173 | AC_SUBST( |
168 | AS_TR_CPP([NEXT_]m4_quote(m4_defn([gl_HEADER_NAME]))), | 174 | AS_TR_CPP([NEXT_]m4_defn([gl_HEADER_NAME])), |
169 | [AS_VAR_GET([gl_next_header])]) | 175 | [AS_VAR_GET([gl_next_header])]) |
176 | if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then | ||
177 | # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' | ||
178 | gl_next_as_first_directive='<'gl_HEADER_NAME'>' | ||
179 | else | ||
180 | # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' | ||
181 | gl_next_as_first_directive=AS_VAR_GET([gl_next_header]) | ||
182 | fi | ||
183 | AC_SUBST( | ||
184 | AS_TR_CPP([NEXT_AS_FIRST_DIRECTIVE_]m4_defn([gl_HEADER_NAME])), | ||
185 | [$gl_next_as_first_directive]) | ||
170 | AS_VAR_POPDEF([gl_next_header])]) | 186 | AS_VAR_POPDEF([gl_next_header])]) |
171 | ]) | 187 | ]) |
diff --git a/gl/m4/inet_ntop.m4 b/gl/m4/inet_ntop.m4 index 2bbdca10..a6d219c2 100644 --- a/gl/m4/inet_ntop.m4 +++ b/gl/m4/inet_ntop.m4 | |||
@@ -1,27 +1,28 @@ | |||
1 | # inet_ntop.m4 serial 9 | 1 | # inet_ntop.m4 serial 12 |
2 | dnl Copyright (C) 2005, 2006, 2008, 2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2005, 2006, 2008, 2009, 2010 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
6 | 6 | ||
7 | AC_DEFUN([gl_INET_NTOP], | 7 | AC_DEFUN([gl_FUNC_INET_NTOP], |
8 | [ | 8 | [ |
9 | dnl Persuade Solaris <arpa/inet.h> to declare inet_ntop. | 9 | dnl Persuade Solaris <arpa/inet.h> to declare inet_ntop. |
10 | AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) | 10 | AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) |
11 | 11 | ||
12 | gl_REPLACE_ARPA_INET_H | 12 | gl_REPLACE_ARPA_INET_H |
13 | 13 | ||
14 | dnl The AC_SEARCH_LIBS call is a hack to persuade the Solaris 8 linker to | 14 | dnl Most platforms that provide inet_ntop define it in libc. |
15 | dnl find inet_ntop. | 15 | dnl Solaris 8..10 provide inet_ntop in libnsl instead. |
16 | dnl | ||
17 | dnl It is the responsibility of gl_INET_NTOP's caller to arrange for | ||
18 | dnl -lnsl if it is needed. Normally -lnsl is not needed on Solaris 8, | ||
19 | dnl since inet_ntop is needed only by getaddrinfo, and getaddrinfo | ||
20 | dnl isn't built on Solaris 8. | ||
21 | gl_save_LIBS=$LIBS | 16 | gl_save_LIBS=$LIBS |
22 | AC_SEARCH_LIBS([inet_ntop], [nsl], [], | 17 | AC_SEARCH_LIBS([inet_ntop], [nsl], [], |
23 | [AC_REPLACE_FUNCS([inet_ntop])]) | 18 | [AC_REPLACE_FUNCS([inet_ntop])]) |
24 | LIBS=$gl_save_LIBS | 19 | LIBS=$gl_save_LIBS |
20 | INET_NTOP_LIB= | ||
21 | if test "$ac_cv_search_inet_ntop" != "no" && | ||
22 | test "$ac_cv_search_inet_ntop" != "none required"; then | ||
23 | INET_NTOP_LIB="$ac_cv_search_inet_ntop" | ||
24 | fi | ||
25 | AC_SUBST([INET_NTOP_LIB]) | ||
25 | 26 | ||
26 | gl_PREREQ_INET_NTOP | 27 | gl_PREREQ_INET_NTOP |
27 | ]) | 28 | ]) |
diff --git a/gl/m4/inline.m4 b/gl/m4/inline.m4 index cee51099..4ef768de 100644 --- a/gl/m4/inline.m4 +++ b/gl/m4/inline.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # inline.m4 serial 4 | 1 | # inline.m4 serial 4 |
2 | dnl Copyright (C) 2006, 2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2006, 2009, 2010 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/intdiv0.m4 b/gl/m4/intdiv0.m4 index 29e6e0aa..289c4df5 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 3 (gettext-0.18) |
2 | dnl Copyright (C) 2002, 2007-2008 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002, 2007-2010 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/intl.m4 b/gl/m4/intl.m4 index 934408bb..5e17fea9 100644 --- a/gl/m4/intl.m4 +++ b/gl/m4/intl.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # intl.m4 serial 8 (gettext-0.17) | 1 | # intl.m4 serial 8 (gettext-0.17) |
2 | dnl Copyright (C) 1995-2007 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1995-2007, 2009-2010 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/intldir.m4 b/gl/m4/intldir.m4 index 0980e6f2..ebae76d3 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 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2006, 2009-2010 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 c24837c4..dd910259 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 3 (gettext-0.18) |
2 | dnl Copyright (C) 2004-2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2004-2010 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/intmax.m4 b/gl/m4/intmax.m4 index a3785e99..74aaaf5e 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 5 (gettext-0.18) |
2 | dnl Copyright (C) 2002-2005, 2008, 2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2005, 2008-2010 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/intmax_t.m4 b/gl/m4/intmax_t.m4 index 264cb571..975caac5 100644 --- a/gl/m4/intmax_t.m4 +++ b/gl/m4/intmax_t.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # intmax_t.m4 serial 7 | 1 | # intmax_t.m4 serial 7 |
2 | dnl Copyright (C) 1997-2004, 2006-2007, 2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1997-2004, 2006-2007, 2009-2010 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. |
diff --git a/gl/m4/inttypes-pri.m4 b/gl/m4/inttypes-pri.m4 index 98fec7bc..718a4f4e 100644 --- a/gl/m4/inttypes-pri.m4 +++ b/gl/m4/inttypes-pri.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # inttypes-pri.m4 serial 6 (gettext-0.18) | 1 | # inttypes-pri.m4 serial 6 (gettext-0.18) |
2 | dnl Copyright (C) 1997-2002, 2006, 2008, 2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1997-2002, 2006, 2008-2010 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/inttypes_h.m4 b/gl/m4/inttypes_h.m4 index f4ca1602..782d77ed 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 9 |
2 | dnl Copyright (C) 1997-2004, 2006, 2008, 2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1997-2004, 2006, 2008-2010 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/langinfo_h.m4 b/gl/m4/langinfo_h.m4 new file mode 100644 index 00000000..11a56980 --- /dev/null +++ b/gl/m4/langinfo_h.m4 | |||
@@ -0,0 +1,77 @@ | |||
1 | # langinfo_h.m4 serial 6 | ||
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 | AC_DEFUN([gl_LANGINFO_H], | ||
8 | [ | ||
9 | AC_REQUIRE([gl_LANGINFO_H_DEFAULTS]) | ||
10 | |||
11 | dnl Persuade glibc-2.0.6 <langinfo.h> to define CODESET. | ||
12 | AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) | ||
13 | |||
14 | dnl <langinfo.h> is always overridden, because of GNULIB_POSIXCHECK. | ||
15 | gl_CHECK_NEXT_HEADERS([langinfo.h]) | ||
16 | |||
17 | dnl Determine whether <langinfo.h> exists. It is missing on mingw and BeOS. | ||
18 | HAVE_LANGINFO_CODESET=0 | ||
19 | HAVE_LANGINFO_ERA=0 | ||
20 | AC_CHECK_HEADERS_ONCE([langinfo.h]) | ||
21 | if test $ac_cv_header_langinfo_h = yes; then | ||
22 | HAVE_LANGINFO_H=1 | ||
23 | dnl Determine what <langinfo.h> defines. CODESET and ERA etc. are missing | ||
24 | dnl on OpenBSD 3.8. | ||
25 | AC_CACHE_CHECK([whether langinfo.h defines CODESET], | ||
26 | [gl_cv_header_langinfo_codeset], | ||
27 | [AC_COMPILE_IFELSE( | ||
28 | [AC_LANG_PROGRAM([[#include <langinfo.h> | ||
29 | int a = CODESET; | ||
30 | ]])], | ||
31 | [gl_cv_header_langinfo_codeset=yes], | ||
32 | [gl_cv_header_langinfo_codeset=no]) | ||
33 | ]) | ||
34 | if test $gl_cv_header_langinfo_codeset = yes; then | ||
35 | HAVE_LANGINFO_CODESET=1 | ||
36 | fi | ||
37 | AC_CACHE_CHECK([whether langinfo.h defines ERA], | ||
38 | [gl_cv_header_langinfo_era], | ||
39 | [AC_COMPILE_IFELSE( | ||
40 | [AC_LANG_PROGRAM([[#include <langinfo.h> | ||
41 | int a = ERA; | ||
42 | ]])], | ||
43 | [gl_cv_header_langinfo_era=yes], | ||
44 | [gl_cv_header_langinfo_era=no]) | ||
45 | ]) | ||
46 | if test $gl_cv_header_langinfo_era = yes; then | ||
47 | HAVE_LANGINFO_ERA=1 | ||
48 | fi | ||
49 | else | ||
50 | HAVE_LANGINFO_H=0 | ||
51 | fi | ||
52 | AC_SUBST([HAVE_LANGINFO_H]) | ||
53 | AC_SUBST([HAVE_LANGINFO_CODESET]) | ||
54 | AC_SUBST([HAVE_LANGINFO_ERA]) | ||
55 | |||
56 | dnl Check for declarations of anything we want to poison if the | ||
57 | dnl corresponding gnulib module is not in use. | ||
58 | gl_WARN_ON_USE_PREPARE([[#include <langinfo.h> | ||
59 | ]], [nl_langinfo]) | ||
60 | ]) | ||
61 | |||
62 | AC_DEFUN([gl_LANGINFO_MODULE_INDICATOR], | ||
63 | [ | ||
64 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. | ||
65 | AC_REQUIRE([gl_LANGINFO_H_DEFAULTS]) | ||
66 | gl_MODULE_INDICATOR_SET_VARIABLE([$1]) | ||
67 | dnl Define it also as a C macro, for the benefit of the unit tests. | ||
68 | gl_MODULE_INDICATOR_FOR_TESTS([$1]) | ||
69 | ]) | ||
70 | |||
71 | AC_DEFUN([gl_LANGINFO_H_DEFAULTS], | ||
72 | [ | ||
73 | GNULIB_NL_LANGINFO=0; AC_SUBST([GNULIB_NL_LANGINFO]) | ||
74 | dnl Assume proper GNU behavior unless another module says otherwise. | ||
75 | HAVE_NL_LANGINFO=1; AC_SUBST([HAVE_NL_LANGINFO]) | ||
76 | REPLACE_NL_LANGINFO=0; AC_SUBST([REPLACE_NL_LANGINFO]) | ||
77 | ]) | ||
diff --git a/gl/m4/lcmessage.m4 b/gl/m4/lcmessage.m4 index fa8e4167..1a705431 100644 --- a/gl/m4/lcmessage.m4 +++ b/gl/m4/lcmessage.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # lcmessage.m4 serial 6 (gettext-0.18) | 1 | # lcmessage.m4 serial 6 (gettext-0.18) |
2 | dnl Copyright (C) 1995-2002, 2004-2005, 2008, 2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1995-2002, 2004-2005, 2008-2010 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. |
diff --git a/gl/m4/lib-ld.m4 b/gl/m4/lib-ld.m4 index e4863f2c..ebb30528 100644 --- a/gl/m4/lib-ld.m4 +++ b/gl/m4/lib-ld.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # lib-ld.m4 serial 4 (gettext-0.18) | 1 | # lib-ld.m4 serial 4 (gettext-0.18) |
2 | dnl Copyright (C) 1996-2003, 2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1996-2003, 2009-2010 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,7 +59,7 @@ if test "$GCC" = yes; then | |||
59 | # Canonicalize the path of ld | 59 | # Canonicalize the path of ld |
60 | ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` | 60 | ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` |
61 | while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do | 61 | while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do |
62 | ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` | 62 | ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` |
63 | done | 63 | done |
64 | test -z "$LD" && LD="$ac_prog" | 64 | test -z "$LD" && LD="$ac_prog" |
65 | ;; | 65 | ;; |
@@ -89,9 +89,9 @@ AC_CACHE_VAL([acl_cv_path_LD], | |||
89 | # Break only if it was the GNU/non-GNU ld that we prefer. | 89 | # 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 | 90 | case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in |
91 | *GNU* | *'with BFD'*) | 91 | *GNU* | *'with BFD'*) |
92 | test "$with_gnu_ld" != no && break ;; | 92 | test "$with_gnu_ld" != no && break ;; |
93 | *) | 93 | *) |
94 | test "$with_gnu_ld" != yes && break ;; | 94 | test "$with_gnu_ld" != yes && break ;; |
95 | esac | 95 | esac |
96 | fi | 96 | fi |
97 | done | 97 | done |
diff --git a/gl/m4/lib-link.m4 b/gl/m4/lib-link.m4 index 21442033..90e1ac91 100644 --- a/gl/m4/lib-link.m4 +++ b/gl/m4/lib-link.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # lib-link.m4 serial 19 (gettext-0.18) | 1 | # lib-link.m4 serial 20 (gettext-0.18) |
2 | dnl Copyright (C) 2001-2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2001-2010 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. |
@@ -82,7 +82,7 @@ AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], | |||
82 | ]) | 82 | ]) |
83 | if test "$ac_cv_lib[]Name" = yes; then | 83 | if test "$ac_cv_lib[]Name" = yes; then |
84 | HAVE_LIB[]NAME=yes | 84 | HAVE_LIB[]NAME=yes |
85 | AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib[]$1 library.]) | 85 | AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.]) |
86 | AC_MSG_CHECKING([how to link with lib[]$1]) | 86 | AC_MSG_CHECKING([how to link with lib[]$1]) |
87 | AC_MSG_RESULT([$LIB[]NAME]) | 87 | AC_MSG_RESULT([$LIB[]NAME]) |
88 | else | 88 | else |
@@ -210,6 +210,9 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], | |||
210 | LTLIB[]NAME= | 210 | LTLIB[]NAME= |
211 | INC[]NAME= | 211 | INC[]NAME= |
212 | LIB[]NAME[]_PREFIX= | 212 | LIB[]NAME[]_PREFIX= |
213 | dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been | ||
214 | dnl computed. So it has to be reset here. | ||
215 | HAVE_LIB[]NAME= | ||
213 | rpathdirs= | 216 | rpathdirs= |
214 | ltrpathdirs= | 217 | ltrpathdirs= |
215 | names_already_handled= | 218 | names_already_handled= |
diff --git a/gl/m4/lib-prefix.m4 b/gl/m4/lib-prefix.m4 index 4b7ee335..1601ceae 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-2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2001-2005, 2008-2010 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 e9601041..ee2e801b 100644 --- a/gl/m4/localcharset.m4 +++ b/gl/m4/localcharset.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # localcharset.m4 serial 6 | 1 | # localcharset.m4 serial 7 |
2 | dnl Copyright (C) 2002, 2004, 2006, 2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002, 2004, 2006, 2009, 2010 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,7 @@ AC_DEFUN([gl_LOCALCHARSET], | |||
8 | [ | 8 | [ |
9 | dnl Prerequisites of lib/localcharset.c. | 9 | dnl Prerequisites of lib/localcharset.c. |
10 | AC_REQUIRE([AM_LANGINFO_CODESET]) | 10 | AC_REQUIRE([AM_LANGINFO_CODESET]) |
11 | AC_REQUIRE([gl_FCNTL_O_FLAGS]) | ||
11 | AC_CHECK_DECLS_ONCE([getc_unlocked]) | 12 | AC_CHECK_DECLS_ONCE([getc_unlocked]) |
12 | 13 | ||
13 | dnl Prerequisites of the lib/Makefile.am snippet. | 14 | dnl Prerequisites of the lib/Makefile.am snippet. |
diff --git a/gl/m4/locale-fr.m4 b/gl/m4/locale-fr.m4 index 653a5bc2..001f5390 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 11 |
2 | dnl Copyright (C) 2003, 2005-2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2003, 2005-2010 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-ja.m4 b/gl/m4/locale-ja.m4 index 93605764..0eedaf14 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 7 |
2 | dnl Copyright (C) 2003, 2005-2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2003, 2005-2010 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-zh.m4 b/gl/m4/locale-zh.m4 index 36a5f1df..777fd141 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 6 |
2 | dnl Copyright (C) 2003, 2005-2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2003, 2005-2010 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_h.m4 b/gl/m4/locale_h.m4 new file mode 100644 index 00000000..18a119b8 --- /dev/null +++ b/gl/m4/locale_h.m4 | |||
@@ -0,0 +1,92 @@ | |||
1 | # locale_h.m4 serial 10 | ||
2 | dnl Copyright (C) 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_LOCALE_H], | ||
8 | [ | ||
9 | dnl Use AC_REQUIRE here, so that the default behavior below is expanded | ||
10 | dnl once only, before all statements that occur in other macros. | ||
11 | AC_REQUIRE([gl_LOCALE_H_DEFAULTS]) | ||
12 | |||
13 | dnl Persuade glibc <locale.h> to define locale_t. | ||
14 | AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) | ||
15 | |||
16 | dnl If <stddef.h> is replaced, then <locale.h> must also be replaced. | ||
17 | AC_REQUIRE([gl_STDDEF_H]) | ||
18 | |||
19 | AC_CACHE_CHECK([whether locale.h conforms to POSIX:2001], | ||
20 | [gl_cv_header_locale_h_posix2001], | ||
21 | [AC_TRY_COMPILE([#include <locale.h> | ||
22 | int x = LC_MESSAGES;], [], | ||
23 | [gl_cv_header_locale_h_posix2001=yes], | ||
24 | [gl_cv_header_locale_h_posix2001=no])]) | ||
25 | |||
26 | dnl Check for <xlocale.h>. | ||
27 | AC_CHECK_HEADERS_ONCE([xlocale.h]) | ||
28 | if test $ac_cv_header_xlocale_h = yes; then | ||
29 | HAVE_XLOCALE_H=1 | ||
30 | 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 | ||
32 | dnl itself, we assume that <xlocale.h> will do so. | ||
33 | AC_CACHE_CHECK([whether locale.h defines locale_t], | ||
34 | [gl_cv_header_locale_has_locale_t], | ||
35 | [AC_TRY_COMPILE([#include <locale.h> | ||
36 | locale_t x;], [], | ||
37 | [gl_cv_header_locale_has_locale_t=yes], | ||
38 | [gl_cv_header_locale_has_locale_t=no]) | ||
39 | ]) | ||
40 | if test $gl_cv_header_locale_has_locale_t = yes; then | ||
41 | gl_cv_header_locale_h_needs_xlocale_h=no | ||
42 | else | ||
43 | gl_cv_header_locale_h_needs_xlocale_h=yes | ||
44 | fi | ||
45 | else | ||
46 | HAVE_XLOCALE_H=0 | ||
47 | gl_cv_header_locale_h_needs_xlocale_h=no | ||
48 | fi | ||
49 | AC_SUBST([HAVE_XLOCALE_H]) | ||
50 | |||
51 | dnl <locale.h> is always overridden, because of GNULIB_POSIXCHECK. | ||
52 | gl_CHECK_NEXT_HEADERS([locale.h]) | ||
53 | |||
54 | if test -n "$STDDEF_H" \ | ||
55 | || test $gl_cv_header_locale_h_posix2001 = no \ | ||
56 | || test $gl_cv_header_locale_h_needs_xlocale_h = yes; then | ||
57 | gl_REPLACE_LOCALE_H | ||
58 | fi | ||
59 | |||
60 | dnl Check for declarations of anything we want to poison if the | ||
61 | dnl corresponding gnulib module is not in use. | ||
62 | gl_WARN_ON_USE_PREPARE([[#include <locale.h> | ||
63 | /* Some systems provide declarations in a non-standard header. */ | ||
64 | #if HAVE_XLOCALE_H | ||
65 | # include <xlocale.h> | ||
66 | #endif | ||
67 | ]], [duplocale]) | ||
68 | ]) | ||
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 | ]) | ||
76 | |||
77 | AC_DEFUN([gl_LOCALE_MODULE_INDICATOR], | ||
78 | [ | ||
79 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. | ||
80 | AC_REQUIRE([gl_LOCALE_H_DEFAULTS]) | ||
81 | gl_MODULE_INDICATOR_SET_VARIABLE([$1]) | ||
82 | dnl Define it also as a C macro, for the benefit of the unit tests. | ||
83 | gl_MODULE_INDICATOR_FOR_TESTS([$1]) | ||
84 | ]) | ||
85 | |||
86 | AC_DEFUN([gl_LOCALE_H_DEFAULTS], | ||
87 | [ | ||
88 | GNULIB_DUPLOCALE=0; AC_SUBST([GNULIB_DUPLOCALE]) | ||
89 | dnl Assume proper GNU behavior unless another module says otherwise. | ||
90 | HAVE_DUPLOCALE=1; AC_SUBST([HAVE_DUPLOCALE]) | ||
91 | REPLACE_DUPLOCALE=0; AC_SUBST([REPLACE_DUPLOCALE]) | ||
92 | ]) | ||
diff --git a/gl/m4/lock.m4 b/gl/m4/lock.m4 index b416e31a..9da8465e 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 10 (gettext-0.18) |
2 | dnl Copyright (C) 2005-2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2005-2010 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/longlong.m4 b/gl/m4/longlong.m4 index eedc8d56..cca3c1a9 100644 --- a/gl/m4/longlong.m4 +++ b/gl/m4/longlong.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # longlong.m4 serial 14 | 1 | # longlong.m4 serial 14 |
2 | dnl Copyright (C) 1999-2007, 2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1999-2007, 2009-2010 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,30 +20,30 @@ AC_DEFUN([AC_TYPE_LONG_LONG_INT], | |||
20 | [AC_LINK_IFELSE( | 20 | [AC_LINK_IFELSE( |
21 | [_AC_TYPE_LONG_LONG_SNIPPET], | 21 | [_AC_TYPE_LONG_LONG_SNIPPET], |
22 | [dnl This catches a bug in Tandem NonStop Kernel (OSS) cc -O circa 2004. | 22 | [dnl This catches a bug in Tandem NonStop Kernel (OSS) cc -O circa 2004. |
23 | dnl If cross compiling, assume the bug isn't important, since | 23 | dnl If cross compiling, assume the bug isn't important, since |
24 | dnl nobody cross compiles for this platform as far as we know. | 24 | dnl nobody cross compiles for this platform as far as we know. |
25 | AC_RUN_IFELSE( | 25 | AC_RUN_IFELSE( |
26 | [AC_LANG_PROGRAM( | 26 | [AC_LANG_PROGRAM( |
27 | [[@%:@include <limits.h> | 27 | [[@%:@include <limits.h> |
28 | @%:@ifndef LLONG_MAX | 28 | @%:@ifndef LLONG_MAX |
29 | @%:@ define HALF \ | 29 | @%:@ define HALF \ |
30 | (1LL << (sizeof (long long int) * CHAR_BIT - 2)) | 30 | (1LL << (sizeof (long long int) * CHAR_BIT - 2)) |
31 | @%:@ define LLONG_MAX (HALF - 1 + HALF) | 31 | @%:@ define LLONG_MAX (HALF - 1 + HALF) |
32 | @%:@endif]], | 32 | @%:@endif]], |
33 | [[long long int n = 1; | 33 | [[long long int n = 1; |
34 | int i; | 34 | int i; |
35 | for (i = 0; ; i++) | 35 | for (i = 0; ; i++) |
36 | { | 36 | { |
37 | long long int m = n << i; | 37 | long long int m = n << i; |
38 | if (m >> i != n) | 38 | if (m >> i != n) |
39 | return 1; | 39 | return 1; |
40 | if (LLONG_MAX / 2 < m) | 40 | if (LLONG_MAX / 2 < m) |
41 | break; | 41 | break; |
42 | } | 42 | } |
43 | return 0;]])], | 43 | return 0;]])], |
44 | [ac_cv_type_long_long_int=yes], | 44 | [ac_cv_type_long_long_int=yes], |
45 | [ac_cv_type_long_long_int=no], | 45 | [ac_cv_type_long_long_int=no], |
46 | [ac_cv_type_long_long_int=yes])], | 46 | [ac_cv_type_long_long_int=yes])], |
47 | [ac_cv_type_long_long_int=no])]) | 47 | [ac_cv_type_long_long_int=no])]) |
48 | if test $ac_cv_type_long_long_int = yes; then | 48 | if test $ac_cv_type_long_long_int = yes; then |
49 | AC_DEFINE([HAVE_LONG_LONG_INT], [1], | 49 | AC_DEFINE([HAVE_LONG_LONG_INT], [1], |
@@ -83,24 +83,24 @@ AC_DEFUN([_AC_TYPE_LONG_LONG_SNIPPET], | |||
83 | [ | 83 | [ |
84 | AC_LANG_PROGRAM( | 84 | AC_LANG_PROGRAM( |
85 | [[/* For now, do not test the preprocessor; as of 2007 there are too many | 85 | [[/* For now, do not test the preprocessor; as of 2007 there are too many |
86 | implementations with broken preprocessors. Perhaps this can | 86 | implementations with broken preprocessors. Perhaps this can |
87 | be revisited in 2012. In the meantime, code should not expect | 87 | be revisited in 2012. In the meantime, code should not expect |
88 | #if to work with literals wider than 32 bits. */ | 88 | #if to work with literals wider than 32 bits. */ |
89 | /* Test literals. */ | 89 | /* Test literals. */ |
90 | long long int ll = 9223372036854775807ll; | 90 | long long int ll = 9223372036854775807ll; |
91 | long long int nll = -9223372036854775807LL; | 91 | long long int nll = -9223372036854775807LL; |
92 | unsigned long long int ull = 18446744073709551615ULL; | 92 | unsigned long long int ull = 18446744073709551615ULL; |
93 | /* Test constant expressions. */ | 93 | /* Test constant expressions. */ |
94 | typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) | 94 | typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) |
95 | ? 1 : -1)]; | 95 | ? 1 : -1)]; |
96 | typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 | 96 | typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 |
97 | ? 1 : -1)]; | 97 | ? 1 : -1)]; |
98 | int i = 63;]], | 98 | int i = 63;]], |
99 | [[/* Test availability of runtime routines for shift and division. */ | 99 | [[/* Test availability of runtime routines for shift and division. */ |
100 | long long int llmax = 9223372036854775807ll; | 100 | long long int llmax = 9223372036854775807ll; |
101 | unsigned long long int ullmax = 18446744073709551615ull; | 101 | unsigned long long int ullmax = 18446744073709551615ull; |
102 | return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) | 102 | return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) |
103 | | (llmax / ll) | (llmax % ll) | 103 | | (llmax / ll) | (llmax % ll) |
104 | | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) | 104 | | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) |
105 | | (ullmax / ull) | (ullmax % ull));]]) | 105 | | (ullmax / ull) | (ullmax % ull));]]) |
106 | ]) | 106 | ]) |
diff --git a/gl/m4/ls-mntd-fs.m4 b/gl/m4/ls-mntd-fs.m4 index 32ccb984..40b93366 100644 --- a/gl/m4/ls-mntd-fs.m4 +++ b/gl/m4/ls-mntd-fs.m4 | |||
@@ -1,7 +1,7 @@ | |||
1 | # serial 27 | 1 | # serial 28 |
2 | # How to list mounted file systems. | 2 | # How to list mounted file systems. |
3 | 3 | ||
4 | # Copyright (C) 1998-2004, 2006, 2009 Free Software Foundation, Inc. | 4 | # Copyright (C) 1998-2004, 2006, 2009-2010 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, |
@@ -84,7 +84,7 @@ if test -z "$ac_list_mounted_fs"; then | |||
84 | yes | 84 | yes |
85 | #endif | 85 | #endif |
86 | ], [test $ac_cv_func_listmntent = yes \ | 86 | ], [test $ac_cv_func_listmntent = yes \ |
87 | && fu_cv_sys_mounted_cray_listmntent=yes] | 87 | && fu_cv_sys_mounted_cray_listmntent=yes] |
88 | ) | 88 | ) |
89 | ] | 89 | ] |
90 | ) | 90 | ) |
@@ -101,14 +101,14 @@ if test -z "$ac_list_mounted_fs"; then | |||
101 | # AIX. | 101 | # AIX. |
102 | AC_MSG_CHECKING([for mntctl function and struct vmount]) | 102 | AC_MSG_CHECKING([for mntctl function and struct vmount]) |
103 | AC_CACHE_VAL([fu_cv_sys_mounted_vmount], | 103 | AC_CACHE_VAL([fu_cv_sys_mounted_vmount], |
104 | [AC_TRY_CPP([#include <fshelp.h>], | 104 | [AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include <fshelp.h>]])], |
105 | fu_cv_sys_mounted_vmount=yes, | 105 | [fu_cv_sys_mounted_vmount=yes], |
106 | fu_cv_sys_mounted_vmount=no)]) | 106 | [fu_cv_sys_mounted_vmount=no])]) |
107 | AC_MSG_RESULT([$fu_cv_sys_mounted_vmount]) | 107 | AC_MSG_RESULT([$fu_cv_sys_mounted_vmount]) |
108 | if test $fu_cv_sys_mounted_vmount = yes; then | 108 | if test $fu_cv_sys_mounted_vmount = yes; then |
109 | ac_list_mounted_fs=found | 109 | ac_list_mounted_fs=found |
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 |
@@ -123,27 +123,27 @@ if test $ac_cv_func_getmntent = yes; then | |||
123 | # 4.3BSD, SunOS, HP-UX, Dynix, Irix | 123 | # 4.3BSD, SunOS, HP-UX, Dynix, Irix |
124 | AC_MSG_CHECKING([for one-argument getmntent function]) | 124 | AC_MSG_CHECKING([for one-argument getmntent function]) |
125 | AC_CACHE_VAL([fu_cv_sys_mounted_getmntent1], | 125 | AC_CACHE_VAL([fu_cv_sys_mounted_getmntent1], |
126 | [AC_TRY_COMPILE([ | 126 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
127 | /* SunOS 4.1.x /usr/include/mntent.h needs this for FILE */ | 127 | /* SunOS 4.1.x /usr/include/mntent.h needs this for FILE */ |
128 | #include <stdio.h> | 128 | #include <stdio.h> |
129 | 129 | ||
130 | #include <mntent.h> | 130 | #include <mntent.h> |
131 | #if !defined MOUNTED | 131 | #if !defined MOUNTED |
132 | # if defined _PATH_MOUNTED /* GNU libc */ | 132 | # if defined _PATH_MOUNTED /* GNU libc */ |
133 | # define MOUNTED _PATH_MOUNTED | 133 | # define MOUNTED _PATH_MOUNTED |
134 | # endif | 134 | # endif |
135 | # if defined MNT_MNTTAB /* HP-UX. */ | 135 | # if defined MNT_MNTTAB /* HP-UX. */ |
136 | # define MOUNTED MNT_MNTTAB | 136 | # define MOUNTED MNT_MNTTAB |
137 | # endif | 137 | # endif |
138 | # if defined MNTTABNAME /* Dynix. */ | 138 | # if defined MNTTABNAME /* Dynix. */ |
139 | # define MOUNTED MNTTABNAME | 139 | # define MOUNTED MNTTABNAME |
140 | # endif | 140 | # endif |
141 | #endif | 141 | #endif |
142 | ], | 142 | ]], |
143 | [ struct mntent *mnt = 0; char *table = MOUNTED; | 143 | [[ struct mntent *mnt = 0; char *table = MOUNTED; |
144 | if (sizeof mnt && sizeof table) return 0;], | 144 | if (sizeof mnt && sizeof table) return 0;]])], |
145 | fu_cv_sys_mounted_getmntent1=yes, | 145 | [fu_cv_sys_mounted_getmntent1=yes], |
146 | fu_cv_sys_mounted_getmntent1=no)]) | 146 | [fu_cv_sys_mounted_getmntent1=no])]) |
147 | AC_MSG_RESULT([$fu_cv_sys_mounted_getmntent1]) | 147 | AC_MSG_RESULT([$fu_cv_sys_mounted_getmntent1]) |
148 | if test $fu_cv_sys_mounted_getmntent1 = yes; then | 148 | if test $fu_cv_sys_mounted_getmntent1 = yes; then |
149 | ac_list_mounted_fs=found | 149 | ac_list_mounted_fs=found |
@@ -179,25 +179,25 @@ if test -z "$ac_list_mounted_fs"; then | |||
179 | 179 | ||
180 | AC_MSG_CHECKING([for getfsstat function]) | 180 | AC_MSG_CHECKING([for getfsstat function]) |
181 | AC_CACHE_VAL([fu_cv_sys_mounted_getfsstat], | 181 | AC_CACHE_VAL([fu_cv_sys_mounted_getfsstat], |
182 | [AC_TRY_LINK([ | 182 | [AC_LINK_IFELSE([AC_LANG_PROGRAM([[ |
183 | #include <sys/types.h> | 183 | #include <sys/types.h> |
184 | #if HAVE_STRUCT_FSSTAT_F_FSTYPENAME | 184 | #if HAVE_STRUCT_FSSTAT_F_FSTYPENAME |
185 | # define FS_TYPE(Ent) ((Ent).f_fstypename) | 185 | # define FS_TYPE(Ent) ((Ent).f_fstypename) |
186 | #else | 186 | #else |
187 | # define FS_TYPE(Ent) mnt_names[(Ent).f_type] | 187 | # define FS_TYPE(Ent) mnt_names[(Ent).f_type] |
188 | #endif | 188 | #endif |
189 | ]$getfsstat_includes | 189 | $getfsstat_includes]] |
190 | , | 190 | , |
191 | [struct statfs *stats; | 191 | [[struct statfs *stats; |
192 | int numsys = getfsstat ((struct statfs *)0, 0L, MNT_WAIT); | 192 | int numsys = getfsstat ((struct statfs *)0, 0L, MNT_WAIT); |
193 | char *t = FS_TYPE (*stats); ], | 193 | char *t = FS_TYPE (*stats); ]])], |
194 | fu_cv_sys_mounted_getfsstat=yes, | 194 | [fu_cv_sys_mounted_getfsstat=yes], |
195 | fu_cv_sys_mounted_getfsstat=no)]) | 195 | [fu_cv_sys_mounted_getfsstat=no])]) |
196 | AC_MSG_RESULT([$fu_cv_sys_mounted_getfsstat]) | 196 | AC_MSG_RESULT([$fu_cv_sys_mounted_getfsstat]) |
197 | if test $fu_cv_sys_mounted_getfsstat = yes; then | 197 | if test $fu_cv_sys_mounted_getfsstat = yes; then |
198 | ac_list_mounted_fs=found | 198 | ac_list_mounted_fs=found |
199 | AC_DEFINE([MOUNTED_GETFSSTAT], [1], | 199 | AC_DEFINE([MOUNTED_GETFSSTAT], [1], |
200 | [Define if there is a function named getfsstat for reading the | 200 | [Define if there is a function named getfsstat for reading the |
201 | list of mounted file systems. (DEC Alpha running OSF/1)]) | 201 | list of mounted file systems. (DEC Alpha running OSF/1)]) |
202 | fi | 202 | fi |
203 | fi | 203 | fi |
@@ -206,12 +206,12 @@ if test -z "$ac_list_mounted_fs"; then | |||
206 | # SVR3 | 206 | # SVR3 |
207 | AC_MSG_CHECKING([for FIXME existence of three headers]) | 207 | AC_MSG_CHECKING([for FIXME existence of three headers]) |
208 | AC_CACHE_VAL([fu_cv_sys_mounted_fread_fstyp], | 208 | AC_CACHE_VAL([fu_cv_sys_mounted_fread_fstyp], |
209 | [AC_TRY_CPP([ | 209 | [AC_PREPROC_IFELSE([AC_LANG_SOURCE([[ |
210 | #include <sys/statfs.h> | 210 | #include <sys/statfs.h> |
211 | #include <sys/fstyp.h> | 211 | #include <sys/fstyp.h> |
212 | #include <mnttab.h>], | 212 | #include <mnttab.h>]])], |
213 | fu_cv_sys_mounted_fread_fstyp=yes, | 213 | [fu_cv_sys_mounted_fread_fstyp=yes], |
214 | fu_cv_sys_mounted_fread_fstyp=no)]) | 214 | [fu_cv_sys_mounted_fread_fstyp=no])]) |
215 | AC_MSG_RESULT([$fu_cv_sys_mounted_fread_fstyp]) | 215 | AC_MSG_RESULT([$fu_cv_sys_mounted_fread_fstyp]) |
216 | if test $fu_cv_sys_mounted_fread_fstyp = yes; then | 216 | if test $fu_cv_sys_mounted_fread_fstyp = yes; then |
217 | ac_list_mounted_fs=found | 217 | ac_list_mounted_fs=found |
@@ -228,15 +228,15 @@ if test -z "$ac_list_mounted_fs"; then | |||
228 | AC_CACHE_VAL([fu_cv_sys_mounted_getmntinfo], | 228 | AC_CACHE_VAL([fu_cv_sys_mounted_getmntinfo], |
229 | [ | 229 | [ |
230 | test "$ac_cv_func_getmntinfo" = yes \ | 230 | test "$ac_cv_func_getmntinfo" = yes \ |
231 | && fu_cv_sys_mounted_getmntinfo=yes \ | 231 | && fu_cv_sys_mounted_getmntinfo=yes \ |
232 | || fu_cv_sys_mounted_getmntinfo=no | 232 | || fu_cv_sys_mounted_getmntinfo=no |
233 | ]) | 233 | ]) |
234 | AC_MSG_RESULT([$fu_cv_sys_mounted_getmntinfo]) | 234 | AC_MSG_RESULT([$fu_cv_sys_mounted_getmntinfo]) |
235 | if test $fu_cv_sys_mounted_getmntinfo = yes; then | 235 | if test $fu_cv_sys_mounted_getmntinfo = yes; then |
236 | AC_MSG_CHECKING([whether getmntinfo returns statvfs structures]) | 236 | AC_MSG_CHECKING([whether getmntinfo returns statvfs structures]) |
237 | AC_CACHE_VAL([fu_cv_sys_mounted_getmntinfo2], | 237 | AC_CACHE_VAL([fu_cv_sys_mounted_getmntinfo2], |
238 | [ | 238 | [ |
239 | AC_TRY_COMPILE([ | 239 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
240 | #if HAVE_SYS_PARAM_H | 240 | #if HAVE_SYS_PARAM_H |
241 | # include <sys/param.h> | 241 | # include <sys/param.h> |
242 | #endif | 242 | #endif |
@@ -248,7 +248,7 @@ if test -z "$ac_list_mounted_fs"; then | |||
248 | # include <sys/statvfs.h> | 248 | # include <sys/statvfs.h> |
249 | #endif | 249 | #endif |
250 | extern int getmntinfo (struct statfs **, int); | 250 | extern int getmntinfo (struct statfs **, int); |
251 | ], [], | 251 | ]], [])], |
252 | [fu_cv_sys_mounted_getmntinfo2=no], | 252 | [fu_cv_sys_mounted_getmntinfo2=no], |
253 | [fu_cv_sys_mounted_getmntinfo2=yes]) | 253 | [fu_cv_sys_mounted_getmntinfo2=yes]) |
254 | ]) | 254 | ]) |
@@ -256,13 +256,13 @@ extern int getmntinfo (struct statfs **, int); | |||
256 | if test $fu_cv_sys_mounted_getmntinfo2 = no; then | 256 | if test $fu_cv_sys_mounted_getmntinfo2 = no; then |
257 | ac_list_mounted_fs=found | 257 | ac_list_mounted_fs=found |
258 | AC_DEFINE([MOUNTED_GETMNTINFO], [1], | 258 | AC_DEFINE([MOUNTED_GETMNTINFO], [1], |
259 | [Define if there is a function named getmntinfo for reading the | 259 | [Define if there is a function named getmntinfo for reading the |
260 | list of mounted file systems and it returns an array of | 260 | list of mounted file systems and it returns an array of |
261 | 'struct statfs'. (4.4BSD, Darwin)]) | 261 | 'struct statfs'. (4.4BSD, Darwin)]) |
262 | else | 262 | else |
263 | ac_list_mounted_fs=found | 263 | ac_list_mounted_fs=found |
264 | AC_DEFINE([MOUNTED_GETMNTINFO2], [1], | 264 | AC_DEFINE([MOUNTED_GETMNTINFO2], [1], |
265 | [Define if there is a function named getmntinfo for reading the | 265 | [Define if there is a function named getmntinfo for reading the |
266 | list of mounted file systems and it returns an array of | 266 | list of mounted file systems and it returns an array of |
267 | 'struct statvfs'. (NetBSD 3.0)]) | 267 | 'struct statvfs'. (NetBSD 3.0)]) |
268 | fi | 268 | fi |
@@ -273,11 +273,11 @@ if test -z "$ac_list_mounted_fs"; then | |||
273 | # Ultrix | 273 | # Ultrix |
274 | AC_MSG_CHECKING([for getmnt function]) | 274 | AC_MSG_CHECKING([for getmnt function]) |
275 | AC_CACHE_VAL([fu_cv_sys_mounted_getmnt], | 275 | AC_CACHE_VAL([fu_cv_sys_mounted_getmnt], |
276 | [AC_TRY_CPP([ | 276 | [AC_PREPROC_IFELSE([AC_LANG_SOURCE([[ |
277 | #include <sys/fs_types.h> | 277 | #include <sys/fs_types.h> |
278 | #include <sys/mount.h>], | 278 | #include <sys/mount.h>]])], |
279 | fu_cv_sys_mounted_getmnt=yes, | 279 | [fu_cv_sys_mounted_getmnt=yes], |
280 | fu_cv_sys_mounted_getmnt=no)]) | 280 | [fu_cv_sys_mounted_getmnt=no])]) |
281 | AC_MSG_RESULT([$fu_cv_sys_mounted_getmnt]) | 281 | AC_MSG_RESULT([$fu_cv_sys_mounted_getmnt]) |
282 | if test $fu_cv_sys_mounted_getmnt = yes; then | 282 | if test $fu_cv_sys_mounted_getmnt = yes; then |
283 | ac_list_mounted_fs=found | 283 | ac_list_mounted_fs=found |
@@ -294,7 +294,7 @@ if test -z "$ac_list_mounted_fs"; then | |||
294 | AC_MSG_CHECKING([for BEOS mounted file system support functions]) | 294 | AC_MSG_CHECKING([for BEOS mounted file system support functions]) |
295 | if test $ac_cv_header_fs_info_h = yes \ | 295 | if test $ac_cv_header_fs_info_h = yes \ |
296 | && test $ac_cv_func_next_dev = yes \ | 296 | && test $ac_cv_func_next_dev = yes \ |
297 | && test $ac_cv_func_fs_stat_dev = yes; then | 297 | && test $ac_cv_func_fs_stat_dev = yes; then |
298 | fu_result=yes | 298 | fu_result=yes |
299 | else | 299 | else |
300 | fu_result=no | 300 | fu_result=no |
@@ -312,14 +312,14 @@ if test -z "$ac_list_mounted_fs"; then | |||
312 | # SVR2 | 312 | # SVR2 |
313 | AC_MSG_CHECKING([whether it is possible to resort to fread on /etc/mnttab]) | 313 | AC_MSG_CHECKING([whether it is possible to resort to fread on /etc/mnttab]) |
314 | AC_CACHE_VAL([fu_cv_sys_mounted_fread], | 314 | AC_CACHE_VAL([fu_cv_sys_mounted_fread], |
315 | [AC_TRY_CPP([#include <mnttab.h>], | 315 | [AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include <mnttab.h>]])], |
316 | fu_cv_sys_mounted_fread=yes, | 316 | [fu_cv_sys_mounted_fread=yes], |
317 | fu_cv_sys_mounted_fread=no)]) | 317 | [fu_cv_sys_mounted_fread=no])]) |
318 | AC_MSG_RESULT([$fu_cv_sys_mounted_fread]) | 318 | AC_MSG_RESULT([$fu_cv_sys_mounted_fread]) |
319 | if test $fu_cv_sys_mounted_fread = yes; then | 319 | if test $fu_cv_sys_mounted_fread = yes; then |
320 | ac_list_mounted_fs=found | 320 | ac_list_mounted_fs=found |
321 | AC_DEFINE([MOUNTED_FREAD], [1], | 321 | AC_DEFINE([MOUNTED_FREAD], [1], |
322 | [Define if there is no specific function for reading the list of | 322 | [Define if there is no specific function for reading the list of |
323 | mounted file systems. fread will be used to read /etc/mnttab. | 323 | mounted file systems. fread will be used to read /etc/mnttab. |
324 | (SVR2) ]) | 324 | (SVR2) ]) |
325 | fi | 325 | fi |
diff --git a/gl/m4/malloc.m4 b/gl/m4/malloc.m4 index 80701716..910ac922 100644 --- a/gl/m4/malloc.m4 +++ b/gl/m4/malloc.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # malloc.m4 serial 9 | 1 | # malloc.m4 serial 9 |
2 | dnl Copyright (C) 2007, 2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007, 2009, 2010 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/math_h.m4 b/gl/m4/math_h.m4 index d941bc33..2d89ca3f 100644 --- a/gl/m4/math_h.m4 +++ b/gl/m4/math_h.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # math_h.m4 serial 14 | 1 | # math_h.m4 serial 21 |
2 | dnl Copyright (C) 2007-2008 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007-2010 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,8 @@ 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 | AC_CACHE_CHECK([whether NAN macro works], [gl_cv_header_math_nan_works], | 13 | AC_CACHE_CHECK([whether NAN macro works], [gl_cv_header_math_nan_works], |
12 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <math.h>]], | 14 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <math.h>]], |
13 | [[/* Solaris 10 has a broken definition of NAN. Other platforms | 15 | [[/* Solaris 10 has a broken definition of NAN. Other platforms |
@@ -15,9 +17,9 @@ AC_DEFUN([gl_MATH_H], | |||
15 | test only needs to fail when NAN is provided but wrong. */ | 17 | test only needs to fail when NAN is provided but wrong. */ |
16 | float f = 1.0f; | 18 | float f = 1.0f; |
17 | #ifdef NAN | 19 | #ifdef NAN |
18 | f = NAN; | 20 | f = NAN; |
19 | #endif | 21 | #endif |
20 | return f == 0;]])], | 22 | return f == 0;]])], |
21 | [gl_cv_header_math_nan_works=yes], | 23 | [gl_cv_header_math_nan_works=yes], |
22 | [gl_cv_header_math_nan_works=no])]) | 24 | [gl_cv_header_math_nan_works=no])]) |
23 | if test $gl_cv_header_math_nan_works = no; then | 25 | if test $gl_cv_header_math_nan_works = no; then |
@@ -26,26 +28,39 @@ AC_DEFUN([gl_MATH_H], | |||
26 | AC_CACHE_CHECK([whether HUGE_VAL works], [gl_cv_header_math_huge_val_works], | 28 | AC_CACHE_CHECK([whether HUGE_VAL works], [gl_cv_header_math_huge_val_works], |
27 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <math.h>]], | 29 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <math.h>]], |
28 | [[/* Solaris 10 has a broken definition of HUGE_VAL. */ | 30 | [[/* Solaris 10 has a broken definition of HUGE_VAL. */ |
29 | double d = HUGE_VAL; | 31 | double d = HUGE_VAL; |
30 | return d == 0;]])], | 32 | return d == 0;]])], |
31 | [gl_cv_header_math_huge_val_works=yes], | 33 | [gl_cv_header_math_huge_val_works=yes], |
32 | [gl_cv_header_math_huge_val_works=no])]) | 34 | [gl_cv_header_math_huge_val_works=no])]) |
33 | if test $gl_cv_header_math_huge_val_works = no; then | 35 | if test $gl_cv_header_math_huge_val_works = no; then |
34 | REPLACE_HUGE_VAL=1 | 36 | REPLACE_HUGE_VAL=1 |
35 | fi | 37 | fi |
38 | |||
39 | dnl Check for declarations of anything we want to poison if the | ||
40 | dnl corresponding gnulib module is not in use. | ||
41 | gl_WARN_ON_USE_PREPARE([[#include <math.h> | ||
42 | ]], [acosl asinl atanl ceilf ceill cosl expl floorf floorl frexpl | ||
43 | ldexpl logb logl round roundf roundl sinl sqrtl tanl trunc truncf truncl]) | ||
36 | ]) | 44 | ]) |
37 | 45 | ||
38 | AC_DEFUN([gl_MATH_MODULE_INDICATOR], | 46 | AC_DEFUN([gl_MATH_MODULE_INDICATOR], |
39 | [ | 47 | [ |
40 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. | 48 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. |
41 | AC_REQUIRE([gl_MATH_H_DEFAULTS]) | 49 | AC_REQUIRE([gl_MATH_H_DEFAULTS]) |
42 | GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 | 50 | gl_MODULE_INDICATOR_SET_VARIABLE([$1]) |
51 | dnl Define it also as a C macro, for the benefit of the unit tests. | ||
52 | gl_MODULE_INDICATOR_FOR_TESTS([$1]) | ||
43 | ]) | 53 | ]) |
44 | 54 | ||
45 | AC_DEFUN([gl_MATH_H_DEFAULTS], | 55 | AC_DEFUN([gl_MATH_H_DEFAULTS], |
46 | [ | 56 | [ |
57 | GNULIB_ACOSL=0; AC_SUBST([GNULIB_ACOSL]) | ||
58 | GNULIB_ASINL=0; AC_SUBST([GNULIB_ASINL]) | ||
59 | GNULIB_ATANL=0; AC_SUBST([GNULIB_ATANL]) | ||
47 | GNULIB_CEILF=0; AC_SUBST([GNULIB_CEILF]) | 60 | GNULIB_CEILF=0; AC_SUBST([GNULIB_CEILF]) |
48 | GNULIB_CEILL=0; AC_SUBST([GNULIB_CEILL]) | 61 | GNULIB_CEILL=0; AC_SUBST([GNULIB_CEILL]) |
62 | GNULIB_COSL=0; AC_SUBST([GNULIB_COSL]) | ||
63 | GNULIB_EXPL=0; AC_SUBST([GNULIB_EXPL]) | ||
49 | GNULIB_FLOORF=0; AC_SUBST([GNULIB_FLOORF]) | 64 | GNULIB_FLOORF=0; AC_SUBST([GNULIB_FLOORF]) |
50 | GNULIB_FLOORL=0; AC_SUBST([GNULIB_FLOORL]) | 65 | GNULIB_FLOORL=0; AC_SUBST([GNULIB_FLOORL]) |
51 | GNULIB_FREXP=0; AC_SUBST([GNULIB_FREXP]) | 66 | GNULIB_FREXP=0; AC_SUBST([GNULIB_FREXP]) |
@@ -57,31 +72,53 @@ AC_DEFUN([gl_MATH_H_DEFAULTS], | |||
57 | GNULIB_ISNAND=0; AC_SUBST([GNULIB_ISNAND]) | 72 | GNULIB_ISNAND=0; AC_SUBST([GNULIB_ISNAND]) |
58 | GNULIB_ISNANL=0; AC_SUBST([GNULIB_ISNANL]) | 73 | GNULIB_ISNANL=0; AC_SUBST([GNULIB_ISNANL]) |
59 | GNULIB_LDEXPL=0; AC_SUBST([GNULIB_LDEXPL]) | 74 | GNULIB_LDEXPL=0; AC_SUBST([GNULIB_LDEXPL]) |
60 | GNULIB_MATHL=0; AC_SUBST([GNULIB_MATHL]) | 75 | GNULIB_LOGB=0; AC_SUBST([GNULIB_LOGB]) |
76 | GNULIB_LOGL=0; AC_SUBST([GNULIB_LOGL]) | ||
61 | GNULIB_ROUND=0; AC_SUBST([GNULIB_ROUND]) | 77 | GNULIB_ROUND=0; AC_SUBST([GNULIB_ROUND]) |
62 | GNULIB_ROUNDF=0; AC_SUBST([GNULIB_ROUNDF]) | 78 | GNULIB_ROUNDF=0; AC_SUBST([GNULIB_ROUNDF]) |
63 | GNULIB_ROUNDL=0; AC_SUBST([GNULIB_ROUNDL]) | 79 | GNULIB_ROUNDL=0; AC_SUBST([GNULIB_ROUNDL]) |
64 | GNULIB_SIGNBIT=0; AC_SUBST([GNULIB_SIGNBIT]) | 80 | GNULIB_SIGNBIT=0; AC_SUBST([GNULIB_SIGNBIT]) |
81 | GNULIB_SINL=0; AC_SUBST([GNULIB_SINL]) | ||
82 | GNULIB_SQRTL=0; AC_SUBST([GNULIB_SQRTL]) | ||
83 | GNULIB_TANL=0; AC_SUBST([GNULIB_TANL]) | ||
65 | GNULIB_TRUNC=0; AC_SUBST([GNULIB_TRUNC]) | 84 | GNULIB_TRUNC=0; AC_SUBST([GNULIB_TRUNC]) |
66 | GNULIB_TRUNCF=0; AC_SUBST([GNULIB_TRUNCF]) | 85 | GNULIB_TRUNCF=0; AC_SUBST([GNULIB_TRUNCF]) |
67 | GNULIB_TRUNCL=0; AC_SUBST([GNULIB_TRUNCL]) | 86 | GNULIB_TRUNCL=0; AC_SUBST([GNULIB_TRUNCL]) |
68 | dnl Assume proper GNU behavior unless another module says otherwise. | 87 | dnl Assume proper GNU behavior unless another module says otherwise. |
88 | HAVE_ACOSL=1; AC_SUBST([HAVE_ACOSL]) | ||
89 | HAVE_ASINL=1; AC_SUBST([HAVE_ASINL]) | ||
90 | HAVE_ATANL=1; AC_SUBST([HAVE_ATANL]) | ||
91 | HAVE_COSL=1; AC_SUBST([HAVE_COSL]) | ||
92 | HAVE_EXPL=1; AC_SUBST([HAVE_EXPL]) | ||
69 | HAVE_ISNANF=1; AC_SUBST([HAVE_ISNANF]) | 93 | HAVE_ISNANF=1; AC_SUBST([HAVE_ISNANF]) |
70 | HAVE_ISNAND=1; AC_SUBST([HAVE_ISNAND]) | 94 | HAVE_ISNAND=1; AC_SUBST([HAVE_ISNAND]) |
71 | HAVE_ISNANL=1; AC_SUBST([HAVE_ISNANL]) | 95 | HAVE_ISNANL=1; AC_SUBST([HAVE_ISNANL]) |
96 | HAVE_LOGL=1; AC_SUBST([HAVE_LOGL]) | ||
97 | HAVE_SINL=1; AC_SUBST([HAVE_SINL]) | ||
98 | HAVE_SQRTL=1; AC_SUBST([HAVE_SQRTL]) | ||
99 | HAVE_TANL=1; AC_SUBST([HAVE_TANL]) | ||
72 | HAVE_DECL_ACOSL=1; AC_SUBST([HAVE_DECL_ACOSL]) | 100 | HAVE_DECL_ACOSL=1; AC_SUBST([HAVE_DECL_ACOSL]) |
73 | HAVE_DECL_ASINL=1; AC_SUBST([HAVE_DECL_ASINL]) | 101 | HAVE_DECL_ASINL=1; AC_SUBST([HAVE_DECL_ASINL]) |
74 | HAVE_DECL_ATANL=1; AC_SUBST([HAVE_DECL_ATANL]) | 102 | HAVE_DECL_ATANL=1; AC_SUBST([HAVE_DECL_ATANL]) |
103 | HAVE_DECL_CEILF=1; AC_SUBST([HAVE_DECL_CEILF]) | ||
104 | HAVE_DECL_CEILL=1; AC_SUBST([HAVE_DECL_CEILL]) | ||
75 | HAVE_DECL_COSL=1; AC_SUBST([HAVE_DECL_COSL]) | 105 | HAVE_DECL_COSL=1; AC_SUBST([HAVE_DECL_COSL]) |
76 | HAVE_DECL_EXPL=1; AC_SUBST([HAVE_DECL_EXPL]) | 106 | HAVE_DECL_EXPL=1; AC_SUBST([HAVE_DECL_EXPL]) |
107 | HAVE_DECL_FLOORF=1; AC_SUBST([HAVE_DECL_FLOORF]) | ||
108 | HAVE_DECL_FLOORL=1; AC_SUBST([HAVE_DECL_FLOORL]) | ||
77 | HAVE_DECL_FREXPL=1; AC_SUBST([HAVE_DECL_FREXPL]) | 109 | HAVE_DECL_FREXPL=1; AC_SUBST([HAVE_DECL_FREXPL]) |
78 | HAVE_DECL_LDEXPL=1; AC_SUBST([HAVE_DECL_LDEXPL]) | 110 | HAVE_DECL_LDEXPL=1; AC_SUBST([HAVE_DECL_LDEXPL]) |
111 | HAVE_DECL_LOGB=1; AC_SUBST([HAVE_DECL_LOGB]) | ||
79 | HAVE_DECL_LOGL=1; AC_SUBST([HAVE_DECL_LOGL]) | 112 | HAVE_DECL_LOGL=1; AC_SUBST([HAVE_DECL_LOGL]) |
113 | HAVE_DECL_ROUND=1; AC_SUBST([HAVE_DECL_ROUND]) | ||
114 | HAVE_DECL_ROUNDF=1; AC_SUBST([HAVE_DECL_ROUNDF]) | ||
115 | HAVE_DECL_ROUNDL=1; AC_SUBST([HAVE_DECL_ROUNDL]) | ||
80 | HAVE_DECL_SINL=1; AC_SUBST([HAVE_DECL_SINL]) | 116 | HAVE_DECL_SINL=1; AC_SUBST([HAVE_DECL_SINL]) |
81 | HAVE_DECL_SQRTL=1; AC_SUBST([HAVE_DECL_SQRTL]) | 117 | HAVE_DECL_SQRTL=1; AC_SUBST([HAVE_DECL_SQRTL]) |
82 | HAVE_DECL_TANL=1; AC_SUBST([HAVE_DECL_TANL]) | 118 | HAVE_DECL_TANL=1; AC_SUBST([HAVE_DECL_TANL]) |
83 | HAVE_DECL_TRUNC=1; AC_SUBST([HAVE_DECL_TRUNC]) | 119 | HAVE_DECL_TRUNC=1; AC_SUBST([HAVE_DECL_TRUNC]) |
84 | HAVE_DECL_TRUNCF=1; AC_SUBST([HAVE_DECL_TRUNCF]) | 120 | HAVE_DECL_TRUNCF=1; AC_SUBST([HAVE_DECL_TRUNCF]) |
121 | HAVE_DECL_TRUNCL=1; AC_SUBST([HAVE_DECL_TRUNCL]) | ||
85 | REPLACE_CEILF=0; AC_SUBST([REPLACE_CEILF]) | 122 | REPLACE_CEILF=0; AC_SUBST([REPLACE_CEILF]) |
86 | REPLACE_CEILL=0; AC_SUBST([REPLACE_CEILL]) | 123 | REPLACE_CEILL=0; AC_SUBST([REPLACE_CEILL]) |
87 | REPLACE_FLOORF=0; AC_SUBST([REPLACE_FLOORF]) | 124 | REPLACE_FLOORF=0; AC_SUBST([REPLACE_FLOORF]) |
diff --git a/gl/m4/mbrtowc.m4 b/gl/m4/mbrtowc.m4 index 11d7d23e..606de5c9 100644 --- a/gl/m4/mbrtowc.m4 +++ b/gl/m4/mbrtowc.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # mbrtowc.m4 serial 15 | 1 | # mbrtowc.m4 serial 17 |
2 | dnl Copyright (C) 2001-2002, 2004-2005, 2008, 2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2001-2002, 2004-2005, 2008-2010 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. |
@@ -10,38 +11,39 @@ AC_DEFUN([gl_FUNC_MBRTOWC], | |||
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 |
13 | if test $REPLACE_MBSTATE_T = 1; then | 14 | |
14 | REPLACE_MBRTOWC=1 | ||
15 | fi | ||
16 | AC_CHECK_FUNCS_ONCE([mbrtowc]) | 15 | AC_CHECK_FUNCS_ONCE([mbrtowc]) |
17 | if test $ac_cv_func_mbrtowc = no; then | 16 | if test $ac_cv_func_mbrtowc = no; then |
18 | HAVE_MBRTOWC=0 | 17 | HAVE_MBRTOWC=0 |
19 | fi | 18 | else |
20 | if test $HAVE_MBRTOWC != 0 && test $REPLACE_MBRTOWC != 1; then | 19 | if test $REPLACE_MBSTATE_T = 1; then |
21 | gl_MBRTOWC_NULL_ARG | 20 | REPLACE_MBRTOWC=1 |
22 | gl_MBRTOWC_RETVAL | 21 | else |
23 | gl_MBRTOWC_NUL_RETVAL | 22 | gl_MBRTOWC_NULL_ARG |
24 | case "$gl_cv_func_mbrtowc_null_arg" in | 23 | gl_MBRTOWC_RETVAL |
25 | *yes) ;; | 24 | gl_MBRTOWC_NUL_RETVAL |
26 | *) AC_DEFINE([MBRTOWC_NULL_ARG_BUG], [1], | 25 | case "$gl_cv_func_mbrtowc_null_arg" in |
27 | [Define if the mbrtowc function has the NULL string argument bug.]) | 26 | *yes) ;; |
28 | REPLACE_MBRTOWC=1 | 27 | *) AC_DEFINE([MBRTOWC_NULL_ARG_BUG], [1], |
29 | ;; | 28 | [Define if the mbrtowc function has the NULL string argument bug.]) |
30 | esac | 29 | REPLACE_MBRTOWC=1 |
31 | case "$gl_cv_func_mbrtowc_retval" in | 30 | ;; |
32 | *yes) ;; | 31 | esac |
33 | *) AC_DEFINE([MBRTOWC_RETVAL_BUG], [1], | 32 | case "$gl_cv_func_mbrtowc_retval" in |
34 | [Define if the mbrtowc function returns a wrong return value.]) | 33 | *yes) ;; |
35 | REPLACE_MBRTOWC=1 | 34 | *) AC_DEFINE([MBRTOWC_RETVAL_BUG], [1], |
36 | ;; | 35 | [Define if the mbrtowc function returns a wrong return value.]) |
37 | esac | 36 | REPLACE_MBRTOWC=1 |
38 | case "$gl_cv_func_mbrtowc_nul_retval" in | 37 | ;; |
39 | *yes) ;; | 38 | esac |
40 | *) AC_DEFINE([MBRTOWC_NUL_RETVAL_BUG], [1], | 39 | case "$gl_cv_func_mbrtowc_nul_retval" in |
41 | [Define if the mbrtowc function does not return 0 for a NUL character.]) | 40 | *yes) ;; |
42 | REPLACE_MBRTOWC=1 | 41 | *) AC_DEFINE([MBRTOWC_NUL_RETVAL_BUG], [1], |
43 | ;; | 42 | [Define if the mbrtowc function does not return 0 for a NUL character.]) |
44 | esac | 43 | REPLACE_MBRTOWC=1 |
44 | ;; | ||
45 | esac | ||
46 | fi | ||
45 | fi | 47 | fi |
46 | if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then | 48 | if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then |
47 | gl_REPLACE_WCHAR_H | 49 | gl_REPLACE_WCHAR_H |
@@ -156,6 +158,7 @@ changequote([,])dnl | |||
156 | if test $LOCALE_ZH_CN != none; then | 158 | if test $LOCALE_ZH_CN != none; then |
157 | AC_TRY_RUN([ | 159 | AC_TRY_RUN([ |
158 | #include <locale.h> | 160 | #include <locale.h> |
161 | #include <stdlib.h> | ||
159 | #include <string.h> | 162 | #include <string.h> |
160 | #include <wchar.h> | 163 | #include <wchar.h> |
161 | int main () | 164 | int main () |
diff --git a/gl/m4/mbsinit.m4 b/gl/m4/mbsinit.m4 index 03b055cd..46c106fc 100644 --- a/gl/m4/mbsinit.m4 +++ b/gl/m4/mbsinit.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # mbsinit.m4 serial 3 | 1 | # mbsinit.m4 serial 4 |
2 | dnl Copyright (C) 2008 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2008, 2010 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,12 +10,14 @@ AC_DEFUN([gl_FUNC_MBSINIT], | |||
10 | 10 | ||
11 | AC_REQUIRE([AC_TYPE_MBSTATE_T]) | 11 | AC_REQUIRE([AC_TYPE_MBSTATE_T]) |
12 | gl_MBSTATE_T_BROKEN | 12 | gl_MBSTATE_T_BROKEN |
13 | if test $REPLACE_MBSTATE_T = 1; then | 13 | |
14 | REPLACE_MBSINIT=1 | ||
15 | fi | ||
16 | AC_CHECK_FUNCS_ONCE([mbsinit]) | 14 | AC_CHECK_FUNCS_ONCE([mbsinit]) |
17 | if test $ac_cv_func_mbsinit = no; then | 15 | if test $ac_cv_func_mbsinit = no; then |
18 | HAVE_MBSINIT=0 | 16 | HAVE_MBSINIT=0 |
17 | else | ||
18 | if test $REPLACE_MBSTATE_T = 1; then | ||
19 | REPLACE_MBSINIT=1 | ||
20 | fi | ||
19 | fi | 21 | fi |
20 | if test $HAVE_MBSINIT = 0 || test $REPLACE_MBSINIT = 1; then | 22 | if test $HAVE_MBSINIT = 0 || test $REPLACE_MBSINIT = 1; then |
21 | gl_REPLACE_WCHAR_H | 23 | gl_REPLACE_WCHAR_H |
diff --git a/gl/m4/mbstate_t.m4 b/gl/m4/mbstate_t.m4 index d4ec6f0f..3e2df29f 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 12 |
2 | dnl Copyright (C) 2000-2002, 2008, 2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2000-2002, 2008-2010 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,17 +18,17 @@ AC_DEFUN([AC_TYPE_MBSTATE_T], | |||
18 | 18 | ||
19 | AC_CACHE_CHECK([for mbstate_t], [ac_cv_type_mbstate_t], | 19 | AC_CACHE_CHECK([for mbstate_t], [ac_cv_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 | # include <wchar.h>]], |
24 | [[mbstate_t x; return sizeof x;]])], | 24 | [[mbstate_t x; return sizeof x;]])], |
25 | [ac_cv_type_mbstate_t=yes], | 25 | [ac_cv_type_mbstate_t=yes], |
26 | [ac_cv_type_mbstate_t=no])]) | 26 | [ac_cv_type_mbstate_t=no])]) |
27 | if test $ac_cv_type_mbstate_t = yes; then | 27 | if test $ac_cv_type_mbstate_t = yes; then |
28 | AC_DEFINE([HAVE_MBSTATE_T], [1], | 28 | AC_DEFINE([HAVE_MBSTATE_T], [1], |
29 | [Define to 1 if <wchar.h> declares mbstate_t.]) | 29 | [Define to 1 if <wchar.h> declares mbstate_t.]) |
30 | else | 30 | else |
31 | AC_DEFINE([mbstate_t], [int], | 31 | AC_DEFINE([mbstate_t], [int], |
32 | [Define to a type if <wchar.h> does not define.]) | 32 | [Define to a type if <wchar.h> does not define.]) |
33 | fi | 33 | fi |
34 | ]) | 34 | ]) |
diff --git a/gl/m4/memchr.m4 b/gl/m4/memchr.m4 new file mode 100644 index 00000000..ab773b81 --- /dev/null +++ b/gl/m4/memchr.m4 | |||
@@ -0,0 +1,85 @@ | |||
1 | # memchr.m4 serial 8 | ||
2 | dnl Copyright (C) 2002-2004, 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_ONCE([gl_FUNC_MEMCHR], | ||
8 | [ | ||
9 | dnl Check for prerequisites for memory fence checks. | ||
10 | gl_FUNC_MMAP_ANON | ||
11 | AC_CHECK_HEADERS_ONCE([sys/mman.h]) | ||
12 | AC_CHECK_FUNCS_ONCE([mprotect]) | ||
13 | |||
14 | dnl These days, we assume memchr is present. But just in case... | ||
15 | AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) | ||
16 | AC_CHECK_FUNCS_ONCE([memchr]) | ||
17 | if test $ac_cv_func_memchr = yes; then | ||
18 | # Detect platform-specific bugs in some versions of glibc: | ||
19 | # memchr should not dereference anything with length 0 | ||
20 | # http://bugzilla.redhat.com/499689 | ||
21 | # memchr should not dereference overestimated length after a match | ||
22 | # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=521737 | ||
23 | # http://sourceware.org/bugzilla/show_bug.cgi?id=10162 | ||
24 | # Assume that memchr works on platforms that lack mprotect. | ||
25 | AC_CACHE_CHECK([whether memchr works], [gl_cv_func_memchr_works], | ||
26 | [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ | ||
27 | #include <string.h> | ||
28 | #if HAVE_SYS_MMAN_H | ||
29 | # include <fcntl.h> | ||
30 | # include <unistd.h> | ||
31 | # include <sys/types.h> | ||
32 | # include <sys/mman.h> | ||
33 | # ifndef MAP_FILE | ||
34 | # define MAP_FILE 0 | ||
35 | # endif | ||
36 | #endif | ||
37 | ]], [[ | ||
38 | char *fence = NULL; | ||
39 | #if HAVE_SYS_MMAN_H && HAVE_MPROTECT | ||
40 | # if HAVE_MAP_ANONYMOUS | ||
41 | const int flags = MAP_ANONYMOUS | MAP_PRIVATE; | ||
42 | const int fd = -1; | ||
43 | # else /* !HAVE_MAP_ANONYMOUS */ | ||
44 | const int flags = MAP_FILE | MAP_PRIVATE; | ||
45 | int fd = open ("/dev/zero", O_RDONLY, 0666); | ||
46 | if (fd >= 0) | ||
47 | # endif | ||
48 | { | ||
49 | int pagesize = getpagesize (); | ||
50 | char *two_pages = | ||
51 | (char *) mmap (NULL, 2 * pagesize, PROT_READ | PROT_WRITE, | ||
52 | flags, fd, 0); | ||
53 | if (two_pages != (char *)(-1) | ||
54 | && mprotect (two_pages + pagesize, pagesize, PROT_NONE) == 0) | ||
55 | fence = two_pages + pagesize; | ||
56 | } | ||
57 | #endif | ||
58 | if (fence) | ||
59 | { | ||
60 | if (memchr (fence, 0, 0)) | ||
61 | return 1; | ||
62 | strcpy (fence - 9, "12345678"); | ||
63 | if (memchr (fence - 9, 0, 79) != fence - 1) | ||
64 | return 2; | ||
65 | } | ||
66 | return 0; | ||
67 | ]])], [gl_cv_func_memchr_works=yes], [gl_cv_func_memchr_works=no], | ||
68 | [dnl Be pessimistic for now. | ||
69 | gl_cv_func_memchr_works="guessing no"])]) | ||
70 | if test "$gl_cv_func_memchr_works" != yes; then | ||
71 | REPLACE_MEMCHR=1 | ||
72 | 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 | ||
80 | ]) | ||
81 | |||
82 | # Prerequisites of lib/memchr.c. | ||
83 | AC_DEFUN([gl_PREREQ_MEMCHR], [ | ||
84 | AC_CHECK_HEADERS([bp-sym.h]) | ||
85 | ]) | ||
diff --git a/gl/m4/mktime.m4 b/gl/m4/mktime.m4 index 1e926e86..44b8d878 100644 --- a/gl/m4/mktime.m4 +++ b/gl/m4/mktime.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # serial 15 | 1 | # serial 15 |
2 | dnl Copyright (C) 2002-2003, 2005-2007, 2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2003, 2005-2007, 2009-2010 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. |
@@ -85,8 +86,8 @@ static int | |||
85 | mktime_test (time_t now) | 86 | mktime_test (time_t now) |
86 | { | 87 | { |
87 | return (mktime_test1 (now) | 88 | return (mktime_test1 (now) |
88 | && mktime_test1 ((time_t) (time_t_max - now)) | 89 | && mktime_test1 ((time_t) (time_t_max - now)) |
89 | && mktime_test1 ((time_t) (time_t_min + now))); | 90 | && mktime_test1 ((time_t) (time_t_min + now))); |
90 | } | 91 | } |
91 | 92 | ||
92 | static int | 93 | static int |
@@ -116,17 +117,17 @@ bigtime_test (int j) | |||
116 | { | 117 | { |
117 | struct tm *lt = localtime (&now); | 118 | struct tm *lt = localtime (&now); |
118 | if (! (lt | 119 | if (! (lt |
119 | && lt->tm_year == tm.tm_year | 120 | && lt->tm_year == tm.tm_year |
120 | && lt->tm_mon == tm.tm_mon | 121 | && lt->tm_mon == tm.tm_mon |
121 | && lt->tm_mday == tm.tm_mday | 122 | && lt->tm_mday == tm.tm_mday |
122 | && lt->tm_hour == tm.tm_hour | 123 | && lt->tm_hour == tm.tm_hour |
123 | && lt->tm_min == tm.tm_min | 124 | && lt->tm_min == tm.tm_min |
124 | && lt->tm_sec == tm.tm_sec | 125 | && lt->tm_sec == tm.tm_sec |
125 | && lt->tm_yday == tm.tm_yday | 126 | && lt->tm_yday == tm.tm_yday |
126 | && lt->tm_wday == tm.tm_wday | 127 | && lt->tm_wday == tm.tm_wday |
127 | && ((lt->tm_isdst < 0 ? -1 : 0 < lt->tm_isdst) | 128 | && ((lt->tm_isdst < 0 ? -1 : 0 < lt->tm_isdst) |
128 | == (tm.tm_isdst < 0 ? -1 : 0 < tm.tm_isdst)))) | 129 | == (tm.tm_isdst < 0 ? -1 : 0 < tm.tm_isdst)))) |
129 | return 0; | 130 | return 0; |
130 | } | 131 | } |
131 | return 1; | 132 | return 1; |
132 | } | 133 | } |
@@ -158,7 +159,7 @@ year_2050_test () | |||
158 | to the correct answer that we can assume the discrepancy is | 159 | to the correct answer that we can assume the discrepancy is |
159 | due to leap seconds. */ | 160 | due to leap seconds. */ |
160 | return (t == (time_t) -1 | 161 | return (t == (time_t) -1 |
161 | || (0 < t && answer - 120 <= t && t <= answer + 120)); | 162 | || (0 < t && answer - 120 <= t && t <= answer + 120)); |
162 | } | 163 | } |
163 | 164 | ||
164 | int | 165 | int |
@@ -176,7 +177,7 @@ main () | |||
176 | { | 177 | { |
177 | t = (time_t_max << 1) + 1; | 178 | t = (time_t_max << 1) + 1; |
178 | if (t <= time_t_max) | 179 | if (t <= time_t_max) |
179 | break; | 180 | break; |
180 | time_t_max = t; | 181 | time_t_max = t; |
181 | } | 182 | } |
182 | time_t_min = - ((time_t) ~ (time_t) 0 == (time_t) -1) - time_t_max; | 183 | time_t_min = - ((time_t) ~ (time_t) 0 == (time_t) -1) - time_t_max; |
@@ -185,29 +186,29 @@ main () | |||
185 | for (i = 0; i < N_STRINGS; i++) | 186 | for (i = 0; i < N_STRINGS; i++) |
186 | { | 187 | { |
187 | if (tz_strings[i]) | 188 | if (tz_strings[i]) |
188 | putenv (tz_strings[i]); | 189 | putenv (tz_strings[i]); |
189 | 190 | ||
190 | for (t = 0; t <= time_t_max - delta; t += delta) | 191 | for (t = 0; t <= time_t_max - delta; t += delta) |
191 | if (! mktime_test (t)) | 192 | if (! mktime_test (t)) |
192 | return 1; | 193 | return 1; |
193 | if (! (mktime_test ((time_t) 1) | 194 | if (! (mktime_test ((time_t) 1) |
194 | && mktime_test ((time_t) (60 * 60)) | 195 | && mktime_test ((time_t) (60 * 60)) |
195 | && mktime_test ((time_t) (60 * 60 * 24)))) | 196 | && mktime_test ((time_t) (60 * 60 * 24)))) |
196 | return 1; | 197 | return 1; |
197 | 198 | ||
198 | for (j = 1; ; j <<= 1) | 199 | for (j = 1; ; j <<= 1) |
199 | if (! bigtime_test (j)) | 200 | if (! bigtime_test (j)) |
200 | return 1; | 201 | return 1; |
201 | else if (INT_MAX / 2 < j) | 202 | else if (INT_MAX / 2 < j) |
202 | break; | 203 | break; |
203 | if (! bigtime_test (INT_MAX)) | 204 | if (! bigtime_test (INT_MAX)) |
204 | return 1; | 205 | return 1; |
205 | } | 206 | } |
206 | return ! (irix_6_4_bug () && spring_forward_gap () && year_2050_test ()); | 207 | return ! (irix_6_4_bug () && spring_forward_gap () && year_2050_test ()); |
207 | }]])], | 208 | }]])], |
208 | [ac_cv_func_working_mktime=yes], | 209 | [ac_cv_func_working_mktime=yes], |
209 | [ac_cv_func_working_mktime=no], | 210 | [ac_cv_func_working_mktime=no], |
210 | [ac_cv_func_working_mktime=no])]) | 211 | [ac_cv_func_working_mktime=no])]) |
211 | if test $ac_cv_func_working_mktime = no; then | 212 | if test $ac_cv_func_working_mktime = no; then |
212 | AC_LIBOBJ([mktime]) | 213 | AC_LIBOBJ([mktime]) |
213 | fi | 214 | fi |
@@ -215,12 +216,14 @@ fi | |||
215 | 216 | ||
216 | AC_DEFUN([gl_FUNC_MKTIME], | 217 | AC_DEFUN([gl_FUNC_MKTIME], |
217 | [ | 218 | [ |
219 | AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) | ||
218 | AC_FUNC_MKTIME | 220 | AC_FUNC_MKTIME |
219 | dnl Note: AC_FUNC_MKTIME does AC_LIBOBJ([mktime]). | 221 | dnl Note: AC_FUNC_MKTIME does AC_LIBOBJ([mktime]). |
220 | if test $ac_cv_func_working_mktime = no; then | 222 | if test $ac_cv_func_working_mktime = no; then |
221 | AC_DEFINE([mktime], [rpl_mktime], | 223 | REPLACE_MKTIME=1 |
222 | [Define to rpl_mktime if the replacement function should be used.]) | ||
223 | gl_PREREQ_MKTIME | 224 | gl_PREREQ_MKTIME |
225 | else | ||
226 | REPLACE_MKTIME=0 | ||
224 | fi | 227 | fi |
225 | ]) | 228 | ]) |
226 | 229 | ||
diff --git a/gl/m4/mmap-anon.m4 b/gl/m4/mmap-anon.m4 new file mode 100644 index 00000000..a6b7b9ac --- /dev/null +++ b/gl/m4/mmap-anon.m4 | |||
@@ -0,0 +1,59 @@ | |||
1 | # mmap-anon.m4 serial 8 | ||
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 | # Detect how mmap can be used to create anonymous (not file-backed) memory | ||
8 | # mappings. | ||
9 | # - On Linux, AIX, OSF/1, Solaris, Cygwin, Interix, Haiku, both MAP_ANONYMOUS | ||
10 | # and MAP_ANON exist and have the same value. | ||
11 | # - On HP-UX, only MAP_ANONYMOUS exists. | ||
12 | # - On MacOS X, FreeBSD, NetBSD, OpenBSD, only MAP_ANON exists. | ||
13 | # - On IRIX, neither exists, and a file descriptor opened to /dev/zero must be | ||
14 | # used. | ||
15 | |||
16 | AC_DEFUN([gl_FUNC_MMAP_ANON], | ||
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. | ||
23 | AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) | ||
24 | |||
25 | # Check for mmap(). Don't use AC_FUNC_MMAP, because it checks too much: it | ||
26 | # fails on HP-UX 11, because MAP_FIXED mappings do not work. But this is | ||
27 | # irrelevant for anonymous mappings. | ||
28 | AC_CHECK_FUNC([mmap], [gl_have_mmap=yes], [gl_have_mmap=no]) | ||
29 | |||
30 | # Try to allow MAP_ANONYMOUS. | ||
31 | gl_have_mmap_anonymous=no | ||
32 | if test $gl_have_mmap = yes; then | ||
33 | AC_MSG_CHECKING([for MAP_ANONYMOUS]) | ||
34 | AC_EGREP_CPP([I cant identify this map.], [ | ||
35 | #include <sys/mman.h> | ||
36 | #ifdef MAP_ANONYMOUS | ||
37 | I cant identify this map. | ||
38 | #endif | ||
39 | ], | ||
40 | [gl_have_mmap_anonymous=yes]) | ||
41 | if test $gl_have_mmap_anonymous != yes; then | ||
42 | AC_EGREP_CPP([I cant identify this map.], [ | ||
43 | #include <sys/mman.h> | ||
44 | #ifdef MAP_ANON | ||
45 | I cant identify this map. | ||
46 | #endif | ||
47 | ], | ||
48 | [AC_DEFINE([MAP_ANONYMOUS], [MAP_ANON], | ||
49 | [Define to a substitute value for mmap()'s MAP_ANONYMOUS flag.]) | ||
50 | gl_have_mmap_anonymous=yes]) | ||
51 | fi | ||
52 | AC_MSG_RESULT([$gl_have_mmap_anonymous]) | ||
53 | if test $gl_have_mmap_anonymous = yes; then | ||
54 | AC_DEFINE([HAVE_MAP_ANONYMOUS], [1], | ||
55 | [Define to 1 if mmap()'s MAP_ANONYMOUS flag is available after including | ||
56 | config.h and <sys/mman.h>.]) | ||
57 | fi | ||
58 | fi | ||
59 | ]) | ||
diff --git a/gl/m4/mode_t.m4 b/gl/m4/mode_t.m4 new file mode 100644 index 00000000..3178dfd3 --- /dev/null +++ b/gl/m4/mode_t.m4 | |||
@@ -0,0 +1,26 @@ | |||
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 f62c57a2..f2d59501 100644 --- a/gl/m4/mountlist.m4 +++ b/gl/m4/mountlist.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # serial 10 | 1 | # serial 10 |
2 | dnl Copyright (C) 2002-2006, 2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2006, 2009-2010 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -7,7 +7,7 @@ dnl with or without modifications, as long as this notice is preserved. | |||
7 | AC_DEFUN([gl_MOUNTLIST], | 7 | 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 | 11 | if test $gl_cv_list_mounted_fs = yes; then |
12 | AC_LIBOBJ([mountlist]) | 12 | AC_LIBOBJ([mountlist]) |
13 | gl_PREREQ_MOUNTLIST_EXTRA | 13 | gl_PREREQ_MOUNTLIST_EXTRA |
diff --git a/gl/m4/multiarch.m4 b/gl/m4/multiarch.m4 index ec377bac..389bd2bb 100644 --- a/gl/m4/multiarch.m4 +++ b/gl/m4/multiarch.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # multiarch.m4 serial 5 | 1 | # multiarch.m4 serial 5 |
2 | dnl Copyright (C) 2008, 2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2008, 2009, 2010 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/netdb_h.m4 b/gl/m4/netdb_h.m4 index 5a12251f..40ba8f66 100644 --- a/gl/m4/netdb_h.m4 +++ b/gl/m4/netdb_h.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # netdb_h.m4 serial 5 | 1 | # netdb_h.m4 serial 7 |
2 | dnl Copyright (C) 2008 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2008, 2009, 2010 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_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]) | ||
10 | gl_CHECK_NEXT_HEADERS([netdb.h]) | 11 | gl_CHECK_NEXT_HEADERS([netdb.h]) |
11 | if test $ac_cv_header_netdb_h = yes; then | 12 | if test $ac_cv_header_netdb_h = yes; then |
12 | AC_COMPILE_IFELSE( | 13 | AC_COMPILE_IFELSE( |
@@ -30,7 +31,7 @@ AC_DEFUN([gl_NETDB_MODULE_INDICATOR], | |||
30 | [ | 31 | [ |
31 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. | 32 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. |
32 | AC_REQUIRE([gl_NETDB_H_DEFAULTS]) | 33 | AC_REQUIRE([gl_NETDB_H_DEFAULTS]) |
33 | GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 | 34 | gl_MODULE_INDICATOR_SET_VARIABLE([$1]) |
34 | ]) | 35 | ]) |
35 | 36 | ||
36 | AC_DEFUN([gl_NETDB_H_DEFAULTS], | 37 | AC_DEFUN([gl_NETDB_H_DEFAULTS], |
diff --git a/gl/m4/netinet_in_h.m4 b/gl/m4/netinet_in_h.m4 index 47fd9cc3..cc7a44cc 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 4 |
2 | dnl Copyright (C) 2006-2008 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2006-2010 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/nl_langinfo.m4 b/gl/m4/nl_langinfo.m4 new file mode 100644 index 00000000..ad456a26 --- /dev/null +++ b/gl/m4/nl_langinfo.m4 | |||
@@ -0,0 +1,25 @@ | |||
1 | # nl_langinfo.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 | AC_DEFUN([gl_FUNC_NL_LANGINFO], | ||
8 | [ | ||
9 | AC_REQUIRE([gl_LANGINFO_H_DEFAULTS]) | ||
10 | AC_REQUIRE([gl_LANGINFO_H]) | ||
11 | AC_CHECK_FUNCS_ONCE([nl_langinfo]) | ||
12 | if test $ac_cv_func_nl_langinfo = yes; then | ||
13 | if test $HAVE_LANGINFO_CODESET = 1 && test $HAVE_LANGINFO_ERA = 1; then | ||
14 | : | ||
15 | else | ||
16 | REPLACE_NL_LANGINFO=1 | ||
17 | AC_DEFINE([REPLACE_NL_LANGINFO], [1], | ||
18 | [Define if nl_langinfo exists but is overridden by gnulib.]) | ||
19 | AC_LIBOBJ([nl_langinfo]) | ||
20 | fi | ||
21 | else | ||
22 | HAVE_NL_LANGINFO=0 | ||
23 | AC_LIBOBJ([nl_langinfo]) | ||
24 | fi | ||
25 | ]) | ||
diff --git a/gl/m4/nls.m4 b/gl/m4/nls.m4 index 0b364342..003704c4 100644 --- a/gl/m4/nls.m4 +++ b/gl/m4/nls.m4 | |||
@@ -1,5 +1,6 @@ | |||
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, 2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1995-2003, 2005-2006, 2008-2010 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. |
diff --git a/gl/m4/onceonly.m4 b/gl/m4/onceonly.m4 index 108cd6c1..4a3cd84d 100644 --- a/gl/m4/onceonly.m4 +++ b/gl/m4/onceonly.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # onceonly.m4 serial 6 | 1 | # onceonly.m4 serial 6 |
2 | dnl Copyright (C) 2002-2003, 2005-2006, 2008 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2003, 2005-2006, 2008-2010 Free Software Foundation, |
3 | dnl Inc. | ||
3 | dnl This file is free software, distributed under the terms of the GNU | 4 | dnl This file is free software, distributed under the terms of the GNU |
4 | dnl General Public License. As a special exception to the GNU General | 5 | dnl General Public License. As a special exception to the GNU General |
5 | dnl Public License, this file may be distributed as part of a program | 6 | dnl Public License, this file may be distributed as part of a program |
diff --git a/gl/m4/open.m4 b/gl/m4/open.m4 index 6e286c96..d705b3a1 100644 --- a/gl/m4/open.m4 +++ b/gl/m4/open.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # open.m4 serial 5 | 1 | # open.m4 serial 8 |
2 | dnl Copyright (C) 2007-2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007-2010 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,10 +13,15 @@ AC_DEFUN([gl_FUNC_OPEN], | |||
13 | ;; | 13 | ;; |
14 | *) | 14 | *) |
15 | dnl open("foo/") should not create a file when the file name has a | 15 | dnl open("foo/") should not create a file when the file name has a |
16 | dnl trailing slash. | 16 | dnl trailing slash. FreeBSD only has the problem on symlinks. |
17 | AC_CHECK_FUNCS_ONCE([lstat]) | ||
17 | AC_CACHE_CHECK([whether open recognizes a trailing slash], | 18 | AC_CACHE_CHECK([whether open recognizes a trailing slash], |
18 | [gl_cv_func_open_slash], | 19 | [gl_cv_func_open_slash], |
19 | [ | 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 | ||
20 | AC_TRY_RUN([ | 25 | AC_TRY_RUN([ |
21 | #include <fcntl.h> | 26 | #include <fcntl.h> |
22 | #if HAVE_UNISTD_H | 27 | #if HAVE_UNISTD_H |
@@ -24,18 +29,22 @@ AC_DEFUN([gl_FUNC_OPEN], | |||
24 | #endif | 29 | #endif |
25 | int main () | 30 | int main () |
26 | { | 31 | { |
32 | #if HAVE_LSTAT | ||
33 | if (open ("conftest.lnk/", O_RDONLY) != -1) return 2; | ||
34 | #endif | ||
27 | return open ("conftest.sl/", O_CREAT, 0600) >= 0; | 35 | return open ("conftest.sl/", O_CREAT, 0600) >= 0; |
28 | }], [gl_cv_func_open_slash=yes], [gl_cv_func_open_slash=no], | 36 | }], [gl_cv_func_open_slash=yes], [gl_cv_func_open_slash=no], |
29 | [ | 37 | [ |
30 | changequote(,)dnl | 38 | changequote(,)dnl |
31 | case "$host_os" in | 39 | case "$host_os" in |
40 | freebsd*) gl_cv_func_open_slash="guessing no" ;; | ||
32 | solaris2.[0-9]*) gl_cv_func_open_slash="guessing no" ;; | 41 | solaris2.[0-9]*) gl_cv_func_open_slash="guessing no" ;; |
33 | hpux*) gl_cv_func_open_slash="guessing no" ;; | 42 | hpux*) gl_cv_func_open_slash="guessing no" ;; |
34 | *) gl_cv_func_open_slash="guessing yes" ;; | 43 | *) gl_cv_func_open_slash="guessing yes" ;; |
35 | esac | 44 | esac |
36 | changequote([,])dnl | 45 | changequote([,])dnl |
37 | ]) | 46 | ]) |
38 | rm -f conftest.sl | 47 | rm -f conftest.sl conftest.tmp conftest.lnk |
39 | ]) | 48 | ]) |
40 | case "$gl_cv_func_open_slash" in | 49 | case "$gl_cv_func_open_slash" in |
41 | *no) | 50 | *no) |
@@ -51,16 +60,15 @@ changequote([,])dnl | |||
51 | AC_DEFUN([gl_REPLACE_OPEN], | 60 | AC_DEFUN([gl_REPLACE_OPEN], |
52 | [ | 61 | [ |
53 | AC_REQUIRE([gl_FCNTL_H_DEFAULTS]) | 62 | AC_REQUIRE([gl_FCNTL_H_DEFAULTS]) |
54 | if test $REPLACE_OPEN != 1; then | ||
55 | AC_LIBOBJ([open]) | ||
56 | gl_PREREQ_OPEN | ||
57 | fi | ||
58 | REPLACE_OPEN=1 | 63 | REPLACE_OPEN=1 |
64 | AC_LIBOBJ([open]) | ||
65 | gl_PREREQ_OPEN | ||
59 | ]) | 66 | ]) |
60 | 67 | ||
61 | # Prerequisites of lib/open.c. | 68 | # Prerequisites of lib/open.c. |
62 | AC_DEFUN([gl_PREREQ_OPEN], | 69 | AC_DEFUN([gl_PREREQ_OPEN], |
63 | [ | 70 | [ |
64 | AC_REQUIRE([AC_C_INLINE]) | 71 | AC_REQUIRE([AC_C_INLINE]) |
72 | AC_REQUIRE([gl_PROMOTED_TYPE_MODE_T]) | ||
65 | : | 73 | : |
66 | ]) | 74 | ]) |
diff --git a/gl/m4/po.m4 b/gl/m4/po.m4 index 2284fa50..960efe15 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 17 (gettext-0.18) |
2 | dnl Copyright (C) 1995-2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1995-2010 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/printf-posix.m4 b/gl/m4/printf-posix.m4 index 5922d278..1eacf95a 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 5 (gettext-0.18) |
2 | dnl Copyright (C) 2003, 2007, 2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2003, 2007, 2009-2010 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/printf.m4 b/gl/m4/printf.m4 index 87aa45c5..ebca5364 100644 --- a/gl/m4/printf.m4 +++ b/gl/m4/printf.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # printf.m4 serial 33 | 1 | # printf.m4 serial 33 |
2 | dnl Copyright (C) 2003, 2007-2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2003, 2007-2010 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/progtest.m4 b/gl/m4/progtest.m4 index e1d445d2..2d804ac9 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 6 (gettext-0.18) |
2 | dnl Copyright (C) 1996-2003, 2005, 2008, 2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1996-2003, 2005, 2008-2010 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/regex.m4 b/gl/m4/regex.m4 index aef53d29..95784e4b 100644 --- a/gl/m4/regex.m4 +++ b/gl/m4/regex.m4 | |||
@@ -1,7 +1,7 @@ | |||
1 | # serial 54 | 1 | # serial 56 |
2 | 2 | ||
3 | # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, | 3 | # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, |
4 | # 2006, 2007, 2008, 2009 Free Software Foundation, Inc. | 4 | # 2007, 2008, 2009, 2010 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, |
@@ -18,146 +18,154 @@ AC_DEFUN([gl_REGEX], | |||
18 | 18 | ||
19 | AC_ARG_WITH([included-regex], | 19 | AC_ARG_WITH([included-regex], |
20 | [AS_HELP_STRING([--without-included-regex], | 20 | [AS_HELP_STRING([--without-included-regex], |
21 | [don't compile regex; this is the default on systems | 21 | [don't compile regex; this is the default on systems |
22 | with recent-enough versions of the GNU C Library | 22 | with recent-enough versions of the GNU C Library |
23 | (use with caution on other systems).])]) | 23 | (use with caution on other systems).])]) |
24 | 24 | ||
25 | case $with_included_regex in #( | 25 | case $with_included_regex in #( |
26 | yes|no) ac_use_included_regex=$with_included_regex | 26 | yes|no) ac_use_included_regex=$with_included_regex |
27 | ;; | 27 | ;; |
28 | '') | 28 | '') |
29 | # If the system regex support is good enough that it passes the | 29 | # If the system regex support is good enough that it passes the |
30 | # following run test, then default to *not* using the included regex.c. | 30 | # 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 | 31 | # If cross compiling, assume the test would fail and use the included |
32 | # regex.c. | 32 | # regex.c. |
33 | AC_CACHE_CHECK([for working re_compile_pattern], | 33 | AC_CACHE_CHECK([for working re_compile_pattern], |
34 | [gl_cv_func_re_compile_pattern_working], | 34 | [gl_cv_func_re_compile_pattern_working], |
35 | [AC_RUN_IFELSE( | 35 | [AC_RUN_IFELSE( |
36 | [AC_LANG_PROGRAM( | 36 | [AC_LANG_PROGRAM( |
37 | [AC_INCLUDES_DEFAULT[ | 37 | [AC_INCLUDES_DEFAULT[ |
38 | #if HAVE_LOCALE_H | 38 | #if HAVE_LOCALE_H |
39 | #include <locale.h> | 39 | #include <locale.h> |
40 | #endif | 40 | #endif |
41 | #include <limits.h> | 41 | #include <limits.h> |
42 | #include <regex.h> | 42 | #include <regex.h> |
43 | ]], | 43 | ]], |
44 | [[static struct re_pattern_buffer regex; | 44 | [[static struct re_pattern_buffer regex; |
45 | unsigned char folded_chars[UCHAR_MAX + 1]; | 45 | unsigned char folded_chars[UCHAR_MAX + 1]; |
46 | int i; | 46 | int i; |
47 | const char *s; | 47 | const char *s; |
48 | struct re_registers regs; | 48 | struct re_registers regs; |
49 | 49 | ||
50 | #if HAVE_LOCALE_H | 50 | #if HAVE_LOCALE_H |
51 | /* http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html | 51 | /* http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html |
52 | This test needs valgrind to catch the bug on Debian | 52 | This test needs valgrind to catch the bug on Debian |
53 | GNU/Linux 3.1 x86, but it might catch the bug better | 53 | GNU/Linux 3.1 x86, but it might catch the bug better |
54 | on other platforms and it shouldn't hurt to try the | 54 | on other platforms and it shouldn't hurt to try the |
55 | test here. */ | 55 | test here. */ |
56 | if (setlocale (LC_ALL, "en_US.UTF-8")) | 56 | if (setlocale (LC_ALL, "en_US.UTF-8")) |
57 | { | 57 | { |
58 | static char const pat[] = "insert into"; | 58 | static char const pat[] = "insert into"; |
59 | static char const data[] = | 59 | static char const data[] = |
60 | "\xFF\0\x12\xA2\xAA\xC4\xB1,K\x12\xC4\xB1*\xACK"; | 60 | "\xFF\0\x12\xA2\xAA\xC4\xB1,K\x12\xC4\xB1*\xACK"; |
61 | re_set_syntax (RE_SYNTAX_GREP | RE_HAT_LISTS_NOT_NEWLINE | 61 | re_set_syntax (RE_SYNTAX_GREP | RE_HAT_LISTS_NOT_NEWLINE |
62 | | RE_ICASE); | 62 | | RE_ICASE); |
63 | memset (®ex, 0, sizeof regex); | 63 | memset (®ex, 0, sizeof regex); |
64 | s = re_compile_pattern (pat, sizeof pat - 1, ®ex); | 64 | s = re_compile_pattern (pat, sizeof pat - 1, ®ex); |
65 | if (s) | 65 | if (s) |
66 | return 1; | 66 | return 1; |
67 | if (re_search (®ex, data, sizeof data - 1, | 67 | if (re_search (®ex, data, sizeof data - 1, |
68 | 0, sizeof data - 1, ®s) | 68 | 0, sizeof data - 1, ®s) |
69 | != -1) | 69 | != -1) |
70 | return 1; | 70 | return 1; |
71 | if (! setlocale (LC_ALL, "C")) | 71 | if (! setlocale (LC_ALL, "C")) |
72 | return 1; | 72 | return 1; |
73 | } | 73 | } |
74 | #endif | 74 | #endif |
75 | 75 | ||
76 | /* This test is from glibc bug 3957, reported by Andrew Mackey. */ | 76 | /* This test is from glibc bug 3957, reported by Andrew Mackey. */ |
77 | re_set_syntax (RE_SYNTAX_EGREP | RE_HAT_LISTS_NOT_NEWLINE); | 77 | re_set_syntax (RE_SYNTAX_EGREP | RE_HAT_LISTS_NOT_NEWLINE); |
78 | memset (®ex, 0, sizeof regex); | 78 | memset (®ex, 0, sizeof regex); |
79 | s = re_compile_pattern ("a[^x]b", 6, ®ex); | 79 | s = re_compile_pattern ("a[^x]b", 6, ®ex); |
80 | if (s) | 80 | if (s) |
81 | return 1; | 81 | return 1; |
82 | 82 | ||
83 | /* This should fail, but succeeds for glibc-2.5. */ | 83 | /* This should fail, but succeeds for glibc-2.5. */ |
84 | if (re_search (®ex, "a\nb", 3, 0, 3, ®s) != -1) | 84 | if (re_search (®ex, "a\nb", 3, 0, 3, ®s) != -1) |
85 | return 1; | 85 | return 1; |
86 | 86 | ||
87 | /* This regular expression is from Spencer ere test number 75 | 87 | /* This regular expression is from Spencer ere test number 75 |
88 | in grep-2.3. */ | 88 | in grep-2.3. */ |
89 | re_set_syntax (RE_SYNTAX_POSIX_EGREP); | 89 | re_set_syntax (RE_SYNTAX_POSIX_EGREP); |
90 | memset (®ex, 0, sizeof regex); | 90 | memset (®ex, 0, sizeof regex); |
91 | for (i = 0; i <= UCHAR_MAX; i++) | 91 | for (i = 0; i <= UCHAR_MAX; i++) |
92 | folded_chars[i] = i; | 92 | folded_chars[i] = i; |
93 | regex.translate = folded_chars; | 93 | regex.translate = folded_chars; |
94 | s = re_compile_pattern ("a[[:@:>@:]]b\n", 11, ®ex); | 94 | s = re_compile_pattern ("a[[:@:>@:]]b\n", 11, ®ex); |
95 | /* This should fail with _Invalid character class name_ error. */ | 95 | /* This should fail with _Invalid character class name_ error. */ |
96 | if (!s) | 96 | if (!s) |
97 | return 1; | 97 | return 1; |
98 | 98 | ||
99 | /* This should succeed, but does not for glibc-2.1.3. */ | 99 | /* Ensure that [b-a] is diagnosed as invalid, when |
100 | memset (®ex, 0, sizeof regex); | 100 | using RE_NO_EMPTY_RANGES. */ |
101 | s = re_compile_pattern ("{1", 2, ®ex); | 101 | re_set_syntax (RE_SYNTAX_POSIX_EGREP | RE_NO_EMPTY_RANGES); |
102 | 102 | memset (®ex, 0, sizeof regex); | |
103 | if (s) | 103 | s = re_compile_pattern ("a[b-a]", 6, ®ex); |
104 | return 1; | 104 | if (s == 0) |
105 | 105 | return 1; | |
106 | /* The following example is derived from a problem report | 106 | |
107 | against gawk from Jorge Stolfi <stolfi@ic.unicamp.br>. */ | 107 | /* This should succeed, but does not for glibc-2.1.3. */ |
108 | memset (®ex, 0, sizeof regex); | 108 | memset (®ex, 0, sizeof regex); |
109 | s = re_compile_pattern ("[an\371]*n", 7, ®ex); | 109 | s = re_compile_pattern ("{1", 2, ®ex); |
110 | if (s) | 110 | |
111 | return 1; | 111 | if (s) |
112 | 112 | return 1; | |
113 | /* This should match, but does not for glibc-2.2.1. */ | 113 | |
114 | if (re_match (®ex, "an", 2, 0, ®s) != 2) | 114 | /* The following example is derived from a problem report |
115 | return 1; | 115 | against gawk from Jorge Stolfi <stolfi@ic.unicamp.br>. */ |
116 | 116 | memset (®ex, 0, sizeof regex); | |
117 | memset (®ex, 0, sizeof regex); | 117 | s = re_compile_pattern ("[an\371]*n", 7, ®ex); |
118 | s = re_compile_pattern ("x", 1, ®ex); | 118 | if (s) |
119 | if (s) | 119 | return 1; |
120 | return 1; | 120 | |
121 | 121 | /* This should match, but does not for glibc-2.2.1. */ | |
122 | /* glibc-2.2.93 does not work with a negative RANGE argument. */ | 122 | if (re_match (®ex, "an", 2, 0, ®s) != 2) |
123 | if (re_search (®ex, "wxy", 3, 2, -2, ®s) != 1) | 123 | return 1; |
124 | return 1; | 124 | |
125 | 125 | memset (®ex, 0, sizeof regex); | |
126 | /* The version of regex.c in older versions of gnulib | 126 | s = re_compile_pattern ("x", 1, ®ex); |
127 | ignored RE_ICASE. Detect that problem too. */ | 127 | if (s) |
128 | re_set_syntax (RE_SYNTAX_EMACS | RE_ICASE); | 128 | return 1; |
129 | memset (®ex, 0, sizeof regex); | 129 | |
130 | s = re_compile_pattern ("x", 1, ®ex); | 130 | /* glibc-2.2.93 does not work with a negative RANGE argument. */ |
131 | if (s) | 131 | if (re_search (®ex, "wxy", 3, 2, -2, ®s) != 1) |
132 | return 1; | 132 | return 1; |
133 | 133 | ||
134 | if (re_search (®ex, "WXY", 3, 0, 3, ®s) < 0) | 134 | /* The version of regex.c in older versions of gnulib |
135 | return 1; | 135 | ignored RE_ICASE. Detect that problem too. */ |
136 | 136 | re_set_syntax (RE_SYNTAX_EMACS | RE_ICASE); | |
137 | /* Catch a bug reported by Vin Shelton in | 137 | memset (®ex, 0, sizeof regex); |
138 | http://lists.gnu.org/archive/html/bug-coreutils/2007-06/msg00089.html | 138 | s = re_compile_pattern ("x", 1, ®ex); |
139 | */ | 139 | if (s) |
140 | re_set_syntax (RE_SYNTAX_POSIX_BASIC | 140 | return 1; |
141 | & ~RE_CONTEXT_INVALID_DUP | 141 | |
142 | & ~RE_NO_EMPTY_RANGES); | 142 | if (re_search (®ex, "WXY", 3, 0, 3, ®s) < 0) |
143 | memset (®ex, 0, sizeof regex); | 143 | return 1; |
144 | s = re_compile_pattern ("[[:alnum:]_-]\\\\+$", 16, ®ex); | 144 | |
145 | if (s) | 145 | /* Catch a bug reported by Vin Shelton in |
146 | return 1; | 146 | http://lists.gnu.org/archive/html/bug-coreutils/2007-06/msg00089.html |
147 | 147 | */ | |
148 | /* REG_STARTEND was added to glibc on 2004-01-15. | 148 | re_set_syntax (RE_SYNTAX_POSIX_BASIC |
149 | Reject older versions. */ | 149 | & ~RE_CONTEXT_INVALID_DUP |
150 | if (! REG_STARTEND) | 150 | & ~RE_NO_EMPTY_RANGES); |
151 | return 1; | 151 | memset (®ex, 0, sizeof regex); |
152 | 152 | s = re_compile_pattern ("[[:alnum:]_-]\\\\+$", 16, ®ex); | |
153 | /* Reject hosts whose regoff_t values are too narrow. | 153 | if (s) |
154 | These include glibc 2.3.5 on hosts with 64-bit ptrdiff_t | 154 | return 1; |
155 | and 32-bit int. */ | 155 | |
156 | if (sizeof (regoff_t) < sizeof (ptrdiff_t) | 156 | /* REG_STARTEND was added to glibc on 2004-01-15. |
157 | || sizeof (regoff_t) < sizeof (ssize_t)) | 157 | Reject older versions. */ |
158 | return 1; | 158 | if (! REG_STARTEND) |
159 | 159 | return 1; | |
160 | return 0;]])], | 160 | |
161 | /* Reject hosts whose regoff_t values are too narrow. | ||
162 | These include glibc 2.3.5 on hosts with 64-bit ptrdiff_t | ||
163 | and 32-bit int. */ | ||
164 | if (sizeof (regoff_t) < sizeof (ptrdiff_t) | ||
165 | || sizeof (regoff_t) < sizeof (ssize_t)) | ||
166 | return 1; | ||
167 | |||
168 | return 0;]])], | ||
161 | [gl_cv_func_re_compile_pattern_working=yes], | 169 | [gl_cv_func_re_compile_pattern_working=yes], |
162 | [gl_cv_func_re_compile_pattern_working=no], | 170 | [gl_cv_func_re_compile_pattern_working=no], |
163 | dnl When crosscompiling, assume it is not working. | 171 | dnl When crosscompiling, assume it is not working. |
@@ -213,6 +221,7 @@ AC_DEFUN([gl_REGEX], | |||
213 | AC_DEFUN([gl_PREREQ_REGEX], | 221 | AC_DEFUN([gl_PREREQ_REGEX], |
214 | [ | 222 | [ |
215 | AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) | 223 | AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) |
224 | AC_REQUIRE([AC_C_INLINE]) | ||
216 | AC_REQUIRE([AC_C_RESTRICT]) | 225 | AC_REQUIRE([AC_C_RESTRICT]) |
217 | AC_REQUIRE([AC_TYPE_MBSTATE_T]) | 226 | AC_REQUIRE([AC_TYPE_MBSTATE_T]) |
218 | AC_CHECK_HEADERS([libintl.h]) | 227 | AC_CHECK_HEADERS([libintl.h]) |
diff --git a/gl/m4/safe-read.m4 b/gl/m4/safe-read.m4 index 7a89d0a6..d087bd30 100644 --- a/gl/m4/safe-read.m4 +++ b/gl/m4/safe-read.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # safe-read.m4 serial 5 | 1 | # safe-read.m4 serial 5 |
2 | dnl Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2003, 2005-2006, 2009-2010 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. |
diff --git a/gl/m4/safe-write.m4 b/gl/m4/safe-write.m4 index db119ffa..2ff11d27 100644 --- a/gl/m4/safe-write.m4 +++ b/gl/m4/safe-write.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # safe-write.m4 serial 3 | 1 | # safe-write.m4 serial 3 |
2 | dnl Copyright (C) 2002, 2005, 2006 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002, 2005-2006, 2009-2010 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/servent.m4 b/gl/m4/servent.m4 index 242f9e36..2ed961a4 100644 --- a/gl/m4/servent.m4 +++ b/gl/m4/servent.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # servent.m4 serial 1 | 1 | # servent.m4 serial 1 |
2 | dnl Copyright (C) 2008 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2008, 2009, 2010 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/size_max.m4 b/gl/m4/size_max.m4 index e0e7b3ff..ce992db1 100644 --- a/gl/m4/size_max.m4 +++ b/gl/m4/size_max.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # size_max.m4 serial 7 | 1 | # size_max.m4 serial 9 |
2 | dnl Copyright (C) 2003, 2005-2006, 2008 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2003, 2005-2006, 2008-2010 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,8 +10,7 @@ AC_DEFUN([gl_SIZE_MAX], | |||
10 | [ | 10 | [ |
11 | AC_CHECK_HEADERS([stdint.h]) | 11 | AC_CHECK_HEADERS([stdint.h]) |
12 | dnl First test whether the system already has SIZE_MAX. | 12 | dnl First test whether the system already has SIZE_MAX. |
13 | AC_MSG_CHECKING([for SIZE_MAX]) | 13 | AC_CACHE_CHECK([for SIZE_MAX], [gl_cv_size_max], [ |
14 | AC_CACHE_VAL([gl_cv_size_max], [ | ||
15 | gl_cv_size_max= | 14 | gl_cv_size_max= |
16 | AC_EGREP_CPP([Found it], [ | 15 | AC_EGREP_CPP([Found it], [ |
17 | #include <limits.h> | 16 | #include <limits.h> |
@@ -54,11 +53,19 @@ Found it | |||
54 | fi | 53 | fi |
55 | fi | 54 | fi |
56 | ]) | 55 | ]) |
57 | AC_MSG_RESULT([$gl_cv_size_max]) | ||
58 | if test "$gl_cv_size_max" != yes; then | 56 | if test "$gl_cv_size_max" != yes; then |
59 | AC_DEFINE_UNQUOTED([SIZE_MAX], [$gl_cv_size_max], | 57 | AC_DEFINE_UNQUOTED([SIZE_MAX], [$gl_cv_size_max], |
60 | [Define as the maximum value of type 'size_t', if the system doesn't define it.]) | 58 | [Define as the maximum value of type 'size_t', if the system doesn't define it.]) |
61 | fi | 59 | fi |
60 | dnl Don't redefine SIZE_MAX in config.h if config.h is re-included after | ||
61 | dnl <stdint.h>. Remember that the #undef in AH_VERBATIM gets replaced with | ||
62 | dnl #define by AC_DEFINE_UNQUOTED. | ||
63 | AH_VERBATIM([SIZE_MAX], | ||
64 | [/* Define as the maximum value of type 'size_t', if the system doesn't define | ||
65 | it. */ | ||
66 | #ifndef SIZE_MAX | ||
67 | # undef SIZE_MAX | ||
68 | #endif]) | ||
62 | ]) | 69 | ]) |
63 | 70 | ||
64 | dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in. | 71 | dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in. |
diff --git a/gl/m4/snprintf.m4 b/gl/m4/snprintf.m4 index 6021786e..522b107b 100644 --- a/gl/m4/snprintf.m4 +++ b/gl/m4/snprintf.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # snprintf.m4 serial 5 | 1 | # snprintf.m4 serial 5 |
2 | dnl Copyright (C) 2002-2004, 2007-2008 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2004, 2007-2010 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/sockets.m4 b/gl/m4/sockets.m4 new file mode 100644 index 00000000..aefb9360 --- /dev/null +++ b/gl/m4/sockets.m4 | |||
@@ -0,0 +1,90 @@ | |||
1 | # sockets.m4 serial 6 | ||
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_SOCKETS], | ||
8 | [ | ||
9 | AC_REQUIRE([AC_C_INLINE]) | ||
10 | |||
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 | ||
85 | ]) | ||
86 | |||
87 | # Prerequisites of lib/sockets.c. | ||
88 | AC_DEFUN([gl_PREREQ_SOCKETS], [ | ||
89 | : | ||
90 | ]) | ||
diff --git a/gl/m4/socklen.m4 b/gl/m4/socklen.m4 index b755757b..2933d4b8 100644 --- a/gl/m4/socklen.m4 +++ b/gl/m4/socklen.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # socklen.m4 serial 6 | 1 | # socklen.m4 serial 7 |
2 | dnl Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2005, 2006, 2007, 2009, 2010 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,30 +20,30 @@ AC_DEFUN([gl_TYPE_SOCKLEN_T], | |||
20 | AC_CHECK_TYPE([socklen_t], , | 20 | AC_CHECK_TYPE([socklen_t], , |
21 | [AC_MSG_CHECKING([for socklen_t equivalent]) | 21 | [AC_MSG_CHECKING([for socklen_t equivalent]) |
22 | AC_CACHE_VAL([gl_cv_socklen_t_equiv], | 22 | AC_CACHE_VAL([gl_cv_socklen_t_equiv], |
23 | [# Systems have either "struct sockaddr *" or | 23 | [# Systems have either "struct sockaddr *" or |
24 | # "void *" as the second argument to getpeername | 24 | # "void *" as the second argument to getpeername |
25 | gl_cv_socklen_t_equiv= | 25 | gl_cv_socklen_t_equiv= |
26 | for arg2 in "struct sockaddr" void; do | 26 | for arg2 in "struct sockaddr" void; do |
27 | for t in int size_t "unsigned int" "long int" "unsigned long int"; do | 27 | for t in int size_t "unsigned int" "long int" "unsigned long int"; do |
28 | AC_TRY_COMPILE( | 28 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM( |
29 | [#include <sys/types.h> | 29 | [[#include <sys/types.h> |
30 | #include <sys/socket.h> | 30 | #include <sys/socket.h> |
31 | 31 | ||
32 | int getpeername (int, $arg2 *, $t *);], | 32 | int getpeername (int, $arg2 *, $t *);]], |
33 | [$t len; | 33 | [[$t len; |
34 | getpeername (0, 0, &len);], | 34 | getpeername (0, 0, &len);]])], |
35 | [gl_cv_socklen_t_equiv="$t"]) | 35 | [gl_cv_socklen_t_equiv="$t"]) |
36 | test "$gl_cv_socklen_t_equiv" != "" && break | 36 | test "$gl_cv_socklen_t_equiv" != "" && break |
37 | done | 37 | done |
38 | test "$gl_cv_socklen_t_equiv" != "" && break | 38 | test "$gl_cv_socklen_t_equiv" != "" && break |
39 | done | 39 | done |
40 | ]) | 40 | ]) |
41 | if test "$gl_cv_socklen_t_equiv" = ""; then | 41 | if test "$gl_cv_socklen_t_equiv" = ""; then |
42 | AC_MSG_ERROR([Cannot find a type to use in place of socklen_t]) | 42 | AC_MSG_ERROR([Cannot find a type to use in place of socklen_t]) |
43 | fi | 43 | fi |
44 | AC_MSG_RESULT([$gl_cv_socklen_t_equiv]) | 44 | AC_MSG_RESULT([$gl_cv_socklen_t_equiv]) |
45 | AC_DEFINE_UNQUOTED([socklen_t], [$gl_cv_socklen_t_equiv], | 45 | AC_DEFINE_UNQUOTED([socklen_t], [$gl_cv_socklen_t_equiv], |
46 | [type to use in place of socklen_t if not defined])], | 46 | [type to use in place of socklen_t if not defined])], |
47 | [#include <sys/types.h> | 47 | [#include <sys/types.h> |
48 | #if HAVE_SYS_SOCKET_H | 48 | #if HAVE_SYS_SOCKET_H |
49 | # include <sys/socket.h> | 49 | # include <sys/socket.h> |
diff --git a/gl/m4/sockpfaf.m4 b/gl/m4/sockpfaf.m4 index 99ea06f9..8a0c2360 100644 --- a/gl/m4/sockpfaf.m4 +++ b/gl/m4/sockpfaf.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # sockpfaf.m4 serial 6 | 1 | # sockpfaf.m4 serial 7 |
2 | dnl Copyright (C) 2004, 2006, 2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2004, 2006, 2009, 2010 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([gl_SOCKET_FAMILIES], | |||
18 | 18 | ||
19 | AC_MSG_CHECKING([for IPv4 sockets]) | 19 | AC_MSG_CHECKING([for IPv4 sockets]) |
20 | AC_CACHE_VAL([gl_cv_socket_ipv4], | 20 | AC_CACHE_VAL([gl_cv_socket_ipv4], |
21 | [AC_TRY_COMPILE([#include <sys/types.h> | 21 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h> |
22 | #ifdef HAVE_SYS_SOCKET_H | 22 | #ifdef HAVE_SYS_SOCKET_H |
23 | #include <sys/socket.h> | 23 | #include <sys/socket.h> |
24 | #endif | 24 | #endif |
@@ -27,9 +27,9 @@ AC_DEFUN([gl_SOCKET_FAMILIES], | |||
27 | #endif | 27 | #endif |
28 | #ifdef HAVE_WINSOCK2_H | 28 | #ifdef HAVE_WINSOCK2_H |
29 | #include <winsock2.h> | 29 | #include <winsock2.h> |
30 | #endif], | 30 | #endif]], |
31 | [int x = AF_INET; struct in_addr y; struct sockaddr_in z; | 31 | [[int x = AF_INET; struct in_addr y; struct sockaddr_in z; |
32 | if (&x && &y && &z) return 0;], | 32 | if (&x && &y && &z) return 0;]])], |
33 | gl_cv_socket_ipv4=yes, gl_cv_socket_ipv4=no)]) | 33 | gl_cv_socket_ipv4=yes, gl_cv_socket_ipv4=no)]) |
34 | AC_MSG_RESULT([$gl_cv_socket_ipv4]) | 34 | AC_MSG_RESULT([$gl_cv_socket_ipv4]) |
35 | if test $gl_cv_socket_ipv4 = yes; then | 35 | if test $gl_cv_socket_ipv4 = yes; then |
@@ -38,7 +38,7 @@ AC_DEFUN([gl_SOCKET_FAMILIES], | |||
38 | 38 | ||
39 | AC_MSG_CHECKING([for IPv6 sockets]) | 39 | AC_MSG_CHECKING([for IPv6 sockets]) |
40 | AC_CACHE_VAL([gl_cv_socket_ipv6], | 40 | AC_CACHE_VAL([gl_cv_socket_ipv6], |
41 | [AC_TRY_COMPILE([#include <sys/types.h> | 41 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h> |
42 | #ifdef HAVE_SYS_SOCKET_H | 42 | #ifdef HAVE_SYS_SOCKET_H |
43 | #include <sys/socket.h> | 43 | #include <sys/socket.h> |
44 | #endif | 44 | #endif |
@@ -47,9 +47,9 @@ AC_DEFUN([gl_SOCKET_FAMILIES], | |||
47 | #endif | 47 | #endif |
48 | #ifdef HAVE_WINSOCK2_H | 48 | #ifdef HAVE_WINSOCK2_H |
49 | #include <winsock2.h> | 49 | #include <winsock2.h> |
50 | #endif], | 50 | #endif]], |
51 | [int x = AF_INET6; struct in6_addr y; struct sockaddr_in6 z; | 51 | [[int x = AF_INET6; struct in6_addr y; struct sockaddr_in6 z; |
52 | if (&x && &y && &z) return 0;], | 52 | if (&x && &y && &z) return 0;]])], |
53 | gl_cv_socket_ipv6=yes, gl_cv_socket_ipv6=no)]) | 53 | gl_cv_socket_ipv6=yes, gl_cv_socket_ipv6=no)]) |
54 | AC_MSG_RESULT([$gl_cv_socket_ipv6]) | 54 | AC_MSG_RESULT([$gl_cv_socket_ipv6]) |
55 | if test $gl_cv_socket_ipv6 = yes; then | 55 | if test $gl_cv_socket_ipv6 = yes; then |
diff --git a/gl/m4/ssize_t.m4 b/gl/m4/ssize_t.m4 index 4eaef93c..e0ccee3a 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 4 (gettext-0.15) |
2 | dnl Copyright (C) 2001-2003, 2006 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2001-2003, 2006, 2009-2010 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/stat.m4 b/gl/m4/stat.m4 new file mode 100644 index 00000000..acd32d86 --- /dev/null +++ b/gl/m4/stat.m4 | |||
@@ -0,0 +1,63 @@ | |||
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/stdbool.m4 b/gl/m4/stdbool.m4 index 57c804a8..3d672d74 100644 --- a/gl/m4/stdbool.m4 +++ b/gl/m4/stdbool.m4 | |||
@@ -1,6 +1,6 @@ | |||
1 | # Check for stdbool.h that conforms to C99. | 1 | # Check for stdbool.h that conforms to C99. |
2 | 2 | ||
3 | dnl Copyright (C) 2002-2006, 2009 Free Software Foundation, Inc. | 3 | dnl Copyright (C) 2002-2006, 2009-2010 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. |
@@ -38,77 +38,77 @@ AC_DEFUN([AC_HEADER_STDBOOL], | |||
38 | [AC_CACHE_CHECK([for stdbool.h that conforms to C99], | 38 | [AC_CACHE_CHECK([for stdbool.h that conforms to C99], |
39 | [ac_cv_header_stdbool_h], | 39 | [ac_cv_header_stdbool_h], |
40 | [AC_TRY_COMPILE( | 40 | [AC_TRY_COMPILE( |
41 | [ | 41 | [ |
42 | #include <stdbool.h> | 42 | #include <stdbool.h> |
43 | #ifndef bool | 43 | #ifndef bool |
44 | "error: bool is not defined" | 44 | "error: bool is not defined" |
45 | #endif | 45 | #endif |
46 | #ifndef false | 46 | #ifndef false |
47 | "error: false is not defined" | 47 | "error: false is not defined" |
48 | #endif | 48 | #endif |
49 | #if false | 49 | #if false |
50 | "error: false is not 0" | 50 | "error: false is not 0" |
51 | #endif | 51 | #endif |
52 | #ifndef true | 52 | #ifndef true |
53 | "error: true is not defined" | 53 | "error: true is not defined" |
54 | #endif | 54 | #endif |
55 | #if true != 1 | 55 | #if true != 1 |
56 | "error: true is not 1" | 56 | "error: true is not 1" |
57 | #endif | 57 | #endif |
58 | #ifndef __bool_true_false_are_defined | 58 | #ifndef __bool_true_false_are_defined |
59 | "error: __bool_true_false_are_defined is not defined" | 59 | "error: __bool_true_false_are_defined is not defined" |
60 | #endif | 60 | #endif |
61 | 61 | ||
62 | struct s { _Bool s: 1; _Bool t; } s; | 62 | struct s { _Bool s: 1; _Bool t; } s; |
63 | 63 | ||
64 | char a[true == 1 ? 1 : -1]; | 64 | char a[true == 1 ? 1 : -1]; |
65 | char b[false == 0 ? 1 : -1]; | 65 | char b[false == 0 ? 1 : -1]; |
66 | char c[__bool_true_false_are_defined == 1 ? 1 : -1]; | 66 | char c[__bool_true_false_are_defined == 1 ? 1 : -1]; |
67 | char d[(bool) 0.5 == true ? 1 : -1]; | 67 | char d[(bool) 0.5 == true ? 1 : -1]; |
68 | bool e = &s; | 68 | bool e = &s; |
69 | char f[(_Bool) 0.0 == false ? 1 : -1]; | 69 | char f[(_Bool) 0.0 == false ? 1 : -1]; |
70 | char g[true]; | 70 | char g[true]; |
71 | char h[sizeof (_Bool)]; | 71 | char h[sizeof (_Bool)]; |
72 | char i[sizeof s.t]; | 72 | char i[sizeof s.t]; |
73 | enum { j = false, k = true, l = false * true, m = true * 256 }; | 73 | enum { j = false, k = true, l = false * true, m = true * 256 }; |
74 | _Bool n[m]; | 74 | _Bool n[m]; |
75 | char o[sizeof n == m * sizeof n[0] ? 1 : -1]; | 75 | char o[sizeof n == m * sizeof n[0] ? 1 : -1]; |
76 | char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; | 76 | char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; |
77 | #if defined __xlc__ || defined __GNUC__ | 77 | #if defined __xlc__ || defined __GNUC__ |
78 | /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0 | 78 | /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0 |
79 | reported by James Lemley on 2005-10-05; see | 79 | reported by James Lemley on 2005-10-05; see |
80 | http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html | 80 | http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html |
81 | This test is not quite right, since xlc is allowed to | 81 | This test is not quite right, since xlc is allowed to |
82 | reject this program, as the initializer for xlcbug is | 82 | reject this program, as the initializer for xlcbug is |
83 | not one of the forms that C requires support for. | 83 | not one of the forms that C requires support for. |
84 | However, doing the test right would require a run-time | 84 | However, doing the test right would require a run-time |
85 | test, and that would make cross-compilation harder. | 85 | test, and that would make cross-compilation harder. |
86 | Let us hope that IBM fixes the xlc bug, and also adds | 86 | Let us hope that IBM fixes the xlc bug, and also adds |
87 | support for this kind of constant expression. In the | 87 | support for this kind of constant expression. In the |
88 | meantime, this test will reject xlc, which is OK, since | 88 | meantime, this test will reject xlc, which is OK, since |
89 | our stdbool.h substitute should suffice. We also test | 89 | our stdbool.h substitute should suffice. We also test |
90 | this with GCC, where it should work, to detect more | 90 | this with GCC, where it should work, to detect more |
91 | quickly whether someone messes up the test in the | 91 | quickly whether someone messes up the test in the |
92 | future. */ | 92 | future. */ |
93 | char digs[] = "0123456789"; | 93 | char digs[] = "0123456789"; |
94 | int xlcbug = 1 / (&(digs + 5)[-2 + (bool) 1] == &digs[4] ? 1 : -1); | 94 | int xlcbug = 1 / (&(digs + 5)[-2 + (bool) 1] == &digs[4] ? 1 : -1); |
95 | #endif | 95 | #endif |
96 | /* Catch a bug in an HP-UX C compiler. See | 96 | /* Catch a bug in an HP-UX C compiler. See |
97 | http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html | 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 | 98 | http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html |
99 | */ | 99 | */ |
100 | _Bool q = true; | 100 | _Bool q = true; |
101 | _Bool *pq = &q; | 101 | _Bool *pq = &q; |
102 | ], | 102 | ], |
103 | [ | 103 | [ |
104 | *pq |= q; | 104 | *pq |= q; |
105 | *pq |= ! q; | 105 | *pq |= ! q; |
106 | /* Refer to every declared value, to avoid compiler optimizations. */ | 106 | /* Refer to every declared value, to avoid compiler optimizations. */ |
107 | return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l | 107 | return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l |
108 | + !m + !n + !o + !p + !q + !pq); | 108 | + !m + !n + !o + !p + !q + !pq); |
109 | ], | 109 | ], |
110 | [ac_cv_header_stdbool_h=yes], | 110 | [ac_cv_header_stdbool_h=yes], |
111 | [ac_cv_header_stdbool_h=no])]) | 111 | [ac_cv_header_stdbool_h=no])]) |
112 | AC_CHECK_TYPES([_Bool]) | 112 | AC_CHECK_TYPES([_Bool]) |
113 | if test $ac_cv_header_stdbool_h = yes; then | 113 | if test $ac_cv_header_stdbool_h = yes; then |
114 | AC_DEFINE([HAVE_STDBOOL_H], [1], [Define to 1 if stdbool.h conforms to C99.]) | 114 | AC_DEFINE([HAVE_STDBOOL_H], [1], [Define to 1 if stdbool.h conforms to C99.]) |
diff --git a/gl/m4/stddef_h.m4 b/gl/m4/stddef_h.m4 new file mode 100644 index 00000000..c3ae5694 --- /dev/null +++ b/gl/m4/stddef_h.m4 | |||
@@ -0,0 +1,45 @@ | |||
1 | dnl A placeholder for POSIX 2008 <stddef.h>, for platforms that have issues. | ||
2 | # stddef_h.m4 serial 2 | ||
3 | dnl Copyright (C) 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 | AC_DEFUN([gl_STDDEF_H], | ||
9 | [ | ||
10 | AC_REQUIRE([gl_STDDEF_H_DEFAULTS]) | ||
11 | AC_REQUIRE([gt_TYPE_WCHAR_T]) | ||
12 | if test $gt_cv_c_wchar_t = no; then | ||
13 | HAVE_WCHAR_T=0 | ||
14 | STDDEF_H=stddef.h | ||
15 | fi | ||
16 | AC_CACHE_CHECK([whether NULL can be used in arbitrary expressions], | ||
17 | [gl_cv_decl_null_works], | ||
18 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stddef.h> | ||
19 | int test[2 * (sizeof NULL == sizeof (void *)) -1]; | ||
20 | ]])], | ||
21 | [gl_cv_decl_null_works=yes], | ||
22 | [gl_cv_decl_null_works=no])]) | ||
23 | if test $gl_cv_decl_null_works = no; then | ||
24 | REPLACE_NULL=1 | ||
25 | STDDEF_H=stddef.h | ||
26 | fi | ||
27 | if test -n "$STDDEF_H"; then | ||
28 | gl_CHECK_NEXT_HEADERS([stddef.h]) | ||
29 | fi | ||
30 | ]) | ||
31 | |||
32 | AC_DEFUN([gl_STDDEF_MODULE_INDICATOR], | ||
33 | [ | ||
34 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. | ||
35 | AC_REQUIRE([gl_STDDEF_H_DEFAULTS]) | ||
36 | gl_MODULE_INDICATOR_SET_VARIABLE([$1]) | ||
37 | ]) | ||
38 | |||
39 | AC_DEFUN([gl_STDDEF_H_DEFAULTS], | ||
40 | [ | ||
41 | dnl Assume proper GNU behavior unless another module says otherwise. | ||
42 | REPLACE_NULL=0; AC_SUBST([REPLACE_NULL]) | ||
43 | HAVE_WCHAR_T=1; AC_SUBST([HAVE_WCHAR_T]) | ||
44 | STDDEF_H=''; AC_SUBST([STDDEF_H]) | ||
45 | ]) | ||
diff --git a/gl/m4/stdint.m4 b/gl/m4/stdint.m4 index a2e8bdd6..1cc57e6e 100644 --- a/gl/m4/stdint.m4 +++ b/gl/m4/stdint.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # stdint.m4 serial 34 | 1 | # stdint.m4 serial 34 |
2 | dnl Copyright (C) 2001-2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2001-2010 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. |
@@ -396,12 +396,12 @@ AC_DEFUN([gl_INTEGER_TYPE_SUFFIX], | |||
396 | for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do | 396 | for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do |
397 | case $glsuf in | 397 | case $glsuf in |
398 | '') gltype1='int';; | 398 | '') gltype1='int';; |
399 | l) gltype1='long int';; | 399 | l) gltype1='long int';; |
400 | ll) gltype1='long long int';; | 400 | ll) gltype1='long long int';; |
401 | i64) gltype1='__int64';; | 401 | i64) gltype1='__int64';; |
402 | u) gltype1='unsigned int';; | 402 | u) gltype1='unsigned int';; |
403 | ul) gltype1='unsigned long int';; | 403 | ul) gltype1='unsigned long int';; |
404 | ull) gltype1='unsigned long long int';; | 404 | ull) gltype1='unsigned long long int';; |
405 | ui64)gltype1='unsigned __int64';; | 405 | ui64)gltype1='unsigned __int64';; |
406 | esac | 406 | esac |
407 | AC_COMPILE_IFELSE( | 407 | AC_COMPILE_IFELSE( |
diff --git a/gl/m4/stdint_h.m4 b/gl/m4/stdint_h.m4 index 82f0c244..b8e3c6cc 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 8 |
2 | dnl Copyright (C) 1997-2004, 2006, 2008, 2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1997-2004, 2006, 2008-2010 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/stdio_h.m4 b/gl/m4/stdio_h.m4 index 846b65d3..1d1d95e5 100644 --- a/gl/m4/stdio_h.m4 +++ b/gl/m4/stdio_h.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # stdio_h.m4 serial 15 | 1 | # stdio_h.m4 serial 30 |
2 | dnl Copyright (C) 2007-2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007-2010 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_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_CHECK_NEXT_HEADERS([stdio.h]) | 11 | gl_CHECK_NEXT_HEADERS([stdio.h]) |
11 | dnl No need to create extra modules for these functions. Everyone who uses | 12 | dnl No need to create extra modules for these functions. Everyone who uses |
12 | dnl <stdio.h> likely needs them. | 13 | dnl <stdio.h> likely needs them. |
@@ -30,86 +31,110 @@ AC_DEFUN([gl_STDIO_H], | |||
30 | AC_LIBOBJ([stdio-write]) | 31 | AC_LIBOBJ([stdio-write]) |
31 | fi | 32 | fi |
32 | ]) | 33 | ]) |
34 | |||
35 | dnl Check for declarations of anything we want to poison if the | ||
36 | dnl corresponding gnulib module is not in use, and which is not | ||
37 | dnl guaranteed by C89. | ||
38 | gl_WARN_ON_USE_PREPARE([[#include <stdio.h> | ||
39 | ]], [dprintf fpurge fseeko ftello getdelim getline popen renameat | ||
40 | snprintf tmpfile vdprintf vsnprintf]) | ||
33 | ]) | 41 | ]) |
34 | 42 | ||
35 | AC_DEFUN([gl_STDIO_MODULE_INDICATOR], | 43 | AC_DEFUN([gl_STDIO_MODULE_INDICATOR], |
36 | [ | 44 | [ |
37 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. | 45 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. |
38 | AC_REQUIRE([gl_STDIO_H_DEFAULTS]) | 46 | AC_REQUIRE([gl_STDIO_H_DEFAULTS]) |
39 | GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 | 47 | gl_MODULE_INDICATOR_SET_VARIABLE([$1]) |
48 | dnl Define it also as a C macro, for the benefit of the unit tests. | ||
49 | gl_MODULE_INDICATOR_FOR_TESTS([$1]) | ||
40 | ]) | 50 | ]) |
41 | 51 | ||
42 | AC_DEFUN([gl_STDIO_H_DEFAULTS], | 52 | AC_DEFUN([gl_STDIO_H_DEFAULTS], |
43 | [ | 53 | [ |
44 | GNULIB_FPRINTF=0; AC_SUBST([GNULIB_FPRINTF]) | ||
45 | GNULIB_FPRINTF_POSIX=0; AC_SUBST([GNULIB_FPRINTF_POSIX]) | ||
46 | GNULIB_PRINTF=0; AC_SUBST([GNULIB_PRINTF]) | ||
47 | GNULIB_PRINTF_POSIX=0; AC_SUBST([GNULIB_PRINTF_POSIX]) | ||
48 | GNULIB_SNPRINTF=0; AC_SUBST([GNULIB_SNPRINTF]) | ||
49 | GNULIB_SPRINTF_POSIX=0; AC_SUBST([GNULIB_SPRINTF_POSIX]) | ||
50 | GNULIB_VFPRINTF=0; AC_SUBST([GNULIB_VFPRINTF]) | ||
51 | GNULIB_VFPRINTF_POSIX=0; AC_SUBST([GNULIB_VFPRINTF_POSIX]) | ||
52 | GNULIB_VPRINTF=0; AC_SUBST([GNULIB_VPRINTF]) | ||
53 | GNULIB_VPRINTF_POSIX=0; AC_SUBST([GNULIB_VPRINTF_POSIX]) | ||
54 | GNULIB_VSNPRINTF=0; AC_SUBST([GNULIB_VSNPRINTF]) | ||
55 | GNULIB_VSPRINTF_POSIX=0; AC_SUBST([GNULIB_VSPRINTF_POSIX]) | ||
56 | GNULIB_DPRINTF=0; AC_SUBST([GNULIB_DPRINTF]) | 54 | GNULIB_DPRINTF=0; AC_SUBST([GNULIB_DPRINTF]) |
57 | GNULIB_VDPRINTF=0; AC_SUBST([GNULIB_VDPRINTF]) | 55 | GNULIB_FCLOSE=0; AC_SUBST([GNULIB_FCLOSE]) |
58 | GNULIB_VASPRINTF=0; AC_SUBST([GNULIB_VASPRINTF]) | 56 | GNULIB_FFLUSH=0; AC_SUBST([GNULIB_FFLUSH]) |
59 | GNULIB_OBSTACK_PRINTF=0; AC_SUBST([GNULIB_OBSTACK_PRINTF]) | ||
60 | GNULIB_OBSTACK_PRINTF_POSIX=0; AC_SUBST([GNULIB_OBSTACK_PRINTF_POSIX]) | ||
61 | GNULIB_FOPEN=0; AC_SUBST([GNULIB_FOPEN]) | 57 | GNULIB_FOPEN=0; AC_SUBST([GNULIB_FOPEN]) |
58 | GNULIB_FPRINTF=0; AC_SUBST([GNULIB_FPRINTF]) | ||
59 | GNULIB_FPRINTF_POSIX=0; AC_SUBST([GNULIB_FPRINTF_POSIX]) | ||
60 | GNULIB_FPURGE=0; AC_SUBST([GNULIB_FPURGE]) | ||
61 | GNULIB_FPUTC=0; AC_SUBST([GNULIB_FPUTC]) | ||
62 | GNULIB_FPUTS=0; AC_SUBST([GNULIB_FPUTS]) | ||
62 | GNULIB_FREOPEN=0; AC_SUBST([GNULIB_FREOPEN]) | 63 | GNULIB_FREOPEN=0; AC_SUBST([GNULIB_FREOPEN]) |
63 | GNULIB_FSEEK=0; AC_SUBST([GNULIB_FSEEK]) | 64 | GNULIB_FSEEK=0; AC_SUBST([GNULIB_FSEEK]) |
64 | GNULIB_FSEEKO=0; AC_SUBST([GNULIB_FSEEKO]) | 65 | GNULIB_FSEEKO=0; AC_SUBST([GNULIB_FSEEKO]) |
65 | GNULIB_FTELL=0; AC_SUBST([GNULIB_FTELL]) | 66 | GNULIB_FTELL=0; AC_SUBST([GNULIB_FTELL]) |
66 | GNULIB_FTELLO=0; AC_SUBST([GNULIB_FTELLO]) | 67 | GNULIB_FTELLO=0; AC_SUBST([GNULIB_FTELLO]) |
67 | GNULIB_FFLUSH=0; AC_SUBST([GNULIB_FFLUSH]) | ||
68 | GNULIB_FCLOSE=0; AC_SUBST([GNULIB_FCLOSE]) | ||
69 | GNULIB_FPUTC=0; AC_SUBST([GNULIB_FPUTC]) | ||
70 | GNULIB_PUTC=0; AC_SUBST([GNULIB_PUTC]) | ||
71 | GNULIB_PUTCHAR=0; AC_SUBST([GNULIB_PUTCHAR]) | ||
72 | GNULIB_FPUTS=0; AC_SUBST([GNULIB_FPUTS]) | ||
73 | GNULIB_PUTS=0; AC_SUBST([GNULIB_PUTS]) | ||
74 | GNULIB_FWRITE=0; AC_SUBST([GNULIB_FWRITE]) | 68 | GNULIB_FWRITE=0; AC_SUBST([GNULIB_FWRITE]) |
75 | GNULIB_GETDELIM=0; AC_SUBST([GNULIB_GETDELIM]) | 69 | GNULIB_GETDELIM=0; AC_SUBST([GNULIB_GETDELIM]) |
76 | GNULIB_GETLINE=0; AC_SUBST([GNULIB_GETLINE]) | 70 | GNULIB_GETLINE=0; AC_SUBST([GNULIB_GETLINE]) |
71 | GNULIB_OBSTACK_PRINTF=0; AC_SUBST([GNULIB_OBSTACK_PRINTF]) | ||
72 | GNULIB_OBSTACK_PRINTF_POSIX=0; AC_SUBST([GNULIB_OBSTACK_PRINTF_POSIX]) | ||
77 | GNULIB_PERROR=0; AC_SUBST([GNULIB_PERROR]) | 73 | GNULIB_PERROR=0; AC_SUBST([GNULIB_PERROR]) |
74 | GNULIB_POPEN=0; AC_SUBST([GNULIB_POPEN]) | ||
75 | GNULIB_PRINTF=0; AC_SUBST([GNULIB_PRINTF]) | ||
76 | GNULIB_PRINTF_POSIX=0; AC_SUBST([GNULIB_PRINTF_POSIX]) | ||
77 | GNULIB_PUTC=0; AC_SUBST([GNULIB_PUTC]) | ||
78 | GNULIB_PUTCHAR=0; AC_SUBST([GNULIB_PUTCHAR]) | ||
79 | GNULIB_PUTS=0; AC_SUBST([GNULIB_PUTS]) | ||
80 | GNULIB_REMOVE=0; AC_SUBST([GNULIB_REMOVE]) | ||
81 | GNULIB_RENAME=0; AC_SUBST([GNULIB_RENAME]) | ||
82 | GNULIB_RENAMEAT=0; AC_SUBST([GNULIB_RENAMEAT]) | ||
83 | GNULIB_SNPRINTF=0; AC_SUBST([GNULIB_SNPRINTF]) | ||
84 | GNULIB_SPRINTF_POSIX=0; AC_SUBST([GNULIB_SPRINTF_POSIX]) | ||
78 | GNULIB_STDIO_H_SIGPIPE=0; AC_SUBST([GNULIB_STDIO_H_SIGPIPE]) | 85 | GNULIB_STDIO_H_SIGPIPE=0; AC_SUBST([GNULIB_STDIO_H_SIGPIPE]) |
86 | GNULIB_TMPFILE=0; AC_SUBST([GNULIB_TMPFILE]) | ||
87 | GNULIB_VASPRINTF=0; AC_SUBST([GNULIB_VASPRINTF]) | ||
88 | GNULIB_VDPRINTF=0; AC_SUBST([GNULIB_VDPRINTF]) | ||
89 | GNULIB_VFPRINTF=0; AC_SUBST([GNULIB_VFPRINTF]) | ||
90 | GNULIB_VFPRINTF_POSIX=0; AC_SUBST([GNULIB_VFPRINTF_POSIX]) | ||
91 | GNULIB_VPRINTF=0; AC_SUBST([GNULIB_VPRINTF]) | ||
92 | GNULIB_VPRINTF_POSIX=0; AC_SUBST([GNULIB_VPRINTF_POSIX]) | ||
93 | GNULIB_VSNPRINTF=0; AC_SUBST([GNULIB_VSNPRINTF]) | ||
94 | GNULIB_VSPRINTF_POSIX=0; AC_SUBST([GNULIB_VSPRINTF_POSIX]) | ||
79 | dnl Assume proper GNU behavior unless another module says otherwise. | 95 | dnl Assume proper GNU behavior unless another module says otherwise. |
80 | REPLACE_STDIO_WRITE_FUNCS=0; AC_SUBST([REPLACE_STDIO_WRITE_FUNCS]) | 96 | HAVE_DECL_FPURGE=1; AC_SUBST([HAVE_DECL_FPURGE]) |
81 | REPLACE_FPRINTF=0; AC_SUBST([REPLACE_FPRINTF]) | 97 | HAVE_DECL_GETDELIM=1; AC_SUBST([HAVE_DECL_GETDELIM]) |
82 | REPLACE_VFPRINTF=0; AC_SUBST([REPLACE_VFPRINTF]) | 98 | HAVE_DECL_GETLINE=1; AC_SUBST([HAVE_DECL_GETLINE]) |
83 | REPLACE_PRINTF=0; AC_SUBST([REPLACE_PRINTF]) | 99 | HAVE_DECL_OBSTACK_PRINTF=1; AC_SUBST([HAVE_DECL_OBSTACK_PRINTF]) |
84 | REPLACE_VPRINTF=0; AC_SUBST([REPLACE_VPRINTF]) | ||
85 | REPLACE_SNPRINTF=0; AC_SUBST([REPLACE_SNPRINTF]) | ||
86 | HAVE_DECL_SNPRINTF=1; AC_SUBST([HAVE_DECL_SNPRINTF]) | 100 | HAVE_DECL_SNPRINTF=1; AC_SUBST([HAVE_DECL_SNPRINTF]) |
87 | REPLACE_VSNPRINTF=0; AC_SUBST([REPLACE_VSNPRINTF]) | ||
88 | HAVE_DECL_VSNPRINTF=1; AC_SUBST([HAVE_DECL_VSNPRINTF]) | 101 | HAVE_DECL_VSNPRINTF=1; AC_SUBST([HAVE_DECL_VSNPRINTF]) |
89 | REPLACE_SPRINTF=0; AC_SUBST([REPLACE_SPRINTF]) | ||
90 | REPLACE_VSPRINTF=0; AC_SUBST([REPLACE_VSPRINTF]) | ||
91 | HAVE_DPRINTF=1; AC_SUBST([HAVE_DPRINTF]) | 102 | HAVE_DPRINTF=1; AC_SUBST([HAVE_DPRINTF]) |
92 | REPLACE_DPRINTF=0; AC_SUBST([REPLACE_DPRINTF]) | 103 | HAVE_FSEEKO=1; AC_SUBST([HAVE_FSEEKO]) |
93 | HAVE_VDPRINTF=1; AC_SUBST([HAVE_VDPRINTF]) | 104 | HAVE_FTELLO=1; AC_SUBST([HAVE_FTELLO]) |
94 | REPLACE_VDPRINTF=0; AC_SUBST([REPLACE_VDPRINTF]) | 105 | HAVE_RENAMEAT=1; AC_SUBST([HAVE_RENAMEAT]) |
95 | HAVE_VASPRINTF=1; AC_SUBST([HAVE_VASPRINTF]) | 106 | HAVE_VASPRINTF=1; AC_SUBST([HAVE_VASPRINTF]) |
96 | REPLACE_VASPRINTF=0; AC_SUBST([REPLACE_VASPRINTF]) | 107 | HAVE_VDPRINTF=1; AC_SUBST([HAVE_VDPRINTF]) |
97 | HAVE_DECL_OBSTACK_PRINTF=1; AC_SUBST([HAVE_DECL_OBSTACK_PRINTF]) | 108 | REPLACE_DPRINTF=0; AC_SUBST([REPLACE_DPRINTF]) |
98 | REPLACE_OBSTACK_PRINTF=0; AC_SUBST([REPLACE_OBSTACK_PRINTF]) | 109 | REPLACE_FCLOSE=0; AC_SUBST([REPLACE_FCLOSE]) |
110 | REPLACE_FFLUSH=0; AC_SUBST([REPLACE_FFLUSH]) | ||
99 | REPLACE_FOPEN=0; AC_SUBST([REPLACE_FOPEN]) | 111 | REPLACE_FOPEN=0; AC_SUBST([REPLACE_FOPEN]) |
112 | REPLACE_FPRINTF=0; AC_SUBST([REPLACE_FPRINTF]) | ||
113 | REPLACE_FPURGE=0; AC_SUBST([REPLACE_FPURGE]) | ||
100 | REPLACE_FREOPEN=0; AC_SUBST([REPLACE_FREOPEN]) | 114 | REPLACE_FREOPEN=0; AC_SUBST([REPLACE_FREOPEN]) |
101 | HAVE_FSEEKO=1; AC_SUBST([HAVE_FSEEKO]) | ||
102 | REPLACE_FSEEKO=0; AC_SUBST([REPLACE_FSEEKO]) | ||
103 | REPLACE_FSEEK=0; AC_SUBST([REPLACE_FSEEK]) | 115 | REPLACE_FSEEK=0; AC_SUBST([REPLACE_FSEEK]) |
104 | HAVE_FTELLO=1; AC_SUBST([HAVE_FTELLO]) | 116 | REPLACE_FSEEKO=0; AC_SUBST([REPLACE_FSEEKO]) |
105 | REPLACE_FTELLO=0; AC_SUBST([REPLACE_FTELLO]) | ||
106 | REPLACE_FTELL=0; AC_SUBST([REPLACE_FTELL]) | 117 | REPLACE_FTELL=0; AC_SUBST([REPLACE_FTELL]) |
107 | REPLACE_FFLUSH=0; AC_SUBST([REPLACE_FFLUSH]) | 118 | REPLACE_FTELLO=0; AC_SUBST([REPLACE_FTELLO]) |
108 | REPLACE_FCLOSE=0; AC_SUBST([REPLACE_FCLOSE]) | 119 | REPLACE_GETDELIM=0; AC_SUBST([REPLACE_GETDELIM]) |
109 | HAVE_DECL_GETDELIM=1; AC_SUBST([HAVE_DECL_GETDELIM]) | ||
110 | HAVE_DECL_GETLINE=1; AC_SUBST([HAVE_DECL_GETLINE]) | ||
111 | REPLACE_GETLINE=0; AC_SUBST([REPLACE_GETLINE]) | 120 | REPLACE_GETLINE=0; AC_SUBST([REPLACE_GETLINE]) |
121 | REPLACE_OBSTACK_PRINTF=0; AC_SUBST([REPLACE_OBSTACK_PRINTF]) | ||
112 | REPLACE_PERROR=0; AC_SUBST([REPLACE_PERROR]) | 122 | REPLACE_PERROR=0; AC_SUBST([REPLACE_PERROR]) |
123 | REPLACE_POPEN=0; AC_SUBST([REPLACE_POPEN]) | ||
124 | REPLACE_PRINTF=0; AC_SUBST([REPLACE_PRINTF]) | ||
125 | REPLACE_REMOVE=0; AC_SUBST([REPLACE_REMOVE]) | ||
126 | REPLACE_RENAME=0; AC_SUBST([REPLACE_RENAME]) | ||
127 | REPLACE_RENAMEAT=0; AC_SUBST([REPLACE_RENAMEAT]) | ||
128 | REPLACE_SNPRINTF=0; AC_SUBST([REPLACE_SNPRINTF]) | ||
129 | REPLACE_SPRINTF=0; AC_SUBST([REPLACE_SPRINTF]) | ||
130 | REPLACE_STDIO_WRITE_FUNCS=0; AC_SUBST([REPLACE_STDIO_WRITE_FUNCS]) | ||
131 | REPLACE_TMPFILE=0; AC_SUBST([REPLACE_TMPFILE]) | ||
132 | REPLACE_VASPRINTF=0; AC_SUBST([REPLACE_VASPRINTF]) | ||
133 | REPLACE_VDPRINTF=0; AC_SUBST([REPLACE_VDPRINTF]) | ||
134 | REPLACE_VFPRINTF=0; AC_SUBST([REPLACE_VFPRINTF]) | ||
135 | REPLACE_VPRINTF=0; AC_SUBST([REPLACE_VPRINTF]) | ||
136 | REPLACE_VSNPRINTF=0; AC_SUBST([REPLACE_VSNPRINTF]) | ||
137 | REPLACE_VSPRINTF=0; AC_SUBST([REPLACE_VSPRINTF]) | ||
113 | ]) | 138 | ]) |
114 | 139 | ||
115 | dnl Code shared by fseeko and ftello. Determine if large files are supported, | 140 | dnl Code shared by fseeko and ftello. Determine if large files are supported, |
@@ -128,6 +153,6 @@ AC_DEFUN([gl_STDIN_LARGE_OFFSET], | |||
128 | choke me | 153 | choke me |
129 | # endif | 154 | # endif |
130 | #endif]])], | 155 | #endif]])], |
131 | [gl_cv_var_stdin_large_offset=yes], | 156 | [gl_cv_var_stdin_large_offset=yes], |
132 | [gl_cv_var_stdin_large_offset=no])]) | 157 | [gl_cv_var_stdin_large_offset=no])]) |
133 | ]) | 158 | ]) |
diff --git a/gl/m4/stdlib_h.m4 b/gl/m4/stdlib_h.m4 index b295f16b..dd84796d 100644 --- a/gl/m4/stdlib_h.m4 +++ b/gl/m4/stdlib_h.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # stdlib_h.m4 serial 15 | 1 | # stdlib_h.m4 serial 28 |
2 | dnl Copyright (C) 2007-2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007-2010 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,41 +22,75 @@ AC_DEFUN([gl_STDLIB_H], | |||
22 | # include <random.h> | 22 | # include <random.h> |
23 | #endif | 23 | #endif |
24 | ]]) | 24 | ]]) |
25 | |||
26 | 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 | ||
28 | dnl guaranteed by C89. | ||
29 | gl_WARN_ON_USE_PREPARE([[#include <stdlib.h> | ||
30 | #if HAVE_SYS_LOADAVG_H | ||
31 | # include <sys/loadavg.h> | ||
32 | #endif | ||
33 | #if HAVE_RANDOM_H | ||
34 | # include <random.h> | ||
35 | #endif | ||
36 | ]], [atoll canonicalize_file_name getloadavg getsubopt grantpt mkdtemp | ||
37 | mkostemp mkostemps mkstemp mkstemps ptsname random_r initstat_r srandom_r | ||
38 | setstate_r realpath rpmatch setenv strtod strtoll strtoull unlockpt | ||
39 | unsetenv]) | ||
25 | ]) | 40 | ]) |
26 | 41 | ||
27 | AC_DEFUN([gl_STDLIB_MODULE_INDICATOR], | 42 | AC_DEFUN([gl_STDLIB_MODULE_INDICATOR], |
28 | [ | 43 | [ |
29 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. | 44 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. |
30 | AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) | 45 | AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) |
31 | GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 | 46 | gl_MODULE_INDICATOR_SET_VARIABLE([$1]) |
47 | dnl Define it also as a C macro, for the benefit of the unit tests. | ||
48 | gl_MODULE_INDICATOR_FOR_TESTS([$1]) | ||
32 | ]) | 49 | ]) |
33 | 50 | ||
34 | AC_DEFUN([gl_STDLIB_H_DEFAULTS], | 51 | AC_DEFUN([gl_STDLIB_H_DEFAULTS], |
35 | [ | 52 | [ |
36 | GNULIB_MALLOC_POSIX=0; AC_SUBST([GNULIB_MALLOC_POSIX]) | ||
37 | GNULIB_REALLOC_POSIX=0; AC_SUBST([GNULIB_REALLOC_POSIX]) | ||
38 | GNULIB_CALLOC_POSIX=0; AC_SUBST([GNULIB_CALLOC_POSIX]) | ||
39 | GNULIB_ATOLL=0; AC_SUBST([GNULIB_ATOLL]) | 53 | GNULIB_ATOLL=0; AC_SUBST([GNULIB_ATOLL]) |
54 | GNULIB_CALLOC_POSIX=0; AC_SUBST([GNULIB_CALLOC_POSIX]) | ||
55 | GNULIB_CANONICALIZE_FILE_NAME=0; AC_SUBST([GNULIB_CANONICALIZE_FILE_NAME]) | ||
40 | GNULIB_GETLOADAVG=0; AC_SUBST([GNULIB_GETLOADAVG]) | 56 | GNULIB_GETLOADAVG=0; AC_SUBST([GNULIB_GETLOADAVG]) |
41 | GNULIB_GETSUBOPT=0; AC_SUBST([GNULIB_GETSUBOPT]) | 57 | GNULIB_GETSUBOPT=0; AC_SUBST([GNULIB_GETSUBOPT]) |
58 | GNULIB_GRANTPT=0; AC_SUBST([GNULIB_GRANTPT]) | ||
59 | GNULIB_MALLOC_POSIX=0; AC_SUBST([GNULIB_MALLOC_POSIX]) | ||
42 | GNULIB_MKDTEMP=0; AC_SUBST([GNULIB_MKDTEMP]) | 60 | GNULIB_MKDTEMP=0; AC_SUBST([GNULIB_MKDTEMP]) |
61 | GNULIB_MKOSTEMP=0; AC_SUBST([GNULIB_MKOSTEMP]) | ||
62 | GNULIB_MKOSTEMPS=0; AC_SUBST([GNULIB_MKOSTEMPS]) | ||
43 | GNULIB_MKSTEMP=0; AC_SUBST([GNULIB_MKSTEMP]) | 63 | GNULIB_MKSTEMP=0; AC_SUBST([GNULIB_MKSTEMP]) |
64 | GNULIB_MKSTEMPS=0; AC_SUBST([GNULIB_MKSTEMPS]) | ||
65 | GNULIB_PTSNAME=0; AC_SUBST([GNULIB_PTSNAME]) | ||
44 | GNULIB_PUTENV=0; AC_SUBST([GNULIB_PUTENV]) | 66 | GNULIB_PUTENV=0; AC_SUBST([GNULIB_PUTENV]) |
45 | GNULIB_RANDOM_R=0; AC_SUBST([GNULIB_RANDOM_R]) | 67 | GNULIB_RANDOM_R=0; AC_SUBST([GNULIB_RANDOM_R]) |
68 | GNULIB_REALLOC_POSIX=0; AC_SUBST([GNULIB_REALLOC_POSIX]) | ||
69 | GNULIB_REALPATH=0; AC_SUBST([GNULIB_REALPATH]) | ||
46 | GNULIB_RPMATCH=0; AC_SUBST([GNULIB_RPMATCH]) | 70 | GNULIB_RPMATCH=0; AC_SUBST([GNULIB_RPMATCH]) |
47 | GNULIB_SETENV=0; AC_SUBST([GNULIB_SETENV]) | 71 | GNULIB_SETENV=0; AC_SUBST([GNULIB_SETENV]) |
48 | GNULIB_STRTOD=0; AC_SUBST([GNULIB_STRTOD]) | 72 | GNULIB_STRTOD=0; AC_SUBST([GNULIB_STRTOD]) |
49 | GNULIB_STRTOLL=0; AC_SUBST([GNULIB_STRTOLL]) | 73 | GNULIB_STRTOLL=0; AC_SUBST([GNULIB_STRTOLL]) |
50 | GNULIB_STRTOULL=0; AC_SUBST([GNULIB_STRTOULL]) | 74 | GNULIB_STRTOULL=0; AC_SUBST([GNULIB_STRTOULL]) |
75 | GNULIB_UNLOCKPT=0; AC_SUBST([GNULIB_UNLOCKPT]) | ||
51 | GNULIB_UNSETENV=0; AC_SUBST([GNULIB_UNSETENV]) | 76 | GNULIB_UNSETENV=0; AC_SUBST([GNULIB_UNSETENV]) |
52 | dnl Assume proper GNU behavior unless another module says otherwise. | 77 | dnl Assume proper GNU behavior unless another module says otherwise. |
53 | HAVE_ATOLL=1; AC_SUBST([HAVE_ATOLL]) | 78 | HAVE_ATOLL=1; AC_SUBST([HAVE_ATOLL]) |
54 | HAVE_CALLOC_POSIX=1; AC_SUBST([HAVE_CALLOC_POSIX]) | 79 | HAVE_CALLOC_POSIX=1; AC_SUBST([HAVE_CALLOC_POSIX]) |
80 | HAVE_CANONICALIZE_FILE_NAME=1; AC_SUBST([HAVE_CANONICALIZE_FILE_NAME]) | ||
81 | HAVE_DECL_GETLOADAVG=1; AC_SUBST([HAVE_DECL_GETLOADAVG]) | ||
55 | HAVE_GETSUBOPT=1; AC_SUBST([HAVE_GETSUBOPT]) | 82 | HAVE_GETSUBOPT=1; AC_SUBST([HAVE_GETSUBOPT]) |
83 | HAVE_GRANTPT=1; AC_SUBST([HAVE_GRANTPT]) | ||
56 | HAVE_MALLOC_POSIX=1; AC_SUBST([HAVE_MALLOC_POSIX]) | 84 | HAVE_MALLOC_POSIX=1; AC_SUBST([HAVE_MALLOC_POSIX]) |
57 | HAVE_MKDTEMP=1; AC_SUBST([HAVE_MKDTEMP]) | 85 | HAVE_MKDTEMP=1; AC_SUBST([HAVE_MKDTEMP]) |
58 | HAVE_REALLOC_POSIX=1; AC_SUBST([HAVE_REALLOC_POSIX]) | 86 | HAVE_MKOSTEMP=1; AC_SUBST([HAVE_MKOSTEMP]) |
87 | HAVE_MKOSTEMPS=1; AC_SUBST([HAVE_MKOSTEMPS]) | ||
88 | HAVE_MKSTEMP=1; AC_SUBST([HAVE_MKSTEMP]) | ||
89 | HAVE_MKSTEMPS=1; AC_SUBST([HAVE_MKSTEMPS]) | ||
90 | HAVE_PTSNAME=1; AC_SUBST([HAVE_PTSNAME]) | ||
59 | HAVE_RANDOM_R=1; AC_SUBST([HAVE_RANDOM_R]) | 91 | HAVE_RANDOM_R=1; AC_SUBST([HAVE_RANDOM_R]) |
92 | HAVE_REALLOC_POSIX=1; AC_SUBST([HAVE_REALLOC_POSIX]) | ||
93 | HAVE_REALPATH=1; AC_SUBST([HAVE_REALPATH]) | ||
60 | HAVE_RPMATCH=1; AC_SUBST([HAVE_RPMATCH]) | 94 | HAVE_RPMATCH=1; AC_SUBST([HAVE_RPMATCH]) |
61 | HAVE_SETENV=1; AC_SUBST([HAVE_SETENV]) | 95 | HAVE_SETENV=1; AC_SUBST([HAVE_SETENV]) |
62 | HAVE_STRTOD=1; AC_SUBST([HAVE_STRTOD]) | 96 | HAVE_STRTOD=1; AC_SUBST([HAVE_STRTOD]) |
@@ -64,10 +98,13 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS], | |||
64 | HAVE_STRTOULL=1; AC_SUBST([HAVE_STRTOULL]) | 98 | HAVE_STRTOULL=1; AC_SUBST([HAVE_STRTOULL]) |
65 | HAVE_STRUCT_RANDOM_DATA=1; AC_SUBST([HAVE_STRUCT_RANDOM_DATA]) | 99 | HAVE_STRUCT_RANDOM_DATA=1; AC_SUBST([HAVE_STRUCT_RANDOM_DATA]) |
66 | HAVE_SYS_LOADAVG_H=0; AC_SUBST([HAVE_SYS_LOADAVG_H]) | 100 | HAVE_SYS_LOADAVG_H=0; AC_SUBST([HAVE_SYS_LOADAVG_H]) |
101 | HAVE_UNLOCKPT=1; AC_SUBST([HAVE_UNLOCKPT]) | ||
67 | HAVE_UNSETENV=1; AC_SUBST([HAVE_UNSETENV]) | 102 | HAVE_UNSETENV=1; AC_SUBST([HAVE_UNSETENV]) |
68 | HAVE_DECL_GETLOADAVG=1; AC_SUBST([HAVE_DECL_GETLOADAVG]) | 103 | REPLACE_CANONICALIZE_FILE_NAME=0; AC_SUBST([REPLACE_CANONICALIZE_FILE_NAME]) |
69 | REPLACE_MKSTEMP=0; AC_SUBST([REPLACE_MKSTEMP]) | 104 | REPLACE_MKSTEMP=0; AC_SUBST([REPLACE_MKSTEMP]) |
70 | REPLACE_PUTENV=0; AC_SUBST([REPLACE_PUTENV]) | 105 | REPLACE_PUTENV=0; AC_SUBST([REPLACE_PUTENV]) |
106 | REPLACE_REALPATH=0; AC_SUBST([REPLACE_REALPATH]) | ||
107 | REPLACE_SETENV=0; AC_SUBST([REPLACE_SETENV]) | ||
71 | REPLACE_STRTOD=0; AC_SUBST([REPLACE_STRTOD]) | 108 | REPLACE_STRTOD=0; AC_SUBST([REPLACE_STRTOD]) |
72 | VOID_UNSETENV=0; AC_SUBST([VOID_UNSETENV]) | 109 | REPLACE_UNSETENV=0; AC_SUBST([REPLACE_UNSETENV]) |
73 | ]) | 110 | ]) |
diff --git a/gl/m4/strdup.m4 b/gl/m4/strdup.m4 index d7daac2b..ce40c215 100644 --- a/gl/m4/strdup.m4 +++ b/gl/m4/strdup.m4 | |||
@@ -1,6 +1,6 @@ | |||
1 | # strdup.m4 serial 11 | 1 | # strdup.m4 serial 12 |
2 | 2 | ||
3 | dnl Copyright (C) 2002-2009 Free Software Foundation, Inc. | 3 | dnl Copyright (C) 2002-2010 Free Software Foundation, Inc. |
4 | 4 | ||
5 | dnl This file is free software; the Free Software Foundation | 5 | dnl This file is free software; the Free Software Foundation |
6 | dnl gives unlimited permission to copy and/or distribute it, | 6 | dnl gives unlimited permission to copy and/or distribute it, |
@@ -9,29 +9,36 @@ dnl with or without modifications, as long as this notice is preserved. | |||
9 | AC_DEFUN([gl_FUNC_STRDUP], | 9 | AC_DEFUN([gl_FUNC_STRDUP], |
10 | [ | 10 | [ |
11 | AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) | 11 | AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) |
12 | AC_REPLACE_FUNCS([strdup]) | 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 | ||
13 | AC_CHECK_DECLS_ONCE([strdup]) | 17 | AC_CHECK_DECLS_ONCE([strdup]) |
14 | if test $ac_cv_have_decl_strdup = no; then | 18 | if test $ac_cv_have_decl_strdup = no; then |
15 | HAVE_DECL_STRDUP=0 | 19 | HAVE_DECL_STRDUP=0 |
16 | fi | 20 | fi |
17 | gl_PREREQ_STRDUP | ||
18 | ]) | 21 | ]) |
19 | 22 | ||
20 | AC_DEFUN([gl_FUNC_STRDUP_POSIX], | 23 | AC_DEFUN([gl_FUNC_STRDUP_POSIX], |
21 | [ | 24 | [ |
22 | AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) | 25 | AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) |
23 | AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) | 26 | AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) |
24 | if test $gl_cv_func_malloc_posix != yes; then | 27 | AC_CHECK_FUNCS_ONCE([strdup]) |
25 | REPLACE_STRDUP=1 | 28 | if test $ac_cv_func_strdup = yes; then |
26 | AC_LIBOBJ([strdup]) | 29 | if test $gl_cv_func_malloc_posix != yes; then |
30 | REPLACE_STRDUP=1 | ||
31 | AC_LIBOBJ([strdup]) | ||
32 | gl_PREREQ_STRDUP | ||
33 | fi | ||
27 | else | 34 | else |
28 | AC_REPLACE_FUNCS([strdup]) | 35 | AC_LIBOBJ([strdup]) |
36 | gl_PREREQ_STRDUP | ||
29 | fi | 37 | fi |
30 | AC_CHECK_DECLS_ONCE([strdup]) | 38 | AC_CHECK_DECLS_ONCE([strdup]) |
31 | if test $ac_cv_have_decl_strdup = no; then | 39 | if test $ac_cv_have_decl_strdup = no; then |
32 | HAVE_DECL_STRDUP=0 | 40 | HAVE_DECL_STRDUP=0 |
33 | fi | 41 | fi |
34 | gl_PREREQ_STRDUP | ||
35 | ]) | 42 | ]) |
36 | 43 | ||
37 | # Prerequisites of lib/strdup.c. | 44 | # Prerequisites of lib/strdup.c. |
diff --git a/gl/m4/strerror.m4 b/gl/m4/strerror.m4 index 8c16ca9a..1649b245 100644 --- a/gl/m4/strerror.m4 +++ b/gl/m4/strerror.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # strerror.m4 serial 9 | 1 | # strerror.m4 serial 9 |
2 | dnl Copyright (C) 2002, 2007-2008 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002, 2007-2010 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/string_h.m4 b/gl/m4/string_h.m4 index 2d5553c3..cf26123e 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, 2008 Free Software Foundation, Inc. | 3 | # Copyright (C) 2007-2010 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 6 | 8 | # serial 16 |
9 | 9 | ||
10 | # Written by Paul Eggert. | 10 | # Written by Paul Eggert. |
11 | 11 | ||
@@ -21,17 +21,29 @@ AC_DEFUN([gl_HEADER_STRING_H_BODY], | |||
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_CHECK_NEXT_HEADERS([string.h]) |
24 | |||
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 | ||
27 | dnl guaranteed by C89. | ||
28 | gl_WARN_ON_USE_PREPARE([[#include <string.h> | ||
29 | ]], | ||
30 | [memmem mempcpy memrchr rawmemchr stpcpy stpncpy strchrnul strdup | ||
31 | strncat strndup strnlen strpbrk strsep strcasestr strtok_r strsignal | ||
32 | strverscmp]) | ||
24 | ]) | 33 | ]) |
25 | 34 | ||
26 | AC_DEFUN([gl_STRING_MODULE_INDICATOR], | 35 | AC_DEFUN([gl_STRING_MODULE_INDICATOR], |
27 | [ | 36 | [ |
28 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. | 37 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. |
29 | AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) | 38 | AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) |
30 | GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 | 39 | gl_MODULE_INDICATOR_SET_VARIABLE([$1]) |
40 | dnl Define it also as a C macro, for the benefit of the unit tests. | ||
41 | gl_MODULE_INDICATOR_FOR_TESTS([$1]) | ||
31 | ]) | 42 | ]) |
32 | 43 | ||
33 | AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS], | 44 | AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS], |
34 | [ | 45 | [ |
46 | GNULIB_MEMCHR=0; AC_SUBST([GNULIB_MEMCHR]) | ||
35 | GNULIB_MEMMEM=0; AC_SUBST([GNULIB_MEMMEM]) | 47 | GNULIB_MEMMEM=0; AC_SUBST([GNULIB_MEMMEM]) |
36 | GNULIB_MEMPCPY=0; AC_SUBST([GNULIB_MEMPCPY]) | 48 | GNULIB_MEMPCPY=0; AC_SUBST([GNULIB_MEMPCPY]) |
37 | GNULIB_MEMRCHR=0; AC_SUBST([GNULIB_MEMRCHR]) | 49 | GNULIB_MEMRCHR=0; AC_SUBST([GNULIB_MEMRCHR]) |
@@ -40,6 +52,7 @@ AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS], | |||
40 | GNULIB_STPNCPY=0; AC_SUBST([GNULIB_STPNCPY]) | 52 | GNULIB_STPNCPY=0; AC_SUBST([GNULIB_STPNCPY]) |
41 | GNULIB_STRCHRNUL=0; AC_SUBST([GNULIB_STRCHRNUL]) | 53 | GNULIB_STRCHRNUL=0; AC_SUBST([GNULIB_STRCHRNUL]) |
42 | GNULIB_STRDUP=0; AC_SUBST([GNULIB_STRDUP]) | 54 | GNULIB_STRDUP=0; AC_SUBST([GNULIB_STRDUP]) |
55 | GNULIB_STRNCAT=0; AC_SUBST([GNULIB_STRNCAT]) | ||
43 | GNULIB_STRNDUP=0; AC_SUBST([GNULIB_STRNDUP]) | 56 | GNULIB_STRNDUP=0; AC_SUBST([GNULIB_STRNDUP]) |
44 | GNULIB_STRNLEN=0; AC_SUBST([GNULIB_STRNLEN]) | 57 | GNULIB_STRNLEN=0; AC_SUBST([GNULIB_STRNLEN]) |
45 | GNULIB_STRPBRK=0; AC_SUBST([GNULIB_STRPBRK]) | 58 | GNULIB_STRPBRK=0; AC_SUBST([GNULIB_STRPBRK]) |
@@ -63,30 +76,36 @@ AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS], | |||
63 | GNULIB_MBSTOK_R=0; AC_SUBST([GNULIB_MBSTOK_R]) | 76 | GNULIB_MBSTOK_R=0; AC_SUBST([GNULIB_MBSTOK_R]) |
64 | GNULIB_STRERROR=0; AC_SUBST([GNULIB_STRERROR]) | 77 | GNULIB_STRERROR=0; AC_SUBST([GNULIB_STRERROR]) |
65 | GNULIB_STRSIGNAL=0; AC_SUBST([GNULIB_STRSIGNAL]) | 78 | GNULIB_STRSIGNAL=0; AC_SUBST([GNULIB_STRSIGNAL]) |
66 | GNULIB_STRVERSCMP=0; AC_SUBST([GNULIB_STRVERSCMP]) | 79 | GNULIB_STRVERSCMP=0; AC_SUBST([GNULIB_STRVERSCMP]) |
80 | HAVE_MBSLEN=0; AC_SUBST([HAVE_MBSLEN]) | ||
67 | dnl Assume proper GNU behavior unless another module says otherwise. | 81 | dnl Assume proper GNU behavior unless another module says otherwise. |
68 | HAVE_DECL_MEMMEM=1; AC_SUBST([HAVE_DECL_MEMMEM]) | 82 | HAVE_MEMCHR=1; AC_SUBST([HAVE_MEMCHR]) |
69 | HAVE_MEMPCPY=1; AC_SUBST([HAVE_MEMPCPY]) | 83 | HAVE_DECL_MEMMEM=1; AC_SUBST([HAVE_DECL_MEMMEM]) |
70 | HAVE_DECL_MEMRCHR=1; AC_SUBST([HAVE_DECL_MEMRCHR]) | 84 | HAVE_MEMPCPY=1; AC_SUBST([HAVE_MEMPCPY]) |
71 | HAVE_RAWMEMCHR=1; AC_SUBST([HAVE_RAWMEMCHR]) | 85 | HAVE_DECL_MEMRCHR=1; AC_SUBST([HAVE_DECL_MEMRCHR]) |
72 | HAVE_STPCPY=1; AC_SUBST([HAVE_STPCPY]) | 86 | HAVE_RAWMEMCHR=1; AC_SUBST([HAVE_RAWMEMCHR]) |
73 | HAVE_STPNCPY=1; AC_SUBST([HAVE_STPNCPY]) | 87 | HAVE_STPCPY=1; AC_SUBST([HAVE_STPCPY]) |
74 | HAVE_STRCHRNUL=1; AC_SUBST([HAVE_STRCHRNUL]) | 88 | HAVE_STPNCPY=1; AC_SUBST([HAVE_STPNCPY]) |
75 | HAVE_DECL_STRDUP=1; AC_SUBST([HAVE_DECL_STRDUP]) | 89 | HAVE_STRCHRNUL=1; AC_SUBST([HAVE_STRCHRNUL]) |
76 | HAVE_STRNDUP=1; AC_SUBST([HAVE_STRNDUP]) | 90 | HAVE_DECL_STRDUP=1; AC_SUBST([HAVE_DECL_STRDUP]) |
77 | HAVE_DECL_STRNDUP=1; AC_SUBST([HAVE_DECL_STRNDUP]) | 91 | HAVE_DECL_STRNDUP=1; AC_SUBST([HAVE_DECL_STRNDUP]) |
78 | HAVE_DECL_STRNLEN=1; AC_SUBST([HAVE_DECL_STRNLEN]) | 92 | HAVE_DECL_STRNLEN=1; AC_SUBST([HAVE_DECL_STRNLEN]) |
79 | HAVE_STRPBRK=1; AC_SUBST([HAVE_STRPBRK]) | 93 | HAVE_STRPBRK=1; AC_SUBST([HAVE_STRPBRK]) |
80 | HAVE_STRSEP=1; AC_SUBST([HAVE_STRSEP]) | 94 | HAVE_STRSEP=1; AC_SUBST([HAVE_STRSEP]) |
81 | HAVE_STRCASESTR=1; AC_SUBST([HAVE_STRCASESTR]) | 95 | HAVE_STRCASESTR=1; AC_SUBST([HAVE_STRCASESTR]) |
82 | HAVE_DECL_STRTOK_R=1; AC_SUBST([HAVE_DECL_STRTOK_R]) | 96 | HAVE_DECL_STRTOK_R=1; AC_SUBST([HAVE_DECL_STRTOK_R]) |
83 | HAVE_DECL_STRERROR=1; AC_SUBST([HAVE_DECL_STRERROR]) | 97 | HAVE_DECL_STRSIGNAL=1; AC_SUBST([HAVE_DECL_STRSIGNAL]) |
84 | HAVE_DECL_STRSIGNAL=1; AC_SUBST([HAVE_DECL_STRSIGNAL]) | 98 | HAVE_STRVERSCMP=1; AC_SUBST([HAVE_STRVERSCMP]) |
85 | HAVE_STRVERSCMP=1; AC_SUBST([HAVE_STRVERSCMP]) | 99 | REPLACE_MEMCHR=0; AC_SUBST([REPLACE_MEMCHR]) |
86 | REPLACE_MEMMEM=0; AC_SUBST([REPLACE_MEMMEM]) | 100 | REPLACE_MEMMEM=0; AC_SUBST([REPLACE_MEMMEM]) |
87 | REPLACE_STRDUP=0; AC_SUBST([REPLACE_STRDUP]) | 101 | REPLACE_STPNCPY=0; AC_SUBST([REPLACE_STPNCPY]) |
88 | REPLACE_STRSTR=0; AC_SUBST([REPLACE_STRSTR]) | 102 | REPLACE_STRDUP=0; AC_SUBST([REPLACE_STRDUP]) |
89 | REPLACE_STRCASESTR=0; AC_SUBST([REPLACE_STRCASESTR]) | 103 | REPLACE_STRSTR=0; AC_SUBST([REPLACE_STRSTR]) |
90 | REPLACE_STRERROR=0; AC_SUBST([REPLACE_STRERROR]) | 104 | REPLACE_STRCASESTR=0; AC_SUBST([REPLACE_STRCASESTR]) |
91 | REPLACE_STRSIGNAL=0; AC_SUBST([REPLACE_STRSIGNAL]) | 105 | REPLACE_STRERROR=0; AC_SUBST([REPLACE_STRERROR]) |
106 | REPLACE_STRNCAT=0; AC_SUBST([REPLACE_STRNCAT]) | ||
107 | REPLACE_STRNDUP=0; AC_SUBST([REPLACE_STRNDUP]) | ||
108 | REPLACE_STRSIGNAL=0; AC_SUBST([REPLACE_STRSIGNAL]) | ||
109 | REPLACE_STRTOK_R=0; AC_SUBST([REPLACE_STRTOK_R]) | ||
110 | UNDEFINE_STRTOK_R=0; AC_SUBST([UNDEFINE_STRTOK_R]) | ||
92 | ]) | 111 | ]) |
diff --git a/gl/m4/strndup.m4 b/gl/m4/strndup.m4 index 4fa7d5a7..810313cd 100644 --- a/gl/m4/strndup.m4 +++ b/gl/m4/strndup.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # strndup.m4 serial 16 | 1 | # strndup.m4 serial 17 |
2 | dnl Copyright (C) 2002-2003, 2005-2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2003, 2005-2010 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,20 @@ AC_DEFUN([gl_FUNC_STRNDUP], | |||
9 | dnl Persuade glibc <string.h> to declare strndup(). | 9 | dnl Persuade glibc <string.h> to declare strndup(). |
10 | AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) | 10 | AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) |
11 | 11 | ||
12 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
12 | AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) | 13 | AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) |
13 | AC_CHECK_DECLS_ONCE([strndup]) | 14 | AC_CHECK_DECLS_ONCE([strndup]) |
15 | AC_CHECK_FUNCS_ONCE([strndup]) | ||
14 | if test $ac_cv_have_decl_strndup = no; then | 16 | if test $ac_cv_have_decl_strndup = no; then |
15 | HAVE_DECL_STRNDUP=0 | 17 | HAVE_DECL_STRNDUP=0 |
16 | fi | 18 | fi |
17 | 19 | ||
18 | # AIX 4.3.3, AIX 5.1 have a function that fails to add the terminating '\0'. | 20 | if test $ac_cv_func_strndup = yes; then |
19 | AC_CACHE_CHECK([for working strndup], [gl_cv_func_strndup], | 21 | # AIX 4.3.3, AIX 5.1 have a function that fails to add the terminating '\0'. |
20 | [AC_RUN_IFELSE([ | 22 | AC_CACHE_CHECK([for working strndup], [gl_cv_func_strndup_works], |
21 | AC_LANG_PROGRAM([[#include <string.h> | 23 | [AC_RUN_IFELSE([ |
22 | #include <stdlib.h>]], [[ | 24 | AC_LANG_PROGRAM([[#include <string.h> |
25 | #include <stdlib.h>]], [[ | ||
23 | #ifndef HAVE_DECL_STRNDUP | 26 | #ifndef HAVE_DECL_STRNDUP |
24 | extern char *strndup (const char *, size_t); | 27 | extern char *strndup (const char *, size_t); |
25 | #endif | 28 | #endif |
@@ -28,26 +31,19 @@ AC_DEFUN([gl_FUNC_STRNDUP], | |||
28 | free (s); | 31 | free (s); |
29 | s = strndup ("shorter string", 13); | 32 | s = strndup ("shorter string", 13); |
30 | return s[13] != '\0';]])], | 33 | return s[13] != '\0';]])], |
31 | [gl_cv_func_strndup=yes], | 34 | [gl_cv_func_strndup_works=yes], |
32 | [gl_cv_func_strndup=no], | 35 | [gl_cv_func_strndup_works=no], |
33 | [AC_CHECK_FUNC([strndup], | 36 | [case $host_os in |
34 | [AC_EGREP_CPP([too risky], [ | 37 | aix*) gl_cv_func_strndup_works="guessing no";; |
35 | #ifdef _AIX | 38 | *) gl_cv_func_strndup_works="guessing yes";; |
36 | too risky | 39 | esac])]) |
37 | #endif | 40 | case $gl_cv_func_strndup_works in |
38 | ], | 41 | *no) |
39 | [gl_cv_func_strndup=no], | 42 | REPLACE_STRNDUP=1 |
40 | [gl_cv_func_strndup=yes])], | 43 | AC_LIBOBJ([strndup]) |
41 | [gl_cv_func_strndup=no])])]) | 44 | ;; |
42 | if test $gl_cv_func_strndup = yes; then | 45 | esac |
43 | AC_DEFINE([HAVE_STRNDUP], [1], | ||
44 | [Define if you have the strndup() function and it works.]) | ||
45 | else | 46 | else |
46 | HAVE_STRNDUP=0 | ||
47 | AC_LIBOBJ([strndup]) | 47 | AC_LIBOBJ([strndup]) |
48 | gl_PREREQ_STRNDUP | ||
49 | fi | 48 | fi |
50 | ]) | 49 | ]) |
51 | |||
52 | # Prerequisites of lib/strndup.c. | ||
53 | AC_DEFUN([gl_PREREQ_STRNDUP], [:]) | ||
diff --git a/gl/m4/strnlen.m4 b/gl/m4/strnlen.m4 index 1c97859d..cd48948f 100644 --- a/gl/m4/strnlen.m4 +++ b/gl/m4/strnlen.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # strnlen.m4 serial 10 | 1 | # strnlen.m4 serial 10 |
2 | dnl Copyright (C) 2002-2003, 2005-2007, 2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2003, 2005-2007, 2009-2010 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. |
diff --git a/gl/m4/strstr.m4 b/gl/m4/strstr.m4 new file mode 100644 index 00000000..779957aa --- /dev/null +++ b/gl/m4/strstr.m4 | |||
@@ -0,0 +1,79 @@ | |||
1 | # strstr.m4 serial 7 | ||
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 | dnl Check that strstr works. | ||
8 | AC_DEFUN([gl_FUNC_STRSTR_SIMPLE], | ||
9 | [ | ||
10 | AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) | ||
11 | AC_REQUIRE([gl_FUNC_MEMCHR]) | ||
12 | if test "$gl_cv_func_memchr_works" != yes; then | ||
13 | REPLACE_STRSTR=1 | ||
14 | AC_LIBOBJ([strstr]) | ||
15 | fi | ||
16 | ]) # gl_FUNC_STRSTR_SIMPLE | ||
17 | |||
18 | dnl Additionally, check that strstr is efficient. | ||
19 | AC_DEFUN([gl_FUNC_STRSTR], | ||
20 | [ | ||
21 | AC_REQUIRE([gl_FUNC_STRSTR_SIMPLE]) | ||
22 | if test $REPLACE_STRSTR = 0; then | ||
23 | AC_CACHE_CHECK([whether strstr works in linear time], | ||
24 | [gl_cv_func_strstr_linear], | ||
25 | [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ | ||
26 | #include <signal.h> /* for signal */ | ||
27 | #include <string.h> /* for memmem */ | ||
28 | #include <stdlib.h> /* for malloc */ | ||
29 | #include <unistd.h> /* for alarm */ | ||
30 | ]], [[size_t m = 1000000; | ||
31 | char *haystack = (char *) malloc (2 * m + 2); | ||
32 | char *needle = (char *) malloc (m + 2); | ||
33 | void *result = 0; | ||
34 | /* Failure to compile this test due to missing alarm is okay, | ||
35 | since all such platforms (mingw) also have quadratic strstr. */ | ||
36 | signal (SIGALRM, SIG_DFL); | ||
37 | alarm (5); | ||
38 | /* Check for quadratic performance. */ | ||
39 | if (haystack && needle) | ||
40 | { | ||
41 | memset (haystack, 'A', 2 * m); | ||
42 | haystack[2 * m] = 'B'; | ||
43 | haystack[2 * m + 1] = 0; | ||
44 | memset (needle, 'A', m); | ||
45 | needle[m] = 'B'; | ||
46 | needle[m + 1] = 0; | ||
47 | result = strstr (haystack, needle); | ||
48 | } | ||
49 | return !result;]])], | ||
50 | [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 | ||
52 | dnl strstr that works in linear time. | ||
53 | AC_EGREP_CPP([Lucky user], | ||
54 | [ | ||
55 | #include <features.h> | ||
56 | #ifdef __GNU_LIBRARY__ | ||
57 | #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 9) || (__GLIBC__ > 2) | ||
58 | Lucky user | ||
59 | #endif | ||
60 | #endif | ||
61 | #ifdef __CYGWIN__ | ||
62 | #include <cygwin/version.h> | ||
63 | #if CYGWIN_VERSION_DLL_MAJOR >= 1007 | ||
64 | Lucky user | ||
65 | #endif | ||
66 | #endif | ||
67 | ], | ||
68 | [gl_cv_func_strstr_linear=yes], | ||
69 | [gl_cv_func_strstr_linear="guessing no"]) | ||
70 | ]) | ||
71 | ]) | ||
72 | if test "$gl_cv_func_strstr_linear" != yes; then | ||
73 | REPLACE_STRSTR=1 | ||
74 | fi | ||
75 | fi | ||
76 | if test $REPLACE_STRSTR = 1; then | ||
77 | AC_LIBOBJ([strstr]) | ||
78 | fi | ||
79 | ]) # gl_FUNC_STRSTR | ||
diff --git a/gl/m4/sys_socket_h.m4 b/gl/m4/sys_socket_h.m4 index d1cb9c20..9f4db562 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 12 | 1 | # sys_socket_h.m4 serial 17 |
2 | dnl Copyright (C) 2005-2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2005-2010 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -19,7 +19,6 @@ AC_DEFUN([gl_HEADER_SYS_SOCKET], | |||
19 | [gl_cv_header_sys_socket_h_selfcontained=no]) | 19 | [gl_cv_header_sys_socket_h_selfcontained=no]) |
20 | ]) | 20 | ]) |
21 | if test $gl_cv_header_sys_socket_h_selfcontained = yes; then | 21 | if test $gl_cv_header_sys_socket_h_selfcontained = yes; then |
22 | SYS_SOCKET_H='' | ||
23 | dnl If the shutdown function exists, <sys/socket.h> should define | 22 | dnl If the shutdown function exists, <sys/socket.h> should define |
24 | dnl SHUT_RD, SHUT_WR, SHUT_RDWR. | 23 | dnl SHUT_RD, SHUT_WR, SHUT_RDWR. |
25 | AC_CHECK_FUNCS([shutdown]) | 24 | AC_CHECK_FUNCS([shutdown]) |
@@ -37,12 +36,10 @@ AC_DEFUN([gl_HEADER_SYS_SOCKET], | |||
37 | SYS_SOCKET_H='sys/socket.h' | 36 | SYS_SOCKET_H='sys/socket.h' |
38 | fi | 37 | fi |
39 | fi | 38 | fi |
40 | else | ||
41 | SYS_SOCKET_H='sys/socket.h' | ||
42 | fi | 39 | fi |
43 | # We need to check for ws2tcpip.h now. | 40 | # We need to check for ws2tcpip.h now. |
44 | gl_PREREQ_SYS_H_SOCKET | 41 | gl_PREREQ_SYS_H_SOCKET |
45 | AC_CHECK_TYPES([struct sockaddr_storage],,,[ | 42 | AC_CHECK_TYPES([struct sockaddr_storage, sa_family_t],,,[ |
46 | /* sys/types.h is not needed according to POSIX, but the | 43 | /* sys/types.h is not needed according to POSIX, but the |
47 | sys/socket.h in i386-unknown-freebsd4.10 and | 44 | sys/socket.h in i386-unknown-freebsd4.10 and |
48 | powerpc-apple-darwin5.5 required it. */ | 45 | powerpc-apple-darwin5.5 required it. */ |
@@ -56,12 +53,23 @@ AC_DEFUN([gl_HEADER_SYS_SOCKET], | |||
56 | ]) | 53 | ]) |
57 | if test $ac_cv_type_struct_sockaddr_storage = no; then | 54 | if test $ac_cv_type_struct_sockaddr_storage = no; then |
58 | HAVE_STRUCT_SOCKADDR_STORAGE=0 | 55 | HAVE_STRUCT_SOCKADDR_STORAGE=0 |
59 | SYS_SOCKET_H='sys/socket.h' | ||
60 | fi | 56 | fi |
61 | if test -n "$SYS_SOCKET_H"; then | 57 | if test $ac_cv_type_sa_family_t = no; then |
62 | gl_PREREQ_SYS_H_WINSOCK2 | 58 | HAVE_SA_FAMILY_T=0 |
63 | fi | 59 | fi |
64 | AC_SUBST([SYS_SOCKET_H]) | 60 | gl_PREREQ_SYS_H_WINSOCK2 |
61 | |||
62 | dnl Check for declarations of anything we want to poison if the | ||
63 | dnl corresponding gnulib module is not in use. | ||
64 | gl_WARN_ON_USE_PREPARE([[ | ||
65 | /* Some systems require prerequisite headers. */ | ||
66 | #include <sys/types.h> | ||
67 | #if !defined __GLIBC__ && HAVE_SYS_TIME_H | ||
68 | # include <sys/time.h> | ||
69 | #endif | ||
70 | #include <sys/select.h> | ||
71 | ]], [socket connect accept bind getpeername getsockname getsockopt | ||
72 | listen recv send recvfrom sendto setsockopt shutdown accept4]) | ||
65 | ]) | 73 | ]) |
66 | 74 | ||
67 | AC_DEFUN([gl_PREREQ_SYS_H_SOCKET], | 75 | AC_DEFUN([gl_PREREQ_SYS_H_SOCKET], |
@@ -88,7 +96,7 @@ AC_DEFUN([gl_PREREQ_SYS_H_SOCKET], | |||
88 | AC_SUBST([HAVE_WS2TCPIP_H]) | 96 | AC_SUBST([HAVE_WS2TCPIP_H]) |
89 | ]) | 97 | ]) |
90 | 98 | ||
91 | # Common prerequisites of of the <sys/socket.h> replacement and of the | 99 | # Common prerequisites of the <sys/socket.h> replacement and of the |
92 | # <sys/select.h> replacement. | 100 | # <sys/select.h> replacement. |
93 | # Sets and substitutes HAVE_WINSOCK2_H. | 101 | # Sets and substitutes HAVE_WINSOCK2_H. |
94 | AC_DEFUN([gl_PREREQ_SYS_H_WINSOCK2], | 102 | AC_DEFUN([gl_PREREQ_SYS_H_WINSOCK2], |
@@ -117,7 +125,9 @@ AC_DEFUN([gl_SYS_SOCKET_MODULE_INDICATOR], | |||
117 | [ | 125 | [ |
118 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. | 126 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. |
119 | AC_REQUIRE([gl_SYS_SOCKET_H_DEFAULTS]) | 127 | AC_REQUIRE([gl_SYS_SOCKET_H_DEFAULTS]) |
120 | GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 | 128 | gl_MODULE_INDICATOR_SET_VARIABLE([$1]) |
129 | dnl Define it also as a C macro, for the benefit of the unit tests. | ||
130 | gl_MODULE_INDICATOR_FOR_TESTS([$1]) | ||
121 | ]) | 131 | ]) |
122 | 132 | ||
123 | AC_DEFUN([gl_SYS_SOCKET_H_DEFAULTS], | 133 | AC_DEFUN([gl_SYS_SOCKET_H_DEFAULTS], |
@@ -136,5 +146,8 @@ AC_DEFUN([gl_SYS_SOCKET_H_DEFAULTS], | |||
136 | GNULIB_SENDTO=0; AC_SUBST([GNULIB_SENDTO]) | 146 | GNULIB_SENDTO=0; AC_SUBST([GNULIB_SENDTO]) |
137 | GNULIB_SETSOCKOPT=0; AC_SUBST([GNULIB_SETSOCKOPT]) | 147 | GNULIB_SETSOCKOPT=0; AC_SUBST([GNULIB_SETSOCKOPT]) |
138 | GNULIB_SHUTDOWN=0; AC_SUBST([GNULIB_SHUTDOWN]) | 148 | GNULIB_SHUTDOWN=0; AC_SUBST([GNULIB_SHUTDOWN]) |
149 | GNULIB_ACCEPT4=0; AC_SUBST([GNULIB_ACCEPT4]) | ||
139 | HAVE_STRUCT_SOCKADDR_STORAGE=1; AC_SUBST([HAVE_STRUCT_SOCKADDR_STORAGE]) | 150 | HAVE_STRUCT_SOCKADDR_STORAGE=1; AC_SUBST([HAVE_STRUCT_SOCKADDR_STORAGE]) |
151 | HAVE_SA_FAMILY_T=1; AC_SUBST([HAVE_SA_FAMILY_T]) | ||
152 | HAVE_ACCEPT4=1; AC_SUBST([HAVE_ACCEPT4]) | ||
140 | ]) | 153 | ]) |
diff --git a/gl/m4/sys_stat_h.m4 b/gl/m4/sys_stat_h.m4 new file mode 100644 index 00000000..7181c253 --- /dev/null +++ b/gl/m4/sys_stat_h.m4 | |||
@@ -0,0 +1,82 @@ | |||
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/threadlib.m4 b/gl/m4/threadlib.m4 index 3dd38aa8..05cc4ffa 100644 --- a/gl/m4/threadlib.m4 +++ b/gl/m4/threadlib.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # threadlib.m4 serial 3 (gettext-0.18) | 1 | # threadlib.m4 serial 5 (gettext-0.18) |
2 | dnl Copyright (C) 2005-2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2005-2010 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. |
@@ -52,13 +52,24 @@ AC_HELP_STRING([--disable-threads], [build without multithread safety]), | |||
52 | [if test -n "$gl_use_threads_default"; then | 52 | [if test -n "$gl_use_threads_default"; then |
53 | gl_use_threads="$gl_use_threads_default" | 53 | gl_use_threads="$gl_use_threads_default" |
54 | else | 54 | else |
55 | changequote(,)dnl | ||
55 | case "$host_os" in | 56 | case "$host_os" in |
56 | dnl Disable multithreading by default on OSF/1, because it interferes | 57 | dnl Disable multithreading by default on OSF/1, because it interferes |
57 | dnl with fork()/exec(): When msgexec is linked with -lpthread, its | 58 | dnl with fork()/exec(): When msgexec is linked with -lpthread, its |
58 | dnl child process gets an endless segmentation fault inside execvp(). | 59 | dnl child process gets an endless segmentation fault inside execvp(). |
60 | dnl Disable multithreading by default on Cygwin 1.5.x, because it has | ||
61 | dnl bugs that lead to endless loops or crashes. See | ||
62 | dnl <http://cygwin.com/ml/cygwin/2009-08/msg00283.html>. | ||
59 | osf*) gl_use_threads=no ;; | 63 | osf*) gl_use_threads=no ;; |
64 | cygwin*) | ||
65 | case `uname -r` in | ||
66 | 1.[0-5].*) gl_use_threads=no ;; | ||
67 | *) gl_use_threads=yes ;; | ||
68 | esac | ||
69 | ;; | ||
60 | *) gl_use_threads=yes ;; | 70 | *) gl_use_threads=yes ;; |
61 | esac | 71 | esac |
72 | changequote([,])dnl | ||
62 | fi | 73 | fi |
63 | ]) | 74 | ]) |
64 | if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then | 75 | if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then |
@@ -96,11 +107,34 @@ AC_DEFUN([gl_THREADLIB_BODY], | |||
96 | LTLIBMULTITHREAD= | 107 | LTLIBMULTITHREAD= |
97 | if test "$gl_use_threads" != no; then | 108 | if test "$gl_use_threads" != no; then |
98 | dnl Check whether the compiler and linker support weak declarations. | 109 | dnl Check whether the compiler and linker support weak declarations. |
99 | AC_MSG_CHECKING([whether imported symbols can be declared weak]) | 110 | AC_CACHE_CHECK([whether imported symbols can be declared weak], |
100 | gl_have_weak=no | 111 | [gl_cv_have_weak], |
101 | AC_TRY_LINK([extern void xyzzy (); | 112 | [gl_cv_have_weak=no |
102 | #pragma weak xyzzy], [xyzzy();], [gl_have_weak=yes]) | 113 | dnl First, test whether the compiler accepts it syntactically. |
103 | AC_MSG_RESULT([$gl_have_weak]) | 114 | AC_TRY_LINK([extern void xyzzy (); |
115 | #pragma weak xyzzy], [xyzzy();], [gl_cv_have_weak=maybe]) | ||
116 | if test $gl_cv_have_weak = maybe; then | ||
117 | 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. | ||
119 | AC_TRY_RUN([ | ||
120 | #include <stdio.h> | ||
121 | #pragma weak fputs | ||
122 | int main () | ||
123 | { | ||
124 | return (fputs == NULL); | ||
125 | }], [gl_cv_have_weak=yes], [gl_cv_have_weak=no], | ||
126 | [dnl When cross-compiling, assume that only ELF platforms support | ||
127 | dnl weak symbols. | ||
128 | AC_EGREP_CPP([Extensible Linking Format], | ||
129 | [#ifdef __ELF__ | ||
130 | Extensible Linking Format | ||
131 | #endif | ||
132 | ], | ||
133 | [gl_cv_have_weak="guessing yes"], | ||
134 | [gl_cv_have_weak="guessing no"]) | ||
135 | ]) | ||
136 | fi | ||
137 | ]) | ||
104 | if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then | 138 | if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then |
105 | # On OSF/1, the compiler needs the flag -pthread or -D_REENTRANT so that | 139 | # On OSF/1, the compiler needs the flag -pthread or -D_REENTRANT so that |
106 | # it groks <pthread.h>. It's added above, in gl_THREADLIB_EARLY_BODY. | 140 | # it groks <pthread.h>. It's added above, in gl_THREADLIB_EARLY_BODY. |
@@ -154,7 +188,7 @@ AC_DEFUN([gl_THREADLIB_BODY], | |||
154 | AC_DEFINE([USE_POSIX_THREADS], [1], | 188 | AC_DEFINE([USE_POSIX_THREADS], [1], |
155 | [Define if the POSIX multithreading library can be used.]) | 189 | [Define if the POSIX multithreading library can be used.]) |
156 | if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then | 190 | if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then |
157 | if test $gl_have_weak = yes; then | 191 | if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then |
158 | AC_DEFINE([USE_POSIX_THREADS_WEAK], [1], | 192 | AC_DEFINE([USE_POSIX_THREADS_WEAK], [1], |
159 | [Define if references to the POSIX multithreading library should be made weak.]) | 193 | [Define if references to the POSIX multithreading library should be made weak.]) |
160 | LIBTHREAD= | 194 | LIBTHREAD= |
@@ -182,7 +216,7 @@ AC_DEFUN([gl_THREADLIB_BODY], | |||
182 | LTLIBMULTITHREAD="$LTLIBTHREAD" | 216 | LTLIBMULTITHREAD="$LTLIBTHREAD" |
183 | AC_DEFINE([USE_SOLARIS_THREADS], [1], | 217 | AC_DEFINE([USE_SOLARIS_THREADS], [1], |
184 | [Define if the old Solaris multithreading library can be used.]) | 218 | [Define if the old Solaris multithreading library can be used.]) |
185 | if test $gl_have_weak = yes; then | 219 | if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then |
186 | AC_DEFINE([USE_SOLARIS_THREADS_WEAK], [1], | 220 | AC_DEFINE([USE_SOLARIS_THREADS_WEAK], [1], |
187 | [Define if references to the old Solaris multithreading library should be made weak.]) | 221 | [Define if references to the old Solaris multithreading library should be made weak.]) |
188 | LIBTHREAD= | 222 | LIBTHREAD= |
@@ -208,7 +242,7 @@ AC_DEFUN([gl_THREADLIB_BODY], | |||
208 | AC_DEFINE([USE_PTH_THREADS], [1], | 242 | AC_DEFINE([USE_PTH_THREADS], [1], |
209 | [Define if the GNU Pth multithreading library can be used.]) | 243 | [Define if the GNU Pth multithreading library can be used.]) |
210 | if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then | 244 | if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then |
211 | if test $gl_have_weak = yes; then | 245 | if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then |
212 | AC_DEFINE([USE_PTH_THREADS_WEAK], [1], | 246 | AC_DEFINE([USE_PTH_THREADS_WEAK], [1], |
213 | [Define if references to the GNU Pth multithreading library should be made weak.]) | 247 | [Define if references to the GNU Pth multithreading library should be made weak.]) |
214 | LIBTHREAD= | 248 | LIBTHREAD= |
diff --git a/gl/m4/time_h.m4 b/gl/m4/time_h.m4 index d42a635e..b88ba94d 100644 --- a/gl/m4/time_h.m4 +++ b/gl/m4/time_h.m4 | |||
@@ -1,7 +1,6 @@ | |||
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, 2004, 2005, 2006, 2007 Free Software | 3 | # Copyright (C) 2000-2001, 2003-2007, 2009-2010 Free Software Foundation, Inc. |
4 | # 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, |
@@ -24,17 +23,6 @@ AC_DEFUN([gl_HEADER_TIME_H_BODY], | |||
24 | AC_REQUIRE([gl_CHECK_TYPE_STRUCT_TIMESPEC]) | 23 | AC_REQUIRE([gl_CHECK_TYPE_STRUCT_TIMESPEC]) |
25 | ]) | 24 | ]) |
26 | 25 | ||
27 | AC_DEFUN([gl_HEADER_TIME_H_DEFAULTS], | ||
28 | [ | ||
29 | dnl If another module says to replace or to not replace, do that. | ||
30 | dnl Otherwise, replace only if someone compiles with -DGNULIB_PORTCHECK; | ||
31 | dnl this lets maintainers check for portability. | ||
32 | REPLACE_LOCALTIME_R=GNULIB_PORTCHECK; AC_SUBST([REPLACE_LOCALTIME_R]) | ||
33 | REPLACE_NANOSLEEP=GNULIB_PORTCHECK; AC_SUBST([REPLACE_NANOSLEEP]) | ||
34 | REPLACE_STRPTIME=GNULIB_PORTCHECK; AC_SUBST([REPLACE_STRPTIME]) | ||
35 | REPLACE_TIMEGM=GNULIB_PORTCHECK; AC_SUBST([REPLACE_TIMEGM]) | ||
36 | ]) | ||
37 | |||
38 | dnl Define HAVE_STRUCT_TIMESPEC if `struct timespec' is declared | 26 | dnl Define HAVE_STRUCT_TIMESPEC if `struct timespec' is declared |
39 | dnl in time.h or sys/time.h. | 27 | dnl in time.h or sys/time.h. |
40 | 28 | ||
@@ -45,9 +33,9 @@ AC_DEFUN([gl_CHECK_TYPE_STRUCT_TIMESPEC], | |||
45 | [gl_cv_sys_struct_timespec_in_time_h], | 33 | [gl_cv_sys_struct_timespec_in_time_h], |
46 | [AC_COMPILE_IFELSE( | 34 | [AC_COMPILE_IFELSE( |
47 | [AC_LANG_PROGRAM( | 35 | [AC_LANG_PROGRAM( |
48 | [[#include <time.h> | 36 | [[#include <time.h> |
49 | ]], | 37 | ]], |
50 | [[static struct timespec x; x.tv_sec = x.tv_nsec;]])], | 38 | [[static struct timespec x; x.tv_sec = x.tv_nsec;]])], |
51 | [gl_cv_sys_struct_timespec_in_time_h=yes], | 39 | [gl_cv_sys_struct_timespec_in_time_h=yes], |
52 | [gl_cv_sys_struct_timespec_in_time_h=no])]) | 40 | [gl_cv_sys_struct_timespec_in_time_h=no])]) |
53 | 41 | ||
@@ -59,12 +47,12 @@ AC_DEFUN([gl_CHECK_TYPE_STRUCT_TIMESPEC], | |||
59 | AC_CACHE_CHECK([for struct timespec in <sys/time.h>], | 47 | AC_CACHE_CHECK([for struct timespec in <sys/time.h>], |
60 | [gl_cv_sys_struct_timespec_in_sys_time_h], | 48 | [gl_cv_sys_struct_timespec_in_sys_time_h], |
61 | [AC_COMPILE_IFELSE( | 49 | [AC_COMPILE_IFELSE( |
62 | [AC_LANG_PROGRAM( | 50 | [AC_LANG_PROGRAM( |
63 | [[#include <sys/time.h> | 51 | [[#include <sys/time.h> |
64 | ]], | 52 | ]], |
65 | [[static struct timespec x; x.tv_sec = x.tv_nsec;]])], | 53 | [[static struct timespec x; x.tv_sec = x.tv_nsec;]])], |
66 | [gl_cv_sys_struct_timespec_in_sys_time_h=yes], | 54 | [gl_cv_sys_struct_timespec_in_sys_time_h=yes], |
67 | [gl_cv_sys_struct_timespec_in_sys_time_h=no])]) | 55 | [gl_cv_sys_struct_timespec_in_sys_time_h=no])]) |
68 | if test $gl_cv_sys_struct_timespec_in_sys_time_h = yes; then | 56 | if test $gl_cv_sys_struct_timespec_in_sys_time_h = yes; then |
69 | SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=1 | 57 | SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=1 |
70 | fi | 58 | fi |
@@ -72,3 +60,33 @@ AC_DEFUN([gl_CHECK_TYPE_STRUCT_TIMESPEC], | |||
72 | AC_SUBST([TIME_H_DEFINES_STRUCT_TIMESPEC]) | 60 | AC_SUBST([TIME_H_DEFINES_STRUCT_TIMESPEC]) |
73 | AC_SUBST([SYS_TIME_H_DEFINES_STRUCT_TIMESPEC]) | 61 | AC_SUBST([SYS_TIME_H_DEFINES_STRUCT_TIMESPEC]) |
74 | ]) | 62 | ]) |
63 | |||
64 | AC_DEFUN([gl_TIME_MODULE_INDICATOR], | ||
65 | [ | ||
66 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. | ||
67 | AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) | ||
68 | gl_MODULE_INDICATOR_SET_VARIABLE([$1]) | ||
69 | dnl Define it also as a C macro, for the benefit of the unit tests. | ||
70 | gl_MODULE_INDICATOR_FOR_TESTS([$1]) | ||
71 | ]) | ||
72 | |||
73 | AC_DEFUN([gl_HEADER_TIME_H_DEFAULTS], | ||
74 | [ | ||
75 | GNULIB_MKTIME=0; AC_SUBST([GNULIB_MKTIME]) | ||
76 | GNULIB_NANOSLEEP=0; AC_SUBST([GNULIB_NANOSLEEP]) | ||
77 | GNULIB_STRPTIME=0; AC_SUBST([GNULIB_STRPTIME]) | ||
78 | GNULIB_TIMEGM=0; AC_SUBST([GNULIB_TIMEGM]) | ||
79 | GNULIB_TIME_R=0; AC_SUBST([GNULIB_TIME_R]) | ||
80 | dnl Assume proper GNU behavior unless another module says otherwise. | ||
81 | HAVE_LOCALTIME_R=1; AC_SUBST([HAVE_LOCALTIME_R]) | ||
82 | HAVE_NANOSLEEP=1; AC_SUBST([HAVE_NANOSLEEP]) | ||
83 | HAVE_STRPTIME=1; AC_SUBST([HAVE_STRPTIME]) | ||
84 | HAVE_TIMEGM=1; AC_SUBST([HAVE_TIMEGM]) | ||
85 | dnl If another module says to replace or to not replace, do that. | ||
86 | dnl Otherwise, replace only if someone compiles with -DGNULIB_PORTCHECK; | ||
87 | dnl this lets maintainers check for portability. | ||
88 | REPLACE_LOCALTIME_R=GNULIB_PORTCHECK; AC_SUBST([REPLACE_LOCALTIME_R]) | ||
89 | REPLACE_MKTIME=GNULIB_PORTCHECK; AC_SUBST([REPLACE_MKTIME]) | ||
90 | REPLACE_NANOSLEEP=GNULIB_PORTCHECK; AC_SUBST([REPLACE_NANOSLEEP]) | ||
91 | REPLACE_TIMEGM=GNULIB_PORTCHECK; AC_SUBST([REPLACE_TIMEGM]) | ||
92 | ]) | ||
diff --git a/gl/m4/time_r.m4 b/gl/m4/time_r.m4 index c871b56d..9e82d39f 100644 --- a/gl/m4/time_r.m4 +++ b/gl/m4/time_r.m4 | |||
@@ -1,6 +1,6 @@ | |||
1 | dnl Reentrant time functions like localtime_r. | 1 | dnl Reentrant time functions: localtime_r, gmtime_r. |
2 | 2 | ||
3 | dnl Copyright (C) 2003, 2006, 2007, 2008 Free Software Foundation, Inc. | 3 | dnl Copyright (C) 2003, 2006-2010 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,29 +9,40 @@ dnl Written by Paul Eggert. | |||
9 | 9 | ||
10 | AC_DEFUN([gl_TIME_R], | 10 | AC_DEFUN([gl_TIME_R], |
11 | [ | 11 | [ |
12 | dnl Persuade glibc and Solaris <time.h> to declare localtime_r. | 12 | dnl Persuade glibc and Solaris <time.h> to declare localtime_r. |
13 | AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) | 13 | AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) |
14 | 14 | ||
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 | AC_CACHE_CHECK([whether localtime_r is compatible with its POSIX signature], | 18 | AC_CHECK_FUNCS_ONCE([localtime_r]) |
19 | [gl_cv_time_r_posix], | 19 | if test $ac_cv_func_localtime_r = yes; then |
20 | [AC_TRY_COMPILE( | 20 | AC_CACHE_CHECK([whether localtime_r is compatible with its POSIX signature], |
21 | [#include <time.h>], | 21 | [gl_cv_time_r_posix], |
22 | [/* We don't need to append 'restrict's to the argument types, | 22 | [AC_COMPILE_IFELSE( |
23 | even though the POSIX signature has the 'restrict's, | 23 | [AC_LANG_PROGRAM( |
24 | since C99 says they can't affect type compatibility. */ | 24 | [[#include <time.h>]], |
25 | struct tm * (*ptr) (time_t const *, struct tm *) = localtime_r; | 25 | [[/* We don't need to append 'restrict's to the argument types, |
26 | if (ptr) return 0; | 26 | even though the POSIX signature has the 'restrict's, |
27 | /* Check the return type is a pointer. On HP-UX 10 it is 'int'. */ | 27 | since C99 says they can't affect type compatibility. */ |
28 | *localtime_r (0, 0);], | 28 | struct tm * (*ptr) (time_t const *, struct tm *) = localtime_r; |
29 | [gl_cv_time_r_posix=yes], | 29 | if (ptr) return 0; |
30 | [gl_cv_time_r_posix=no])]) | 30 | /* Check the return type is a pointer. |
31 | if test $gl_cv_time_r_posix = yes; then | 31 | On HP-UX 10 it is 'int'. */ |
32 | REPLACE_LOCALTIME_R=0 | 32 | *localtime_r (0, 0);]]) |
33 | ], | ||
34 | [gl_cv_time_r_posix=yes], | ||
35 | [gl_cv_time_r_posix=no]) | ||
36 | ]) | ||
37 | if test $gl_cv_time_r_posix = yes; then | ||
38 | REPLACE_LOCALTIME_R=0 | ||
39 | else | ||
40 | REPLACE_LOCALTIME_R=1 | ||
41 | fi | ||
33 | else | 42 | else |
34 | REPLACE_LOCALTIME_R=1 | 43 | HAVE_LOCALTIME_R=0 |
44 | fi | ||
45 | if test $HAVE_LOCALTIME_R = 0 || test $REPLACE_LOCALTIME_R = 1; then | ||
35 | AC_LIBOBJ([time_r]) | 46 | AC_LIBOBJ([time_r]) |
36 | gl_PREREQ_TIME_R | 47 | gl_PREREQ_TIME_R |
37 | fi | 48 | fi |
diff --git a/gl/m4/timegm.m4 b/gl/m4/timegm.m4 index be323c9b..bdaafbff 100644 --- a/gl/m4/timegm.m4 +++ b/gl/m4/timegm.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # timegm.m4 serial 6 | 1 | # timegm.m4 serial 8 |
2 | dnl Copyright (C) 2003, 2007, 2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2003, 2007, 2009, 2010 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,18 +8,18 @@ AC_DEFUN([gl_FUNC_TIMEGM], | |||
8 | [ | 8 | [ |
9 | AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) | 9 | AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) |
10 | AC_REQUIRE([gl_FUNC_MKTIME]) | 10 | AC_REQUIRE([gl_FUNC_MKTIME]) |
11 | if test $ac_cv_func_working_mktime = no; then | 11 | REPLACE_TIMEGM=0 |
12 | # Assume that timegm is buggy if mktime is. | 12 | AC_CHECK_FUNCS_ONCE([timegm]) |
13 | AC_LIBOBJ([timegm]) | ||
14 | ac_cv_func_timegm=no | ||
15 | else | ||
16 | AC_REPLACE_FUNCS([timegm]) | ||
17 | fi | ||
18 | REPLACE_TIMEGM=1 | ||
19 | if test $ac_cv_func_timegm = yes; then | 13 | if test $ac_cv_func_timegm = yes; then |
20 | AC_CHECK_DECLS([timegm], [REPLACE_TIMEGM=0], [], [#include <time.h>]) | 14 | if test $ac_cv_func_working_mktime = no; then |
15 | # Assume that timegm is buggy if mktime is. | ||
16 | REPLACE_TIMEGM=1 | ||
17 | fi | ||
18 | else | ||
19 | HAVE_TIMEGM=0 | ||
21 | fi | 20 | fi |
22 | if test $REPLACE_TIMEGM = 1; then | 21 | if test $HAVE_TIMEGM = 0 || test $REPLACE_TIMEGM = 1; then |
22 | AC_LIBOBJ([timegm]) | ||
23 | gl_PREREQ_TIMEGM | 23 | gl_PREREQ_TIMEGM |
24 | fi | 24 | fi |
25 | ]) | 25 | ]) |
@@ -34,7 +34,7 @@ AC_DEFUN([gl_PREREQ_TIMEGM], [ | |||
34 | # so we need to substitute our own mktime implementation. | 34 | # so we need to substitute our own mktime implementation. |
35 | AC_LIBOBJ([mktime]) | 35 | AC_LIBOBJ([mktime]) |
36 | AC_DEFINE([mktime], [rpl_mktime], | 36 | AC_DEFINE([mktime], [rpl_mktime], |
37 | [Define to rpl_mktime if the replacement function should be used.]) | 37 | [Define to rpl_mktime if the replacement function should be used.]) |
38 | gl_PREREQ_MKTIME]) | 38 | gl_PREREQ_MKTIME]) |
39 | fi | 39 | fi |
40 | ]) | 40 | ]) |
diff --git a/gl/m4/uintmax_t.m4 b/gl/m4/uintmax_t.m4 index 734b6933..03b51bcf 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-2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1997-2004, 2007-2010 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 index 09adf931..74c3ce60 100644 --- a/gl/m4/unistd-safer.m4 +++ b/gl/m4/unistd-safer.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | #serial 8 | 1 | #serial 8 |
2 | dnl Copyright (C) 2002, 2005, 2006 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002, 2005-2006, 2009-2010 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_h.m4 b/gl/m4/unistd_h.m4 index ff9a4ea0..8c2eec64 100644 --- a/gl/m4/unistd_h.m4 +++ b/gl/m4/unistd_h.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # unistd_h.m4 serial 17 | 1 | # unistd_h.m4 serial 45 |
2 | dnl Copyright (C) 2006-2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2006-2010 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,7 @@ 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]) | ||
14 | 15 | ||
15 | gl_CHECK_NEXT_HEADERS([unistd.h]) | 16 | gl_CHECK_NEXT_HEADERS([unistd.h]) |
16 | 17 | ||
@@ -21,13 +22,33 @@ AC_DEFUN([gl_UNISTD_H], | |||
21 | HAVE_UNISTD_H=0 | 22 | HAVE_UNISTD_H=0 |
22 | fi | 23 | fi |
23 | AC_SUBST([HAVE_UNISTD_H]) | 24 | AC_SUBST([HAVE_UNISTD_H]) |
25 | |||
26 | dnl Check for declarations of anything we want to poison if the | ||
27 | dnl corresponding gnulib module is not in use. | ||
28 | gl_WARN_ON_USE_PREPARE([[#include <unistd.h> | ||
29 | /* Some systems declare various items in the wrong headers. */ | ||
30 | #ifndef __GLIBC__ | ||
31 | # include <fcntl.h> | ||
32 | # include <stdio.h> | ||
33 | # include <stdlib.h> | ||
34 | # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ | ||
35 | # include <io.h> | ||
36 | # endif | ||
37 | #endif | ||
38 | ]], [chown dup2 dup3 environ euidaccess faccessat fchdir fchownat | ||
39 | fsync ftruncate getcwd getdomainname getdtablesize getgroups | ||
40 | gethostname getlogin getlogin_r getpagesize getusershell setusershell | ||
41 | endusershell lchown link linkat lseek pipe2 pread readlink readlinkat | ||
42 | rmdir sleep symlink symlinkat ttyname_r unlink unlinkat usleep]) | ||
24 | ]) | 43 | ]) |
25 | 44 | ||
26 | AC_DEFUN([gl_UNISTD_MODULE_INDICATOR], | 45 | AC_DEFUN([gl_UNISTD_MODULE_INDICATOR], |
27 | [ | 46 | [ |
28 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. | 47 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. |
29 | AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) | 48 | AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) |
30 | GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 | 49 | gl_MODULE_INDICATOR_SET_VARIABLE([$1]) |
50 | dnl Define it also as a C macro, for the benefit of the unit tests. | ||
51 | gl_MODULE_INDICATOR_FOR_TESTS([$1]) | ||
31 | ]) | 52 | ]) |
32 | 53 | ||
33 | AC_DEFUN([gl_UNISTD_H_DEFAULTS], | 54 | AC_DEFUN([gl_UNISTD_H_DEFAULTS], |
@@ -35,49 +56,99 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS], | |||
35 | GNULIB_CHOWN=0; AC_SUBST([GNULIB_CHOWN]) | 56 | GNULIB_CHOWN=0; AC_SUBST([GNULIB_CHOWN]) |
36 | GNULIB_CLOSE=0; AC_SUBST([GNULIB_CLOSE]) | 57 | GNULIB_CLOSE=0; AC_SUBST([GNULIB_CLOSE]) |
37 | GNULIB_DUP2=0; AC_SUBST([GNULIB_DUP2]) | 58 | GNULIB_DUP2=0; AC_SUBST([GNULIB_DUP2]) |
59 | GNULIB_DUP3=0; AC_SUBST([GNULIB_DUP3]) | ||
38 | GNULIB_ENVIRON=0; AC_SUBST([GNULIB_ENVIRON]) | 60 | GNULIB_ENVIRON=0; AC_SUBST([GNULIB_ENVIRON]) |
39 | GNULIB_EUIDACCESS=0; AC_SUBST([GNULIB_EUIDACCESS]) | 61 | GNULIB_EUIDACCESS=0; AC_SUBST([GNULIB_EUIDACCESS]) |
62 | GNULIB_FACCESSAT=0; AC_SUBST([GNULIB_FACCESSAT]) | ||
40 | GNULIB_FCHDIR=0; AC_SUBST([GNULIB_FCHDIR]) | 63 | GNULIB_FCHDIR=0; AC_SUBST([GNULIB_FCHDIR]) |
64 | GNULIB_FCHOWNAT=0; AC_SUBST([GNULIB_FCHOWNAT]) | ||
41 | GNULIB_FSYNC=0; AC_SUBST([GNULIB_FSYNC]) | 65 | GNULIB_FSYNC=0; AC_SUBST([GNULIB_FSYNC]) |
42 | GNULIB_FTRUNCATE=0; AC_SUBST([GNULIB_FTRUNCATE]) | 66 | GNULIB_FTRUNCATE=0; AC_SUBST([GNULIB_FTRUNCATE]) |
43 | GNULIB_GETCWD=0; AC_SUBST([GNULIB_GETCWD]) | 67 | GNULIB_GETCWD=0; AC_SUBST([GNULIB_GETCWD]) |
44 | GNULIB_GETDOMAINNAME=0; AC_SUBST([GNULIB_GETDOMAINNAME]) | 68 | GNULIB_GETDOMAINNAME=0; AC_SUBST([GNULIB_GETDOMAINNAME]) |
45 | GNULIB_GETDTABLESIZE=0; AC_SUBST([GNULIB_GETDTABLESIZE]) | 69 | GNULIB_GETDTABLESIZE=0; AC_SUBST([GNULIB_GETDTABLESIZE]) |
70 | GNULIB_GETGROUPS=0; AC_SUBST([GNULIB_GETGROUPS]) | ||
46 | GNULIB_GETHOSTNAME=0; AC_SUBST([GNULIB_GETHOSTNAME]) | 71 | GNULIB_GETHOSTNAME=0; AC_SUBST([GNULIB_GETHOSTNAME]) |
72 | GNULIB_GETLOGIN=0; AC_SUBST([GNULIB_GETLOGIN]) | ||
47 | GNULIB_GETLOGIN_R=0; AC_SUBST([GNULIB_GETLOGIN_R]) | 73 | GNULIB_GETLOGIN_R=0; AC_SUBST([GNULIB_GETLOGIN_R]) |
48 | GNULIB_GETPAGESIZE=0; AC_SUBST([GNULIB_GETPAGESIZE]) | 74 | GNULIB_GETPAGESIZE=0; AC_SUBST([GNULIB_GETPAGESIZE]) |
49 | GNULIB_GETUSERSHELL=0; AC_SUBST([GNULIB_GETUSERSHELL]) | 75 | GNULIB_GETUSERSHELL=0; AC_SUBST([GNULIB_GETUSERSHELL]) |
50 | GNULIB_LCHOWN=0; AC_SUBST([GNULIB_LCHOWN]) | 76 | GNULIB_LCHOWN=0; AC_SUBST([GNULIB_LCHOWN]) |
51 | GNULIB_LINK=0; AC_SUBST([GNULIB_LINK]) | 77 | GNULIB_LINK=0; AC_SUBST([GNULIB_LINK]) |
78 | GNULIB_LINKAT=0; AC_SUBST([GNULIB_LINKAT]) | ||
52 | GNULIB_LSEEK=0; AC_SUBST([GNULIB_LSEEK]) | 79 | GNULIB_LSEEK=0; AC_SUBST([GNULIB_LSEEK]) |
80 | GNULIB_PIPE2=0; AC_SUBST([GNULIB_PIPE2]) | ||
81 | GNULIB_PREAD=0; AC_SUBST([GNULIB_PREAD]) | ||
53 | GNULIB_READLINK=0; AC_SUBST([GNULIB_READLINK]) | 82 | GNULIB_READLINK=0; AC_SUBST([GNULIB_READLINK]) |
83 | GNULIB_READLINKAT=0; AC_SUBST([GNULIB_READLINKAT]) | ||
84 | GNULIB_RMDIR=0; AC_SUBST([GNULIB_RMDIR]) | ||
54 | GNULIB_SLEEP=0; AC_SUBST([GNULIB_SLEEP]) | 85 | GNULIB_SLEEP=0; AC_SUBST([GNULIB_SLEEP]) |
86 | GNULIB_SYMLINK=0; AC_SUBST([GNULIB_SYMLINK]) | ||
87 | GNULIB_SYMLINKAT=0; AC_SUBST([GNULIB_SYMLINKAT]) | ||
88 | GNULIB_TTYNAME_R=0; AC_SUBST([GNULIB_TTYNAME_R]) | ||
89 | GNULIB_UNISTD_H_GETOPT=0; AC_SUBST([GNULIB_UNISTD_H_GETOPT]) | ||
55 | GNULIB_UNISTD_H_SIGPIPE=0; AC_SUBST([GNULIB_UNISTD_H_SIGPIPE]) | 90 | GNULIB_UNISTD_H_SIGPIPE=0; AC_SUBST([GNULIB_UNISTD_H_SIGPIPE]) |
91 | GNULIB_UNLINK=0; AC_SUBST([GNULIB_UNLINK]) | ||
92 | GNULIB_UNLINKAT=0; AC_SUBST([GNULIB_UNLINKAT]) | ||
93 | GNULIB_USLEEP=0; AC_SUBST([GNULIB_USLEEP]) | ||
56 | GNULIB_WRITE=0; AC_SUBST([GNULIB_WRITE]) | 94 | GNULIB_WRITE=0; AC_SUBST([GNULIB_WRITE]) |
57 | dnl Assume proper GNU behavior unless another module says otherwise. | 95 | dnl Assume proper GNU behavior unless another module says otherwise. |
96 | HAVE_CHOWN=1; AC_SUBST([HAVE_CHOWN]) | ||
58 | HAVE_DUP2=1; AC_SUBST([HAVE_DUP2]) | 97 | HAVE_DUP2=1; AC_SUBST([HAVE_DUP2]) |
98 | HAVE_DUP3=1; AC_SUBST([HAVE_DUP3]) | ||
59 | HAVE_EUIDACCESS=1; AC_SUBST([HAVE_EUIDACCESS]) | 99 | HAVE_EUIDACCESS=1; AC_SUBST([HAVE_EUIDACCESS]) |
100 | HAVE_FACCESSAT=1; AC_SUBST([HAVE_FACCESSAT]) | ||
101 | HAVE_FCHDIR=1; AC_SUBST([HAVE_FCHDIR]) | ||
102 | HAVE_FCHOWNAT=1; AC_SUBST([HAVE_FCHOWNAT]) | ||
60 | HAVE_FSYNC=1; AC_SUBST([HAVE_FSYNC]) | 103 | HAVE_FSYNC=1; AC_SUBST([HAVE_FSYNC]) |
61 | HAVE_FTRUNCATE=1; AC_SUBST([HAVE_FTRUNCATE]) | 104 | HAVE_FTRUNCATE=1; AC_SUBST([HAVE_FTRUNCATE]) |
62 | HAVE_GETDOMAINNAME=1; AC_SUBST([HAVE_GETDOMAINNAME]) | 105 | HAVE_GETDOMAINNAME=1; AC_SUBST([HAVE_GETDOMAINNAME]) |
63 | HAVE_GETDTABLESIZE=1; AC_SUBST([HAVE_GETDTABLESIZE]) | 106 | HAVE_GETDTABLESIZE=1; AC_SUBST([HAVE_GETDTABLESIZE]) |
107 | HAVE_GETGROUPS=1; AC_SUBST([HAVE_GETGROUPS]) | ||
64 | HAVE_GETHOSTNAME=1; AC_SUBST([HAVE_GETHOSTNAME]) | 108 | HAVE_GETHOSTNAME=1; AC_SUBST([HAVE_GETHOSTNAME]) |
109 | HAVE_GETLOGIN=1; AC_SUBST([HAVE_GETLOGIN]) | ||
65 | HAVE_GETPAGESIZE=1; AC_SUBST([HAVE_GETPAGESIZE]) | 110 | HAVE_GETPAGESIZE=1; AC_SUBST([HAVE_GETPAGESIZE]) |
66 | HAVE_GETUSERSHELL=1; AC_SUBST([HAVE_GETUSERSHELL]) | 111 | HAVE_LCHOWN=1; AC_SUBST([HAVE_LCHOWN]) |
67 | HAVE_LINK=1; AC_SUBST([HAVE_LINK]) | 112 | HAVE_LINK=1; AC_SUBST([HAVE_LINK]) |
113 | HAVE_LINKAT=1; AC_SUBST([HAVE_LINKAT]) | ||
114 | HAVE_PIPE2=1; AC_SUBST([HAVE_PIPE2]) | ||
115 | HAVE_PREAD=1; AC_SUBST([HAVE_PREAD]) | ||
68 | HAVE_READLINK=1; AC_SUBST([HAVE_READLINK]) | 116 | HAVE_READLINK=1; AC_SUBST([HAVE_READLINK]) |
117 | HAVE_READLINKAT=1; AC_SUBST([HAVE_READLINKAT]) | ||
69 | HAVE_SLEEP=1; AC_SUBST([HAVE_SLEEP]) | 118 | HAVE_SLEEP=1; AC_SUBST([HAVE_SLEEP]) |
119 | HAVE_SYMLINK=1; AC_SUBST([HAVE_SYMLINK]) | ||
120 | HAVE_SYMLINKAT=1; AC_SUBST([HAVE_SYMLINKAT]) | ||
121 | HAVE_TTYNAME_R=1; AC_SUBST([HAVE_TTYNAME_R]) | ||
122 | HAVE_UNLINKAT=1; AC_SUBST([HAVE_UNLINKAT]) | ||
123 | HAVE_USLEEP=1; AC_SUBST([HAVE_USLEEP]) | ||
70 | HAVE_DECL_ENVIRON=1; AC_SUBST([HAVE_DECL_ENVIRON]) | 124 | HAVE_DECL_ENVIRON=1; AC_SUBST([HAVE_DECL_ENVIRON]) |
71 | HAVE_DECL_GETLOGIN_R=1; AC_SUBST([HAVE_DECL_GETLOGIN_R]) | 125 | HAVE_DECL_GETLOGIN_R=1; AC_SUBST([HAVE_DECL_GETLOGIN_R]) |
126 | HAVE_DECL_GETPAGESIZE=1; AC_SUBST([HAVE_DECL_GETPAGESIZE]) | ||
127 | HAVE_DECL_GETUSERSHELL=1; AC_SUBST([HAVE_DECL_GETUSERSHELL]) | ||
72 | HAVE_OS_H=0; AC_SUBST([HAVE_OS_H]) | 128 | HAVE_OS_H=0; AC_SUBST([HAVE_OS_H]) |
73 | HAVE_SYS_PARAM_H=0; AC_SUBST([HAVE_SYS_PARAM_H]) | 129 | HAVE_SYS_PARAM_H=0; AC_SUBST([HAVE_SYS_PARAM_H]) |
74 | REPLACE_CHOWN=0; AC_SUBST([REPLACE_CHOWN]) | 130 | REPLACE_CHOWN=0; AC_SUBST([REPLACE_CHOWN]) |
75 | REPLACE_CLOSE=0; AC_SUBST([REPLACE_CLOSE]) | 131 | REPLACE_CLOSE=0; AC_SUBST([REPLACE_CLOSE]) |
76 | REPLACE_FCHDIR=0; AC_SUBST([REPLACE_FCHDIR]) | 132 | REPLACE_DUP=0; AC_SUBST([REPLACE_DUP]) |
133 | REPLACE_DUP2=0; AC_SUBST([REPLACE_DUP2]) | ||
134 | REPLACE_FCHOWNAT=0; AC_SUBST([REPLACE_FCHOWNAT]) | ||
77 | REPLACE_GETCWD=0; AC_SUBST([REPLACE_GETCWD]) | 135 | REPLACE_GETCWD=0; AC_SUBST([REPLACE_GETCWD]) |
136 | REPLACE_GETGROUPS=0; AC_SUBST([REPLACE_GETGROUPS]) | ||
78 | REPLACE_GETPAGESIZE=0; AC_SUBST([REPLACE_GETPAGESIZE]) | 137 | REPLACE_GETPAGESIZE=0; AC_SUBST([REPLACE_GETPAGESIZE]) |
79 | REPLACE_LCHOWN=0; AC_SUBST([REPLACE_LCHOWN]) | 138 | REPLACE_LCHOWN=0; AC_SUBST([REPLACE_LCHOWN]) |
139 | REPLACE_LINK=0; AC_SUBST([REPLACE_LINK]) | ||
140 | REPLACE_LINKAT=0; AC_SUBST([REPLACE_LINKAT]) | ||
80 | REPLACE_LSEEK=0; AC_SUBST([REPLACE_LSEEK]) | 141 | REPLACE_LSEEK=0; AC_SUBST([REPLACE_LSEEK]) |
142 | REPLACE_PREAD=0; AC_SUBST([REPLACE_PREAD]) | ||
143 | REPLACE_READLINK=0; AC_SUBST([REPLACE_READLINK]) | ||
144 | REPLACE_RMDIR=0; AC_SUBST([REPLACE_RMDIR]) | ||
145 | REPLACE_SLEEP=0; AC_SUBST([REPLACE_SLEEP]) | ||
146 | REPLACE_SYMLINK=0; AC_SUBST([REPLACE_SYMLINK]) | ||
147 | REPLACE_UNLINK=0; AC_SUBST([REPLACE_UNLINK]) | ||
148 | REPLACE_UNLINKAT=0; AC_SUBST([REPLACE_UNLINKAT]) | ||
149 | REPLACE_USLEEP=0; AC_SUBST([REPLACE_USLEEP]) | ||
81 | REPLACE_WRITE=0; AC_SUBST([REPLACE_WRITE]) | 150 | REPLACE_WRITE=0; AC_SUBST([REPLACE_WRITE]) |
82 | UNISTD_H_HAVE_WINSOCK2_H=0; AC_SUBST([UNISTD_H_HAVE_WINSOCK2_H]) | 151 | UNISTD_H_HAVE_WINSOCK2_H=0; AC_SUBST([UNISTD_H_HAVE_WINSOCK2_H]) |
152 | UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=0; | ||
153 | AC_SUBST([UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS]) | ||
83 | ]) | 154 | ]) |
diff --git a/gl/m4/vasnprintf.m4 b/gl/m4/vasnprintf.m4 index 3a1d1e01..50a20cca 100644 --- a/gl/m4/vasnprintf.m4 +++ b/gl/m4/vasnprintf.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # vasnprintf.m4 serial 29 | 1 | # vasnprintf.m4 serial 29 |
2 | dnl Copyright (C) 2002-2004, 2006-2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2004, 2006-2010 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/vasprintf.m4 b/gl/m4/vasprintf.m4 index 074b03cf..b142bc0f 100644 --- a/gl/m4/vasprintf.m4 +++ b/gl/m4/vasprintf.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # vasprintf.m4 serial 6 | 1 | # vasprintf.m4 serial 6 |
2 | dnl Copyright (C) 2002-2003, 2006-2007 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2003, 2006-2007, 2009-2010 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. |
diff --git a/gl/m4/visibility.m4 b/gl/m4/visibility.m4 index 70bca564..6d3f9c9d 100644 --- a/gl/m4/visibility.m4 +++ b/gl/m4/visibility.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # visibility.m4 serial 2 (gettext-0.18) | 1 | # visibility.m4 serial 2 (gettext-0.18) |
2 | dnl Copyright (C) 2005, 2008 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2005, 2008-2010 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/vsnprintf.m4 b/gl/m4/vsnprintf.m4 index 3b37d460..ed189c23 100644 --- a/gl/m4/vsnprintf.m4 +++ b/gl/m4/vsnprintf.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # vsnprintf.m4 serial 5 | 1 | # vsnprintf.m4 serial 5 |
2 | dnl Copyright (C) 2002-2004, 2007-2008 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2004, 2007-2010 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/warn-on-use.m4 b/gl/m4/warn-on-use.m4 new file mode 100644 index 00000000..42daae87 --- /dev/null +++ b/gl/m4/warn-on-use.m4 | |||
@@ -0,0 +1,45 @@ | |||
1 | # warn-on-use.m4 serial 2 | ||
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 | # gl_WARN_ON_USE_PREPARE(INCLUDES, NAMES) | ||
8 | # --------------------------------------- | ||
9 | # For each whitespace-separated element in the list of NAMES, define | ||
10 | # HAVE_RAW_DECL_name if the function has a declaration among INCLUDES | ||
11 | # even after being undefined as a macro. | ||
12 | # | ||
13 | # See warn-on-use.h for some hints on how to poison function names, as | ||
14 | # well as ideas on poisoning global variables and macros. NAMES may | ||
15 | # include global variables, but remember that only functions work with | ||
16 | # _GL_WARN_ON_USE. Typically, INCLUDES only needs to list a single | ||
17 | # header, but if the replacement header pulls in other headers because | ||
18 | # some systems declare functions in the wrong header, then INCLUDES | ||
19 | # should do likewise. | ||
20 | # | ||
21 | # If you assume C89, then it is generally safe to assume declarations | ||
22 | # for functions declared in that standard (such as gets) without | ||
23 | # needing gl_WARN_ON_USE_PREPARE. | ||
24 | AC_DEFUN([gl_WARN_ON_USE_PREPARE], | ||
25 | [ | ||
26 | m4_foreach_w([gl_decl], [$2], | ||
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 | ||
29 | undefining macros.])])dnl | ||
30 | for gl_func in m4_flatten([$2]); do | ||
31 | 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], | ||
33 | gl_Symbol, | ||
34 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([$1], | ||
35 | [@%:@undef $gl_func | ||
36 | (void) $gl_func;])], | ||
37 | [AS_VAR_SET(gl_Symbol, [yes])], [AS_VAR_SET(gl_Symbol, [no])])]) | ||
38 | AS_VAR_IF(gl_Symbol, [yes], | ||
39 | [AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE_RAW_DECL_$gl_func]), [1]) | ||
40 | dnl shortcut - if the raw declaration exists, then set a cache | ||
41 | dnl variable to allow skipping any later AC_CHECK_DECL efforts | ||
42 | eval ac_cv_have_decl_$gl_func=yes]) | ||
43 | AS_VAR_POPDEF([gl_Symbol])dnl | ||
44 | done | ||
45 | ]) | ||
diff --git a/gl/m4/wchar.m4 b/gl/m4/wchar_h.m4 index 2e52a82a..8cae82dd 100644 --- a/gl/m4/wchar.m4 +++ b/gl/m4/wchar_h.m4 | |||
@@ -1,23 +1,30 @@ | |||
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-2009 Free Software Foundation, Inc. | 3 | dnl Copyright (C) 2007-2010 Free Software Foundation, Inc. |
4 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
5 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
6 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
7 | 7 | ||
8 | dnl Written by Eric Blake. | 8 | dnl Written by Eric Blake. |
9 | 9 | ||
10 | # wchar.m4 serial 23 | 10 | # wchar_h.m4 serial 33 |
11 | 11 | ||
12 | AC_DEFUN([gl_WCHAR_H], | 12 | AC_DEFUN([gl_WCHAR_H], |
13 | [ | 13 | [ |
14 | AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) | 14 | AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) |
15 | AC_CACHE_CHECK([whether <wchar.h> is standalone], | 15 | AC_REQUIRE([gl_WCHAR_H_INLINE_OK]) |
16 | [gl_cv_header_wchar_h_standalone], | 16 | dnl Prepare for creating substitute <wchar.h>. |
17 | [AC_COMPILE_IFELSE([[#include <wchar.h> | 17 | dnl Check for <wchar.h> (missing in Linux uClibc when built without wide |
18 | wchar_t w;]], | 18 | dnl character support). |
19 | [gl_cv_header_wchar_h_standalone=yes], | 19 | dnl <wchar.h> is always overridden, because of GNULIB_POSIXCHECK. |
20 | [gl_cv_header_wchar_h_standalone=no])]) | 20 | AC_CHECK_HEADERS_ONCE([wchar.h]) |
21 | gl_CHECK_NEXT_HEADERS([wchar.h]) | ||
22 | if test $ac_cv_header_wchar_h = yes; then | ||
23 | HAVE_WCHAR_H=1 | ||
24 | else | ||
25 | HAVE_WCHAR_H=0 | ||
26 | fi | ||
27 | AC_SUBST([HAVE_WCHAR_H]) | ||
21 | 28 | ||
22 | AC_REQUIRE([gt_TYPE_WINT_T]) | 29 | AC_REQUIRE([gt_TYPE_WINT_T]) |
23 | if test $gt_cv_c_wint_t = yes; then | 30 | if test $gt_cv_c_wint_t = yes; then |
@@ -27,36 +34,82 @@ wchar_t w;]], | |||
27 | fi | 34 | fi |
28 | AC_SUBST([HAVE_WINT_T]) | 35 | AC_SUBST([HAVE_WINT_T]) |
29 | 36 | ||
30 | if test $gl_cv_header_wchar_h_standalone != yes || test $gt_cv_c_wint_t != yes; then | 37 | dnl Check for declarations of anything we want to poison if the |
31 | WCHAR_H=wchar.h | 38 | dnl corresponding gnulib module is not in use. |
32 | fi | 39 | gl_WARN_ON_USE_PREPARE([[ |
40 | /* Some systems require additional headers. */ | ||
41 | #ifndef __GLIBC__ | ||
42 | # include <stddef.h> | ||
43 | # include <stdio.h> | ||
44 | # include <time.h> | ||
45 | #endif | ||
46 | #include <wchar.h> | ||
47 | ]], [btowc wctob mbsinit mbrtowc mbrlen mbsrtowcs mbsnrtowcs wcrtomb | ||
48 | wcsrtombs wcsnrtombs wcwidth]) | ||
49 | ]) | ||
33 | 50 | ||
34 | dnl Prepare for creating substitute <wchar.h>. | 51 | dnl Check whether <wchar.h> is usable at all. |
35 | dnl Do it always: WCHAR_H may be empty here but can be set later. | 52 | AC_DEFUN([gl_WCHAR_H_INLINE_OK], |
36 | dnl Check for <wchar.h> (missing in Linux uClibc when built without wide | 53 | [ |
37 | dnl character support). | 54 | dnl Test whether <wchar.h> suffers due to the transition from '__inline' to |
38 | AC_CHECK_HEADERS_ONCE([wchar.h]) | 55 | dnl 'gnu_inline'. See <http://sourceware.org/bugzilla/show_bug.cgi?id=4022> |
39 | if test $ac_cv_header_wchar_h = yes; then | 56 | dnl and <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42440>. In summary, |
40 | HAVE_WCHAR_H=1 | 57 | dnl glibc version 2.5 or older, together with gcc version 4.3 or newer and |
41 | else | 58 | dnl the option -std=c99 or -std=gnu99, leads to a broken <wchar.h>. |
42 | HAVE_WCHAR_H=0 | 59 | AC_CACHE_CHECK([whether <wchar.h> uses 'inline' correctly], |
60 | [gl_cv_header_wchar_h_correct_inline], | ||
61 | [gl_cv_header_wchar_h_correct_inline=yes | ||
62 | AC_LANG_CONFTEST([ | ||
63 | AC_LANG_SOURCE([[#define wcstod renamed_wcstod | ||
64 | #include <wchar.h> | ||
65 | extern int zero (void); | ||
66 | int main () { return zero(); } | ||
67 | ]])]) | ||
68 | if AC_TRY_EVAL([ac_compile]); then | ||
69 | mv conftest.$ac_objext conftest1.$ac_objext | ||
70 | AC_LANG_CONFTEST([ | ||
71 | AC_LANG_SOURCE([[#define wcstod renamed_wcstod | ||
72 | #include <wchar.h> | ||
73 | int zero (void) { return 0; } | ||
74 | ]])]) | ||
75 | if AC_TRY_EVAL([ac_compile]); then | ||
76 | mv conftest.$ac_objext conftest2.$ac_objext | ||
77 | if $CC -o conftest$ac_exeext $CFLAGS $LDFLAGS conftest1.$ac_objext conftest2.$ac_objext $LIBS >&AS_MESSAGE_LOG_FD 2>&1; then | ||
78 | : | ||
79 | else | ||
80 | gl_cv_header_wchar_h_correct_inline=no | ||
81 | fi | ||
82 | fi | ||
83 | fi | ||
84 | rm -f conftest1.$ac_objext conftest2.$ac_objext conftest$ac_exeext | ||
85 | ]) | ||
86 | if test $gl_cv_header_wchar_h_correct_inline = no; then | ||
87 | AC_MSG_ERROR([<wchar.h> cannot be used with this compiler ($CC $CFLAGS $CPPFLAGS). | ||
88 | This is a known interoperability problem of glibc <= 2.5 with gcc >= 4.3 in | ||
89 | C99 mode. You have four options: | ||
90 | - Add the flag -fgnu89-inline to CC and reconfigure, or | ||
91 | - Fix your include files, using parts of | ||
92 | <http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=b037a293a48718af30d706c2e18c929d0e69a621>, or | ||
93 | - Use a gcc version older than 4.3, or | ||
94 | - Don't use the flags -std=c99 or -std=gnu99. | ||
95 | Configuration aborted.]) | ||
43 | fi | 96 | fi |
44 | AC_SUBST([HAVE_WCHAR_H]) | ||
45 | gl_CHECK_NEXT_HEADERS([wchar.h]) | ||
46 | ]) | 97 | ]) |
47 | 98 | ||
48 | dnl Unconditionally enables the replacement of <wchar.h>. | 99 | dnl Unconditionally enables the replacement of <wchar.h>. |
49 | AC_DEFUN([gl_REPLACE_WCHAR_H], | 100 | AC_DEFUN([gl_REPLACE_WCHAR_H], |
50 | [ | 101 | [ |
51 | AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) | 102 | dnl This is a no-op, because <wchar.h> is always overridden. |
52 | WCHAR_H=wchar.h | 103 | : |
53 | ]) | 104 | ]) |
54 | 105 | ||
55 | AC_DEFUN([gl_WCHAR_MODULE_INDICATOR], | 106 | AC_DEFUN([gl_WCHAR_MODULE_INDICATOR], |
56 | [ | 107 | [ |
57 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. | 108 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. |
58 | AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) | 109 | AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) |
59 | GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 | 110 | gl_MODULE_INDICATOR_SET_VARIABLE([$1]) |
111 | dnl Define it also as a C macro, for the benefit of the unit tests. | ||
112 | gl_MODULE_INDICATOR_FOR_TESTS([$1]) | ||
60 | ]) | 113 | ]) |
61 | 114 | ||
62 | AC_DEFUN([gl_WCHAR_H_DEFAULTS], | 115 | AC_DEFUN([gl_WCHAR_H_DEFAULTS], |
@@ -96,5 +149,4 @@ AC_DEFUN([gl_WCHAR_H_DEFAULTS], | |||
96 | REPLACE_WCSRTOMBS=0; AC_SUBST([REPLACE_WCSRTOMBS]) | 149 | REPLACE_WCSRTOMBS=0; AC_SUBST([REPLACE_WCSRTOMBS]) |
97 | REPLACE_WCSNRTOMBS=0; AC_SUBST([REPLACE_WCSNRTOMBS]) | 150 | REPLACE_WCSNRTOMBS=0; AC_SUBST([REPLACE_WCSNRTOMBS]) |
98 | REPLACE_WCWIDTH=0; AC_SUBST([REPLACE_WCWIDTH]) | 151 | REPLACE_WCWIDTH=0; AC_SUBST([REPLACE_WCWIDTH]) |
99 | WCHAR_H=''; AC_SUBST([WCHAR_H]) | ||
100 | ]) | 152 | ]) |
diff --git a/gl/m4/wchar_t.m4 b/gl/m4/wchar_t.m4 index fb27a7f6..ed804e66 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 3 (gettext-0.18) |
2 | dnl Copyright (C) 2002-2003, 2008, 2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2003, 2008-2010 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/wcrtomb.m4 b/gl/m4/wcrtomb.m4 index cb7d9263..6a2d772a 100644 --- a/gl/m4/wcrtomb.m4 +++ b/gl/m4/wcrtomb.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # wcrtomb.m4 serial 4 | 1 | # wcrtomb.m4 serial 5 |
2 | dnl Copyright (C) 2008-2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2008-2010 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,37 +10,37 @@ AC_DEFUN([gl_FUNC_WCRTOMB], | |||
10 | 10 | ||
11 | AC_REQUIRE([AC_TYPE_MBSTATE_T]) | 11 | AC_REQUIRE([AC_TYPE_MBSTATE_T]) |
12 | gl_MBSTATE_T_BROKEN | 12 | gl_MBSTATE_T_BROKEN |
13 | if test $REPLACE_MBSTATE_T = 1; then | 13 | |
14 | REPLACE_WCRTOMB=1 | ||
15 | fi | ||
16 | AC_CHECK_FUNCS_ONCE([wcrtomb]) | 14 | AC_CHECK_FUNCS_ONCE([wcrtomb]) |
17 | if test $ac_cv_func_wcrtomb = no; then | 15 | if test $ac_cv_func_wcrtomb = no; then |
18 | HAVE_WCRTOMB=0 | 16 | HAVE_WCRTOMB=0 |
19 | fi | 17 | else |
20 | if test $HAVE_WCRTOMB != 0 && test $REPLACE_WCRTOMB != 1; then | 18 | if test $REPLACE_MBSTATE_T = 1; then |
21 | dnl On AIX 4.3, OSF/1 5.1 and Solaris 10, wcrtomb (NULL, 0, NULL) sometimes | 19 | REPLACE_WCRTOMB=1 |
22 | dnl returns 0 instead of 1. | 20 | else |
23 | AC_REQUIRE([AC_PROG_CC]) | 21 | dnl On AIX 4.3, OSF/1 5.1 and Solaris 10, wcrtomb (NULL, 0, NULL) sometimes |
24 | AC_REQUIRE([gt_LOCALE_FR]) | 22 | dnl returns 0 instead of 1. |
25 | AC_REQUIRE([gt_LOCALE_FR_UTF8]) | 23 | AC_REQUIRE([AC_PROG_CC]) |
26 | AC_REQUIRE([gt_LOCALE_JA]) | 24 | AC_REQUIRE([gt_LOCALE_FR]) |
27 | AC_REQUIRE([gt_LOCALE_ZH_CN]) | 25 | AC_REQUIRE([gt_LOCALE_FR_UTF8]) |
28 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | 26 | AC_REQUIRE([gt_LOCALE_JA]) |
29 | AC_CACHE_CHECK([whether wcrtomb return value is correct], | 27 | AC_REQUIRE([gt_LOCALE_ZH_CN]) |
30 | [gl_cv_func_wcrtomb_retval], | 28 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles |
31 | [ | 29 | AC_CACHE_CHECK([whether wcrtomb return value is correct], |
32 | dnl Initial guess, used when cross-compiling or when no suitable locale | 30 | [gl_cv_func_wcrtomb_retval], |
33 | dnl is present. | 31 | [ |
32 | dnl Initial guess, used when cross-compiling or when no suitable locale | ||
33 | dnl is present. | ||
34 | changequote(,)dnl | 34 | changequote(,)dnl |
35 | case "$host_os" in | 35 | case "$host_os" in |
36 | # Guess no on AIX 4, OSF/1 and Solaris. | 36 | # Guess no on AIX 4, OSF/1 and Solaris. |
37 | aix4* | osf* | solaris*) gl_cv_func_wcrtomb_retval="guessing no" ;; | 37 | aix4* | osf* | solaris*) gl_cv_func_wcrtomb_retval="guessing no" ;; |
38 | # Guess yes otherwise. | 38 | # Guess yes otherwise. |
39 | *) gl_cv_func_wcrtomb_retval="guessing yes" ;; | 39 | *) gl_cv_func_wcrtomb_retval="guessing yes" ;; |
40 | esac | 40 | esac |
41 | changequote([,])dnl | 41 | changequote([,])dnl |
42 | if test $LOCALE_FR != none || test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none || test $LOCALE_ZH_CN != none; then | 42 | if test $LOCALE_FR != none || test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none || test $LOCALE_ZH_CN != none; then |
43 | AC_TRY_RUN([ | 43 | AC_TRY_RUN([ |
44 | #include <locale.h> | 44 | #include <locale.h> |
45 | #include <stdio.h> | 45 | #include <stdio.h> |
46 | #include <string.h> | 46 | #include <string.h> |
@@ -69,15 +69,16 @@ int main () | |||
69 | } | 69 | } |
70 | return 0; | 70 | return 0; |
71 | }], | 71 | }], |
72 | [gl_cv_func_wcrtomb_retval=yes], | 72 | [gl_cv_func_wcrtomb_retval=yes], |
73 | [gl_cv_func_wcrtomb_retval=no], | 73 | [gl_cv_func_wcrtomb_retval=no], |
74 | [:]) | 74 | [:]) |
75 | fi | 75 | fi |
76 | ]) | 76 | ]) |
77 | case "$gl_cv_func_wcrtomb_retval" in | 77 | case "$gl_cv_func_wcrtomb_retval" in |
78 | *yes) ;; | 78 | *yes) ;; |
79 | *) REPLACE_WCRTOMB=1 ;; | 79 | *) REPLACE_WCRTOMB=1 ;; |
80 | esac | 80 | esac |
81 | fi | ||
81 | fi | 82 | fi |
82 | if test $HAVE_WCRTOMB = 0 || test $REPLACE_WCRTOMB = 1; then | 83 | if test $HAVE_WCRTOMB = 0 || test $REPLACE_WCRTOMB = 1; then |
83 | gl_REPLACE_WCHAR_H | 84 | gl_REPLACE_WCHAR_H |
diff --git a/gl/m4/wctype.m4 b/gl/m4/wctype_h.m4 index 6a1b6f07..32924514 100644 --- a/gl/m4/wctype.m4 +++ b/gl/m4/wctype_h.m4 | |||
@@ -1,8 +1,8 @@ | |||
1 | # wctype.m4 serial 2 | 1 | # wctype_h.m4 serial 6 |
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-2008 Free Software Foundation, Inc. | 5 | dnl Copyright (C) 2006-2010 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. |
@@ -12,6 +12,7 @@ dnl Written by Paul Eggert. | |||
12 | AC_DEFUN([gl_WCTYPE_H], | 12 | AC_DEFUN([gl_WCTYPE_H], |
13 | [ | 13 | [ |
14 | AC_REQUIRE([AC_PROG_CC]) | 14 | AC_REQUIRE([AC_PROG_CC]) |
15 | AC_REQUIRE([AC_CANONICAL_HOST]) | ||
15 | AC_CHECK_FUNCS_ONCE([iswcntrl]) | 16 | AC_CHECK_FUNCS_ONCE([iswcntrl]) |
16 | if test $ac_cv_func_iswcntrl = yes; then | 17 | if test $ac_cv_func_iswcntrl = yes; then |
17 | HAVE_ISWCNTRL=1 | 18 | HAVE_ISWCNTRL=1 |
@@ -19,6 +20,13 @@ AC_DEFUN([gl_WCTYPE_H], | |||
19 | HAVE_ISWCNTRL=0 | 20 | HAVE_ISWCNTRL=0 |
20 | fi | 21 | fi |
21 | AC_SUBST([HAVE_ISWCNTRL]) | 22 | 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]) | ||
22 | AC_CHECK_HEADERS_ONCE([wctype.h]) | 30 | AC_CHECK_HEADERS_ONCE([wctype.h]) |
23 | AC_REQUIRE([AC_C_INLINE]) | 31 | AC_REQUIRE([AC_C_INLINE]) |
24 | 32 | ||
@@ -30,40 +38,34 @@ AC_DEFUN([gl_WCTYPE_H], | |||
30 | fi | 38 | fi |
31 | AC_SUBST([HAVE_WINT_T]) | 39 | AC_SUBST([HAVE_WINT_T]) |
32 | 40 | ||
33 | WCTYPE_H=wctype.h | ||
34 | if test $ac_cv_header_wctype_h = yes; then | 41 | if test $ac_cv_header_wctype_h = yes; then |
35 | if test $ac_cv_func_iswcntrl = yes; then | 42 | if test $ac_cv_func_iswcntrl = yes; then |
36 | dnl Linux libc5 has an iswprint function that returns 0 for all arguments. | 43 | dnl Linux libc5 has an iswprint function that returns 0 for all arguments. |
37 | dnl The other functions are likely broken in the same way. | 44 | dnl The other functions are likely broken in the same way. |
38 | AC_CACHE_CHECK([whether iswcntrl works], [gl_cv_func_iswcntrl_works], | 45 | AC_CACHE_CHECK([whether iswcntrl works], [gl_cv_func_iswcntrl_works], |
39 | [ | 46 | [ |
40 | AC_TRY_RUN([#include <stddef.h> | 47 | AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
41 | #include <stdio.h> | 48 | #include <stddef.h> |
42 | #include <time.h> | 49 | #include <stdio.h> |
43 | #include <wchar.h> | 50 | #include <time.h> |
44 | #include <wctype.h> | 51 | #include <wchar.h> |
45 | int main () { return iswprint ('x') == 0; }], | 52 | #include <wctype.h> |
53 | int main () { return iswprint ('x') == 0; }]])], | ||
46 | [gl_cv_func_iswcntrl_works=yes], [gl_cv_func_iswcntrl_works=no], | 54 | [gl_cv_func_iswcntrl_works=yes], [gl_cv_func_iswcntrl_works=no], |
47 | [AC_TRY_COMPILE([#include <stdlib.h> | 55 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdlib.h> |
48 | #if __GNU_LIBRARY__ == 1 | 56 | #if __GNU_LIBRARY__ == 1 |
49 | Linux libc5 i18n is broken. | 57 | Linux libc5 i18n is broken. |
50 | #endif], [], | 58 | #endif]], [])], |
51 | [gl_cv_func_iswcntrl_works=yes], [gl_cv_func_iswcntrl_works=no]) | 59 | [gl_cv_func_iswcntrl_works=yes], [gl_cv_func_iswcntrl_works=no]) |
52 | ]) | 60 | ]) |
53 | ]) | 61 | ]) |
54 | if test $gl_cv_func_iswcntrl_works = yes; then | ||
55 | WCTYPE_H= | ||
56 | fi | ||
57 | fi | 62 | fi |
58 | dnl Compute NEXT_WCTYPE_H even if WCTYPE_H is empty, | ||
59 | dnl for the benefit of builds from non-distclean directories. | ||
60 | gl_CHECK_NEXT_HEADERS([wctype.h]) | 63 | gl_CHECK_NEXT_HEADERS([wctype.h]) |
61 | HAVE_WCTYPE_H=1 | 64 | HAVE_WCTYPE_H=1 |
62 | else | 65 | else |
63 | HAVE_WCTYPE_H=0 | 66 | HAVE_WCTYPE_H=0 |
64 | fi | 67 | fi |
65 | AC_SUBST([HAVE_WCTYPE_H]) | 68 | AC_SUBST([HAVE_WCTYPE_H]) |
66 | AC_SUBST([WCTYPE_H]) | ||
67 | 69 | ||
68 | if test "$gl_cv_func_iswcntrl_works" = no; then | 70 | if test "$gl_cv_func_iswcntrl_works" = no; then |
69 | REPLACE_ISWCNTRL=1 | 71 | REPLACE_ISWCNTRL=1 |
diff --git a/gl/m4/wint_t.m4 b/gl/m4/wint_t.m4 index 47a4363d..a6c7d15c 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 4 (gettext-0.18) |
2 | dnl Copyright (C) 2003, 2007-2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2003, 2007-2010 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/write.m4 b/gl/m4/write.m4 index 812b19b3..56325aba 100644 --- a/gl/m4/write.m4 +++ b/gl/m4/write.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # write.m4 serial 1 | 1 | # write.m4 serial 1 |
2 | dnl Copyright (C) 2008 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2008, 2009, 2010 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/xalloc.m4 b/gl/m4/xalloc.m4 index 837a948c..83247fe3 100644 --- a/gl/m4/xalloc.m4 +++ b/gl/m4/xalloc.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # xalloc.m4 serial 16 | 1 | # xalloc.m4 serial 16 |
2 | dnl Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002, 2003, 2004, 2005, 2006, 2009, 2010 Free Software |
3 | dnl Foundation, 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. |
diff --git a/gl/m4/xsize.m4 b/gl/m4/xsize.m4 index 631893cf..b653693a 100644 --- a/gl/m4/xsize.m4 +++ b/gl/m4/xsize.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # xsize.m4 serial 4 | 1 | # xsize.m4 serial 4 |
2 | dnl Copyright (C) 2003-2004, 2008 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2003-2004, 2008-2010 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/xstrndup.m4 b/gl/m4/xstrndup.m4 index 8a30ab15..74302cc9 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 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2003, 2009, 2010 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. |