Move move of the Qt checks into AM_PATH_QT.

svn path=/trunk/; revision=47553
This commit is contained in:
Jeff Morriss 2013-02-08 02:51:14 +00:00
parent e1bfc1c61c
commit de92a29c0c
3 changed files with 74 additions and 77 deletions

View File

@ -370,8 +370,6 @@ wireshark_LDADD = \
@PORTAUDIO_LIBS@ \
@GTK_LIBS@ \
@Qt_LIBS@ \
@QtWidgets_LIBS@ \
@QtPrintSupport_LIBS@ \
@GLIB_LIBS@ \
-lm

View File

@ -2,55 +2,84 @@
# $Id$
dnl AM_PATH_QT([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
dnl Test for Qt+
dnl Should also define QT_CFLAGS and QT_LIBS but not done yet...
dnl Test for Qt+ and define Qt_CFLAGS and Qt_LIBS.
dnl
AC_DEFUN([AM_PATH_QT],
[
pkg_config_module=QtCore
pkg_config_module="QtCore QtGui"
no_qt=""
no_qt=""
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
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$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
min_qt_version=ifelse([$1], ,4.0.0,$1)
AC_MSG_CHECKING(for Qt - version >= $min_qt_version)
if test x"$no_qt" = x ; then
min_qt_version=ifelse([$1], ,4.0.0,$1)
AC_MSG_CHECKING(for Qt - version >= $min_qt_version)
if test x"$no_qt" = x ; then
QT_CFLAGS=`$PKG_CONFIG --cflags $pkg_config_module`
QT_LIBS=`$PKG_CONFIG --libs $pkg_config_module`
qt_config_major_version=`$PKG_CONFIG --modversion $pkg_config_module | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
qt_config_minor_version=`$PKG_CONFIG --modversion $pkg_config_module | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
qt_config_micro_version=`$PKG_CONFIG --modversion $pkg_config_module | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
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
:
else
no_qt=yes
fi
fi
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
AC_MSG_RESULT(yes (version $qt_config_major_version.$qt_config_minor_version.$qt_config_micro_version))
ifelse([$2], , :, [$2])
else
ifelse([$3], , :, [$3])
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 QtWidgets 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 it, we assume it's Qt 4.)
#
if 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
#
# It also appears to move the printing support into
# the QtPrintSupport module.
#
if 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
AC_SUBST(Qt_LIBS)
# Run Action-If-Found
ifelse([$2], , :, [$2])
else
# Run Action-If-Not-Found
ifelse([$3], , :, [$3])
fi
])

View File

@ -945,49 +945,19 @@ if test "x$enable_wireshark" = "xyes"; then
])
AC_LANG_POP([C++])
PKG_CHECK_MODULES([Qt], [QtCore QtGui],
AM_PATH_QT($QT_MIN_VERSION,
[
CFLAGS="$CFLAGS $Qt_CFLAGS"
CXXFLAGS="$CXXFLAGS $Qt_CFLAGS"
#
# XXX - greasy hack to make ui/gtk/recent.c
# compile.
#
CPPFLAGS="-DQT_GUI_LIB $CPPFLAGS"
have_qt=yes
],
[
AC_MSG_ERROR([Qt is not available])
])
]
, [AC_MSG_ERROR([Qt is not available])])
#
# Qt 5.0 appears to move the widgets out of Qt GUI
# to Qt Widgets; look for QtWidgets 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 it, we assume it's Qt 4.)
# XXX - greasy hack to make ui/gtk/recent.c
# compile.
#
PKG_CHECK_MODULES([QtWidgets], [QtWidgets],
[
CFLAGS="$CFLAGS $QtWidgets_CFLAGS"
CXXFLAGS="$CXXFLAGS $QtWidgets_CFLAGS"
],
AC_MSG_NOTICE([QtWidgets not found. Assuming Qt4]))
#
# It also appears to move the printing support into
# the QtPrintSupport module.
#
PKG_CHECK_MODULES([QtPrintSupport], [QtPrintSupport],
[
CFLAGS="$CFLAGS $QtPrintSupport_CFLAGS"
CXXFLAGS="$CXXFLAGS $QtPrintSupport_CFLAGS"
],
AC_MSG_NOTICE([QtPrintSupport not found. Assuming Qt4]))
# Check for the minimum Qt version
# XXX the above checks should be moved into AM_PATH_QT.
AM_PATH_QT($QT_MIN_VERSION, , [AC_MSG_ERROR([Qt is not available])])
CPPFLAGS="-DQT_GUI_LIB"
#
# We don't know whether we have GTK+, but we