diff options
| author | Thomas Guyot-Sionnest <dermoth@aei.ca> | 2010-04-07 21:11:46 -0400 |
|---|---|---|
| committer | Thomas Guyot-Sionnest <dermoth@aei.ca> | 2010-04-12 21:26:35 -0400 |
| commit | 74da141e618ef99959d509cb2e7be35a348a39db (patch) | |
| tree | 88ebc38b381a1021fc2d74864a71e230ae591c3d /gl/m4 | |
| parent | c63a4f726a0b6ad8cf6040f947754a81fd4683bb (diff) | |
| download | monitoring-plugins-74da141e618ef99959d509cb2e7be35a348a39db.tar.gz | |
Sync with the latest Gnulib code (177f525)
Signed-off-by: Thomas Guyot-Sionnest <dermoth@aei.ca>
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. |
