configure: improve detection of wchar_t
[m6w6/ext-psi] / m4 / stddef.m4
index 7c99d6c65af55be895772fd1d73f501350e309d7..fd52d2a1c8228ac8d8a9d5fddfc351c09d2b7a2c 100644 (file)
@@ -1,4 +1,4 @@
-AC_DEFUN(PSI_CHECK_STDDEF, [
+PSI_CHECK_STDDEF() {
     AC_CHECK_HEADERS(stddef.h)
     PSI_TYPE(ptrdiff_t, int)
     PSI_CONST(PTRDIFF_MIN, int)
@@ -6,6 +6,13 @@ AC_DEFUN(PSI_CHECK_STDDEF, [
     PSI_TYPE(size_t, uint)
     PSI_CONST(SIZE_MAX, int)
     PSI_TYPE(wchar_t, int)
+    if PSI_SH_TEST_SIZEOF(wchar_t); then :; else
+       # some platforms fail to provide wchar_t in stddef.h
+       unset ac_cv_sizeof_wchar_t
+       unset ax_cv_decl_wchar_t_signed
+       AC_CHECK_HEADERS(wchar.h)
+       PSI_TYPE(wchar_t, int)
+    fi
     PSI_CONST(WCHAR_MIN, int)
     PSI_CONST(WCHAR_MAX, int)
-])
+}