aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2011-04-24 14:02:03 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2011-04-24 14:02:03 +0200
commit80ce07285129a954fde5a4ded824c8834f21a4d3 (patch)
treeb6d0a33616e90258664fe23112af5af604fd75a0
parent6d472749c61824d6d257c4e482a44fa02121f160 (diff)
Improve autoconf test for Qt
-rw-r--r--m4/libqt.m466
1 files changed, 61 insertions, 5 deletions
diff --git a/m4/libqt.m4 b/m4/libqt.m4
index b79e0a8..2ab8272 100644
--- a/m4/libqt.m4
+++ b/m4/libqt.m4
@@ -13,11 +13,10 @@ AC_PATH_PROG([pkg_config],[pkg-config])
AC_MSG_CHECKING([for QtCore])
-# First check for QtCore using default CPPFLAGS/LDFLAGS.
+# First check for QtCore using default CPPFLAGS/LDFLAGS/LIBS. This
+# test allows the user to override the QtCore library name (e.g.,
+# QtCored4) via the LIBS variable.
#
-save_LIBS="$LIBS"
-LIBS="-lQtCore $LIBS"
-
CXX_LIBTOOL_LINK_IFELSE(
AC_LANG_SOURCE([[
#include <string>
@@ -35,11 +34,68 @@ main ()
libqt_found=yes
])
+# Then check for QtCore using default CPPFLAGS/LDFLAGS.
+#
+if test x"$libqt_found" = xno; then
+
+ save_LIBS="$LIBS"
+ LIBS="-lQtCore $LIBS"
+
+ CXX_LIBTOOL_LINK_IFELSE(
+AC_LANG_SOURCE([[
+#include <string>
+#include <QString>
+
+int
+main ()
+{
+ QString qs ("test");
+ std::string ss (qs.toStdString ());
+ return ss.size () != 0;
+}
+]]),
+[
+libqt_found=yes
+])
+
+ if test x"$libqt_found" = xno; then
+ LIBS="$save_LIBS"
+ fi
+fi
+
+# If QtCore is not found, try its versioned variant, QtCore4.
+#
+if test x"$libqt_found" = xno; then
+
+ save_LIBS="$LIBS"
+ LIBS="-lQtCore4 $LIBS"
+
+ CXX_LIBTOOL_LINK_IFELSE(
+AC_LANG_SOURCE([[
+#include <string>
+#include <QString>
+
+int
+main ()
+{
+ QString qs ("test");
+ std::string ss (qs.toStdString ());
+ return ss.size () != 0;
+}
+]]),
+[
+libqt_found=yes
+])
+
+ if test x"$libqt_found" = xno; then
+ LIBS="$save_LIBS"
+ fi
+fi
+
# If default CPPFLAGS/LDFLAGS didn't work, try to discover
# them using pkg-config.
#
if test x"$libqt_found" = xno; then
- LIBS="$save_LIBS"
if test x"$pkg_config" != x; then
if $pkg_config --exists QtCore; then