Author: Guillem Jover <guillem@debian.org>

---
 Makefile.in     |    4 +---
 configure.in    |   40 +++++++++++++++++++++++-----------------
 gui/Makefile.in |    4 +---
 3 files changed, 25 insertions(+), 23 deletions(-)

--- a/configure.in
+++ b/configure.in
@@ -122,8 +122,6 @@ dnl Configure the ltdl library.  This mu
 dnl else it disables shared libraries somehow.
 AC_LIB_LTDL
 
-AC_PATH_XTRA
-
 AC_C_BIGENDIAN
 AC_C_INLINE
 AC_CHECK_SIZEOF(unsigned char)
@@ -1896,7 +1894,7 @@ AC_MSG_RESULT($WX_CONFIG)
 ok_wx_version=0
 wx_multi_lib=0
 needs_gtk2=0
-wx_needs_gtk2=0
+wx_needs_gdk2=0
 AC_MSG_CHECKING(for wxWidgets library version)
 if test x$WX_CONFIG != xnot_found; then
   WX_VERSION=`$WX_CONFIG --version`
@@ -1912,7 +1910,7 @@ if test x$WX_CONFIG != xnot_found; then
       ok_wx_version=1
       wx_multi_lib=1
       case x$WX_BASENAME in
-        xwx_gtk2|xwx_gtk2u) wx_needs_gtk2=1 ;;
+        xwx_gtk2|xwx_gtk2u) wx_needs_gdk2=1 ;;
         *) ;;
       esac
       ;;
@@ -1928,9 +1926,6 @@ if test "$cross_configure" = 0; then
     if test "$with_all_libs" = yes; then
       with_wx=yes
     fi
-    if test "$with_wx" = yes; then
-      needs_gtk2=$wx_needs_gtk2
-    fi
   else
     if test "$with_wx" = yes; then
       AC_MSG_WARN([Bochs for wxWidgets cannot be compiled here, disabling it])
@@ -1955,15 +1950,7 @@ if test "$with_x11" = yes; then
     echo ERROR: X windows gui was selected, but X windows libraries were not found.
     exit 1
   fi
-  AC_DEFINE(BX_WITH_X11, 1)
-  SPECIFIC_GUI_OBJS="$SPECIFIC_GUI_OBJS \$(GUI_OBJS_X11)"
-  GUI_CFLAGS="$GUI_CFLAGS \$(X_CFLAGS)"
-  GUI_CXXFLAGS="$GUI_CXXFLAGS \$(X_CFLAGS)"
-  GUI_LINK_OPTS="$GUI_LINK_OPTS \$(GUI_LINK_OPTS_X)"
-  # The enhanced X debugger depends on GTK2
-  if test "$gui_debugger" = 1; then
-    needs_gtk2=1
-  fi
+
   check_xpm=0
   AC_MSG_CHECKING(whether user wants XPM support)
   AC_ARG_ENABLE(xpm,
@@ -1987,8 +1974,22 @@ if test "$with_x11" = yes; then
         XPM_LIB='-lXpm'
       ])
   fi
+
+  X_CFLAGS="`pkg-config --cflags x11`"
+  X_LIBS="`pkg-config --libs x11` \$(XPM_LIB) -lXrandr"
+
+  AC_DEFINE(BX_WITH_X11, 1)
+  SPECIFIC_GUI_OBJS="$SPECIFIC_GUI_OBJS \$(GUI_OBJS_X11)"
+  GUI_CFLAGS="$GUI_CFLAGS \$(X_CFLAGS)"
+  GUI_CXXFLAGS="$GUI_CXXFLAGS \$(X_CFLAGS)"
+  GUI_LINK_OPTS="$GUI_LINK_OPTS \$(GUI_LINK_OPTS_X)"
+  # The enhanced X debugger depends on GTK2
+  if test "$gui_debugger" = 1; then
+    needs_gtk2=1
+  fi
 fi
-AC_SUBST(XPM_LIB)
+AC_SUBST(X_CFLAGS)
+AC_SUBST(X_LIBS)
 
 if test "$with_beos" = yes; then
   display_libs="$display_libs beos"
@@ -2118,6 +2119,11 @@ if test "$with_wx" = yes; then
   SPECIFIC_GUI_SUPPORT_OBJS="$SPECIFIC_GUI_SUPPORT_OBJS \$(GUI_OBJS_WX_SUPPORT)"
   WX_CFLAGS="`$WX_CONFIG --cflags`"
   WX_CXXFLAGS="`$WX_CONFIG --cxxflags`"
+  if test "$wx_needs_gdk2" = 1; then
+    GDK_CFLAGS="`pkg-config --cflags gdk-2.0`"
+    WX_CFLAGS="$WX_CFLAGS $GDK_CFLAGS"
+    WX_CXXFLAGS="$WX_CXXFLAGS $GDK_CFLAGS"
+  fi
   if test "$wx_multi_lib" = 1; then
     GUI_LINK_OPTS_WX="`$WX_CONFIG --libs core,base`"
   else
--- a/Makefile.in
+++ b/Makefile.in
@@ -94,9 +94,7 @@ LIBS = @LIBS@
 #   linux needs just -lreadline
 #   solaris needs -lreadline -lcurses
 X_LIBS = @X_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-XPM_LIB = @XPM_LIB@
-GUI_LINK_OPTS_X = $(X_LIBS) $(X_PRE_LIBS) -lX11 $(XPM_LIB) -lXrandr
+GUI_LINK_OPTS_X = $(X_LIBS)
 GUI_LINK_OPTS_SDL = `sdl-config --cflags --libs`
 GUI_LINK_OPTS_SVGA =  -lvga -lvgagl
 GUI_LINK_OPTS_BEOS = -lbe
--- a/gui/Makefile.in
+++ b/gui/Makefile.in
@@ -68,9 +68,7 @@ OBJS_THAT_CANNOT_BE_PLUGINS = keymap.o g
 OBJS_THAT_CAN_BE_PLUGINS = @GUI_OBJS@
 
 X_LIBS = @X_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-XPM_LIB = @XPM_LIB@
-GUI_LINK_OPTS_X = $(X_LIBS) $(X_PRE_LIBS) -lX11 $(XPM_LIB) -lXrandr
+GUI_LINK_OPTS_X = $(X_LIBS)
 GUI_LINK_OPTS_SDL = `sdl-config --cflags --libs`
 GUI_LINK_OPTS_SVGA =  -lvga -lvgagl
 GUI_LINK_OPTS_BEOS = -lbe
