diff options
Diffstat (limited to 'gnulib-m4/wctob.m4')
-rw-r--r-- | gnulib-m4/wctob.m4 | 47 |
1 files changed, 30 insertions, 17 deletions
diff --git a/gnulib-m4/wctob.m4 b/gnulib-m4/wctob.m4 index 3af3cc7b..501dc4ab 100644 --- a/gnulib-m4/wctob.m4 +++ b/gnulib-m4/wctob.m4 @@ -1,5 +1,5 @@ -# wctob.m4 serial 5 -dnl Copyright (C) 2008-2010 Free Software Foundation, Inc. +# wctob.m4 serial 10 +dnl Copyright (C) 2008-2015 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. @@ -10,11 +10,10 @@ AC_DEFUN([gl_FUNC_WCTOB], AC_CHECK_FUNCS_ONCE([wctob]) if test $ac_cv_func_wctob = no; then + HAVE_WCTOB=0 HAVE_DECL_WCTOB=0 - gl_REPLACE_WCHAR_H - AC_LIBOBJ([wctob]) - gl_PREREQ_WCTOB else + HAVE_WCTOB=1 dnl Solaris 9 has the wctob() function but it does not work. dnl Cygwin 1.7.2 has the wctob() function but it clobbers caller-owned @@ -38,8 +37,16 @@ changequote(,)dnl changequote([,])dnl case "$host_os" in cygwin*) - AC_TRY_RUN([ + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ #include <locale.h> +/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before + <wchar.h>. + BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be + included before <wchar.h>. */ +#include <stddef.h> +#include <stdio.h> +#include <time.h> #include <wchar.h> register long global __asm__ ("%ebx"); @@ -54,13 +61,24 @@ int main () if (global != 0x12345678) return 2; return 0; -}], [:], [gl_cv_func_wctob_works=no], [:]) +}]])], + [:], + [gl_cv_func_wctob_works=no], + [:]) ;; esac if test "$gl_cv_func_wctob_works" != no && test $LOCALE_FR != none; then - AC_TRY_RUN([ + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ #include <locale.h> #include <string.h> +/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before + <wchar.h>. + BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be + included before <wchar.h>. */ +#include <stddef.h> +#include <stdio.h> +#include <time.h> #include <wchar.h> int main () { @@ -73,7 +91,7 @@ int main () return 1; } return 0; -}], +}]])], [gl_cv_func_wctob_works=yes], [gl_cv_func_wctob_works=no], [:]) @@ -83,14 +101,10 @@ int main () *yes) ;; *) REPLACE_WCTOB=1 ;; esac - if test $REPLACE_WCTOB = 1; then - gl_REPLACE_WCHAR_H - AC_LIBOBJ([wctob]) - gl_PREREQ_WCTOB - else + if test $REPLACE_WCTOB = 0; then dnl IRIX 6.5 has the wctob() function but does not declare it. - AC_CHECK_DECLS([wctob], [], [], [ + AC_CHECK_DECLS([wctob], [], [], [[ /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included @@ -99,10 +113,9 @@ int main () #include <stdio.h> #include <time.h> #include <wchar.h> -]) +]]) if test $ac_cv_have_decl_wctob != yes; then HAVE_DECL_WCTOB=0 - gl_REPLACE_WCHAR_H fi fi fi |