dnl AX_CHECK_TYPEDEF(typedef_name, type, action-if-true, action-if-false) dnl exec action-if-true if typedef_name is a typedef to type else exec dnl action-if-false dnl currently work only with type typedef'ed in stddef.h AC_DEFUN([AX_CHECK_TYPEDEF], [ dnl AC_LANG_PUSH(C) not in autoconf 2.13 AC_LANG_SAVE AC_LANG_C SAVE_CFLAGS=$CFLAGS CFLAGS="-Werror $CFLAGS" AC_TRY_COMPILE( [ #include ], [ typedef void (*fct1)($1); typedef void (*fct2)($2); fct1 f1 = 0; fct2 f2 = 0; if (f1 == f2) {} ], [$3],[$4]) CFLAGS=$SAVE_CFLAGS AC_LANG_RESTORE ]) dnl AX_TYPEDEFED_NAME(typedef_name, candidate_list, var_name) dnl set var_name to the typedef name of $1 which must be in canditate_list dnl else produce a fatal error AC_DEFUN([AX_TYPEDEFED_NAME], [ AC_MSG_CHECKING([type of $1]) for f in $2; do AX_CHECK_TYPEDEF($1, $f, $3="$f", $3="") if test -n "${$3}"; then break fi done if test -n "${$3}"; then AC_MSG_RESULT([${$3}]) else AC_MSG_ERROR([not found]) fi ])