]> git.lyx.org Git - lyx.git/blobdiff - config/qt4.m4
Fix #11552 in a different way
[lyx.git] / config / qt4.m4
index 03f0c05341f7c128f6495013cf9d2d80dd0db89b..75abd3360a18379ddfb59b00eaf286a50f05c325 100644 (file)
@@ -56,8 +56,12 @@ AC_DEFUN([QT_CHECK_COMPILE],
        ])
 
        if test -z "$qt_cv_libname"; then
-               AC_MSG_RESULT([failed])
-               AC_MSG_ERROR([cannot compile a simple Qt executable. Check you have the right \$QTDIR.])
+               if test x$USE_QT5 = xyes ; then
+                       AC_MSG_RESULT([failed, retrying with Qt4])
+               else
+                       AC_MSG_RESULT([failed])
+                       AC_MSG_ERROR([cannot compile a simple Qt executable. Check you have the right \$QTDIR.])
+               fi
        else
                AC_MSG_RESULT([$qt_cv_libname])
        fi
@@ -77,8 +81,8 @@ AC_DEFUN([QT_FIND_TOOL],
        elif qtchooser -l 2>/dev/null | grep -q ^$qt_ext\$ >/dev/null ; then
                AC_PATH_PROG(qtc_path, qtchooser, [], [$PATH])
                AC_PATH_PROG($2_path, $2, [], [$PATH])
-               qtc_path=$(dirname "$qtc_path")
-               $2_path=$(dirname "$$2_path")
+               qtc_path=`dirname "$qtc_path"`
+               $2_path=`dirname "$$2_path"`
                if test "$qtc_path" = "$$2_path" ; then
                        AC_CHECK_PROG($1, $2, [$2 -qt=$qt_ext],, [$PATH])
                fi
@@ -170,7 +174,22 @@ AC_DEFUN([QT_DO_IT_ALL],
        fi
 
        if test -z "$QT_LIB"; then
-         AC_MSG_ERROR([cannot find qt libraries.])
+         dnl Try again with Qt4 if configuring for Qt5 fails
+         if test x$USE_QT5 = xyes ; then
+               USE_QT5=no
+               AC_SUBST([USE_QT5])
+               if test -n "$PKG_CONFIG" ; then
+                 QT_DO_PKG_CONFIG
+               fi
+               if test "$pkg_failed" != "no" ; then
+                 QT_DO_MANUAL_CONFIG
+               fi
+               if test -z "$QT_LIB"; then
+                 AC_MSG_ERROR([cannot find qt libraries.])
+               fi
+         else
+               AC_MSG_ERROR([cannot find qt libraries.])
+         fi
        fi
 
        dnl Check qt version
@@ -179,11 +198,14 @@ AC_DEFUN([QT_DO_IT_ALL],
        ])
 
        save_CPPFLAGS=$CPPFLAGS
-       AC_MSG_CHECKING([whether Qt uses the X Window system])
        CPPFLAGS="$save_CPPFLAGS $QT_CORE_INCLUDES"
+       AC_CHECK_HEADER(QtGui/qtgui-config.h,
+         [lyx_qt5_config=QtGui/qtgui-config.h],
+         [lyx_qt5_config=qconfig.h],[-])
+       AC_MSG_CHECKING([whether Qt uses the X Window system])
        if test x$USE_QT5 = xyes ; then
          AC_EGREP_CPP(xcb,
-           [#include <qconfig.h>
+           [#include <$lyx_qt5_config>
            QT_QPA_DEFAULT_PLATFORM_NAME],
            [AC_MSG_RESULT(yes)
             AC_DEFINE(QPA_XCB, 1, [Define if Qt uses the X Window System])],
@@ -208,7 +230,7 @@ AC_DEFUN([QT_DO_IT_ALL],
        QT_FIND_TOOL([QT_RCC], [rcc])
 
        dnl Safety check
-       mocqtver=`$QT_MOC -v 2>&1 | sed -e 's/.*\([[0-9]]\.[[0-9]]\.[[0-9]]\).*/\1/'`
+       mocqtver=`$QT_MOC -v 2>&1 | sed -e 's/.*\([[0-9]]\.[[0-9]]*\.[[0-9]]\).*/\1/'`
        if test "x$mocqtver" != "x$QTLIB_VERSION"; then
                LYX_WARNING([The found moc compiler is for Qt $mocqtver but the Qt library version is $QTLIB_VERSION.])
        fi