dnl Configure-time switch with default dnl dnl Each switch defines an --enable-FOO and --disable-FOO option in dnl the resulting configure script. dnl dnl Usage: dnl smr_SWITCH(name, description, default, pos-def, neg-def) dnl dnl where: dnl dnl name name of switch; generates --enable-name & --disable-name dnl options dnl description help string is set to this prefixed by "enable" or dnl "disable", whichever is the non-default value dnl default either "on" or "off"; specifies default if neither dnl --enable-name nor --disable-name is specified dnl pos-def a symbol to AC_DEFINE if switch is on (optional) dnl neg-def a symbol to AC_DEFINE if switch is off (optional) dnl AC_DEFUN(smr_SWITCH, [ AC_MSG_CHECKING(whether to enable $2) AC_ARG_ENABLE( $1, ifelse($3, on, [ --disable-[$1] disable [$2]], [ --enable-[$1] enable [$2]]), [ if test "$enableval" = yes; then AC_MSG_RESULT(yes) ifelse($4, , , AC_DEFINE($4)) else AC_MSG_RESULT(no) ifelse($5, , , AC_DEFINE($5)) fi ], ifelse($3, on, [ AC_MSG_RESULT(yes) ifelse($4, , , AC_DEFINE($4)) ], [ AC_MSG_RESULT(no) ifelse($5, , , AC_DEFINE($5))]))]) dnl dnl Examine size_t and define SIZE_T_IS_UINT, if size_t is an unsigned int dnl AC_DEFUN(OJ_SIZE_T_IS_UINT,[ AC_REQUIRE([AC_TYPE_SIZE_T]) AC_MSG_CHECKING(whether size_t is unsigned int) ac_cv_size_t_is_uint=no AC_LANG_SAVE AC_LANG_CPLUSPLUS AC_TRY_COMPILE([#include template class foo { }; ], [ foo x; foo y; x = y; ],ac_cv_size_t_is_uint=yes) AC_LANG_RESTORE AC_MSG_RESULT($ac_cv_size_t_is_uint) test "$ac_cv_size_t_is_uint" = "yes" && AC_DEFINE(SIZE_T_IS_UINT) ])