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