Annotation of embedaddon/libiconv/srcm4/stddef_h.m4, revision 1.1.1.2

1.1.1.2 ! misho       1: dnl A placeholder for <stddef.h>, for platforms that have issues.
        !             2: # stddef_h.m4 serial 6
        !             3: dnl Copyright (C) 2009-2019 Free Software Foundation, Inc.
1.1       misho       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: 
                      8: AC_DEFUN([gl_STDDEF_H],
                      9: [
                     10:   AC_REQUIRE([gl_STDDEF_H_DEFAULTS])
                     11:   AC_REQUIRE([gt_TYPE_WCHAR_T])
                     12:   STDDEF_H=
1.1.1.2 ! misho      13: 
        !            14:   dnl Test whether the type max_align_t exists and whether its alignment
        !            15:   dnl "is as great as is supported by the implementation in all contexts".
        !            16:   AC_CACHE_CHECK([for good max_align_t],
        !            17:     [gl_cv_type_max_align_t],
        !            18:     [AC_COMPILE_IFELSE(
        !            19:        [AC_LANG_PROGRAM(
        !            20:           [[#include <stddef.h>
        !            21:             unsigned int s = sizeof (max_align_t);
        !            22:             #if defined __GNUC__ || defined __IBM__ALIGNOF__
        !            23:             int check1[2 * (__alignof__ (double) <= __alignof__ (max_align_t)) - 1];
        !            24:             int check2[2 * (__alignof__ (long double) <= __alignof__ (max_align_t)) - 1];
        !            25:             #endif
        !            26:           ]])],
        !            27:        [gl_cv_type_max_align_t=yes],
        !            28:        [gl_cv_type_max_align_t=no])
        !            29:     ])
        !            30:   if test $gl_cv_type_max_align_t = no; then
        !            31:     HAVE_MAX_ALIGN_T=0
        !            32:     STDDEF_H=stddef.h
        !            33:   fi
        !            34: 
1.1       misho      35:   if test $gt_cv_c_wchar_t = no; then
                     36:     HAVE_WCHAR_T=0
                     37:     STDDEF_H=stddef.h
                     38:   fi
1.1.1.2 ! misho      39: 
1.1       misho      40:   AC_CACHE_CHECK([whether NULL can be used in arbitrary expressions],
                     41:     [gl_cv_decl_null_works],
                     42:     [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stddef.h>
                     43:       int test[2 * (sizeof NULL == sizeof (void *)) -1];
                     44: ]])],
                     45:       [gl_cv_decl_null_works=yes],
                     46:       [gl_cv_decl_null_works=no])])
                     47:   if test $gl_cv_decl_null_works = no; then
                     48:     REPLACE_NULL=1
                     49:     STDDEF_H=stddef.h
                     50:   fi
1.1.1.2 ! misho      51: 
1.1       misho      52:   AC_SUBST([STDDEF_H])
                     53:   AM_CONDITIONAL([GL_GENERATE_STDDEF_H], [test -n "$STDDEF_H"])
                     54:   if test -n "$STDDEF_H"; then
                     55:     gl_NEXT_HEADERS([stddef.h])
                     56:   fi
                     57: ])
                     58: 
                     59: AC_DEFUN([gl_STDDEF_MODULE_INDICATOR],
                     60: [
                     61:   dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
                     62:   AC_REQUIRE([gl_STDDEF_H_DEFAULTS])
                     63:   gl_MODULE_INDICATOR_SET_VARIABLE([$1])
                     64: ])
                     65: 
                     66: AC_DEFUN([gl_STDDEF_H_DEFAULTS],
                     67: [
                     68:   dnl Assume proper GNU behavior unless another module says otherwise.
                     69:   REPLACE_NULL=0;                AC_SUBST([REPLACE_NULL])
1.1.1.2 ! misho      70:   HAVE_MAX_ALIGN_T=1;            AC_SUBST([HAVE_MAX_ALIGN_T])
1.1       misho      71:   HAVE_WCHAR_T=1;                AC_SUBST([HAVE_WCHAR_T])
                     72: ])

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>