Use AC_ARG_VAR for X11 header and XKB paths

And don't call pkg-config unless we need to.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
master
Daniel Stone 2012-05-07 17:30:47 +01:00
parent 70dfe166f8
commit 9797c918ca
1 changed files with 18 additions and 10 deletions

View File

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