aboutsummaryrefslogtreecommitdiffstats
path: root/m4/ac-plugins.m4
diff options
context:
space:
mode:
authorGustavo Sverzut Barbieri <barbieri@gmail.com>2008-12-08 02:04:20 +0000
committerGustavo Sverzut Barbieri <barbieri@gmail.com>2008-12-08 02:04:20 +0000
commit926522f7d6d4c6238b5c316ef9efc89967a370a9 (patch)
tree32faff6aa612e9d4f3138ba41efab920dc2d17a1 /m4/ac-plugins.m4
parentebcb9f85a745a4ccd0cf441601da6e2900128b64 (diff)
downloadenlightenment-926522f7d6d4c6238b5c316ef9efc89967a370a9.tar.gz
enlightenment-926522f7d6d4c6238b5c316ef9efc89967a370a9.tar.xz
enlightenment-926522f7d6d4c6238b5c316ef9efc89967a370a9.zip
missing file!
SVN revision: 38010
Diffstat (limited to 'm4/ac-plugins.m4')
-rw-r--r--m4/ac-plugins.m4169
1 files changed, 169 insertions, 0 deletions
diff --git a/m4/ac-plugins.m4 b/m4/ac-plugins.m4
new file mode 100644
index 000000000..8ff745bcd
--- /dev/null
+++ b/m4/ac-plugins.m4
@@ -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)
+# ----------------------------------------------------------------------
+])