> Portability problems not fixed by Gnulib: > @itemize > +@item > +The @code{struct lconv} type does not contain the members > +@code{int_p_cs_precedes}, @code{int_p_sign_posn}, @code{int_p_sep_by_space}, > +@code{int_n_cs_precedes}, @code{int_n_sign_posn}, @code{int_n_sep_by_space} > +on some platforms: > +OpenBSD 4.9, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2011-11, Cygwin > 1.5.x, mingw, MSVC 9. > @end itemize
For Solaris 10 and 11, this is easy to fix: 2012-03-25 Bruno Haible <br...@clisp.org> locale: Provide a complete 'struct lconv' on Solaris 10, 11. * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99. * doc/posix-headers/locale.texi: Update. --- doc/posix-headers/locale.texi.orig Sun Mar 25 13:39:44 2012 +++ doc/posix-headers/locale.texi Sun Mar 25 13:39:37 2012 @@ -24,7 +24,7 @@ @code{int_p_cs_precedes}, @code{int_p_sign_posn}, @code{int_p_sep_by_space}, @code{int_n_cs_precedes}, @code{int_n_sign_posn}, @code{int_n_sep_by_space} on some platforms: -glibc. +glibc, Solaris 11 2011-11. @item Some platforms provide a @code{NULL} macro that cannot be used in arbitrary @@ -39,5 +39,5 @@ @code{int_p_cs_precedes}, @code{int_p_sign_posn}, @code{int_p_sep_by_space}, @code{int_n_cs_precedes}, @code{int_n_sign_posn}, @code{int_n_sep_by_space} on some platforms: -OpenBSD 4.9, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2011-11, Cygwin 1.5.x, mingw, MSVC 9. +OpenBSD 4.9, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.x, mingw, MSVC 9. @end itemize --- m4/locale_h.m4.orig Sun Mar 25 13:39:44 2012 +++ m4/locale_h.m4 Sun Mar 25 13:36:56 2012 @@ -1,4 +1,4 @@ -# locale_h.m4 serial 15 +# locale_h.m4 serial 16 dnl Copyright (C) 2007, 2009-2012 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -17,6 +17,15 @@ dnl If <stddef.h> is replaced, then <locale.h> must also be replaced. AC_REQUIRE([gl_STDDEF_H]) + dnl Solaris 11 2011-11 defines the int_p_*, int_n_* members of 'struct lconv' + dnl only if _LCONV_C99 is defined. + AC_REQUIRE([AC_CANONICAL_HOST]) + case "$host_os" in + solaris*) + AC_DEFINE([_LCONV_C99], [1], [Define to 1 on Solaris.]) + ;; + esac + AC_CACHE_CHECK([whether locale.h conforms to POSIX:2001], [gl_cv_header_locale_h_posix2001], [AC_COMPILE_IFELSE(