Use AC_ARG_VAR for X11 header and XKB paths
authorDaniel Stone <daniel@fooishbar.org>
Mon, 7 May 2012 16:30:47 +0000 (17:30 +0100)
committerDaniel Stone <daniel@fooishbar.org>
Mon, 7 May 2012 16:30:47 +0000 (17:30 +0100)
And don't call pkg-config unless we need to.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
configure.ac

index 6f019d4eadc49847162cf7f72739a5657e0a22c2..04a737cca21eaf5a15dcd8cfb2418140516171d8 100644 (file)
@@ -81,17 +81,22 @@ PKG_CHECK_MODULES([X11], [xproto kbproto >= 1.0.4])
 
 # Obtain the path to the X Window System Core Protocol
 AC_MSG_CHECKING([for X11 includedir])
-includex11dir="`$PKG_CONFIG --variable=includex11dir xproto`"
-AC_MSG_RESULT([$includex11dir])
+AC_ARG_VAR([X11_INCLUDEDIR], [Path to X protocol keysym headers])
+if test "x$X11_INCLUDEDIR" = x; then
+    X11_INCLUDEDIR="`$PKG_CONFIG --variable=includex11dir xproto`"
+fi
+if ! test -d "$X11_INCLUDEDIR"; then
+    AC_MSG_ERROR([invalid X11 include path $X11_INCLUDEDIR])
+fi
+AC_MSG_RESULT([$X11_INCLUDEDIR])
 
-AC_MSG_CHECKING([keysym definitions])
-KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11
+AC_MSG_CHECKING([keysym definition files])
 FILES="keysymdef.h XF86keysym.h Sunkeysym.h DECkeysym.h HPkeysym.h"
 for i in $FILES; do
-    if test -f "$KEYSYMDEFDIR/$i"; then
-            KEYSYMDEFS="$KEYSYMDEFS $KEYSYMDEFDIR/$i"
-    elif test "x$i" = "xkeysymdef.h"; then
-            AC_MSG_ERROR([Cannot find keysymdef.h])
+    if test -f "$X11_INCLUDEDIR/$i"; then
+            KEYSYMDEFS="$KEYSYMDEFS $X11_INCLUDEDIR/$i"
+    else
+            AC_MSG_ERROR([cannot find $i in $X11_INCLUDEDIR])
     fi
 done
 AC_MSG_RESULT([$KEYSYMDEFS])
@@ -99,9 +104,12 @@ AC_SUBST(KEYSYMDEFS)
 
 # Define a configuration option for the XKB config root
 xkb_base=`$PKG_CONFIG --variable=xkb_base xkeyboard-config`
+if test "x$xkb_base" = x; then
+    xkb_base=$datadir/X11/xkb
+fi
 AC_ARG_WITH([xkb_config_root],
-    [AS_HELP_STRING([--with-xkb-config-root=<paths>],
-        [Set default XKB config root (default: ${datadir}/X11/xkb)])],
+    [AS_HELP_STRING([--with-xkb-config-root=<path>],
+        [Set default XKB config root (default: xkeyboard-config install path)])],
     [XKBCONFIGROOT="$withval"],
     [XKBCONFIGROOT="$xkb_base"])
 AC_SUBST([XKBCONFIGROOT])