diff options
-rw-r--r-- | configure.ac | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/configure.ac b/configure.ac index 6f019d4..04a737c 100644 --- a/configure.ac +++ b/configure.ac @@ -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]) |