[PATCH libX11] Allow overriding location of keysymdef.h

Ross Burton ross.burton at intel.com
Tue Sep 11 09:43:38 PDT 2012

Currently keysymdef.h is found by using the includedir of xproto.  This doesn't
work when cross-compiling with a sysroot as that ends up being /usr/include/X11,
not a path into the cross-build environment.

So, add an option to allow explicitly specifying the location of keysymdef.h,
and verify that the specified or found path exists.

(original patch by Martin Jansa <martin.jansa at gmail.com>, revised by myself)

Signed-off-by: Ross Burton <ross.burton at intel.com>
 configure.ac |   13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index 48a0c8a..200db15 100644
--- a/configure.ac
+++ b/configure.ac
@@ -306,7 +306,18 @@ AC_CHECK_FUNC(poll, [AC_DEFINE(USE_POLL, 1, [poll() function is available])], )
 # Find keysymdef.h
 AC_MSG_CHECKING([keysym definitions])
-KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11
+        AC_HELP_STRING([--with-keysymdefdir=DIR], [The location of keysymdef.h (defaults to xproto include dir)]),
+        KEYSYMDEFDIR=$withval, KEYSYMDEFDIR="")
+if test x$KEYSYMDEFDIR = x; then
+	KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11
+if test ! -d $KEYSYMDEFDIR; then
+	AC_MSG_ERROR([$KEYSYMDEFDIR doesn't exist or isn't a directory])
 FILES="keysymdef.h XF86keysym.h Sunkeysym.h DECkeysym.h HPkeysym.h"
 for i in $FILES; do
     if test -f "$KEYSYMDEFDIR/$i"; then

More information about the xorg-devel mailing list