dnl _XTERM_COLORS define([_XTERM_COLORS], [ # Check for XTerm and define some colors if test "x$TERM" = "xxterm" -o "x$TERM" = "xscreen"; then COLOR_PREF=`echo -e "\0033\0133"` COLOR_H="${COLOR_PREF}1m" COLOR_HGREEN="${COLOR_PREF}1;32m" COLOR_HRED="${COLOR_PREF}1;31m" COLOR_GREEN="${COLOR_PREF}32m" COLOR_RED="${COLOR_PREF}31m" COLOR_YELLOW="${COLOR_PREF}1;33m" COLOR_END="${COLOR_PREF}0m" else COLOR_H="" COLOR_HGREEN="" COLOR_HRED="" COLOR_GREEN="" COLOR_RED="" COLOR_YELLOW="" COLOR_END="" fi ]) dnl AC_E_CHECK_PKG(name, lib [>= version], [action-if, [action-not]]) dnl improved version of PKG_CHECK_MODULES, it does the same checking dnl and defines HAVE_[name]=yes/no and also exports dnl [name]_CFLAGS and [name]_LIBS. dnl dnl if action-not isn't provided, AC_MSG_ERROR will be used. dnl dnl Checks: dnl lib >= version dnl dnl Provides: dnl - HAVE_[name]=yes|no dnl - [name]_CFLAGS: if HAVE_[name]=yes dnl - [name]_LIBS: if HAVE_[name]=yes dnl - [name]_VERSION: if HAVE_[name]=yes dnl AC_DEFUN([AC_E_CHECK_PKG], [ # ---------------------------------------------------------------------- # BEGIN: Check library with pkg-config: $1 (pkg-config=$2) # PKG_CHECK_MODULES([$1], [$2], [ HAVE_[$1]=yes [pkg_name]=$(echo "[$2]" | cut -d\ -f1) [$1]_VERSION=$($PKG_CONFIG --modversion $pkg_name) AC_SUBST([$1]_VERSION) ifelse([$3], , :, [$3]) ], [ HAVE_[$1]=no ifelse([$4], , AC_MSG_ERROR(you need [$2] development installed!), AC_MSG_RESULT(no); [$4]) ]) AM_CONDITIONAL(HAVE_[$1], test x$HAVE_[$1] = xyes) AC_SUBST(HAVE_[$1]) if test x$HAVE_[$1] = xyes; then AC_DEFINE_UNQUOTED(HAVE_[$1], 1, Package [$1] ($2) found.) fi # # END: Check library with pkg-config: $1 (pkg-config=$2) # ---------------------------------------------------------------------- ]) dnl AC_E_OPTIONAL_MODULE(name, [initial-status, [check-if-enabled]]) dnl Defines configure argument ---[name] to enable an dnl optional module called 'name'. dnl dnl If initial-status is true, then it's enabled by default and option dnl will be called --disable-[name], otherwise it's disabled and option dnl is --enable-[name]. dnl dnl If module is enabled, then check-if-enabled will be executed. This dnl may change the contents of shell variable NAME (uppercase version of dnl name, with underscores instead of dashed) to something different than dnl "true" to disable module. dnl dnl Parameters: dnl - name: module name to use. It will be converted to have dashes (-) dnl instead of underscores, and will be in lowercase. dnl - initial-status: true or false, states if module is enabled or dnl disabled by default. dnl - check-if-enabled: macro to be expanded inside check for enabled dnl module. dnl dnl Provides: dnl - USE_MODULE_[name]=true|false [make, shell] dnl - USE_MODULE_[name]=1 if enabled [config.h] dnl AC_DEFUN([AC_E_OPTIONAL_MODULE], [ # ---------------------------------------------------------------------- # BEGIN: Check for optional module: $1 (default: $2) # m4_pushdef([MODNAME], [m4_bpatsubst(m4_toupper([$1]), -, _)])dnl m4_pushdef([modname_opt], [m4_bpatsubst(m4_tolower([$1]), _, -)]) m4_pushdef([INITVAL], [m4_default([$2], [false])])dnl m4_pushdef([ENABLE_HELP], AS_HELP_STRING([--enable-modname_opt], [optional module modname_opt @<:@default=disabled@:>@]))dnl m4_pushdef([DISABLE_HELP], AS_HELP_STRING([--disable-modname_opt], [optional module modname_opt @<:@default=enabled@:>@]))dnl m4_pushdef([HELP_STR], m4_if(INITVAL, [true], [DISABLE_HELP], [ENABLE_HELP]))dnl m4_pushdef([NOT_INITVAL], m4_if(INITVAL, [true], [false], [true]))dnl USING_MODULES=1 MODNAME=INITVAL AC_ARG_ENABLE(modname_opt, HELP_STR, [MODNAME=${enableval:-NOT_INITVAL}]) if test x[$]MODNAME = xyes || test x[$]MODNAME = x1; then MODNAME=true fi if test x[$]MODNAME = xno || test x[$]MODNAME = x0; then MODNAME=false fi USE_MODULE_[]MODNAME=[$]MODNAME _XTERM_COLORS # Check list for optional module $1 if test x[$]MODNAME = xtrue; then ifelse([$3], , , [ echo echo "checking optional module modname_opt:" # BEGIN: User checks $3 # END: User checks if test x[$]MODNAME = xfalse; then echo -e "optional module modname_opt ${COLOR_HRED}failed${COLOR_END} checks." else echo -e "optional module modname_opt passed checks." fi echo ]) if test x[$]MODNAME = xfalse; then echo -e "${COLOR_YELLOW}Warning:${COLOR_END} optional module ${COLOR_H}modname_opt${COLOR_END} disabled by extra checks." fi fi # Check if user checks succeeded if test x[$]MODNAME = xtrue; then [OPTIONAL_MODULES]="$[OPTIONAL_MODULES] modname_opt" AC_DEFINE_UNQUOTED(USE_MODULE_[]MODNAME, 1, Use module modname_opt) else [UNUSED_OPTIONAL_MODULES]="$[UNUSED_OPTIONAL_MODULES] modname_opt" fi AM_CONDITIONAL(USE_MODULE_[]MODNAME, test x[$]MODNAME = xtrue) AC_SUBST(USE_MODULE_[]MODNAME) m4_popdef([HELP_STR])dnl m4_popdef([DISABLE_HELP])dnl m4_popdef([ENABLE_HELP])dnl m4_popdef([INITVAL])dnl m4_popdef([MODNAME]) # # END: Check for optional module: $1 ($2) # ---------------------------------------------------------------------- ])