summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorGary Wong <gtw@gnu.org>2009-08-27 23:08:09 -0600
committerGary Wong <gtw@gnu.org>2009-08-27 23:08:09 -0600
commit2b6c97bcb50a8cb9442f42e8c72152b4765b385f (patch)
treeec8dd54bf2a4d9cadd050ef84a36cc40861e2414 /configure.ac
parentefce818c23cd62bf352a0bb9f5f6d397288bed88 (diff)
Add support for RENDER extension.
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac71
1 files changed, 49 insertions, 22 deletions
diff --git a/configure.ac b/configure.ac
index 389fc34..b37d62d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -8,18 +8,47 @@ if test -f config.options; then
. ./config.options
fi
-AC_DEFINE(_GNU_SOURCE,1,Enable GNU extensions on systems that have them.)
+gwm_packages=""
+
+# GWM_MANDATORY_PACKAGE(PKG-NAME)
+AC_DEFUN([GWM_MANDATORY_PACKAGE],[
+ AC_MSG_CHECKING([for $1])
+ PKG_CHECK_EXISTS([$1],
+ [AC_MSG_RESULT(yes)
+ gwm_packages="$gwm_packages $1"],
+ [AC_MSG_ERROR(no)])
+])
+
+# GWM_OPTIONAL_PACKAGE(PKG-NAME, [LABEL], [DEPENDENCIES])
+AC_DEFUN([GWM_OPTIONAL_PACKAGE],[
+ gwm_label=m4_ifval([$2], [$2], [$1])
+ gwm_name=`echo $ECHO_N $gwm_label | tr 'a-z' 'A-Z' | tr -c 'a-zA-Z0-9' _`
+ gwm_have_deps=yes
+ for gwm_i in [$3]; do
+ if eval test "x\$gwm_found_$gwm_i" != "xyes"; then gwm_have_deps=no; fi
+ done
+ if test $gwm_have_deps = yes; then
+ AC_MSG_CHECKING([for $gwm_label])
+ if eval test "x\$with_$gwm_label" = xno; then
+ AC_MSG_RESULT(disabled)
+ else
+ PKG_CHECK_EXISTS([$1],
+ [AC_MSG_RESULT(yes)
+ gwm_packages="$gwm_packages $1"
+ eval "gwm_found_$gwm_label=yes"
+ AC_DEFINE_UNQUOTED(USE_$gwm_name, 1)],
+ [AC_MSG_RESULT(no)])
+ fi
+ fi
+])
+
+AC_DEFINE(_GNU_SOURCE, 1, [Enable GNU extensions on systems that have them.])
# Checks for programs:
AC_PROG_CC
PKG_PROG_PKG_CONFIG
# Checks for libraries:
-# pkg-config packages which must be present:
-packages="xcb"
-# pkg-config xcb- packages which can optionally be used:
-optional_xcb_packages="composite damage render shape xfixes"
-
AC_ARG_WITH(composite,[ --with-composite use the X Composite extension.])
AC_ARG_WITH(damage, [ --with-damage use the X DAMAGE extension.])
AC_ARG_WITH(render, [ --with-render use the X RENDER extension.])
@@ -32,19 +61,16 @@ AH_TEMPLATE(USE_RENDER,[Use the X RENDER extension.])
AH_TEMPLATE(USE_SHAPE,[Use the X SHAPE extension.])
AH_TEMPLATE(USE_XFIXES,[Use the XFIXES extension.])
-for i in $optional_xcb_packages; do
- AC_MSG_CHECKING([for $i])
- if eval test "x\$with_$i" = xno; then
- AC_MSG_RESULT(disabled)
- else
- iname=`echo $i | tr 'a-z' 'A-Z'`
- PKG_CHECK_EXISTS( xcb-$i,
- [AC_MSG_RESULT(yes)
- packages="$packages xcb-$i"
- AC_DEFINE_UNQUOTED(USE_$iname, 1)],
- [AC_MSG_RESULT(no)])
- fi
-done
+GWM_MANDATORY_PACKAGE(xcb)
+GWM_OPTIONAL_PACKAGE(fontconfig)
+GWM_OPTIONAL_PACKAGE(freetype2)
+GWM_OPTIONAL_PACKAGE(xcb-composite, composite)
+GWM_OPTIONAL_PACKAGE(xcb-damage, damage)
+GWM_OPTIONAL_PACKAGE(xcb-render, render, fontconfig freetype2)
+GWM_OPTIONAL_PACKAGE(xcb-shape, shape)
+GWM_OPTIONAL_PACKAGE(xcb-xfixes, xfixes)
+
+AM_CONDITIONAL(RENDER, [test x$gwm_found_render = xyes])
AC_SEARCH_LIBS(iconv, iconv)
@@ -54,9 +80,10 @@ AC_CHECK_HEADERS(iconv.h mcheck.h poll.h)
# Checks for functions:
AC_CHECK_FUNCS(iconv mtrace ppoll)
-PKG_CHECK_MODULES(XCB, $packages)
+PKG_CFLAGS=`$PKG_CONFIG --cflags $gwm_packages`
+PKG_LIBS=`$PKG_CONFIG --libs $gwm_packages`
-AC_SUBST(XCB_CFLAGS)
-AC_SUBST(XCB_LIBS)
+AC_SUBST(PKG_CFLAGS)
+AC_SUBST(PKG_LIBS)
AC_OUTPUT