stddef_h.m4 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. dnl A placeholder for POSIX 2008 <stddef.h>, for platforms that have issues.
  2. # stddef_h.m4 serial 4
  3. dnl Copyright (C) 2009-2011 Free Software Foundation, Inc.
  4. dnl This file is free software; the Free Software Foundation
  5. dnl gives unlimited permission to copy and/or distribute it,
  6. dnl with or without modifications, as long as this notice is preserved.
  7. AC_DEFUN([gl_STDDEF_H],
  8. [
  9. AC_REQUIRE([gl_STDDEF_H_DEFAULTS])
  10. AC_REQUIRE([gt_TYPE_WCHAR_T])
  11. STDDEF_H=
  12. if test $gt_cv_c_wchar_t = no; then
  13. HAVE_WCHAR_T=0
  14. STDDEF_H=stddef.h
  15. fi
  16. AC_CACHE_CHECK([whether NULL can be used in arbitrary expressions],
  17. [gl_cv_decl_null_works],
  18. [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stddef.h>
  19. int test[2 * (sizeof NULL == sizeof (void *)) -1];
  20. ]])],
  21. [gl_cv_decl_null_works=yes],
  22. [gl_cv_decl_null_works=no])])
  23. if test $gl_cv_decl_null_works = no; then
  24. REPLACE_NULL=1
  25. STDDEF_H=stddef.h
  26. fi
  27. AC_SUBST([STDDEF_H])
  28. AM_CONDITIONAL([GL_GENERATE_STDDEF_H], [test -n "$STDDEF_H"])
  29. if test -n "$STDDEF_H"; then
  30. gl_NEXT_HEADERS([stddef.h])
  31. fi
  32. ])
  33. AC_DEFUN([gl_STDDEF_MODULE_INDICATOR],
  34. [
  35. dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
  36. AC_REQUIRE([gl_STDDEF_H_DEFAULTS])
  37. gl_MODULE_INDICATOR_SET_VARIABLE([$1])
  38. ])
  39. AC_DEFUN([gl_STDDEF_H_DEFAULTS],
  40. [
  41. dnl Assume proper GNU behavior unless another module says otherwise.
  42. REPLACE_NULL=0; AC_SUBST([REPLACE_NULL])
  43. HAVE_WCHAR_T=1; AC_SUBST([HAVE_WCHAR_T])
  44. ])