Index: m4/bnv_have_qt.m4
===================================================================
--- m4/bnv_have_qt.m4	(revision d238e7e948efa1a2e02036034b4407a09d66674d)
+++ m4/bnv_have_qt.m4	(revision d238e7e948efa1a2e02036034b4407a09d66674d)
@@ -0,0 +1,565 @@
+dnl @synopsis BNV_HAVE_QT [--with-Qt-dir=DIR] [--with-Qt-lib-dir=DIR] [--with-Qt-lib=LIB]
+dnl @synopsis BNV_HAVE_QT [--with-Qt-include-dir=DIR] [--with-Qt-bin-dir=DIR] [--with-Qt-lib-dir=DIR] [--with-Qt-lib=LIB]
+dnl
+dnl @summary Search for Trolltech's Qt GUI framework.
+dnl
+dnl Searches common directories for Qt include files, libraries and Qt
+dnl binary utilities. The macro supports several different versions of
+dnl the Qt framework being installed on the same machine. Without
+dnl options, the macro is designed to look for the latest library,
+dnl i.e., the highest definition of QT_VERSION in qglobal.h. By use of
+dnl one or more options a different library may be selected. There are
+dnl two different sets of options. Both sets contain the option
+dnl --with-Qt-lib=LIB which can be used to force the use of a
+dnl particular version of the library file when more than one are
+dnl available. LIB must be in the form as it would appear behind the
+dnl "-l" option to the compiler. Examples for LIB would be "qt-mt" for
+dnl the multi-threaded version and "qt" for the regular version. In
+dnl addition to this, the first set consists of an option
+dnl --with-Qt-dir=DIR which can be used when the installation conforms
+dnl to Trolltech's standard installation, which means that header files
+dnl are in DIR/include, binary utilities are in DIR/bin and the library
+dnl is in DIR/lib. The second set of options can be used to indicate
+dnl individual locations for the header files, the binary utilities and
+dnl the library file, in addition to the specific version of the
+dnl library file.
+dnl
+dnl The following shell variable is set to either "yes" or "no":
+dnl
+dnl   have_qt
+dnl
+dnl Additionally, the following variables are exported:
+dnl
+dnl   QT_CXXFLAGS
+dnl   QT_LIBS
+dnl   QT_MOC
+dnl   QT_RCC
+dnl   QT_UIC
+dnl   QT_DIR
+dnl
+dnl which respectively contain an "-I" flag pointing to the Qt include
+dnl directory (and "-DQT_THREAD_SUPPORT" when LIB is "qt-mt"), link
+dnl flags necessary to link with Qt and X, the name of the meta object
+dnl compiler and the user interface compiler both with full path, and
+dnl finaly the variable QTDIR as Trolltech likes to see it defined (if
+dnl possible).
+dnl
+dnl Example lines for Makefile.in:
+dnl
+dnl   CXXFLAGS = @QT_CXXFLAGS@
+dnl   MOC      = @QT_MOC@
+dnl
+dnl After the variables have been set, a trial compile and link is
+dnl performed to check the correct functioning of the meta object
+dnl compiler. This test may fail when the different detected elements
+dnl stem from different releases of the Qt framework. In that case, an
+dnl error message is emitted and configure stops.
+dnl
+dnl No common variables such as $LIBS or $CFLAGS are polluted.
+dnl
+dnl Options:
+dnl
+dnl --with-Qt-dir=DIR: DIR is equal to $QTDIR if you have followed the
+dnl installation instructions of Trolltech. Header files are in
+dnl DIR/include, binary utilities are in DIR/bin and the library is in
+dnl DIR/lib.
+dnl
+dnl --with-Qt-include-dir=DIR: Qt header files are in DIR.
+dnl
+dnl --with-Qt-bin-dir=DIR: Qt utilities such as moc and uic are in DIR.
+dnl
+dnl --with-Qt-lib-dir=DIR: The Qt library is in DIR.
+dnl
+dnl --with-Qt-lib=LIB: Use -lLIB to link with the Qt library.
+dnl
+dnl If some option "=no" or, equivalently, a --without-Qt-* version is
+dnl given in stead of a --with-Qt-*, "have_qt" is set to "no" and the
+dnl other variables are set to the empty string.
+dnl
+dnl @category InstalledPackages
+dnl @author Bastiaan Veelo <Bastiaan@Veelo.net>
+dnl @version 2006-03-12
+dnl @license AllPermissive
+dnl
+dnl Note by Frederik Heber <heber@ins.uni-bonn.de>
+dnl  added fix from RTXI manual:
+dnl   if configure throws with "syntax error in line blabla" when checking Qt,
+dnl   then it is because of empty if-then-else construct, add line with single
+dnl   colon ":" in it to (leave bnv_qt_lib_dir defined).
+dnl
+dnl Second Note by Frederik Heber <heber@ins.uni-bonn.de>
+dnl  some changes by me, to get it working with Qt4 and Qwt
+dnl   - bnv_qt_include_dir is now list of dirs, extended to -I<> syntax
+dnl   - all subdirs of qt-include directory
+dnl   - look for lib[[Qq]]t not only libqt
+dnl
+dnl Third Note  by Frederik Heber <heber@ins.uni-bonn.de>
+dnl  added QT_RCC flag
+dnl
+dnl Fourth Note by Frederik Heber <heber@ins.uni-bonn.de>
+dnl  some changes to get it working with Ubuntu 10.04
+dnl   - bn_qt_lib_dir is now issued when specified --with-qt-dir
+dnl   - removed libXt and libXi which are just shared libs linked in
+dnl     the other libs
+
+dnl Copyright (C) 2001, 2002, 2003, 2005, 2006 Bastiaan Veelo
+
+dnl THANKS! This code includes bug fixes and contributions made by:
+dnl Tim McClarren,
+dnl Dennis R. Weilert,
+dnl Qingning Huo,
+dnl Brian Mingus,
+dnl Jens Hannemann,
+dnl Pavel Roskin,
+dnl Scott J. Bertin.
+
+dnl ChangeLog
+dnl 2006-03-12  * Hide output of ls and fix an m4 quoting problem (due to Scott J. Bertin).
+dnl 2006-02-13  * Check compiler return value instead of parsing the error stream,
+dnl               which detected warnings as false negatives (due to Jens Hannemann).
+dnl 2006-02-02  * Spelling of "Success".
+dnl             * Fixed unsave test for $bnv_qt_lib without quotes.
+dnl             * Put dnl in front of all comments.
+dnl             * Changed -l$bnv_qt_lib_dir into -L$bnv_qt_lib_dir (all due to Pavel Roskin).
+dnl 2006-01-19  * Support for 64bit architectures.
+dnl             * Updated documentation.
+dnl 2006-01-18: * Fix "cat: bnv_qt_test.c: No such file or directory" (due to Jens Hannemann).
+dnl             * Hide output of failing ls.
+dnl 2006-01-11: * Check in /Developer on Mac OS X; Check in $QTDIR (due to Brian Mingus).
+
+dnl Calls BNV_PATH_QT_DIRECT (contained in this file) as a subroutine.
+AC_DEFUN([BNV_HAVE_QT],
+[
+  AC_REQUIRE([AC_PROG_CXX])
+  AC_REQUIRE([AC_PATH_X])
+  AC_REQUIRE([AC_PATH_XTRA])
+
+  AC_MSG_CHECKING(for Qt)
+
+  AC_ARG_WITH([Qt-dir],
+    [  --with-Qt-dir=DIR       DIR is equal to $QTDIR if you have followed the
+                          installation instructions of Trolltech. Header
+                          files are in DIR/include, binary utilities are
+                          in DIR/bin. The library is in DIR/lib, unless
+			  --with-Qt-lib-dir is also set.])
+  AC_ARG_WITH([Qt-include-dir],
+    [  --with-Qt-include-dir=DIR
+                          Qt header files are in DIR])
+  AC_ARG_WITH([Qt-bin-dir],
+    [  --with-Qt-bin-dir=DIR   Qt utilities such as moc and uic are in DIR])
+  AC_ARG_WITH([Qt-lib-dir],
+    [  --with-Qt-lib-dir=DIR   The Qt library is in DIR])
+  AC_ARG_WITH([Qt-lib],
+    [  --with-Qt-lib=LIB       Use -lLIB to link with the Qt library])
+  if test x"$with_Qt_dir" = x"no" ||
+     test x"$with_Qt_include-dir" = x"no" ||
+     test x"$with_Qt_bin_dir" = x"no" ||
+     test x"$with_Qt_lib_dir" = x"no" ||
+     test x"$with_Qt_lib" = x"no"; then
+    # user disabled Qt. Leave cache alone.
+    have_qt="User disabled Qt."
+  else
+    # "yes" is a bogus option
+    if test x"$with_Qt_dir" = xyes; then
+      with_Qt_dir=
+    fi
+    if test x"$with_Qt_include_dir" = xyes; then
+      with_Qt_include_dir=
+    fi
+    if test x"$with_Qt_bin_dir" = xyes; then
+      with_Qt_bin_dir=
+    fi
+    if test x"$with_Qt_lib_dir" = xyes; then
+      with_Qt_lib_dir=
+    fi
+    if test x"$with_Qt_lib" = xyes; then
+      with_Qt_lib=
+    fi
+    # No Qt unless we discover otherwise
+    have_qt=no
+    # Check whether we are requested to link with a specific version
+    if test x"$with_Qt_lib" != x; then
+      bnv_qt_lib="$with_Qt_lib"
+    fi
+    # Check whether we were supplied with an answer already
+    if test x"$with_Qt_dir" != x; then
+      have_qt=yes
+      bnv_qt_dir="$with_Qt_dir"
+      if test x`echo $with_Qt_dir | grep qt3` != x; then
+        # qt3
+        bnv_qt_include_dir="$with_Qt_dir/include"
+      else
+        # Qt4
+        bnv_qt_include_dir="$with_Qt_dir/include"
+	# FH: due to laziness of certain programmers and to simulate qmake
+        # bhavior, we have to add all subdirectories, too
+	for dir in `ls $with_Qt_dir/include`
+        do
+          bnv_qt_include_dir="${bnv_qt_include_dir} $with_Qt_dir/include/$dir"
+        done
+      fi
+      bnv_qt_bin_dir="$with_Qt_dir/bin"
+      if test x"$with_Qt_lib_dir" != x; then
+        bnv_qt_lib_dir="$with_Qt_lib_dir"
+      else
+        bnv_qt_lib_dir="$with_Qt_dir/lib"
+      fi
+      # Only search for the lib if the user did not define one already
+      if test x"$bnv_qt_lib" = x; then
+        bnv_qt_lib="`ls $bnv_qt_lib_dir/lib[[Qq]]t* | sed -n 1p |
+                     sed s@$bnv_qt_lib_dir/lib@@ | [sed s@[.].*@@]`"
+      fi
+      bnv_qt_LIBS="-L$bnv_qt_lib_dir -l$bnv_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext $X_EXTRA_LIBS"
+    else
+      # Use cached value or do search, starting with suggestions from
+      # the command line
+      AC_CACHE_VAL(bnv_cv_have_qt,
+      [
+        # We are not given a solution and there is no cached value.
+        bnv_qt_dir=NO
+        bnv_qt_include_dir=NO
+        bnv_qt_lib_dir=NO
+        if test x"$bnv_qt_lib" = x; then
+          bnv_qt_lib=NO
+        fi
+        BNV_PATH_QT_DIRECT
+        if test "$bnv_qt_dir" = NO ||
+           test "$bnv_qt_include_dir" = NO ||
+           test "$bnv_qt_lib_dir" = NO ||
+           test "$bnv_qt_lib" = NO; then
+          # Problem with finding complete Qt.  Cache the known absence of Qt.
+          bnv_cv_have_qt="have_qt=no"
+        else
+          # Record where we found Qt for the cache.
+          bnv_cv_have_qt="have_qt=yes                  \
+                       bnv_qt_dir=$bnv_qt_dir          \
+               bnv_qt_include_dir=$bnv_qt_include_dir  \
+                   bnv_qt_bin_dir=$bnv_qt_bin_dir      \
+                      bnv_qt_LIBS=\"$bnv_qt_LIBS\""
+        fi
+      ])dnl
+      eval "$bnv_cv_have_qt"
+    fi # all $bnv_qt_* are set
+  fi   # $have_qt reflects the system status
+  if test x"$have_qt" = xyes; then
+    # FH: expect a list of dirs and add all
+    for dir in $bnv_qt_include_dir
+    do
+    	QT_CXXFLAGS="${QT_CXXFLAGS} -I${dir}"
+    done
+    if test x"$bnv_qt_lib" = xqt-mt; then
+        QT_CXXFLAGS="$QT_CXXFLAGS -DQT_THREAD_SUPPORT"
+    fi
+    QT_DIR="$bnv_qt_dir"
+    QT_LIBS="$bnv_qt_LIBS"
+    # If bnv_qt_dir is defined, utilities are expected to be in the
+    # bin subdirectory
+    if test x"$bnv_qt_dir" != x; then
+        if test -x "$bnv_qt_dir/bin/uic"; then
+          QT_UIC="$bnv_qt_dir/bin/uic"
+        else
+          # Old versions of Qt don't have uic
+          QT_UIC=
+        fi
+      QT_MOC="$bnv_qt_dir/bin/moc"
+      QT_RCC="$bnv_qt_dir/bin/rcc"
+    else
+      # Or maybe we are told where to look for the utilities
+      if test x"$bnv_qt_bin_dir" != x; then
+        if test -x "$bnv_qt_bin_dir/uic"; then
+          QT_UIC="$bnv_qt_bin_dir/uic"
+        else
+          # Old versions of Qt don't have uic
+          QT_UIC=
+        fi
+        QT_MOC="$bnv_qt_bin_dir/moc"
+        QT_RCC="$bnv_qt_bin_dir/rcc"
+      else
+      # Last possibility is that they are in $PATH
+        QT_UIC="`which uic`"
+        QT_MOC="`which moc`"
+        QT_RCC="`which rcc`"
+      fi
+    fi
+    # All variables are defined, report the result
+    AC_MSG_RESULT([$have_qt:
+    QT_CXXFLAGS=$QT_CXXFLAGS
+    QT_DIR=$QT_DIR
+    QT_LIBS=$QT_LIBS
+    QT_UIC=$QT_UIC
+    QT_MOC=$QT_MOC
+    QT_RCC=$QT_RCC])
+  else
+    # Qt was not found
+    QT_CXXFLAGS=
+    QT_DIR=
+    QT_LIBS=
+    QT_UIC=
+    QT_MOC=
+    QT_RCC=
+    AC_MSG_RESULT($have_qt)
+  fi
+  AC_SUBST(QT_CXXFLAGS)
+  AC_SUBST(QT_DIR)
+  AC_SUBST(QT_LIBS)
+  AC_SUBST(QT_UIC)
+  AC_SUBST(QT_MOC)
+  AC_SUBST(QT_RCC)
+
+  #### Being paranoid:
+  if test x"$have_qt" = xyes; then
+    AC_MSG_CHECKING(correct functioning of Qt installation)
+    AC_CACHE_VAL(bnv_cv_qt_test_result,
+    [
+      cat > bnv_qt_test.h << EOF
+#include <qobject.h>
+class Test : public QObject
+{
+Q_OBJECT
+public:
+  Test() {}
+  ~Test() {}
+public slots:
+  void receive() {}
+signals:
+  void send();
+};
+EOF
+
+      cat > bnv_qt_main.$ac_ext << EOF
+#include "bnv_qt_test.h"
+#include <qapplication.h>
+int main( int argc, char **argv )
+{
+  QApplication app( argc, argv );
+  Test t;
+  QObject::connect( &t, SIGNAL(send()), &t, SLOT(receive()) );
+}
+EOF
+
+      bnv_cv_qt_test_result="failure"
+      bnv_try_1="$QT_MOC bnv_qt_test.h -o moc_bnv_qt_test.$ac_ext >/dev/null 2>/dev/null"
+      AC_TRY_EVAL(bnv_try_1)
+      if test x"$ac_status" != x0; then
+        echo "$bnv_err_1" >&AC_FD_CC
+        echo "configure: could not run $QT_MOC on:" >&AC_FD_CC
+        cat bnv_qt_test.h >&AC_FD_CC
+      else
+        bnv_try_2="$CXX $QT_CXXFLAGS -c $CXXFLAGS -o moc_bnv_qt_test.o moc_bnv_qt_test.$ac_ext >/dev/null 2>/dev/null"
+        AC_TRY_EVAL(bnv_try_2)
+        if test x"$ac_status" != x0; then
+          echo "$bnv_err_2" >&AC_FD_CC
+          echo "configure: could not compile:" >&AC_FD_CC
+          cat moc_bnv_qt_test.$ac_ext >&AC_FD_CC
+        else
+          bnv_try_3="$CXX $QT_CXXFLAGS -c $CXXFLAGS -o bnv_qt_main.o bnv_qt_main.$ac_ext >/dev/null 2>/dev/null"
+          AC_TRY_EVAL(bnv_try_3)
+          if test x"$ac_status" != x0; then
+            echo "$bnv_err_3" >&AC_FD_CC
+            echo "configure: could not compile:" >&AC_FD_CC
+            cat bnv_qt_main.$ac_ext >&AC_FD_CC
+          else
+            bnv_try_4="$CXX $QT_LIBS $LIBS -o bnv_qt_main bnv_qt_main.o moc_bnv_qt_test.o >/dev/null 2>/dev/null"
+            AC_TRY_EVAL(bnv_try_4)
+            if test x"$ac_status" != x0; then
+              echo "$bnv_err_4" >&AC_FD_CC
+            else
+              bnv_cv_qt_test_result="success"
+            fi
+          fi
+        fi
+      fi
+    ])dnl AC_CACHE_VAL bnv_cv_qt_test_result
+    AC_MSG_RESULT([$bnv_cv_qt_test_result]);
+    if test x"$bnv_cv_qt_test_result" = "xfailure"; then
+      AC_MSG_ERROR([Failed to find matching components of a complete
+                  Qt installation. Try using more options,
+                  see ./configure --help.])
+    fi
+
+    rm -f bnv_qt_test.h moc_bnv_qt_test.$ac_ext moc_bnv_qt_test.o \
+          bnv_qt_main.$ac_ext bnv_qt_main.o bnv_qt_main
+  fi
+])
+
+dnl Internal subroutine of BNV_HAVE_QT
+dnl Set bnv_qt_dir bnv_qt_include_dir bnv_qt_bin_dir bnv_qt_lib_dir bnv_qt_lib
+AC_DEFUN([BNV_PATH_QT_DIRECT],
+[
+  ## Binary utilities ##
+  if test x"$with_Qt_bin_dir" != x; then
+    bnv_qt_bin_dir=$with_Qt_bin_dir
+  fi
+  ## Look for header files ##
+  if test x"$with_Qt_include_dir" != x; then
+    bnv_qt_include_dir="$with_Qt_include_dir"
+  else
+    # The following header file is expected to define QT_VERSION.
+    qt_direct_test_header=qglobal.h
+    # Look for the header file in a standard set of common directories.
+    # FH: added some more system directories, also fuer qt4
+    bnv_include_path_list="
+      /usr/include
+      `ls -dr ${QTDIR}/include 2>/dev/null`
+      `ls -dr /usr/share/qt*/include/ 2>/dev/null`
+      `ls -dr /usr/share/qt*/include/Qt/ 2>/dev/null`
+      `ls -dr /usr/include/qt* 2>/dev/null`
+      `ls -dr /usr/lib/qt*/include 2>/dev/null`
+      `ls -dr /usr/local/qt*/include 2>/dev/null`
+      `ls -dr /opt/qt*/include 2>/dev/null`
+      `ls -dr /Developer/qt*/include 2>/dev/null`
+    "
+    for bnv_dir in $bnv_include_path_list; do
+      if test -r "$bnv_dir/$qt_direct_test_header"; then
+        bnv_dirs="$bnv_dirs $bnv_dir"
+      fi
+    done
+    # Now look for the newest in this list
+    bnv_prev_ver=0
+    for bnv_dir in $bnv_dirs; do
+      bnv_this_ver=`egrep -w '#define QT_VERSION' $bnv_dir/$qt_direct_test_header | sed s/'#define QT_VERSION'//`
+      if expr $bnv_this_ver '>' $bnv_prev_ver > /dev/null; then
+        bnv_qt_include_dir=$bnv_dir
+        bnv_prev_ver=$bnv_this_ver
+      fi
+    done
+  fi dnl Found header files.
+
+  # Are these headers located in a traditional Trolltech installation?
+  # That would be $bnv_qt_include_dir stripped from its last element:
+  bnv_possible_qt_dir=`dirname $bnv_qt_include_dir`
+  if (test -x $bnv_possible_qt_dir/bin/moc) &&
+     ((ls $bnv_possible_qt_dir/lib/lib[[Qq]]t* > /dev/null 2>/dev/null) ||
+      (ls $bnv_possible_qt_dir/lib64/lib[[Qq]]t* > /dev/null 2>/dev/null)); then
+    # Then the rest is a piece of cake
+    bnv_qt_dir=$bnv_possible_qt_dir
+    bnv_qt_bin_dir="$bnv_qt_dir/bin"
+    if test x"$with_Qt_lib_dir" != x; then
+      bnv_qt_lib_dir="$with_Qt_lib_dir"
+    else
+      if (test -d $bnv_qt_dir/lib64); then
+	bnv_qt_lib_dir="$bnv_qt_dir/lib64"
+      else
+	bnv_qt_lib_dir="$bnv_qt_dir/lib"
+      fi
+    fi
+    # Only look for lib if the user did not supply it already
+    if test x"$bnv_qt_lib" = xNO; then
+      bnv_qt_lib="`ls $bnv_qt_lib_dir/lib[[Qq]]t* | sed -n 1p |
+                   sed s@$bnv_qt_lib_dir/lib@@ | [sed s@[.].*@@]`"
+    fi
+    bnv_qt_LIBS="-L$bnv_qt_lib_dir -l$bnv_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext $X_EXTRA_LIBS"
+  else
+    # There is no valid definition for $QTDIR as Trolltech likes to see it
+    bnv_qt_dir=
+    ## Look for Qt library ##
+    if test x"$with_Qt_lib_dir" != x; then
+      bnv_qt_lib_dir="$with_Qt_lib_dir"
+      # Only look for lib if the user did not supply it already
+      if test x"$bnv_qt_lib" = xNO; then
+        bnv_qt_lib="`ls $bnv_qt_lib_dir/lib[[Qq]]t* | sed -n 1p |
+                     sed s@$bnv_qt_lib_dir/lib@@ | [sed s@[.].*@@]`"
+      fi
+      bnv_qt_LIBS="-L$bnv_qt_lib_dir -l$bnv_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext $X_EXTRA_LIBS"
+    else
+      # Normally, when there is no traditional Trolltech installation,
+      # the library is installed in a place where the linker finds it
+      # automatically.
+      # If the user did not define the library name, try with qt
+      if test x"$bnv_qt_lib" = xNO; then
+        bnv_qt_lib=qt
+      fi
+      qt_direct_test_header=qapplication.h
+      qt_direct_test_main="
+        int argc;
+        char ** argv;
+        QApplication app(argc,argv);
+      "
+      # See if we find the library without any special options.
+      # Don't add top $LIBS permanently yet
+      bnv_save_LIBS="$LIBS"
+      LIBS="-l$bnv_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext $X_EXTRA_LIBS"
+      bnv_qt_LIBS="$LIBS"
+      bnv_save_CXXFLAGS="$CXXFLAGS"
+      CXXFLAGS="-I$bnv_qt_include_dir"
+      AC_TRY_LINK([#include <$qt_direct_test_header>],
+        $qt_direct_test_main,
+      [
+        # Success.
+        # We can link with no special library directory.
+        bnv_qt_lib_dir=
+      ], [
+        # That did not work. Try the multi-threaded version
+        echo "Non-critical error, please neglect the above." >&AC_FD_CC
+        bnv_qt_lib=qt-mt
+        LIBS="-l$bnv_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext $X_EXTRA_LIBS"
+        AC_TRY_LINK([#include <$qt_direct_test_header>],
+          $qt_direct_test_main,
+        [
+          # Success.
+          # We can link with no special library directory.
+          bnv_qt_lib_dir=
+        ], [
+          # That did not work. Try the OpenGL version
+          echo "Non-critical error, please neglect the above." >&AC_FD_CC
+          bnv_qt_lib=qt-gl
+          LIBS="-l$bnv_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext $X_EXTRA_LIBS"
+          AC_TRY_LINK([#include <$qt_direct_test_header>],
+            $qt_direct_test_main,
+          [
+            # Success.
+            # We can link with no special library directory.
+            bnv_qt_lib_dir=
+          ], [
+            # That did not work. Maybe a library version I don't know about?
+            echo "Non-critical error, please neglect the above." >&AC_FD_CC
+            # Look for some Qt lib in a standard set of common directories.
+            bnv_dir_list="
+              `echo $bnv_qt_includes | sed ss/includess`
+              /lib
+	      /usr/lib64
+              /usr/lib
+	      /usr/local/lib64
+              /usr/local/lib
+	      /opt/lib64
+              /opt/lib
+              `ls -dr /usr/lib64/qt* 2>/dev/null`
+              `ls -dr /usr/lib64/qt*/lib64 2>/dev/null`
+              `ls -dr /usr/lib/qt* 2>/dev/null`
+              `ls -dr /usr/local/qt* 2>/dev/null`
+              `ls -dr /opt/qt* 2>/dev/null`
+            "
+            for bnv_dir in $bnv_dir_list; do
+              if ls $bnv_dir/lib[[Qq]]t* >/dev/null 2>/dev/null; then
+                # Gamble that it's the first one...
+                bnv_qt_lib="`ls $bnv_dir/lib[[Qq]]t* | sed -n 1p |
+                            sed s@$bnv_dir/lib@@ | sed s/[[.]].*//`"
+                bnv_qt_lib_dir="$bnv_dir"
+                break
+              fi
+            done
+            # Try with that one
+            LIBS="-l$bnv_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext $X_EXTRA_LIBS"
+            AC_TRY_LINK([#include <$qt_direct_test_header>],
+              $qt_direct_test_main,
+            [
+              # Success.
+              # We can link with no special library directory.
+              bnv_qt_lib_dir=
+            ], [
+		:
+              # Leave bnv_qt_lib_dir defined
+            ])
+          ])
+        ])
+      ])
+      if test x"$bnv_qt_lib_dir" != x; then
+        bnv_qt_LIBS="-L$bnv_qt_lib_dir $LIBS"
+      else
+        bnv_qt_LIBS="$LIBS"
+      fi
+      LIBS="$bnv_save_LIBS"
+      CXXFLAGS="$bnv_save_CXXFLAGS"
+    fi dnl $with_Qt_lib_dir was not given
+  fi dnl Done setting up for non-traditional Trolltech installation
+])
Index: m4/gwqt4.m4
===================================================================
--- m4/gwqt4.m4	(revision 79de12a31074a28e29afce5800da9884f1b1cd0d)
+++ 	(revision )
@@ -1,193 +1,0 @@
-# Check for Qt compiler flags, linker flags, and binary packages
-AC_DEFUN([gw_CHECK_QT4],
-[
-AC_REQUIRE([AC_PROG_CXX])
-AC_REQUIRE([AC_PATH_X])
-
-AC_MSG_CHECKING([QTDIR])
-AC_ARG_WITH([qtdir], [  --with-qtdir=DIR        Qt installation directory [default=$QTDIR]], QTDIR=$withval)
-# Check that QTDIR is defined or that --with-qtdir given
-if test x"$QTDIR" = x ; then
-	# some usual Qt-locations
-	QT_SEARCH="/usr /usr/lib/qt /usr/X11R6 /usr/local/Trolltech/Qt-4.0.0 /usr/local/Trolltech/Qt-4.0.1 /usr/local/Trolltech/Qt-4.1.0 /usr/local/Trolltech/Qt-4.2.0 /usr/local/Trolltech/Qt-4.2.1 /usr/local/Trolltech/Qt-4.2.2"
-else
-	QT_SEARCH=$QTDIR
-	QTDIR=""
-fi
-for i in $QT_SEARCH ; do
-	QT_INCLUDE_SEARCH="include/qt4 include"
-	for j in $QT_INCLUDE_SEARCH ; do
-	        if test -f $i/$j/Qt/qglobal.h -a x$QTDIR = x ; then
-			QTDIR=$i
-			QT_INCLUDES=$i/$j
-		fi
-	done
-done
-if test x"$QTDIR" = x ; then
-	AC_MSG_ERROR([*** QTDIR must be defined, or --with-qtdir option given])
-fi
-AC_MSG_RESULT([$QTDIR])
-
-# Change backslashes in QTDIR to forward slashes to prevent escaping
-# problems later on in the build process, mainly for Cygwin build
-# environment using MSVC as the compiler
-QTDIR=`echo $QTDIR | sed 's/\\\\/\\//g'`
-
-AC_MSG_CHECKING([Qt includes])
-# Check where includes are located
-if test x"$QT_INCLUDES" = x ; then
-	AC_MSG_ERROR([*** could not find Qt-includes! Make sure you have the Qt-devel-files installed!])
-fi
-AC_MSG_RESULT([$QT_INCLUDES])
-
-
-if test -z "$QTHOSTDIR" ; then
-	case "${prefix}" in
-		/opt/mingw*)
-			QTHOSTDIR=/usr
-			;;
-		*)
-			if test -n "$QTDIR" ; then
-				QTHOSTDIR="$QTDIR"
-			else
-				QTHOSTDIR=/usr
-			fi
-			;;
-	esac
-fi
-
-
-# Check that moc is in path
-AC_CHECK_PROG(MOC, moc-qt4, $QTHOSTDIR/bin/moc-qt4,,$QTHOSTDIR/bin/)
-if test x$MOC = x ; then
-	AC_CHECK_PROG(MOC, moc, $QTHOSTDIR/bin/moc,,$QTHOSTDIR/bin/)
-	if test x$MOC = x ; then
-        	AC_MSG_ERROR([*** not found! Make sure you have Qt-devel-tools installed!])
-	fi
-fi
-
-# Check that uic is in path
-AC_CHECK_PROG(UIC, uic-qt4, $QTHOSTDIR/bin/uic-qt4,,$QTHOSTDIR/bin/)
-if test x$UIC = x ; then
-	AC_CHECK_PROG(UIC, uic, $QTHOSTDIR/bin/uic,,$QTHOSTDIR/bin/)
-	if test x$UIC = x ; then
-        	AC_MSG_ERROR([*** not found! Make sure you have Qt-devel-tools installed!])
-	fi
-fi
-
-# lupdate is the Qt translation-update utility.
-AC_CHECK_PROG(LUPDATE, lupdate-qt4, $QTHOSTDIR/bin/lupdate-qt4,,$QTHOSTDIR/bin/)
-if test x$LUPDATE = x ; then
-	AC_CHECK_PROG(LUPDATE, lupdate, $QTHOSTDIR/bin/lupdate,,$QTHOSTDIR/bin/)
-	if test x$MOC = x ; then
-	        AC_MSG_WARN([*** not found! It's not needed just for compiling but should be part of a proper Qt-devel-tools-installation!])
-	fi
-fi
-
-# lrelease is the Qt translation-release utility.
-AC_CHECK_PROG(LRELEASE, lrelease-qt4, $QTHOSTDIR/bin/lrelease-qt4,,$QTHOSTDIR/bin/)
-if test x$LRELEASE = x ; then
-	AC_CHECK_PROG(LRELEASE, lrelease, $QTHOSTDIR/bin/lrelease,,$QTHOSTDIR/bin/)
-	if test x$MOC = x ; then
-	        AC_MSG_WARN([*** not found! It's not needed just for compiling but should be part of a proper Qt-devel-tools-installation!])
-	fi
-fi
-
-# Calculate Qt include path
-QT_CXXFLAGS="-I$QT_INCLUDES -I$QT_INCLUDES/Qt"
-
-# On unix, figure out if we're doing a static or dynamic link
-case "${host}" in
-      *mingw32)
-        QT_IS_STATIC=`ls $QTDIR/lib/*.a 2> /dev/null`
-       	if test "x$QT_IS_STATIC" = x; then
-            QT_IS_STATIC="no"
-       	else
-            QT_IS_STATIC="yes"
-        fi
-        if test x$QT_IS_STATIC = xno ; then
-            QT_IS_DYNAMIC=`ls $QTDIR/lib/*.so 2> /dev/null` 
-            if test "x$QT_IS_DYNAMIC" = x;  then
-                AC_MSG_ERROR([*** Couldn't find any Qt libraries])
-            fi
-        fi
-	QT_LIB="-L$QTDIR/bin -lQtCore4 -lQtXml4 -lQtNetwork4 -lws2_32"
-	QT_LIB_GUI="-lQtGui4"
-	# Check that windres is in path
-	AC_PATH_PROGS([WINDRES],[i586-mingw32-windres windres],,[${prefix}/bin:$PATH])
-	if test x$WINDRES = x ; then
-		AC_MSG_ERROR([*** not found! Make sure you have binutils installed!])
-	fi
-        ;;
-    *)
-        QT_IS_STATIC=`ls $QTDIR/lib/*.a 2> /dev/null`
-       	if test "x$QT_IS_STATIC" = x; then
-            QT_IS_STATIC="no"
-       	else
-            QT_IS_STATIC="yes"
-        fi
-        if test x$QT_IS_STATIC = xno ; then
-            QT_IS_DYNAMIC=`ls $QTDIR/lib/*.so 2> /dev/null` 
-            if test "x$QT_IS_DYNAMIC" = x;  then
-                AC_MSG_ERROR([*** Couldn't find any Qt libraries])
-            fi
-        fi
-	QT_LIB="-L$QTDIR/lib -L$QTDIR/lib/qt4 -lQtCore -lQtXml -lQtNetwork"
-	QT_LIB_GUI="-lQtGui"
-        ;;
-esac
-AC_MSG_CHECKING([if Qt is static])
-AC_MSG_RESULT([$QT_IS_STATIC])
-
-QT_LIBS="$QT_LIB"
-
-
-case "${host}" in
-    *irix*)
-        QT_LIBS="$QT_LIB"
-        if test $QT_IS_STATIC = yes ; then
-            QT_LIBS="$QT_LIBS -lXext -lX11 -lm -lSM -lICE"
-        fi
-        ;;
-
-    *linux*)
-        QT_LIBS="$QT_LIB"
-        if test $QT_IS_STATIC = yes ; then
-            QT_LIBS="$QT_LIBS -lXext -lX11 -lm -lSM -lICE -ldl"
-        fi
-        ;;
-
-    *osf*) 
-        # Digital Unix (aka DGUX aka Tru64)
-        QT_LIBS="$QT_LIB"
-        if test $QT_IS_STATIC = yes ; then
-            QT_LIBS="$QT_LIBS -lXext -lX11 -lm -lSM -lICE"
-        fi
-        ;;
-
-    *solaris*)
-        QT_LIBS="$QT_LIB"
-        if test $QT_IS_STATIC = yes ; then
-            QT_LIBS="$QT_LIBS -lXext -lX11 -lm -lSM -lICE -lresolv -lsocket -lnsl"
-        fi
-        ;;
-
-esac
-
-
-QT_CXXFLAGS="$QT_CXXFLAGS -D_REENTRANT -DQT_NO_DEBUG -DQT_THREAD_SUPPORT"
-
-QT_LDADD="$QT_LIBS"
-
-AC_MSG_CHECKING([QT_CXXFLAGS])
-AC_MSG_RESULT([$QT_CXXFLAGS])
-AC_MSG_CHECKING([QT_LDADD])
-AC_MSG_RESULT([$QT_LDADD])
-
-AC_SUBST(QT_CXXFLAGS)
-AC_SUBST(QT_LDADD)
-AC_SUBST(QT_LIB_GUI)
-
-])
-
-
