-x11includedir="`$PKG_CONFIG --variable=includedir xproto`/X11"
-AC_MSG_RESULT([$x11includedir])
-
-AC_MSG_CHECKING([for keysymdef.h])
-KEYSYMDEF_H="$x11includedir/keysymdef.h"
-test -f "$KEYSYMDEF_H" || AC_MSG_ERROR([can't locate keysymdef.h in $x11includedir])
-AC_MSG_RESULT([$KEYSYMDEF_H])
-AC_SUBST([KEYSYMDEF_H])
-
-AC_MSG_CHECKING([for XF86keysym.h])
-XF86KEYSYM_H="$x11includedir/XF86keysym.h"
-test -f "$XF86KEYSYM_H" || AC_MSG_ERROR([can't locate XF86keysym.h in $x11includedir])
-AC_MSG_RESULT([$XF86KEYSYM_H])
-AC_SUBST([XF86KEYSYM_H])
-
-# Require xorg-macros version 1.2.0 or newer for XORG_CHANGELOG macro
-m4_ifndef([XORG_MACROS_VERSION],
- [m4_fatal([must install xorg-macros before running autoconf/autogen.sh])])
-XORG_MACROS_VERSION([1.2.0])
-XORG_RELEASE_VERSION
-XORG_CWARNFLAGS
-XORG_CHANGELOG
-
-AC_OUTPUT([
-Makefile
-include/Makefile
-src/Makefile
-src/makekeys/Makefile
-test/Makefile
-])
+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 definition files])
+FILES="keysymdef.h XF86keysym.h Sunkeysym.h DECkeysym.h HPkeysym.h"
+for i in $FILES; do
+ 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])
+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=<path>],
+ [Set default XKB config root (default: xkeyboard-config install path)])],
+ [XKBCONFIGROOT="$withval"],
+ [XKBCONFIGROOT="$xkb_base"])
+AC_SUBST([XKBCONFIGROOT])
+
+
+AC_CONFIG_FILES([
+ Makefile
+ makekeys/Makefile
+ xkbcommon-uninstalled.pc
+ xkbcommon.pc])
+AC_OUTPUT