diff options
Diffstat (limited to 'acinclude.m4')
-rw-r--r-- | acinclude.m4 | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/acinclude.m4 b/acinclude.m4 index e0ee100643..7d1456f1cd 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -1913,6 +1913,131 @@ AC_DEFUN([AC_WIRESHARK_OSX_INTEGRATION_CHECK], LIBS="$ac_save_LIBS" ]) +# Based on AM_PATH_GTK in gtk-2.0.m4. + +dnl AC_WIRESHARK_QT_CHECK([MINIMUM-VERSION, [ACTION-IF-FOUND, +dnl [ACTION-IF-NOT-FOUND]]]) +dnl Test for Qt and define Qt_CFLAGS and Qt_LIBS. +dnl +AC_DEFUN([AC_WIRESHARK_QT_CHECK], +[ + pkg_config_module="QtCore QtGui" + + no_qt="" + + AC_PATH_PROG(PKG_CONFIG, pkg-config, no) + + if test x$PKG_CONFIG != xno ; then + if pkg-config --atleast-pkgconfig-version 0.7 ; then + : + else + echo *** pkg-config too old; version 0.7 or better required. + no_qt=yes + PKG_CONFIG=no + fi + else + no_qt=yes + fi + + if test x"$no_qt" = x ; then + # + # Qt 5.1 appears not to have QtXxx modules; instead, it + # has Qt5Xxx modules. + # + if $PKG_CONFIG Qt5Core + then + pkg_config_module="Qt5Core Qt5Gui" + else + pkg_config_module="QtCore QtGui" + fi + min_qt_version=ifelse([$1], ,4.0.0,$1) + AC_MSG_CHECKING(for Qt - version >= $min_qt_version) + + qt_config_major_version=`$PKG_CONFIG --modversion $pkg_config_module | \ + head -1 | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` + qt_config_minor_version=`$PKG_CONFIG --modversion $pkg_config_module | \ + head -1 | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` + qt_config_micro_version=`$PKG_CONFIG --modversion $pkg_config_module | \ + head -1 | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` + + if $PKG_CONFIG --atleast-version $min_qt_version $pkg_config_module; then + AC_MSG_RESULT(yes (version $qt_config_major_version.$qt_config_minor_version.$qt_config_micro_version)) + else + no_qt=yes + AC_MSG_RESULT(no) + fi + fi + + if test x"$no_qt" = x ; then + Qt_CFLAGS=`$PKG_CONFIG --cflags $pkg_config_module` + Qt_LIBS=`$PKG_CONFIG --libs $pkg_config_module` + + # + # Qt 5.0 appears to move the widgets out of Qt GUI + # to Qt Widgets; look for Qt5Widgets and, if we find + # it, add its flags to CFLAGS and CXXFLAGS, so that + # we find the include files for the widgets. If + # we don't find Qt5Widgets, look for QtWidgets instead. + # If we don't find QtWidgets, we assume it's Qt 4. + # + if QtWidgets_CFLAGS=`$PKG_CONFIG --cflags Qt5Widgets 2>/dev/null`; then + Qt_CFLAGS="$Qt_CFLAGS $QtWidgets_CFLAGS" + Qt_LIBS="$Qt_LIBS `$PKG_CONFIG --libs Qt5Widgets 2>/dev/null`" + elif QtWidgets_CFLAGS=`$PKG_CONFIG --cflags QtWidgets 2>/dev/null`; then + Qt_CFLAGS="$Qt_CFLAGS $QtWidgets_CFLAGS" + Qt_LIBS="$Qt_LIBS `$PKG_CONFIG --libs QtWidgets 2>/dev/null`" + else + AC_MSG_NOTICE([QtWidgets not found. Assuming Qt4]) + fi + + # + # Qt 5.0 also appears to move the printing support into + # the QtPrintSupport module, and Qt 5.1 renamed it + # Qt5PrintSupport. + # + if QtPrintSupport_CFLAGS=`$PKG_CONFIG --cflags Qt5PrintSupport 2>/dev/null`; then + Qt_CFLAGS="$Qt_CFLAGS $QtPrintSupport_CFLAGS" + Qt_LIBS="$Qt_LIBS `$PKG_CONFIG --libs Qt5PrintSupport 2>/dev/null`" + elif QtPrintSupport_CFLAGS=`$PKG_CONFIG --cflags QtPrintSupport 2>/dev/null`; then + Qt_CFLAGS="$Qt_CFLAGS $QtPrintSupport_CFLAGS" + Qt_LIBS="$Qt_LIBS `$PKG_CONFIG --libs QtPrintSupport 2>/dev/null`" + else + AC_MSG_NOTICE([QtPrintSupport not found. Assuming Qt4]) + fi + + # + # While we're at it, look for QtMacExtras. (Presumably + # if we're not building for OS X, it won't be present.) + # + # XXX - is there anything in QtX11Extras or QtWinExtras + # that we should be using? + # + AC_MSG_CHECKING(for QtMacExtras) + if QtMacExtras_CFLAGS=`$PKG_CONFIG --cflags Qt5MacExtras 2>/dev/null`; then + Qt_CFLAGS="$Qt_CFLAGS $QtMacExtras_CFLAGS" + Qt_LIBS="$Qt_LIBS `$PKG_CONFIG --libs Qt5MacExtras 2>/dev/null`" + AC_DEFINE(QT_MACEXTRAS_LIB, 1, [Define if we have QtMacExtras]) + AC_MSG_RESULT(yes) + elif QtMacExtras_CFLAGS=`$PKG_CONFIG --cflags QtMacExtras 2>/dev/null`; then + Qt_CFLAGS="$Qt_CFLAGS $QtMacExtras_CFLAGS -DQT_MACEXTRAS_LIB" + Qt_LIBS="$Qt_LIBS `$PKG_CONFIG --libs QtMacExtras 2>/dev/null`" + AC_DEFINE(QT_MACEXTRAS_LIB, 1, [Define if we have QtMacExtras]) + AC_MSG_RESULT(yes) + else + AC_MSG_RESULT(no) + fi + + AC_SUBST(Qt_LIBS) + + # Run Action-If-Found + ifelse([$2], , :, [$2]) + else + # Run Action-If-Not-Found + ifelse([$3], , :, [$3]) + fi + +]) + # # AC_WIRESHARK_PYTHON_CHECK # |