X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=config%2Fqt.m4;h=1e548eb90a3ba2dc1fabff7ff1f0a11a391875b8;hb=2de99bed22564af4d535bdfb61b07a0745e71d76;hp=abf80eee9b63240c2a427f98788527932ed79a5c;hpb=8b7ea654e4fe81096c2f982774bbc69dc06baa32;p=lyx.git diff --git a/config/qt.m4 b/config/qt.m4 index abf80eee9b..1e548eb90a 100644 --- a/config/qt.m4 +++ b/config/qt.m4 @@ -49,6 +49,13 @@ AC_DEFUN([QT_FIND_UIC], if test -z "$ac_uic" -a "$FATAL" = 1; then AC_MSG_ERROR([uic binary not found in \$PATH or $qt_cv_dir/bin !]) fi + AC_MSG_CHECKING([whether uic supports -nounload]) + if $ac_uic --help 2>&1 | grep nounload >/dev/null ; then + AC_MSG_RESULT([yes]) + ac_uic="$ac_uic -nounload" + else + AC_MSG_RESULT([no]) + fi ]) dnl Find the right moc in path/qt_cv_dir @@ -89,7 +96,7 @@ AC_DEFUN([QT_TRY_LINK], ], [ QString s("mangle_failure"); - #if (QT_VERSION < 221) + #if (QT_VERSION < 0x030000) break_me_(\\\); #endif ], @@ -109,7 +116,7 @@ AC_DEFUN([QT_CHECK_COMPILE], SAVE_CXXFLAGS=$CXXFLAGS CXXFLAGS="$CXXFLAGS $QT_INCLUDES $QT_LDFLAGS" - for libname in -lqt-mt -lqt-mt3 -lqt3 -lqt2 -lqt; + for libname in -lqt-mt -lqt; do QT_TRY_LINK($libname) if test -n "$qt_cv_libname"; then @@ -156,9 +163,46 @@ EOF AC_SUBST(QT_VERSION) ]) +dnl Ascertain whether the Qt libraries are multi-threaded or not +AC_DEFUN([QT_CHECK_IS_MULTITHREADED], +[ + AC_CACHE_CHECK([whether the Qt library is multi-threaded], + qt_cv_is_multithreaded, + [ + AC_LANG_CPLUSPLUS + SAVE_CXXFLAGS=$CXXFLAGS + SAVE_LIBS="$LIBS" + CXXFLAGS="$CXXFLAGS $QT_INCLUDES $QT_LDFLAGS" + LIBS="$LIBS $QT_LIB" + + AC_TRY_LINK( + [ +#define QT_THREAD_SUPPORT +#include + ], + [ + QApplication a(0,0); + a.unlock(); + ], + qt_cv_is_multithreaded=yes, + qt_cv_is_multithreaded=no + ) + + LIBS="$SAVE_LIBS" + CXXFLAGS=$SAVE_CXXFLAGS + ]) + + if test x"$qt_cv_is_multithreaded" = xyes; then + QT_CPPFLAGS="$QT_CPPFLAGS -DQT_THREAD_SUPPORT" + fi +]) + dnl start here AC_DEFUN([QT_DO_IT_ALL], [ + dnl this variable is precious + AC_ARG_VAR(QTDIR, [the place where the Qt files are, e.g. /usr/lib/qt]) + dnl Please leave this alone. I use this file in dnl oprofile. FATAL=0 @@ -199,6 +243,21 @@ AC_DEFUN([QT_DO_IT_ALL], AC_SUBST(QT_INCLUDES) AC_SUBST(QT_LDFLAGS) + dnl Preprocessor flags + QT_CPPFLAGS="-DQT_CLEAN_NAMESPACE -DQT_GENUINE_STR -DQT_NO_STL -DQT_NO_EMIT" + case ${host} in + *mingw*) QT_CPPFLAGS="-DQT_DLL $QT_CPPFLAGS";; + esac + + case ${host_os} in + cygwin* ) + if test "x$with_x" = xno ; then + QT_CPPFLAGS="$QT_CPPFLAGS -DQ_CYGWIN_WIN" + fi;; + esac + + AC_SUBST(QT_CPPFLAGS) + if test -z "$MOC"; then QT_FIND_MOC MOC=$ac_moc @@ -215,6 +274,8 @@ AC_DEFUN([QT_DO_IT_ALL], QT_LIB=$qt_cv_libname; AC_SUBST(QT_LIB) + QT_CHECK_IS_MULTITHREADED + if test -n "$qt_cv_libname"; then QT_GET_VERSION fi