dnl @synopsis VL_DECL_WCHAR_MAX dnl dnl Checks whether the system headers define WCHAR_MAX or not. If it is dnl already defined, does nothing. Otherwise checks the size and signedness dnl of `wchar_t', and defines WCHAR_MAX to the maximum value that can be dnl stored in a variable of type `wchar_t'. dnl dnl @version 1.1 dnl @author Ville Laurikari dnl AC_DEFUN([VL_DECL_WCHAR_MAX], [ AC_CACHE_CHECK([whether WCHAR_MAX is defined], vl_cv_decl_wchar_max, [ AC_TRY_COMPILE([ #ifdef HAVE_WCHAR_H #include #endif ],[WCHAR_MAX],[vl_cv_decl_wchar_max="yes"],[vl_cv_decl_wchar_max="no"])]) if test $vl_cv_decl_wchar_max = "no"; then VL_CHECK_SIGN([wchar_t], [ wc_signed="yes" AC_DEFINE(WCHAR_T_SIGNED, 1, [Define if wchar_t is signed]) ], [ wc_signed="no" AC_DEFINE(WCHAR_T_UNSIGNED, 1, [Define if wchar_t is unsigned])], [ #ifdef HAVE_WCHAR_H #include #endif ]) if test "$wc_signed" = "yes"; then AC_DEFINE(WCHAR_MAX, [(1L << (sizeof(wchar_t) * 8 - 1) - 1)], [ Define to the maximum value of wchar_t if not already defined elsewhere]) elif test "$wc_signed" = "no"; then AC_DEFINE(WCHAR_MAX, [(1L << (sizeof(wchar_t) * 8) - 1)]) fi fi ])dnl