diff options
author | Gary Wong <gtw@gnu.org> | 2009-08-27 23:08:09 -0600 |
---|---|---|
committer | Gary Wong <gtw@gnu.org> | 2009-08-27 23:08:09 -0600 |
commit | 2b6c97bcb50a8cb9442f42e8c72152b4765b385f (patch) | |
tree | ec8dd54bf2a4d9cadd050ef84a36cc40861e2414 /configure.ac | |
parent | efce818c23cd62bf352a0bb9f5f6d397288bed88 (diff) |
Add support for RENDER extension.
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 71 |
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 |