parent
ebcb9f85a7
commit
926522f7d6
1 changed files with 169 additions and 0 deletions
@ -0,0 +1,169 @@ |
||||
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="\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) |
||||
AC_SUBST([$1]_CFLAGS) |
||||
AC_SUBST([$1]_LIBS) |
||||
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 --<enable|disable>-[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], |
||||
[enable optional module modname_opt. Default is disabled.]) |
||||
)dnl |
||||
m4_pushdef([DISABLE_HELP], AS_HELP_STRING([--disable-modname_opt], |
||||
[disable optional module modname_opt. Default is 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) |
||||
# ---------------------------------------------------------------------- |
||||
]) |
Loading…
Reference in new issue