dnl ** Map an arithmetic C type to a Haskell type.
dnl Based on autconf's AC_CHECK_SIZEOF.
-dnl FPTOOLS_CHECK_HTYPE(TYPE [, DEFAULT_VALUE ])
-AC_DEFUN([FPTOOLS_CHECK_HTYPE],[
+dnl FPTOOLS_CHECK_HTYPE_ELSE(TYPE, WHAT_TO_DO_IF_TYPE_DOES_NOT_EXIST)
+AC_DEFUN([FPTOOLS_CHECK_HTYPE_ELSE],[
changequote(<<, >>)
dnl The name to #define.
define(<<AC_TYPE_NAME>>, translit(htype_$1, [a-z *], [A-Z_P]))
fi
fi
])
+ if test "$AC_CV_NAME_supported" = no
+ then
+ $2
+ fi
+
+ dnl Note: evaluating dollar-2 can change the value of
+ dnl $AC_CV_NAME_supported, so we might now get a different answer
if test "$AC_CV_NAME_supported" = yes; then
AC_MSG_RESULT($AC_CV_NAME)
AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME,
[Define to Haskell type for $1])
- else
- AC_CV_NAME=NotReallyAType
- AC_MSG_RESULT([not supported])
fi
undefine([AC_TYPE_NAME])dnl
undefine([AC_CV_NAME])dnl
undefine([AC_CV_NAME_supported])dnl
])
+dnl FPTOOLS_CHECK_HTYPE(TYPE)
+AC_DEFUN([FPTOOLS_CHECK_HTYPE],[
+ FPTOOLS_CHECK_HTYPE_ELSE([$1],[
+ AC_CV_NAME=NotReallyAType
+ AC_MSG_RESULT([not supported])
+ ])
+])
+
# FP_SEARCH_LIBS_PROTO(WHAT, PROTOTYPE, FUNCTION, SEARCH-LIBS,
# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND],