X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Flocale_h.m4;h=8f4f3d440c65df3ec1a191ae7ba809080c6f8989;hb=423d3cac13c30bb0d5f85e5fac6ab1406ed1731a;hp=35b8b322fb0b7e493dd1b296ff1aafe308497ca9;hpb=3f0d472e052865baf722ea457e35dd067b94a477;p=gnulib.git diff --git a/m4/locale_h.m4 b/m4/locale_h.m4 index 35b8b322f..8f4f3d440 100644 --- a/m4/locale_h.m4 +++ b/m4/locale_h.m4 @@ -1,5 +1,5 @@ -# locale_h.m4 serial 5 -dnl Copyright (C) 2007, 2009 Free Software Foundation, Inc. +# locale_h.m4 serial 11 +dnl Copyright (C) 2007, 2009-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -18,8 +18,11 @@ AC_DEFUN([gl_LOCALE_H], AC_CACHE_CHECK([whether locale.h conforms to POSIX:2001], [gl_cv_header_locale_h_posix2001], - [AC_TRY_COMPILE([#include -int x = LC_MESSAGES;], [], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#include + int x = LC_MESSAGES;]], + [[]])], [gl_cv_header_locale_h_posix2001=yes], [gl_cv_header_locale_h_posix2001=no])]) @@ -32,8 +35,11 @@ int x = LC_MESSAGES;], [], dnl itself, we assume that will do so. AC_CACHE_CHECK([whether locale.h defines locale_t], [gl_cv_header_locale_has_locale_t], - [AC_TRY_COMPILE([#include -locale_t x;], [], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#include + locale_t x;]], + [[]])], [gl_cv_header_locale_has_locale_t=yes], [gl_cv_header_locale_has_locale_t=no]) ]) @@ -48,8 +54,7 @@ locale_t x;], [], fi AC_SUBST([HAVE_XLOCALE_H]) - dnl Execute this unconditionally, because LOCALE_H may be set by other - dnl modules, after this code is executed. + dnl is always overridden, because of GNULIB_POSIXCHECK. gl_CHECK_NEXT_HEADERS([locale.h]) if test -n "$STDDEF_H" \ @@ -57,26 +62,37 @@ locale_t x;], [], || test $gl_cv_header_locale_h_needs_xlocale_h = yes; then gl_REPLACE_LOCALE_H fi + + dnl Check for declarations of anything we want to poison if the + dnl corresponding gnulib module is not in use. + gl_WARN_ON_USE_PREPARE([[#include +/* Some systems provide declarations in a non-standard header. */ +#if HAVE_XLOCALE_H +# include +#endif + ]], [duplocale]) ]) dnl Unconditionally enables the replacement of . AC_DEFUN([gl_REPLACE_LOCALE_H], [ - AC_REQUIRE([gl_LOCALE_H_DEFAULTS]) - LOCALE_H=locale.h + dnl This is a no-op, because is always overridden. + : ]) AC_DEFUN([gl_LOCALE_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_LOCALE_H_DEFAULTS]) - GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) AC_DEFUN([gl_LOCALE_H_DEFAULTS], [ GNULIB_DUPLOCALE=0; AC_SUBST([GNULIB_DUPLOCALE]) dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_DUPLOCALE=1; AC_SUBST([HAVE_DUPLOCALE]) REPLACE_DUPLOCALE=0; AC_SUBST([REPLACE_DUPLOCALE]) - LOCALE_H=''; AC_SUBST([LOCALE_H]) ])