diff --git a/acinclude.m4 b/acinclude.m4 index 0563c130e..fdf87f084 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -303,6 +303,33 @@ END undefine([foo]) ]) +dnl +dnl Check if the prototype of a function is compatible with another one +dnl + +dnl AC_PROTO_COMPAT(includes, function, prototype) + +AC_DEFUN(AC_PROTO_COMPAT, [ +AC_CACHE_CHECK([if $2 is compatible with system prototype], +ac_cv_func_$2_proto_compat, +AC_TRY_COMPILE([$1], +[$3;], +eval "ac_cv_func_$2_proto_compat=yes", +eval "ac_cv_func_$2_proto_compat=no")) +define([foo], translit($2, [a-z], [A-Z])[_PROTO_COMPATIBLE]) +if test "$ac_cv_func_$2_proto_compat" = yes; then + AC_DEFINE(foo) +fi +: << END +@@@syms="$syms foo"@@@ +END +undefine([foo]) +]) + +dnl +dnl Check if a particular struct has a particular field +dnl + dnl AC_HAVE_STRUCT_FIELD(includes, struct, type, field) AC_DEFUN(AC_HAVE_STRUCT_FIELD, [ AC_MSG_CHECKING([if $2 has a field $4])