From: "Arnout Vandecappelle (Essensium/Mind)" <arn...@mind.be>

The AC_CHECK_FILE macro doesn't work when cross-compiling: it is used
to check for the existence of a runtime file, not for an include file.
Instead, we can use a simple shell condition to check for the existence
of the header file.
---
 configure.ac | 20 +++++++++-----------
 1 file changed, 9 insertions(+), 11 deletions(-)

diff --git a/configure.ac b/configure.ac
index b20a4bb..cccae0f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -648,17 +648,15 @@ if test "x${COMPILE_JNI}" = xyes; then
       dnl doesn't contain the subsystem dir.
       QT_INCLUDE_DIR=`$PKG_CONFIG --variable=includedir QtGui`
       EXTRA_QT_INCLUDE_DIR="$QT_INCLUDE_DIR/Qt"
-      AC_CHECK_FILE([$QT_INCLUDE_DIR/QWidget],
-      AC_MSG_NOTICE([No extra QT_INCLUDE_DIR needed]),
-      AC_CHECK_FILE([$EXTRA_QT_INCLUDE_DIR/QWidget],
-       QT_CFLAGS="$QT_CFLAGS -I$EXTRA_QT_INCLUDE_DIR",
-       AC_MSG_WARN([QWidget not found])))
-       AC_CHECK_PROG(MOC, [moc], [moc])
-       AC_CHECK_PROG(MOC4, [moc-qt4], [moc-qt4])
-       if test x"$MOC4" != x ; then
-         AC_MSG_NOTICE([Using $MOC4 as moc])
-         MOC=$MOC4;
-       fi
+      if [ -r $QT_INCLUDE_DIR/QWidget ]; then
+        AC_MSG_NOTICE([No extra QT_INCLUDE_DIR needed])
+      elif [ -r $EXTRA_QT_INCLUDE_DIR/QWidget ]; then
+       QT_CFLAGS="$QT_CFLAGS -I$EXTRA_QT_INCLUDE_DIR"
+      else
+       AC_MSG_WARN([QWidget not found])
+      fi
+      AC_CHECK_PROG(MOC, [moc], [moc])
+      AC_CHECK_PROG(MOC, [moc-qt4], [moc-qt4])
     fi
     if test "x$HAVE_QT4" = "xno"; then
       AC_MSG_NOTICE([Looking for QT_CFLAGS and QT_LIBS without pkg-config])
-- 
1.8.2.1


Reply via email to