1# HOA_FIND_QT(VARIABLE-PREFIX, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) 2# 3# Check whether the Qt libraries are available. Adapted from Poppler qt.m4 which was adapted from 4# OpenOffice.org configure.in 5# 6# -------------------------------------------------------------- 7AC_DEFUN([HOA_FIND_QT], 8[ 9dnl Search paths for Qt 10qt_incdirs="$QTINC /usr/local/qt/include /usr/include/qt /usr/include /usr/X11R6/include/X11/qt /usr/X11R6/include/qt /usr/lib/qt3/include /usr/lib/qt/include /usr/share/qt3/include" 11qt_libdirs="$QTLIB /usr/local/qt/lib /usr/lib/qt /usr/lib /usr/X11R6/lib/X11/qt /usr/X11R6/lib/qt /usr/lib/qt3/lib /usr/lib/qt/lib /usr/share/qt3/lib" 12if test -n "$QTDIR" ; then 13 qt_incdirs="$QTDIR/include $qt_incdirs" 14 qt_libdirs="$QTDIR/lib $qt_libdirs" 15fi 16 17dnl What to test 18qt_test_include="qstyle.h" 19qt_test_la_library="libqt-mt.la" 20qt_test_library="libqt-mt.so" 21 22dnl Check for Qt headers 23AC_MSG_CHECKING([for Qt headers]) 24qt_incdir="no" 25for it in $qt_incdirs ; do 26 if test -r "$it/$qt_test_include" ; then 27 qt_incdir="$it" 28 break 29 fi 30done 31AC_MSG_RESULT([$qt_incdir]) 32 33dnl Check for Qt libraries 34AC_MSG_CHECKING([for Qt libraries]) 35qt_libdir="no" 36for qt_check in $qt_libdirs ; do 37 if test -r "$qt_check/$qt_test_la_library" ; then 38 qt_libdir="$qt_check" 39 break 40 fi 41 42 if test -r "$qt_check/$qt_test_library" ; then 43 qt_libdir="$qt_check" 44 break 45 fi 46done 47AC_MSG_RESULT([$qt_libdir]) 48 49if test "x$qt_libdir" != "xno" ; then 50 if test "x$qt_incdir" != "xno" ; then 51 have_qt=yes 52 fi 53fi 54 55if test "x$have_qt" == "xyes"; then 56 AC_LANG_PUSH([C++]) 57 pthread_needed=no 58 59 save_LDFLAGS=$LDFLAGS 60 save_CXXFLAGS=$CXXFLAGS 61 save_LIBS=$LIBS 62 CXXFLAGS="$CXXFLAGS -I$qt_incdir" 63 LIBS="$LIBS $qt_libdir/$qt_test_library" 64 AC_MSG_CHECKING([if Qt needs -pthread]) 65 AC_TRY_LINK([#include <qt.h>], [QString s;], [pthread_needed=no], [pthread_needed=yes]) 66 if test "x$pthread_needed" = "xyes"; then 67 LDFLAGS="$LDFLAGS -pthread" 68 AC_TRY_LINK([#include <qt.h>], [QString s;], [pthread_needed=yes], [pthread_needed=no]) 69 fi 70 AC_MSG_RESULT([$pthread_needed]) 71 LDFLAGS=$save_LDFLAGS 72 CXXFLAGS=$save_CXXFLAGS 73 LIBS=$save_LIBS 74 75 AC_LANG_POP 76 77 qtpthread='' 78 if test "x$pthread_needed" = "xyes"; then 79 qtpthread="-pthread" 80 fi 81 82 $1[]_CXXFLAGS="-I$qt_incdir" 83 $1[]_LIBS="$qtpthread $qt_libdir/$qt_test_library" 84 ifelse([$2], , :, [$2]) 85else 86 ifelse([$3], , [AC_MSG_FAILURE(dnl 87[Qt development libraries not found])], 88 [$3]) 89fi 90]) 91 92 93# HOA_FIND_QT4(VARIABLE-PREFIX, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) 94# 95# Check whether the Qt4 libraries are available. Adapted from Poppler qt.m4. 96# 97# -------------------------------------------------------------- 98AC_DEFUN([HOA_FIND_QT4], 99[ 100have_qt4=no 101dnl Search paths for Qt4 - not much real experience with this yet. 102qt4_incdirs="/usr/local/qt/include /usr/include/qt4 /usr/include/qt /usr/include /usr/X11R6/include/X11/qt /usr/X11R6/include/qt /usr/lib/qt/include /usr/lib/qt4/include" 103qt4_libdirs="/usr/local/qt/lib /usr/lib/qt /usr/lib /usr/X11R6/lib/X11/qt /usr/X11R6/lib/qt /usr/lib/qt/lib /usr/lib/qt4/lib /usr/lib/qt4" 104 105if test -n "$QTDIR" ; then 106 qt4_incdirs="$QTDIR/include $qt4_incdirs" 107 qt4_libdirs="$QTDIR/lib $qt4_libdirs" 108fi 109 110dnl What to test 111if test "x$1" == "xQtOpenGL" ; then 112 qt4_test_include="QtOpenGL/QGLWidget" 113 qt4_test_la_library="libQtOpenGL.la" 114 qt4_test_library="libQtOpenGL.so" 115 qt4_windows_test_library="QtOpenGL4.dll" 116else 117 qt4_test_include="QtCore/QCoreApplication" 118 qt4_test_la_library="libQtCore.la" 119 qt4_test_library="libQtCore.so" 120 qt4_windows_test_library="QtCore4.dll" 121fi 122 123dnl Check for Qt4 headers 124AC_MSG_CHECKING([for $1 headers]) 125qt4_incdir="no" 126for it in $qt4_incdirs ; do 127 if test -r "$it/$qt4_test_include" ; then 128 qt4_incdir="$it" 129 break 130 fi 131done 132AC_MSG_RESULT([$qt4_incdir]) 133 134dnl Check for Qt4 libraries 135AC_MSG_CHECKING([for $1 libraries]) 136qt4_libdir="no" 137for qt4_check in $qt4_libdirs ; do 138 if test -r "$qt4_check/$qt4_test_la_library" ; then 139 qt4_libdir="$qt4_check" 140 break 141 fi 142 143 if test -r "$qt4_check/$qt4_test_library" ; then 144 qt4_libdir="$qt4_check" 145 break 146 fi 147 148 if test -r "$qt4_check/$qt4_windows_test_library" ; then 149 qt4_libdir="$qt4_check" 150 windows_qt="yes" 151 break 152 fi 153done 154AC_MSG_RESULT([$qt4_libdir]) 155 156if test "x$qt4_libdir" != "xno" ; then 157 if test "x$qt4_incdir" != "xno" ; then 158 have_qt4=yes; 159 fi 160fi 161 162if test "x$have_qt4" == "xyes"; then 163 QT_CXXFLAGS="-I$qt4_incdir -I$qt4_incdir/QtGui -I$qt4_incdir/QtCore -I$qt4_incdir/QtOpenGL -I$qt4_incdir/Qt3Support" 164 if test x$windows_qt = xyes; then 165 QT_LDADD="-L$qt4_libdir -lQtCore4 -lQtGui4 -lQtOpenGL4 -lQt3Support4" 166 else 167 QT_LDADD="-L$qt4_libdir -lQtCore -lQtGui -lQtOpenGL -lQt3Support" 168 fi 169 AC_SUBST(QT_CXXFLAGS) 170 AC_SUBST(QT_LDADD) 171 ifelse([$2], , :, [$2]) 172else 173 ifelse([$3], , [AC_MSG_FAILURE(dnl 174[$1 development libraries not found])], 175 [$3]) 176fi 177 178dnl Check that moc is in path 179AC_CHECK_PROG(MOC, moc-qt4, moc-qt4) 180if test x$MOC = x ; then 181 AC_CHECK_PROG(MOC, moc, moc) 182 if test x$MOC = x ; then 183 AC_MSG_ERROR([*** moc must be in path]) 184 fi 185fi 186]) 187 188 189# HOA_FIND_QT4TEST(VARIABLE-PREFIX, 190# [ACTION-IF-FOUND], 191# [ACTION-IF-NOT-FOUND]) 192# 193# Check whether the Qt4 libraries are available. Adapted from Poppler qt.m4. 194# 195# -------------------------------------------------------------- 196AC_DEFUN([HOA_FIND_QT4TEST], 197[ 198have_qt4testlib=no 199 200qt4_incdirs="/usr/local/qt/include /usr/include/qt4 /usr/include/qt /usr/include /usr/X11R6/include/X11/qt /usr/X11R6/include/qt /usr/lib/qt/include" 201qt4_libdirs="/usr/local/qt/lib /usr/lib/qt /usr/lib /usr/X11R6/lib/X11/qt /usr/X11R6/lib/qt /usr/lib/qt/lib" 202 203if test -n "$QTDIR" ; then 204 qt4_incdirs="$QTDIR/include $qt4_incdirs" 205 qt4_libdirs="$QTDIR/lib $qt4_libdirs" 206fi 207 208dnl What to test 209qt4test_test_include="QtTest/QtTest" 210qt4test_test_la_library="libQtTest.la" 211qt4test_test_library="libQtTest.so" 212 213dnl Check for QtTestLib headers 214AC_MSG_CHECKING([for QtTestLib headers]) 215qt4test_incdir="no" 216for it in $qt4_incdirs ; do 217 if test -r "$it/$qt4test_test_include" ; then 218 qt4test_incdir="$it" 219 break 220 fi 221done 222AC_MSG_RESULT([$qt4test_incdir]) 223 224dnl Check for Qt4 libraries 225AC_MSG_CHECKING([for QtTestLib libraries]) 226qt4test_libdir="no" 227for qt4test_check in $qt4_libdirs ; do 228 if test -r "$qt4test_check/$qt4test_test_la_library" ; then 229 qt4test_libdir="$qt4test_check" 230 break 231 fi 232 233 if test -r "$qt4test_check/$qt4test_test_library" ; then 234 qt4test_libdir="$qt4test_check" 235 break 236 fi 237done 238AC_MSG_RESULT([$qt4test_libdir]) 239 240if test "x$qt4test_libdir" != "xno" ; then 241 if test "x$qt4test_incdir" != "xno" ; then 242 have_qt4testlib=yes; 243 fi 244fi 245 246if test "x$have_qt4testlib" == "xyes"; then 247 $1[]_CXXFLAGS="-I$qt4test_incdir" 248 $1[]_LIBS="-L$qt4test_libdir -lQtTest" 249 ifelse([$2], , :, [$2]) 250else 251 ifelse([$3], , [AC_MSG_FAILURE(dnl 252[Qt4 test libraries not found])], 253 [$3]) 254fi 255]) 256