From 2534ea4dd7196828ba8446921c7b552087055114 Mon Sep 17 00:00:00 2001
From: Constantin Michael <constantin@codesynthesis.com>
Date: Wed, 30 Mar 2011 15:54:26 +0200
Subject: Add code for Qt profile dist build

---
 m4/libodb-qt.m4 | 84 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 m4/libqt.m4     | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 170 insertions(+)
 create mode 100644 m4/libodb-qt.m4
 create mode 100644 m4/libqt.m4

(limited to 'm4')

diff --git a/m4/libodb-qt.m4 b/m4/libodb-qt.m4
new file mode 100644
index 0000000..7e6b31e
--- /dev/null
+++ b/m4/libodb-qt.m4
@@ -0,0 +1,84 @@
+dnl file      : m4/libodb-qt.m4
+dnl author    : Boris Kolpackov <boris@codesynthesis.com>
+dnl copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC
+dnl license   : GNU GPL v2; see accompanying LICENSE file
+dnl
+dnl LIBODB_QT([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
+dnl
+dnl
+AC_DEFUN([LIBODB_QT], [
+libodb_qt_found=no
+
+AC_ARG_WITH(
+  [libodb-qt],
+  [AC_HELP_STRING([--with-libodb-qt=DIR],[location of libodb-qt build directory])],
+  [libodb_qt_dir=${withval}],
+  [libodb_qt_dir=])
+
+AC_MSG_CHECKING([for libodb-qt])
+
+# If libodb_qt_dir was given, add the necessary preprocessor and
+# linker flags.
+#
+if test x"$libodb_qt_dir" != x; then
+  save_CPPFLAGS="$CPPFLAGS"
+  save_LDFLAGS="$LDFLAGS"
+
+  AS_SET_CATFILE([abs_libodb_qt_dir], [$ac_pwd], [$libodb_qt_dir])
+
+  CPPFLAGS="$CPPFLAGS -I$abs_libodb_qt_dir"
+  LDFLAGS="$LDFLAGS -L$abs_libodb_qt_dir/odb/qt"
+fi
+
+save_LIBS="$LIBS"
+LIBS="-lodb-qt $LIBS"
+
+CXX_LIBTOOL_LINK_IFELSE(
+AC_LANG_SOURCE([[
+#include <odb/qt/exception.hxx>
+
+void
+f ()
+{
+}
+
+const char*
+g ()
+{
+  try
+  {
+    f ();
+  }
+  catch (const odb::qt::exception& e)
+  {
+    return e.what ();
+  }
+  return 0;
+}
+
+int
+main ()
+{
+  const char* m (g ());
+  return m != 0;
+}
+]]),
+[libodb_qt_found=yes])
+
+if test x"$libodb_qt_found" = xno; then
+  LIBS="$save_LIBS"
+
+  if test x"$libodb_qt_dir" != x; then
+    CPPFLAGS="$save_CPPFLAGS"
+    LDFLAGS="$save_LDFLAGS"
+  fi
+fi
+
+if test x"$libodb_qt_found" = xyes; then
+  AC_MSG_RESULT([yes])
+  $1
+else
+  AC_MSG_RESULT([no])
+  $2
+fi
+])dnl
diff --git a/m4/libqt.m4 b/m4/libqt.m4
new file mode 100644
index 0000000..b79e0a8
--- /dev/null
+++ b/m4/libqt.m4
@@ -0,0 +1,86 @@
+dnl file      : m4/libqt.m4
+dnl author    : Boris Kolpackov <boris@codesynthesis.com>
+dnl copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC
+dnl license   : GNU GPL v2; see accompanying LICENSE file
+dnl
+dnl LIBQTCORE([ACTION-IF-FOUND[,ACTION-IF-NOT-FOUND]])
+dnl
+dnl
+AC_DEFUN([LIBQTCORE], [
+libqt_found=no
+
+AC_PATH_PROG([pkg_config],[pkg-config])
+
+AC_MSG_CHECKING([for QtCore])
+
+# First check for QtCore using default CPPFLAGS/LDFLAGS.
+#
+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 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
+      save_CPPFLAGS="$CPPFLAGS"
+      save_LIBS="$LIBS"
+
+      CPPFLAGS=`$pkg_config --cflags QtCore`
+      LIBS=`$pkg_config --libs QtCore`
+
+      CPPFLAGS="$CPPFLAGS $save_CPPFLAGS"
+      LIBS="$LIBS $save_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
+       CPPFLAGS="$save_CPPFLAGS"
+       LIBS="$save_LIBS"
+     fi
+    fi
+  fi
+fi
+
+if test x"$libqt_found" = xyes; then
+  AC_MSG_RESULT([yes])
+  $1
+else
+  AC_MSG_RESULT([no])
+  $2
+fi
+])dnl
-- 
cgit v1.1