summaryrefslogtreecommitdiff
path: root/gr-digital/swig
diff options
context:
space:
mode:
authorTom Rondeau <trondeau@vt.edu>2011-09-01 12:11:07 -0400
committerTom Rondeau <trondeau@vt.edu>2011-09-01 13:49:58 -0400
commit0e962fd8e859f313c9483d6c3444200977a70022 (patch)
tree1da196f2407d774b9eaab5a3302898983c011238 /gr-digital/swig
parente17dbbcda50bdb851227c67e68c9d3e2e7732468 (diff)
digital: adding CPM C++ hier block, which adds a hier directory to gr-digital. Reworked build system to include this in the libraries and modules built.
Diffstat (limited to 'gr-digital/swig')
-rw-r--r--gr-digital/swig/Makefile.am10
-rw-r--r--gr-digital/swig/Makefile.swig.gen148
-rw-r--r--gr-digital/swig/digital_hier.i40
-rw-r--r--gr-digital/swig/digital_swig.i1
4 files changed, 193 insertions, 6 deletions
diff --git a/gr-digital/swig/Makefile.am b/gr-digital/swig/Makefile.am
index c0d28c24c6..6604665b0f 100644
--- a/gr-digital/swig/Makefile.am
+++ b/gr-digital/swig/Makefile.am
@@ -26,8 +26,7 @@ TESTS =
EXTRA_DIST += $(nobase_guile_DATA)
AM_CPPFLAGS = \
- -I$(abs_top_srcdir)/gr-digital/lib \
- -I$(abs_top_builddir)/gr-digital/lib \
+ $(GR_DIGITAL_INCLUDES) \
$(STD_DEFINES_AND_INCLUDES) \
$(PYTHON_CPPFLAGS) \
$(WITH_INCLUDES)
@@ -43,6 +42,7 @@ noinst_GUILE = digital.test
##############################
# SWIG interface and library
TOP_SWIG_IFILES = \
+ digital_hier.i \
digital_swig.i
# Install so that they end up available as:
@@ -73,9 +73,11 @@ digital_swig_swiginclude_headers = \
digital_kurtotic_equalizer_cc.i \
digital_mpsk_receiver_cc.i
+digital_hier_swig_args = \
+ $(GR_DIGITAL_INCLUDES)
+
digital_swig_swig_args = \
- -I$(abs_top_srcdir)/gr-digital/lib \
- -I$(abs_top_builddir)/gr-digital/lib
+ $(GR_DIGITAL_INCLUDES)
if GUILE
TESTS += run_guile_tests
diff --git a/gr-digital/swig/Makefile.swig.gen b/gr-digital/swig/Makefile.swig.gen
index bd9aabcea1..95d6aea899 100644
--- a/gr-digital/swig/Makefile.swig.gen
+++ b/gr-digital/swig/Makefile.swig.gen
@@ -101,8 +101,7 @@ _digital_swig_la_LDFLAGS = \
_digital_swig_la_CXXFLAGS = \
$(STD_SWIG_CXX_FLAGS) \
- -I$(top_builddir) \
- $(digital_swig_la_swig_cxxflags)
+ -I$(top_builddir)
python/digital_swig.cc: digital_swig.py
digital_swig.py: digital_swig.i
@@ -143,3 +142,148 @@ gnuradio/digital_swig-primitive.scm: gnuradio/digital_swig.scm
endif # end of GUILE
+# -*- Makefile -*-
+#
+# Copyright 2009,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.
+#
+
+# Makefile.swig.gen for digital_hier.i
+
+## Default install locations for these files:
+##
+## Default location for the Python directory is:
+## ${prefix}/lib/python${python_version}/site-packages/[category]/digital_hier
+## Default location for the Python exec directory is:
+## ${exec_prefix}/lib/python${python_version}/site-packages/[category]/digital_hier
+##
+## 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.
+
+digital_hier_pythondir_category ?= gnuradio/digital_hier
+digital_hier_pylibdir_category ?= $(digital_hier_pythondir_category)
+digital_hier_pythondir = $(pythondir)/$(digital_hier_pythondir_category)
+digital_hier_pylibdir = $(pyexecdir)/$(digital_hier_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.
+digital_hier_scmlibdir = $(libdir)
+
+# The scm files for the guile modules get installed where ever guile
+# is installed, usually /usr/share/guile/site/digital_hier
+# FIXME: determince whether these should be installed with gnuradio.
+digital_hier_scmdir = $(guiledir)
+
+## SWIG headers are always installed into the same directory.
+
+digital_hier_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 .
+
+digital_hier_swiginclude_HEADERS = \
+ digital_hier.i \
+ $(digital_hier_swiginclude_headers)
+
+if PYTHON
+digital_hier_pylib_LTLIBRARIES = \
+ _digital_hier.la
+
+_digital_hier_la_SOURCES = \
+ python/digital_hier.cc \
+ $(digital_hier_la_swig_sources)
+
+digital_hier_python_PYTHON = \
+ digital_hier.py \
+ $(digital_hier_python)
+
+_digital_hier_la_LIBADD = \
+ $(STD_SWIG_LA_LIB_ADD) \
+ $(digital_hier_la_swig_libadd)
+
+_digital_hier_la_LDFLAGS = \
+ $(STD_SWIG_LA_LD_FLAGS) \
+ $(digital_hier_la_swig_ldflags)
+
+_digital_hier_la_CXXFLAGS = \
+ $(STD_SWIG_CXX_FLAGS) \
+ -I$(top_builddir) \
+ $(digital_hier_la_swig_cxxflags)
+
+python/digital_hier.cc: digital_hier.py
+digital_hier.py: digital_hier.i
+
+# Include the python dependencies for this file
+-include python/digital_hier.d
+
+endif # end of if python
+
+if GUILE
+
+digital_hier_scmlib_LTLIBRARIES = \
+ libguile-gnuradio-digital_hier.la
+libguile_gnuradio_digital_hier_la_SOURCES = \
+ guile/digital_hier.cc \
+ $(digital_hier_la_swig_sources)
+nobase_digital_hier_scm_DATA = \
+ gnuradio/digital_hier.scm \
+ gnuradio/digital_hier-primitive.scm
+libguile_gnuradio_digital_hier_la_LIBADD = \
+ $(STD_SWIG_LA_LIB_ADD) \
+ $(digital_hier_la_swig_libadd)
+libguile_gnuradio_digital_hier_la_LDFLAGS = \
+ $(STD_SWIG_LA_LD_FLAGS) \
+ $(digital_hier_la_swig_ldflags)
+libguile_gnuradio_digital_hier_la_CXXFLAGS = \
+ $(STD_SWIG_CXX_FLAGS) \
+ -I$(top_builddir) \
+ $(digital_hier_la_swig_cxxflags)
+
+guile/digital_hier.cc: gnuradio/digital_hier.scm
+gnuradio/digital_hier.scm: digital_hier.i
+gnuradio/digital_hier-primitive.scm: gnuradio/digital_hier.scm
+
+# Include the guile dependencies for this file
+-include guile/digital_hier.d
+
+endif # end of GUILE
+
+
diff --git a/gr-digital/swig/digital_hier.i b/gr-digital/swig/digital_hier.i
new file mode 100644
index 0000000000..e004461d26
--- /dev/null
+++ b/gr-digital/swig/digital_hier.i
@@ -0,0 +1,40 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 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 this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#ifndef SWIGIMPORTED
+%module(directors="1") digital_hier
+#endif
+
+ //%feature("autodoc", "1"); // generate python docstrings
+
+%include "gnuradio.i" // the common stuff
+
+%include "_digital_hier.i"
+
+#if SWIGGUILE
+%scheme %{
+(load-extension-global "libguile-gnuradio-digital_hier" "scm_init_gnuradio_digital_hier_module")
+%}
+
+%goops %{
+ (use-modules (gnuradio gnuradio_core_runtime))
+%}
+#endif
diff --git a/gr-digital/swig/digital_swig.i b/gr-digital/swig/digital_swig.i
index 0328ca2fcc..ca50f9c501 100644
--- a/gr-digital/swig/digital_swig.i
+++ b/gr-digital/swig/digital_swig.i
@@ -40,6 +40,7 @@
#include "digital_mpsk_receiver_cc.h"
%}
+%include "digital_hier.i"
%include "digital_binary_slicer_fb.i"
%include "digital_clock_recovery_mm_cc.i"
%include "digital_clock_recovery_mm_ff.i"