summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/gr_qwt.m499
-rw-r--r--config/grc_gr_qtgui.m415
-rw-r--r--gr-qtgui/src/lib/Makefile.am8
-rw-r--r--gr-qtgui/src/lib/fftdisplay.cc8
-rw-r--r--gr-qtgui/src/lib/fftdisplay.h2
5 files changed, 112 insertions, 20 deletions
diff --git a/config/gr_qwt.m4 b/config/gr_qwt.m4
new file mode 100644
index 000000000..3481873b7
--- /dev/null
+++ b/config/gr_qwt.m4
@@ -0,0 +1,99 @@
+dnl
+dnl Copyright 2007 Free Software Foundation, Inc.
+dnl
+dnl This file is part of GNU Radio
+dnl
+dnl GNU Radio is free software; you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation; either version 2, or (at your option)
+dnl any later version.
+dnl
+dnl GNU Radio is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+dnl GNU General Public License for more details.
+dnl
+dnl You should have received a copy of the GNU General Public License
+dnl along with GNU Radio; see the file COPYING. If not, write to
+dnl the Free Software Foundation, Inc., 51 Franklin Street,
+dnl Boston, MA 02110-1301, USA.
+dnl
+
+dnl Configure paths for library qwt.
+dnl
+dnl GR_PATH_QWT([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
+dnl
+dnl Test for library qwt, set QWT_CFLAGS and QWT_LIBS if found. Assumes
+dnl QT_CFLAGS and QT_LIBS have already been correctly set.
+dnl
+
+AC_DEFUN([GR_QWT],
+[
+ dnl Save the environment
+ AC_LANG_PUSH(C++)
+ qwt_save_CPPFLAGS="$CPPFLAGS"
+ qwt_save_LIBS="$LIBS"
+ libqwt_ok=yes
+
+ dnl Allow user to specify where QWT files are
+ AC_ARG_WITH([qwt-libdir],
+ [ --with-qwt-libdir=path Prefix where QWT library is installed (optional)],
+ [qwt_libdir="$withval"], [qwt_libdir=""])
+
+ AC_ARG_WITH([qwt-incdir],
+ [ --with-qwt-incdir=path Prefix where QWT include files are (optional)],
+ [qwt_incdir="$withval"], [qwt_incdir=""])
+
+ dnl Create QWT_CFLAGS based on user input
+ AC_MSG_CHECKING(QWT_CFLAGS)
+ if test "$qwt_incdir" != "" ; then
+ QWT_CFLAGS="$QWT_CFLAGS -I$qwt_incdir"
+ fi
+ AC_MSG_RESULT($QWT_CFLAGS)
+
+ dnl Set CPPFLAGS so C++ tests can operate
+ CPPFLAGS="$CPPFLAGS $QT_CFLAGS $QWT_CFLAGS"
+
+ dnl Check for presence of header files
+ AC_CHECK_HEADERS([qwt/qwt.h],
+ [],
+ [libqwt_ok=no;AC_MSG_RESULT([cannot find usable qwt headers])]
+ )
+
+ dnl Set QWT_LIBS based on user input
+ AC_MSG_CHECKING(QWT_LIBS)
+ QWT_LIBS="-lqwt"
+ if test "$qwt_libdir" != "" ; then
+ QWT_LIBS="$QWT_LIBS -L$qwt_libdir"
+ fi
+ AC_MSG_RESULT($QWT_LIBS)
+
+ dnl Set LIBS so C++ link test can operate
+ LIBS="$QWT_LIBS $QT_LIBS $LIBS"
+
+ dnl Check that library files can be linked in
+ dnl This references an arbitrary static class method
+ AC_TRY_LINK([#include <qwt/qwt_text.h>],
+ [Qt::TextFormat tf = QwtText::defaultFormat()],
+ [],
+ [libqwt_ok=no]
+ )
+
+ dnl Restore saved variables
+ LIBS="$qwt_save_LIBS"
+ CPPFLAGS="$qwt_save_CPPFLAGS"
+ AC_LANG_POP
+
+ dnl Execute user actions
+ if test "x$libqwt_ok" = "xyes" ; then
+ ifelse([$1], , :, [$1])
+ else
+ QWT_CFLAGS=""
+ QWT_LIBDIRS=""
+ ifelse([$2], , :, [$2])
+ fi
+
+ dnl Export our variables
+ AC_SUBST(QWT_CFLAGS)
+ AC_SUBST(QWT_LIBS)
+])
diff --git a/config/grc_gr_qtgui.m4 b/config/grc_gr_qtgui.m4
index 00c679077..ed4d39308 100644
--- a/config/grc_gr_qtgui.m4
+++ b/config/grc_gr_qtgui.m4
@@ -26,22 +26,19 @@ AC_DEFUN([GRC_GR_QTGUI],[
gr-qtgui/src/lib/Makefile \
])
+ # Check for package qt or qt-mt, set QT_CFLAGS and QT_LIBS
passed=yes
PKG_CHECK_MODULES(QT, qt >= 3.3,[],
- [passed=no;AC_MSG_RESULT([gr-qtgui requires qt, not found. Checking for qt-mt])])
+ [passed=no;AC_MSG_RESULT([gr-qtgui requires libqt or libqt-mt, libqt not found. Checking for libqt-mt])])
if test x$passed == xno; then
passed=yes
PKG_CHECK_MODULES(QT, qt-mt >= 3.3,[],
- [passed=no;AC_MSG_RESULT([gr-qtgui requires qt, not found. Checking for qt-mt])])
+ [passed=no;AC_MSG_RESULT([gr-qtgui requires libqt or libqt-mt, neither found.])])
fi
- PKG_CHECK_MODULES(qwt, qwt >= 5.0,[],
- [passed=no;AC_MSG_RESULT([gr-qtgui requires qwt, not found. Checking for qt-mt])])
+ # Fetch QWT variables
+ GR_QWT([], [passed=no])
-
- GRC_BUILD_CONDITIONAL([gr-qtgui], [
- AC_SUBST(QT_LIBS)
- AC_SUBST(QWT_CFLAGS)
- AC_SUBST(QWT_LIBS)])
+ GRC_BUILD_CONDITIONAL([gr-qtgui],[])
])
diff --git a/gr-qtgui/src/lib/Makefile.am b/gr-qtgui/src/lib/Makefile.am
index 8adcd591b..8314412bf 100644
--- a/gr-qtgui/src/lib/Makefile.am
+++ b/gr-qtgui/src/lib/Makefile.am
@@ -1,5 +1,5 @@
#
-# Copyright 2004,2005 Free Software Foundation, Inc.
+# Copyright 2004,2005,2007 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -48,7 +48,7 @@ BUILT_SOURCES = \
nodist_qt_examples_SOURCES = \
$(BUILT_SOURCES)
-
+
qt_examples_SOURCES = \
fftdisplay.cc \
qt_examples.cc
@@ -57,9 +57,5 @@ qt_examples_LDADD = $(QWT_LIBS) \
$(QT_LIBS) \
$(GNURADIO_CORE_LA)
-
-qt_examples_LDFLAGS = $(QT_CFLAGS) \
- $(QWT_CFLAGS)
-
MOSTLYCLEANFILES = \
*~ $(BUILT_SOURCES)
diff --git a/gr-qtgui/src/lib/fftdisplay.cc b/gr-qtgui/src/lib/fftdisplay.cc
index d70164280..a87e0c095 100644
--- a/gr-qtgui/src/lib/fftdisplay.cc
+++ b/gr-qtgui/src/lib/fftdisplay.cc
@@ -1,10 +1,10 @@
#ifndef FFT_DISPLAY_CC
#define FFT_DISPLAY_CC
-#include <qwt_painter.h>
-#include <qwt_plot_canvas.h>
-#include <qwt_plot_curve.h>
-#include <qwt_scale_engine.h>
+#include <qwt/qwt_painter.h>
+#include <qwt/qwt_plot_canvas.h>
+#include <qwt/qwt_plot_curve.h>
+#include <qwt/qwt_scale_engine.h>
#include <qapplication.h>
#include <fftdisplay.h>
diff --git a/gr-qtgui/src/lib/fftdisplay.h b/gr-qtgui/src/lib/fftdisplay.h
index c567e88f5..c58de8628 100644
--- a/gr-qtgui/src/lib/fftdisplay.h
+++ b/gr-qtgui/src/lib/fftdisplay.h
@@ -6,7 +6,7 @@
#include <vector>
#include <qwidget.h>
-#include <qwt_plot.h>
+#include <qwt/qwt_plot.h>
#include <qevent.h>
class fft_display_event:public QCustomEvent{