"Fossies" - the Fresh Open Source Software Archive

Member "gnuastro-0.9/bootstrapped/m4/locale_h.m4" (17 Apr 2019, 4641 Bytes) of package /linux/privat/gnuastro-0.9.tar.lz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "locale_h.m4": 0.8_vs_0.9.

    1 # locale_h.m4 serial 21
    2 dnl Copyright (C) 2007, 2009-2019 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 and the int_p_*, int_n_*
   14   dnl members of 'struct lconv'.
   15   AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
   16 
   17   dnl If <stddef.h> is replaced, then <locale.h> must also be replaced.
   18   AC_REQUIRE([gl_STDDEF_H])
   19 
   20   dnl Solaris 11.0 defines the int_p_*, int_n_* members of 'struct lconv'
   21   dnl only if _LCONV_C99 is defined.
   22   AC_REQUIRE([AC_CANONICAL_HOST])
   23   case "$host_os" in
   24     solaris*)
   25       AC_DEFINE([_LCONV_C99], [1], [Define to 1 on Solaris.])
   26       ;;
   27   esac
   28 
   29   AC_CACHE_CHECK([whether locale.h conforms to POSIX:2001],
   30     [gl_cv_header_locale_h_posix2001],
   31     [AC_COMPILE_IFELSE(
   32        [AC_LANG_PROGRAM(
   33           [[#include <locale.h>
   34             int x = LC_MESSAGES;
   35             int y = sizeof (((struct lconv *) 0)->decimal_point);]],
   36           [[]])],
   37        [gl_cv_header_locale_h_posix2001=yes],
   38        [gl_cv_header_locale_h_posix2001=no])])
   39 
   40   dnl Check for <xlocale.h>.
   41   AC_CHECK_HEADERS_ONCE([xlocale.h])
   42   if test $ac_cv_header_xlocale_h = yes; then
   43     HAVE_XLOCALE_H=1
   44     dnl Check whether use of locale_t requires inclusion of <xlocale.h>,
   45     dnl e.g. on Mac OS X 10.5. If <locale.h> does not define locale_t by
   46     dnl itself, we assume that <xlocale.h> will do so.
   47     AC_CACHE_CHECK([whether locale.h defines locale_t],
   48       [gl_cv_header_locale_has_locale_t],
   49       [AC_COMPILE_IFELSE(
   50          [AC_LANG_PROGRAM(
   51             [[#include <locale.h>
   52               locale_t x;]],
   53             [[]])],
   54          [gl_cv_header_locale_has_locale_t=yes],
   55          [gl_cv_header_locale_has_locale_t=no])
   56       ])
   57     if test $gl_cv_header_locale_has_locale_t = yes; then
   58       gl_cv_header_locale_h_needs_xlocale_h=no
   59     else
   60       gl_cv_header_locale_h_needs_xlocale_h=yes
   61     fi
   62   else
   63     HAVE_XLOCALE_H=0
   64     gl_cv_header_locale_h_needs_xlocale_h=no
   65   fi
   66   AC_SUBST([HAVE_XLOCALE_H])
   67 
   68   dnl Check whether 'struct lconv' is complete.
   69   dnl Bionic libc's 'struct lconv' is just a dummy.
   70   dnl On OpenBSD 4.9, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.x,
   71   dnl mingw, MSVC 9, it lacks the int_p_* and int_n_* members.
   72   AC_CACHE_CHECK([whether struct lconv is properly defined],
   73     [gl_cv_sys_struct_lconv_ok],
   74     [AC_COMPILE_IFELSE(
   75        [AC_LANG_PROGRAM(
   76           [[#include <locale.h>
   77             struct lconv l;
   78             int x = sizeof (l.decimal_point);
   79             int y = sizeof (l.int_p_cs_precedes);]],
   80           [[]])],
   81        [gl_cv_sys_struct_lconv_ok=yes],
   82        [gl_cv_sys_struct_lconv_ok=no])
   83     ])
   84   if test $gl_cv_sys_struct_lconv_ok = no; then
   85     REPLACE_STRUCT_LCONV=1
   86   fi
   87 
   88   dnl <locale.h> is always overridden, because of GNULIB_POSIXCHECK.
   89   gl_NEXT_HEADERS([locale.h])
   90 
   91   dnl Check for declarations of anything we want to poison if the
   92   dnl corresponding gnulib module is not in use.
   93   gl_WARN_ON_USE_PREPARE([[#include <locale.h>
   94 /* Some systems provide declarations in a non-standard header.  */
   95 #if HAVE_XLOCALE_H
   96 # include <xlocale.h>
   97 #endif
   98     ]],
   99     [setlocale newlocale duplocale freelocale])
  100 ])
  101 
  102 AC_DEFUN([gl_LOCALE_MODULE_INDICATOR],
  103 [
  104   dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
  105   AC_REQUIRE([gl_LOCALE_H_DEFAULTS])
  106   gl_MODULE_INDICATOR_SET_VARIABLE([$1])
  107   dnl Define it also as a C macro, for the benefit of the unit tests.
  108   gl_MODULE_INDICATOR_FOR_TESTS([$1])
  109 ])
  110 
  111 AC_DEFUN([gl_LOCALE_H_DEFAULTS],
  112 [
  113   GNULIB_LOCALECONV=0; AC_SUBST([GNULIB_LOCALECONV])
  114   GNULIB_SETLOCALE=0;  AC_SUBST([GNULIB_SETLOCALE])
  115   GNULIB_DUPLOCALE=0;  AC_SUBST([GNULIB_DUPLOCALE])
  116   GNULIB_LOCALENAME=0; AC_SUBST([GNULIB_LOCALENAME])
  117   dnl Assume proper GNU behavior unless another module says otherwise.
  118   HAVE_NEWLOCALE=1;       AC_SUBST([HAVE_NEWLOCALE])
  119   HAVE_DUPLOCALE=1;       AC_SUBST([HAVE_DUPLOCALE])
  120   HAVE_FREELOCALE=1;      AC_SUBST([HAVE_FREELOCALE])
  121   REPLACE_LOCALECONV=0;   AC_SUBST([REPLACE_LOCALECONV])
  122   REPLACE_SETLOCALE=0;    AC_SUBST([REPLACE_SETLOCALE])
  123   REPLACE_NEWLOCALE=0;    AC_SUBST([REPLACE_NEWLOCALE])
  124   REPLACE_DUPLOCALE=0;    AC_SUBST([REPLACE_DUPLOCALE])
  125   REPLACE_FREELOCALE=0;   AC_SUBST([REPLACE_FREELOCALE])
  126   REPLACE_STRUCT_LCONV=0; AC_SUBST([REPLACE_STRUCT_LCONV])
  127 ])