---
 configure.ac |   44 ++++++++++++++++++++++++--------------------
 1 file changed, 24 insertions(+), 20 deletions(-)

Index: libX11-1.1.2/configure.ac
===================================================================
--- libX11-1.1.2.orig/configure.ac	2008-01-02 15:30:47.000000000 +0000
+++ libX11-1.1.2/configure.ac	2008-01-02 15:47:25.000000000 +0000
@@ -207,29 +207,33 @@ AC_CHECK_FUNC(poll, [AC_DEFINE(USE_POLL,
 #
 KEYSYMDEF=""
 AC_MSG_CHECKING([keysymdef.h])
-for flag in $XPROTO_CFLAGS -I/usr/include; do
-	case "$KEYSYMDEF" in
-	"")
-		case "$flag" in
-		*-I*)
-			dir=`echo "$flag" | sed 's/ *-I//'`
-			file="$dir/X11/keysymdef.h"
-			if test -f "$file"; then
-				KEYSYMDEF="$file"
-			fi
+AC_ARG_WITH(keysymdef,
+	AC_HELP_STRING([--with-keysymdef=DIR/keysymdef.h], [The location of keysymdef.h]),  
+	KEYSYMDEF=$withval, KEYSYMDEF="")
+
+if test x$KEYSYMDEF = x; then
+	for flag in $XPROTO_CFLAGS -I/usr/include; do
+		case "$KEYSYMDEF" in
+		"")
+			case "$flag" in
+			*-I*)
+				dir=`echo "$flag" | sed 's/ *-I//'`
+				file="$dir/X11/keysymdef.h"
+				if test -f "$file"; then
+					KEYSYMDEF="$file"
+				fi
+				;;
+			esac
 			;;
 		esac
-		;;
-	esac
-done
-case "$KEYSYMDEF" in
-"")
-	AC_MSG_ERROR([Cannot find keysymdef.h])
-	;;
-*)
+	done
+fi
+
+if test -f "$KEYSYMDEF"; then
 	AC_MSG_RESULT([$KEYSYMDEF])
-        ;;
-esac
+else
+	AC_MSG_ERROR([Cannot find keysymdef.h])
+fi
 AC_SUBST(KEYSYMDEF)
 
 AC_ARG_ENABLE(udc,
