xref: /minix3/crypto/external/bsd/heimdal/dist/cf/have-struct-field.m4 (revision ebfedea0ce5bbe81e252ddf32d732e40fb633fae)
1*ebfedea0SLionel Sambucdnl Id
2*ebfedea0SLionel Sambucdnl
3*ebfedea0SLionel Sambucdnl check for fields in a structure
4*ebfedea0SLionel Sambucdnl
5*ebfedea0SLionel Sambucdnl AC_HAVE_STRUCT_FIELD(struct, field, headers)
6*ebfedea0SLionel Sambuc
7*ebfedea0SLionel SambucAC_DEFUN([AC_HAVE_STRUCT_FIELD], [
8*ebfedea0SLionel Sambucdefine(cache_val, translit(ac_cv_type_$1_$2, [A-Z ], [a-z_]))
9*ebfedea0SLionel SambucAC_CACHE_CHECK([for $2 in $1], cache_val,[
10*ebfedea0SLionel SambucAC_COMPILE_IFELSE([AC_LANG_PROGRAM([[$3]],
11*ebfedea0SLionel Sambuc	[[$1 x; memset(&x, 0, sizeof(x)); x.$2]])],
12*ebfedea0SLionel Sambuc	[cache_val=yes],
13*ebfedea0SLionel Sambuc	[cache_val=no])
14*ebfedea0SLionel Sambuc])
15*ebfedea0SLionel Sambucif test "$cache_val" = yes; then
16*ebfedea0SLionel Sambuc	define(foo, translit(HAVE_$1_$2, [a-z ], [A-Z_]))
17*ebfedea0SLionel Sambuc	AC_DEFINE(foo, 1, [Define if $1 has field $2.])
18*ebfedea0SLionel Sambuc	undefine([foo])
19*ebfedea0SLionel Sambucfi
20*ebfedea0SLionel Sambucundefine([cache_val])
21*ebfedea0SLionel Sambuc])
22