summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gr-qtgui/Makefile.am11
-rw-r--r--gr-qtgui/gnuradio-qtgui.pc.in11
-rw-r--r--gr-qtgui/lib/Makefile.am4
-rw-r--r--gr-qtgui/swig/Makefile.am63
-rw-r--r--gr-qtgui/swig/Makefile.swig.gen145
-rw-r--r--gr-qtgui/swig/__init__.py24
-rw-r--r--gr-qtgui/swig/qtgui.test36
-rw-r--r--gr-qtgui/swig/qtgui_swig.i (renamed from gr-qtgui/swig/qtgui.i)0
-rw-r--r--gr-qtgui/swig/run_guile_tests.in14
9 files changed, 300 insertions, 8 deletions
diff --git a/gr-qtgui/Makefile.am b/gr-qtgui/Makefile.am
index e794266cb..cc194e4c0 100644
--- a/gr-qtgui/Makefile.am
+++ b/gr-qtgui/Makefile.am
@@ -1,5 +1,5 @@
#
-# Copyright 2008-2010 Free Software Foundation, Inc.
+# Copyright 2008-2011 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -21,10 +21,11 @@
include $(top_srcdir)/Makefile.common
-SUBDIRS = src
-DIST_SUBDIRS = src
+SUBDIRS = lib
if PYTHON
-SUBDIRS += grc
-DIST_SUBDIRS += grc
+SUBDIRS += swig python apps grc
endif
+
+pkgconfigdir = $(libdir)/pkgconfig
+dist_pkgconfig_DATA = gnuradio-qtgui.pc
diff --git a/gr-qtgui/gnuradio-qtgui.pc.in b/gr-qtgui/gnuradio-qtgui.pc.in
new file mode 100644
index 000000000..27b6a21bf
--- /dev/null
+++ b/gr-qtgui/gnuradio-qtgui.pc.in
@@ -0,0 +1,11 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: gnuradio-qtgui
+Description: GNU Radio blocks for QT GUI
+Requires: gnuradio-core
+Version: @LIBVER@
+Libs: -L${libdir} -lgnuradio-qtgui
+Cflags: -I${includedir}
diff --git a/gr-qtgui/lib/Makefile.am b/gr-qtgui/lib/Makefile.am
index 446a07fd0..687a4f966 100644
--- a/gr-qtgui/lib/Makefile.am
+++ b/gr-qtgui/lib/Makefile.am
@@ -1,5 +1,5 @@
#
-# Copyright 2008,2009,2010 Free Software Foundation, Inc.
+# Copyright 2008-2011 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -20,7 +20,6 @@
#
include $(top_srcdir)/Makefile.common
-include $(top_srcdir)/Makefile.swig
EXTRA_DIST += spectrumdisplayform.ui
@@ -91,7 +90,6 @@ libgnuradio_qtgui_la_LIBADD = \
-lstdc++ \
$(QT_LIBS)
-
##############################
# SWIG interfaces and libraries
diff --git a/gr-qtgui/swig/Makefile.am b/gr-qtgui/swig/Makefile.am
new file mode 100644
index 000000000..812d1caca
--- /dev/null
+++ b/gr-qtgui/swig/Makefile.am
@@ -0,0 +1,63 @@
+#
+# Copyright 2004,2005,2006,2008,2009,2010 Free Software Foundation, Inc.
+#
+# This file is part of GNU Radio
+#
+# GNU Radio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# GNU Radio is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Radio; see the file COPYING. If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street,
+# Boston, MA 02110-1301, USA.
+#
+
+include $(top_srcdir)/Makefile.common
+include $(top_srcdir)/Makefile.swig
+
+TESTS =
+EXTRA_DIST += $(nobase_guile_DATA)
+
+AM_CPPFLAGS = \
+ -I$(top_srcdir)/gr-qtgui/lib \
+ $(STD_DEFINES_AND_INCLUDES) \
+ $(PYTHON_CPPFLAGS) \
+ $(WITH_INCLUDES)
+
+if GUILE
+nobase_guile_DATA = \
+ gnuradio/qtgui.scm
+endif
+
+noinst_GUILE = qtgui.test
+
+
+##############################
+# SWIG interface and library
+TOP_SWIG_IFILES = \
+ qtgui_swig.i
+
+# Install so that they end up available as:
+# import gnuradio.qtgui
+# This ends up at:
+# ${prefix}/lib/python${python_version}/site-packages/gnuradio/qtgui
+qtgui_swig_pythondir_category = \
+ gnuradio/qtgui
+
+# additional libraries for linking with the SWIG-generated library
+qtgui_swig_la_swig_libadd = \
+ $(abs_top_builddir)/gr-qtgui/lib/libgnuradio-qtgui.la
+
+# additional SWIG files to be installed
+qtgui_swig_swiginclude_headers =
+
+if GUILE
+TESTS += run_guile_tests
+endif \ No newline at end of file
diff --git a/gr-qtgui/swig/Makefile.swig.gen b/gr-qtgui/swig/Makefile.swig.gen
new file mode 100644
index 000000000..3659601c3
--- /dev/null
+++ b/gr-qtgui/swig/Makefile.swig.gen
@@ -0,0 +1,145 @@
+# -*- Makefile -*-
+#
+# Copyright 2009 Free Software Foundation, Inc.
+#
+# This file is part of GNU Radio
+#
+# GNU Radio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# GNU Radio is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Radio; see the file COPYING. If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street,
+# Boston, MA 02110-1301, USA.
+#
+
+# Makefile.swig.gen for qtgui_swig.i
+
+## Default install locations for these files:
+##
+## Default location for the Python directory is:
+## ${prefix}/lib/python${python_version}/site-packages/[category]/qtgui_swig
+## Default location for the Python exec directory is:
+## ${exec_prefix}/lib/python${python_version}/site-packages/[category]/qtgui_swig
+##
+## The following can be overloaded to change the install location, but
+## this has to be done in the including Makefile.am -before-
+## Makefile.swig is included.
+
+qtgui_swig_pythondir_category ?= gnuradio/qtgui_swig
+qtgui_swig_pylibdir_category ?= $(qtgui_swig_pythondir_category)
+qtgui_swig_pythondir = $(pythondir)/$(qtgui_swig_pythondir_category)
+qtgui_swig_pylibdir = $(pyexecdir)/$(qtgui_swig_pylibdir_category)
+
+# The .so libraries for the guile modules get installed whereever guile
+# is installed, usually /usr/lib/guile/gnuradio/
+# FIXME: determince whether these should be installed with gnuradio.
+qtgui_swig_scmlibdir = $(libdir)
+
+# The scm files for the guile modules get installed where ever guile
+# is installed, usually /usr/share/guile/site/qtgui_swig
+# FIXME: determince whether these should be installed with gnuradio.
+qtgui_swig_scmdir = $(guiledir)
+
+## SWIG headers are always installed into the same directory.
+
+qtgui_swig_swigincludedir = $(swigincludedir)
+
+## This is a template file for a "generated" Makefile addition (in
+## this case, "Makefile.swig.gen"). By including the top-level
+## Makefile.swig, this file will be used to generate the SWIG
+## dependencies. Assign the variable TOP_SWIG_FILES to be the list of
+## SWIG .i files to generated wrappings for; there can be more than 1
+## so long as the names are unique (no sorting is done on the
+## TOP_SWIG_FILES list). This file explicitly assumes that a SWIG .i
+## file will generate .cc, .py, and possibly .h files -- meaning that
+## all of these files will have the same base name (that provided for
+## the SWIG .i file).
+##
+## This code is setup to ensure parallel MAKE ("-j" or "-jN") does the
+## right thing. For more info, see <
+## http://sources.redhat.com/automake/automake.html#Multiple-Outputs >
+
+## Other cleaned files: dependency files generated by SWIG or this Makefile
+
+MOSTLYCLEANFILES += $(DEPDIR)/*.S*
+
+## Various SWIG variables. These can be overloaded in the including
+## Makefile.am by setting the variable value there, then including
+## Makefile.swig .
+
+qtgui_swig_swiginclude_HEADERS = \
+ qtgui_swig.i \
+ $(qtgui_swig_swiginclude_headers)
+
+if PYTHON
+qtgui_swig_pylib_LTLIBRARIES = \
+ _qtgui_swig.la
+
+_qtgui_swig_la_SOURCES = \
+ python/qtgui_swig.cc \
+ $(qtgui_swig_la_swig_sources)
+
+qtgui_swig_python_PYTHON = \
+ qtgui_swig.py \
+ $(qtgui_swig_python)
+
+_qtgui_swig_la_LIBADD = \
+ $(STD_SWIG_LA_LIB_ADD) \
+ $(qtgui_swig_la_swig_libadd)
+
+_qtgui_swig_la_LDFLAGS = \
+ $(STD_SWIG_LA_LD_FLAGS) \
+ $(qtgui_swig_la_swig_ldflags)
+
+_qtgui_swig_la_CXXFLAGS = \
+ $(STD_SWIG_CXX_FLAGS) \
+ -I$(top_builddir) \
+ $(qtgui_swig_la_swig_cxxflags)
+
+python/qtgui_swig.cc: qtgui_swig.py
+qtgui_swig.py: qtgui_swig.i
+
+# Include the python dependencies for this file
+-include python/qtgui_swig.d
+
+endif # end of if python
+
+if GUILE
+
+qtgui_swig_scmlib_LTLIBRARIES = \
+ libguile-gnuradio-qtgui_swig.la
+libguile_gnuradio_qtgui_swig_la_SOURCES = \
+ guile/qtgui_swig.cc \
+ $(qtgui_swig_la_swig_sources)
+nobase_qtgui_swig_scm_DATA = \
+ gnuradio/qtgui_swig.scm \
+ gnuradio/qtgui_swig-primitive.scm
+libguile_gnuradio_qtgui_swig_la_LIBADD = \
+ $(STD_SWIG_LA_LIB_ADD) \
+ $(qtgui_swig_la_swig_libadd)
+libguile_gnuradio_qtgui_swig_la_LDFLAGS = \
+ $(STD_SWIG_LA_LD_FLAGS) \
+ $(qtgui_swig_la_swig_ldflags)
+libguile_gnuradio_qtgui_swig_la_CXXFLAGS = \
+ $(STD_SWIG_CXX_FLAGS) \
+ -I$(top_builddir) \
+ $(qtgui_swig_la_swig_cxxflags)
+
+guile/qtgui_swig.cc: gnuradio/qtgui_swig.scm
+gnuradio/qtgui_swig.scm: qtgui_swig.i
+gnuradio/qtgui_swig-primitive.scm: gnuradio/qtgui_swig.scm
+
+# Include the guile dependencies for this file
+-include guile/qtgui_swig.d
+
+endif # end of GUILE
+
+
diff --git a/gr-qtgui/swig/__init__.py b/gr-qtgui/swig/__init__.py
new file mode 100644
index 000000000..3986f2513
--- /dev/null
+++ b/gr-qtgui/swig/__init__.py
@@ -0,0 +1,24 @@
+#
+# Copyright 2011 Free Software Foundation, Inc.
+#
+# This file is part of GNU Radio
+#
+# GNU Radio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# GNU Radio is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Radio; see the file COPYING. If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street,
+# Boston, MA 02110-1301, USA.
+#
+
+# The presence of this file turns this directory into a Python package
+
+from qtgui_swig import *
diff --git a/gr-qtgui/swig/qtgui.test b/gr-qtgui/swig/qtgui.test
new file mode 100644
index 000000000..956a97df9
--- /dev/null
+++ b/gr-qtgui/swig/qtgui.test
@@ -0,0 +1,36 @@
+;;; -*- Scheme -*-
+;;;
+;;; Copyright 2011 Free Software Foundation, Inc.
+;;;
+;;; This file is part of GNU Radio
+;;;
+;;; GNU Radio is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3, or (at your option)
+;;; any later version.
+;;;
+;;; GNU Radio is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program. If not, see <http://www.gnu.org/licenses/>.
+;;;
+
+;;; If you're using Emacs's Scheme mode:
+;;; (put 'with-test-prefix 'scheme-indent-function 1)
+
+;;; See the comments in gnuradio/test-suite/lib.scm for info on writing tests.
+;;; See also the very end of the file, where the test-equal, test-eqv
+;;; and test-eq macros are defined.
+
+(define-module (test-module)
+ #:use-module (oop goops)
+ #:use-module (gnuradio core)
+ #:use-module (gnuradio test-suite lib)
+ #:duplicates (merge-generics replace check))
+
+;;; Confirm we can import the module...
+(use-modules (gnuradio qtgui))
+
diff --git a/gr-qtgui/swig/qtgui.i b/gr-qtgui/swig/qtgui_swig.i
index bb64c6ae2..bb64c6ae2 100644
--- a/gr-qtgui/swig/qtgui.i
+++ b/gr-qtgui/swig/qtgui_swig.i
diff --git a/gr-qtgui/swig/run_guile_tests.in b/gr-qtgui/swig/run_guile_tests.in
new file mode 100644
index 000000000..5d08b0dd5
--- /dev/null
+++ b/gr-qtgui/swig/run_guile_tests.in
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+. @top_builddir@/setup_guile_test_env
+
+# 1st argument is absolute path to hand coded guile source directory
+# 2nd argument is absolute path to component C++ shared library build directory
+# 3nd argument is absolute path to component SWIG build directory
+
+add_local_paths \
+ @srcdir@ \
+ @abs_builddir@ \
+ @abs_builddir@
+
+@GUILE@ -e main -c '(use-modules (gnuradio test-suite guile-test))' -t @srcdir@