summaryrefslogtreecommitdiffstats
path: root/third_party/heimdal/cf/have-struct-field.m4
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/heimdal/cf/have-struct-field.m4')
-rw-r--r--third_party/heimdal/cf/have-struct-field.m421
1 files changed, 21 insertions, 0 deletions
diff --git a/third_party/heimdal/cf/have-struct-field.m4 b/third_party/heimdal/cf/have-struct-field.m4
new file mode 100644
index 0000000..bb7bcef
--- /dev/null
+++ b/third_party/heimdal/cf/have-struct-field.m4
@@ -0,0 +1,21 @@
+dnl $Id$
+dnl
+dnl check for fields in a structure
+dnl
+dnl AC_HAVE_STRUCT_FIELD(struct, field, headers)
+
+AC_DEFUN([AC_HAVE_STRUCT_FIELD], [
+define(cache_val, translit(ac_cv_type_$1_$2, [A-Z ], [a-z_]))
+AC_CACHE_CHECK([for $2 in $1], cache_val,[
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[$3]],
+ [[$1 x; memset(&x, 0, sizeof(x)); x.$2]])],
+ [cache_val=yes],
+ [cache_val=no])
+])
+if test "$cache_val" = yes; then
+ define(foo, translit(HAVE_$1_$2, [a-z ], [A-Z_]))
+ AC_DEFINE(foo, 1, [Define if $1 has field $2.])
+ undefine([foo])
+fi
+undefine([cache_val])
+])