summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.common4
-rw-r--r--config/grc_gnuradio_core.m411
-rw-r--r--configure.ac27
-rw-r--r--gnuradio-core/src/lib/Makefile.am3
-rw-r--r--gnuradio-core/src/lib/general/Makefile.am88
-rw-r--r--gnuradio-core/src/lib/general/general.i11
-rw-r--r--gnuradio-core/src/lib/gengen/Makefile.am123
-rw-r--r--gnuradio-core/src/lib/gengen/Makefile.gen234
-rwxr-xr-xgnuradio-core/src/lib/gengen/generate_all.py (renamed from gnuradio-core/src/lib/general/generate_all.py)2
-rwxr-xr-xgnuradio-core/src/lib/gengen/generate_common.py (renamed from gnuradio-core/src/lib/general/generate_common.py)0
-rw-r--r--gnuradio-core/src/lib/gengen/gengen.i9
-rw-r--r--gnuradio-core/src/lib/gengen/gengen_generated.i156
-rw-r--r--gnuradio-core/src/lib/gengen/gr_add_XX.cc.t (renamed from gnuradio-core/src/lib/general/gr_add_XX.cc.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_add_XX.h.t (renamed from gnuradio-core/src/lib/general/gr_add_XX.h.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_add_XX.i.t (renamed from gnuradio-core/src/lib/general/gr_add_XX.i.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_add_const_XX.cc.t (renamed from gnuradio-core/src/lib/general/gr_add_const_XX.cc.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_add_const_XX.h.t (renamed from gnuradio-core/src/lib/general/gr_add_const_XX.h.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_add_const_XX.i.t (renamed from gnuradio-core/src/lib/general/gr_add_const_XX.i.t)0
-rwxr-xr-xgnuradio-core/src/lib/gengen/gr_add_const_vXX.cc.t (renamed from gnuradio-core/src/lib/general/gr_add_const_vXX.cc.t)0
-rwxr-xr-xgnuradio-core/src/lib/gengen/gr_add_const_vXX.h.t (renamed from gnuradio-core/src/lib/general/gr_add_const_vXX.h.t)0
-rwxr-xr-xgnuradio-core/src/lib/gengen/gr_add_const_vXX.i.t (renamed from gnuradio-core/src/lib/general/gr_add_const_vXX.i.t)0
-rwxr-xr-xgnuradio-core/src/lib/gengen/gr_add_vXX.cc.t (renamed from gnuradio-core/src/lib/general/gr_add_vXX.cc.t)0
-rwxr-xr-xgnuradio-core/src/lib/gengen/gr_add_vXX.h.t (renamed from gnuradio-core/src/lib/general/gr_add_vXX.h.t)0
-rwxr-xr-xgnuradio-core/src/lib/gengen/gr_add_vXX.i.t (renamed from gnuradio-core/src/lib/general/gr_add_vXX.i.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_chunks_to_symbols_XX.cc.t (renamed from gnuradio-core/src/lib/general/gr_chunks_to_symbols_XX.cc.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_chunks_to_symbols_XX.h.t (renamed from gnuradio-core/src/lib/general/gr_chunks_to_symbols_XX.h.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_chunks_to_symbols_XX.i.t (renamed from gnuradio-core/src/lib/general/gr_chunks_to_symbols_XX.i.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_divide_XX.cc.t (renamed from gnuradio-core/src/lib/general/gr_divide_XX.cc.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_divide_XX.h.t (renamed from gnuradio-core/src/lib/general/gr_divide_XX.h.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_divide_XX.i.t (renamed from gnuradio-core/src/lib/general/gr_divide_XX.i.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_endianness.h (renamed from gnuradio-core/src/lib/general/gr_endianness.h)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_endianness.i (renamed from gnuradio-core/src/lib/general/gr_endianness.i)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_multiply_XX.cc.t (renamed from gnuradio-core/src/lib/general/gr_multiply_XX.cc.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_multiply_XX.h.t (renamed from gnuradio-core/src/lib/general/gr_multiply_XX.h.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_multiply_XX.i.t (renamed from gnuradio-core/src/lib/general/gr_multiply_XX.i.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_multiply_const_XX.cc.t (renamed from gnuradio-core/src/lib/general/gr_multiply_const_XX.cc.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_multiply_const_XX.h.t (renamed from gnuradio-core/src/lib/general/gr_multiply_const_XX.h.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_multiply_const_XX.i.t (renamed from gnuradio-core/src/lib/general/gr_multiply_const_XX.i.t)0
-rwxr-xr-xgnuradio-core/src/lib/gengen/gr_multiply_const_vXX.cc.t (renamed from gnuradio-core/src/lib/general/gr_multiply_const_vXX.cc.t)0
-rwxr-xr-xgnuradio-core/src/lib/gengen/gr_multiply_const_vXX.h.t (renamed from gnuradio-core/src/lib/general/gr_multiply_const_vXX.h.t)0
-rwxr-xr-xgnuradio-core/src/lib/gengen/gr_multiply_const_vXX.i.t (renamed from gnuradio-core/src/lib/general/gr_multiply_const_vXX.i.t)0
-rwxr-xr-xgnuradio-core/src/lib/gengen/gr_multiply_vXX.cc.t (renamed from gnuradio-core/src/lib/general/gr_multiply_vXX.cc.t)0
-rwxr-xr-xgnuradio-core/src/lib/gengen/gr_multiply_vXX.h.t (renamed from gnuradio-core/src/lib/general/gr_multiply_vXX.h.t)0
-rwxr-xr-xgnuradio-core/src/lib/gengen/gr_multiply_vXX.i.t (renamed from gnuradio-core/src/lib/general/gr_multiply_vXX.i.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_mute_XX.cc.t (renamed from gnuradio-core/src/lib/general/gr_mute_XX.cc.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_mute_XX.h.t (renamed from gnuradio-core/src/lib/general/gr_mute_XX.h.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_mute_XX.i.t (renamed from gnuradio-core/src/lib/general/gr_mute_XX.i.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_noise_source_X.cc.t (renamed from gnuradio-core/src/lib/general/gr_noise_source_X.cc.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_noise_source_X.h.t (renamed from gnuradio-core/src/lib/general/gr_noise_source_X.h.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_noise_source_X.i.t (renamed from gnuradio-core/src/lib/general/gr_noise_source_X.i.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_packed_to_unpacked_XX.cc.t (renamed from gnuradio-core/src/lib/general/gr_packed_to_unpacked_XX.cc.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_packed_to_unpacked_XX.h.t (renamed from gnuradio-core/src/lib/general/gr_packed_to_unpacked_XX.h.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_packed_to_unpacked_XX.i.t (renamed from gnuradio-core/src/lib/general/gr_packed_to_unpacked_XX.i.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_sig_source_X.cc.t (renamed from gnuradio-core/src/lib/general/gr_sig_source_X.cc.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_sig_source_X.h.t (renamed from gnuradio-core/src/lib/general/gr_sig_source_X.h.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_sig_source_X.i.t (renamed from gnuradio-core/src/lib/general/gr_sig_source_X.i.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_sig_source_waveform.h (renamed from gnuradio-core/src/lib/general/gr_sig_source_waveform.h)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_sub_XX.cc.t (renamed from gnuradio-core/src/lib/general/gr_sub_XX.cc.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_sub_XX.h.t (renamed from gnuradio-core/src/lib/general/gr_sub_XX.h.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_sub_XX.i.t (renamed from gnuradio-core/src/lib/general/gr_sub_XX.i.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_unpacked_to_packed_XX.cc.t (renamed from gnuradio-core/src/lib/general/gr_unpacked_to_packed_XX.cc.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_unpacked_to_packed_XX.h.t (renamed from gnuradio-core/src/lib/general/gr_unpacked_to_packed_XX.h.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_unpacked_to_packed_XX.i.t (renamed from gnuradio-core/src/lib/general/gr_unpacked_to_packed_XX.i.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_vector_sink_X.cc.t (renamed from gnuradio-core/src/lib/general/gr_vector_sink_X.cc.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_vector_sink_X.h.t (renamed from gnuradio-core/src/lib/general/gr_vector_sink_X.h.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_vector_sink_X.i.t (renamed from gnuradio-core/src/lib/general/gr_vector_sink_X.i.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_vector_source_X.cc.t (renamed from gnuradio-core/src/lib/general/gr_vector_source_X.cc.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_vector_source_X.h.t (renamed from gnuradio-core/src/lib/general/gr_vector_source_X.h.t)0
-rw-r--r--gnuradio-core/src/lib/gengen/gr_vector_source_X.i.t (renamed from gnuradio-core/src/lib/general/gr_vector_source_X.i.t)0
-rw-r--r--gnuradio-core/src/lib/runtime/Makefile.am9
-rw-r--r--gnuradio-core/src/lib/runtime/gr_sync_block.cc (renamed from gnuradio-core/src/lib/general/gr_sync_block.cc)0
-rw-r--r--gnuradio-core/src/lib/runtime/gr_sync_block.h (renamed from gnuradio-core/src/lib/general/gr_sync_block.h)0
-rw-r--r--gnuradio-core/src/lib/runtime/gr_sync_block.i (renamed from gnuradio-core/src/lib/general/gr_sync_block.i)0
-rw-r--r--gnuradio-core/src/lib/runtime/gr_sync_decimator.cc (renamed from gnuradio-core/src/lib/general/gr_sync_decimator.cc)0
-rw-r--r--gnuradio-core/src/lib/runtime/gr_sync_decimator.h (renamed from gnuradio-core/src/lib/general/gr_sync_decimator.h)0
-rw-r--r--gnuradio-core/src/lib/runtime/gr_sync_decimator.i (renamed from gnuradio-core/src/lib/general/gr_sync_decimator.i)0
-rw-r--r--gnuradio-core/src/lib/runtime/gr_sync_interpolator.cc (renamed from gnuradio-core/src/lib/general/gr_sync_interpolator.cc)0
-rw-r--r--gnuradio-core/src/lib/runtime/gr_sync_interpolator.h (renamed from gnuradio-core/src/lib/general/gr_sync_interpolator.h)0
-rw-r--r--gnuradio-core/src/lib/runtime/gr_sync_interpolator.i (renamed from gnuradio-core/src/lib/general/gr_sync_interpolator.i)0
-rw-r--r--gnuradio-core/src/lib/runtime/runtime.i6
-rw-r--r--gnuradio-core/src/lib/swig/Makefile.am235
-rw-r--r--gnuradio-core/src/lib/swig/gnuradio.i9
-rw-r--r--gnuradio-core/src/lib/swig/gnuradio_swig_python.py27
-rw-r--r--gnuradio-core/src/lib/swig/sw_filter.i36
-rw-r--r--gnuradio-core/src/lib/swig/sw_general.i36
-rw-r--r--gnuradio-core/src/lib/swig/sw_gengen.i36
-rw-r--r--gnuradio-core/src/lib/swig/sw_io.i36
-rw-r--r--gnuradio-examples/python/usrp/Makefile.am1
-rw-r--r--gr-error-correcting-codes/src/lib/libecc/Makefile.am2
-rw-r--r--gr-error-correcting-codes/src/lib/libecc/mld/Makefile.am1
-rw-r--r--run_tests.sh.in5
91 files changed, 969 insertions, 138 deletions
diff --git a/Makefile.common b/Makefile.common
index 31bf0839cc..e7d928682c 100644
--- a/Makefile.common
+++ b/Makefile.common
@@ -20,6 +20,8 @@
# Boston, MA 02110-1301, USA.
#
+AM_CXXFLAGS = @autoconf_default_CXXFLAGS@
+
# includes
grincludedir = $(includedir)/gnuradio
@@ -41,6 +43,8 @@ SWIGPYTHONFLAGS = -fvirtual -python -modern
GNURADIO_INCLUDES = -I$(top_srcdir)/gnuradio-core/src/lib/runtime \
-I$(top_srcdir)/gnuradio-core/src/lib/general \
-I$(top_builddir)/gnuradio-core/src/lib/general \
+ -I$(top_srcdir)/gnuradio-core/src/lib/gengen \
+ -I$(top_builddir)/gnuradio-core/src/lib/gengen \
-I$(top_srcdir)/gnuradio-core/src/lib/filter \
-I$(top_builddir)/gnuradio-core/src/lib/filter \
-I$(top_srcdir)/gnuradio-core/src/lib/reed-solomon \
diff --git a/config/grc_gnuradio_core.m4 b/config/grc_gnuradio_core.m4
index 53997c6d3b..da91f61ee1 100644
--- a/config/grc_gnuradio_core.m4
+++ b/config/grc_gnuradio_core.m4
@@ -34,6 +34,7 @@ AC_DEFUN([GRC_GNURADIO_CORE],[
gnuradio-core/src/lib/g72x/Makefile \
gnuradio-core/src/lib/general/Makefile \
gnuradio-core/src/lib/general/gr_prefix.cc \
+ gnuradio-core/src/lib/gengen/Makefile \
gnuradio-core/src/lib/io/Makefile \
gnuradio-core/src/lib/missing/Makefile \
gnuradio-core/src/lib/omnithread/Makefile \
@@ -58,7 +59,13 @@ AC_DEFUN([GRC_GNURADIO_CORE],[
dnl run_tests is created from run_tests.in. Make it executable.
AC_CONFIG_COMMANDS([run_tests_core], [chmod +x gnuradio-core/src/python/gnuradio/gr/run_tests])
- dnl kludge up initial swig dependency file
- AC_CONFIG_COMMANDS([swig_deps], [touch gnuradio-core/src/lib/swig/gnuradio_swig_python.d])
+ dnl kludge up initial swig dependency files
+ AC_CONFIG_COMMANDS([swig_deps], [
+ touch gnuradio-core/src/lib/swig/gnuradio_swig_py_runtime.d
+ touch gnuradio-core/src/lib/swig/gnuradio_swig_py_general.d
+ touch gnuradio-core/src/lib/swig/gnuradio_swig_py_gengen.d
+ touch gnuradio-core/src/lib/swig/gnuradio_swig_py_filter.d
+ touch gnuradio-core/src/lib/swig/gnuradio_swig_py_io.d
+ ])
])
])
diff --git a/configure.ac b/configure.ac
index 04d16205f0..ceea98c04a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,4 +1,4 @@
-dnl Copyright 2001,2002,2003,2004,2005,2006 Free Software Foundation, Inc.
+dnl Copyright 2001,2002,2003,2004,2005,2006,2007 Free Software Foundation, Inc.
dnl
dnl This file is part of GNU Radio
dnl
@@ -25,9 +25,34 @@ AC_CANONICAL_TARGET([])
AM_INIT_AUTOMAKE(gnuradio,3.0svn)
AC_CONFIG_SRCDIR([gnuradio-core/src/lib/runtime/gr_vmcircbuf.cc])
+dnl Remember if the user explicity set CXXFLAGS
+if test -n "${CXXFLAGS}"; then
+ user_set_cxxflags=yes
+fi
+
GR_X86_64 dnl check for lib64 suffix
LF_CONFIGURE_CC
LF_CONFIGURE_CXX
+
+dnl The three macros above are known to override CXXFLAGS if the user
+dnl didn't specify them. Though I'm sure somebody thought this was
+dnl a good idea, it makes it hard to use other than -g -O2 when compiling
+dnl selected files. Thus we "undo" the damage here...
+dnl
+dnl If the user specified CXXFLAGS, we use them. Otherwise when compiling
+dnl the output of swig use use -O1 if we're using g++.
+dnl See Makefile.common for the rest of the magic.
+if test "$user_set_cxxflags" != yes; then
+ autoconf_default_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS=""
+ if test "$GXX" = yes; then
+ swig_CXXFLAGS="-g1 -O1"
+ fi
+fi
+AC_SUBST(autoconf_default_CXXFLAGS)
+AC_SUBST(swig_CXXFLAGS)
+
+
LF_SET_WARNINGS
GR_SET_GPROF
GR_SET_PROF
diff --git a/gnuradio-core/src/lib/Makefile.am b/gnuradio-core/src/lib/Makefile.am
index 05461a05c1..96a8917006 100644
--- a/gnuradio-core/src/lib/Makefile.am
+++ b/gnuradio-core/src/lib/Makefile.am
@@ -24,7 +24,7 @@ include $(top_srcdir)/Makefile.common
## Process this file with automake to produce Makefile.in
# We've got to build . before swig
-SUBDIRS = missing runtime filter general g72x reed-solomon omnithread io . swig
+SUBDIRS = missing runtime filter general gengen g72x reed-solomon omnithread io . swig
# generate libgnuradio-core.la from the convenience libraries in subdirs
@@ -41,6 +41,7 @@ libgnuradio_core_la_LIBADD = \
filter/libfilter.la \
g72x/libccitt.la \
general/libgeneral.la \
+ gengen/libgengen.la \
io/libio.la \
missing/libmissing.la \
omnithread/libomnithread.la \
diff --git a/gnuradio-core/src/lib/general/Makefile.am b/gnuradio-core/src/lib/general/Makefile.am
index c68c28216e..30f6ba1dbc 100644
--- a/gnuradio-core/src/lib/general/Makefile.am
+++ b/gnuradio-core/src/lib/general/Makefile.am
@@ -25,86 +25,15 @@ INCLUDES = $(STD_DEFINES_AND_INCLUDES) $(CPPUNIT_INCLUDES)
noinst_LTLIBRARIES = libgeneral.la libgeneral-qa.la
-# ----------------------------------------------------------------
-# these scripts generate code
-
-CODE_GENERATOR = \
- generate_all.py \
- generate_common.py \
- gr_add_XX.cc.t \
- gr_add_XX.h.t \
- gr_add_XX.i.t \
- gr_add_const_XX.cc.t \
- gr_add_const_XX.h.t \
- gr_add_const_XX.i.t \
- gr_add_vXX.cc.t \
- gr_add_vXX.h.t \
- gr_add_vXX.i.t \
- gr_add_const_vXX.cc.t \
- gr_add_const_vXX.h.t \
- gr_add_const_vXX.i.t \
- gr_chunks_to_symbols_XX.cc.t \
- gr_chunks_to_symbols_XX.h.t \
- gr_chunks_to_symbols_XX.i.t \
- gr_divide_XX.cc.t \
- gr_divide_XX.h.t \
- gr_divide_XX.i.t \
- gr_multiply_XX.cc.t \
- gr_multiply_XX.h.t \
- gr_multiply_XX.i.t \
- gr_multiply_const_XX.cc.t \
- gr_multiply_const_XX.h.t \
- gr_multiply_const_XX.i.t \
- gr_multiply_vXX.cc.t \
- gr_multiply_vXX.h.t \
- gr_multiply_vXX.i.t \
- gr_multiply_const_vXX.cc.t \
- gr_multiply_const_vXX.h.t \
- gr_multiply_const_vXX.i.t \
- gr_mute_XX.cc.t \
- gr_mute_XX.h.t \
- gr_mute_XX.i.t \
- gr_noise_source_X.cc.t \
- gr_noise_source_X.h.t \
- gr_noise_source_X.i.t \
- gr_packed_to_unpacked_XX.cc.t \
- gr_packed_to_unpacked_XX.h.t \
- gr_packed_to_unpacked_XX.i.t \
- gr_sig_source_X.cc.t \
- gr_sig_source_X.h.t \
- gr_sig_source_X.i.t \
- gr_sub_XX.cc.t \
- gr_sub_XX.h.t \
- gr_sub_XX.i.t \
- gr_unpacked_to_packed_XX.cc.t \
- gr_unpacked_to_packed_XX.h.t \
- gr_unpacked_to_packed_XX.i.t \
- gr_vector_source_X.cc.t \
- gr_vector_source_X.h.t \
- gr_vector_source_X.i.t \
- gr_vector_sink_X.cc.t \
- gr_vector_sink_X.h.t \
- gr_vector_sink_X.i.t
-
-# include $(srcdir)/Makefile.gen
-include Makefile.gen
-
-
-$(GENERATED_H) $(GENERATED_I) $(GENERATED_CC): $(CODE_GENERATOR)
- PYTHONPATH=$(top_srcdir)/gnuradio-core/src/python srcdir=$(srcdir) $(srcdir)/generate_all.py
-
-
-BUILT_SOURCES = $(GENERATED_H) $(GENERATED_I) $(GENERATED_CC)
+BUILT_SOURCES =
# ----------------------------------------------------------------
EXTRA_DIST = \
- $(CODE_GENERATOR) \
gen_sine_table.py \
gr_prefix.cc.in
libgeneral_la_SOURCES = \
- $(GENERATED_CC) \
gr_agc_cc.cc \
gr_agc_ff.cc \
gr_agc2_cc.cc \
@@ -192,9 +121,6 @@ libgeneral_la_SOURCES = \
gr_stream_to_vector.cc \
gr_streams_to_stream.cc \
gr_streams_to_vector.cc \
- gr_sync_block.cc \
- gr_sync_decimator.cc \
- gr_sync_interpolator.cc \
gr_test.cc \
gr_threshold_ff.cc \
gr_throttle.cc \
@@ -226,7 +152,6 @@ libgeneral_qa_la_SOURCES = \
grinclude_HEADERS = \
- $(GENERATED_H) \
gr_agc_cc.h \
gr_agc_ff.h \
gr_agc2_cc.h \
@@ -255,7 +180,6 @@ grinclude_HEADERS = \
gr_diff_encoder_bb.h \
gr_deinterleave.h \
gr_diff_phasor_cc.h \
- gr_endianness.h \
gr_expj.h \
gr_fake_channel_coder_pp.h \
gr_feedforward_agc_cc.h \
@@ -310,7 +234,6 @@ grinclude_HEADERS = \
gr_rms_cf.h \
gr_rms_ff.h \
gr_short_to_float.h \
- gr_sig_source_waveform.h \
gr_simple_correlator.h \
gr_simple_framer.h \
gr_simple_framer_sync.h \
@@ -322,9 +245,6 @@ grinclude_HEADERS = \
gr_stream_to_vector.h \
gr_streams_to_stream.h \
gr_streams_to_vector.h \
- gr_sync_block.h \
- gr_sync_decimator.h \
- gr_sync_interpolator.h \
gr_test_types.h \
gr_test.h \
gr_threshold_ff.h \
@@ -365,9 +285,7 @@ noinst_HEADERS = \
sine_table.h
swiginclude_HEADERS = \
- $(GENERATED_I) \
general.i \
- general_generated.i \
gr_agc_cc.i \
gr_agc_ff.i \
gr_agc2_cc.i \
@@ -394,7 +312,6 @@ swiginclude_HEADERS = \
gr_diff_encoder_bb.i \
gr_diff_phasor_cc.i \
gr_deinterleave.i \
- gr_endianness.i \
gr_fake_channel_coder_pp.i \
gr_feedforward_agc_cc.i \
gr_feval.i \
@@ -448,9 +365,6 @@ swiginclude_HEADERS = \
gr_stream_to_vector.i \
gr_streams_to_stream.i \
gr_streams_to_vector.i \
- gr_sync_block.i \
- gr_sync_decimator.i \
- gr_sync_interpolator.i \
gr_test.i \
gr_threshold_ff.i \
gr_throttle.i \
diff --git a/gnuradio-core/src/lib/general/general.i b/gnuradio-core/src/lib/general/general.i
index 01cadcc0dd..1bf7529983 100644
--- a/gnuradio-core/src/lib/general/general.i
+++ b/gnuradio-core/src/lib/general/general.i
@@ -22,15 +22,12 @@
%{
-#include <gr_sync_block.h>
-#include <gr_sync_decimator.h>
-#include <gr_sync_interpolator.h>
#include <gr_nop.h>
#include <gr_null_sink.h>
#include <gr_null_source.h>
#include <gr_head.h>
#include <gr_skiphead.h>
-#include <gr_sig_source_waveform.h>
+#include <gr_noise_type.h>
#include <gr_quadrature_demod_cf.h>
#include <gr_remez.h>
#include <gr_float_to_complex.h>
@@ -115,15 +112,11 @@
#include <gr_bin_statistics_f.h>
%}
-%include "gr_sync_block.i"
-%include "gr_sync_decimator.i"
-%include "gr_sync_interpolator.i"
%include "gr_nop.i"
%include "gr_null_sink.i"
%include "gr_null_source.i"
%include "gr_head.i"
%include "gr_skiphead.i"
-%include "gr_sig_source_waveform.h"
%include "gr_noise_type.h"
%include "gr_quadrature_demod_cf.i"
%include "gr_remez.i"
@@ -207,5 +200,3 @@
%include "gr_ctcss_squelch_ff.i"
%include "gr_feedforward_agc_cc.i"
%include "gr_bin_statistics_f.i"
-
-%include "general_generated.i"
diff --git a/gnuradio-core/src/lib/gengen/Makefile.am b/gnuradio-core/src/lib/gengen/Makefile.am
new file mode 100644
index 0000000000..d5074634a5
--- /dev/null
+++ b/gnuradio-core/src/lib/gengen/Makefile.am
@@ -0,0 +1,123 @@
+#
+# Copyright 2001,2002,2004,2006 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 2, 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
+
+INCLUDES = $(STD_DEFINES_AND_INCLUDES) $(CPPUNIT_INCLUDES)
+
+#noinst_LTLIBRARIES = libgengen.la libgengen-qa.la
+noinst_LTLIBRARIES = libgengen.la
+
+# ----------------------------------------------------------------
+# these scripts generate code
+
+CODE_GENERATOR = \
+ generate_all.py \
+ generate_common.py \
+ gr_add_XX.cc.t \
+ gr_add_XX.h.t \
+ gr_add_XX.i.t \
+ gr_add_const_XX.cc.t \
+ gr_add_const_XX.h.t \
+ gr_add_const_XX.i.t \
+ gr_add_vXX.cc.t \
+ gr_add_vXX.h.t \
+ gr_add_vXX.i.t \
+ gr_add_const_vXX.cc.t \
+ gr_add_const_vXX.h.t \
+ gr_add_const_vXX.i.t \
+ gr_chunks_to_symbols_XX.cc.t \
+ gr_chunks_to_symbols_XX.h.t \
+ gr_chunks_to_symbols_XX.i.t \
+ gr_divide_XX.cc.t \
+ gr_divide_XX.h.t \
+ gr_divide_XX.i.t \
+ gr_multiply_XX.cc.t \
+ gr_multiply_XX.h.t \
+ gr_multiply_XX.i.t \
+ gr_multiply_const_XX.cc.t \
+ gr_multiply_const_XX.h.t \
+ gr_multiply_const_XX.i.t \
+ gr_multiply_vXX.cc.t \
+ gr_multiply_vXX.h.t \
+ gr_multiply_vXX.i.t \
+ gr_multiply_const_vXX.cc.t \
+ gr_multiply_const_vXX.h.t \
+ gr_multiply_const_vXX.i.t \
+ gr_mute_XX.cc.t \
+ gr_mute_XX.h.t \
+ gr_mute_XX.i.t \
+ gr_noise_source_X.cc.t \
+ gr_noise_source_X.h.t \
+ gr_noise_source_X.i.t \
+ gr_packed_to_unpacked_XX.cc.t \
+ gr_packed_to_unpacked_XX.h.t \
+ gr_packed_to_unpacked_XX.i.t \
+ gr_sig_source_X.cc.t \
+ gr_sig_source_X.h.t \
+ gr_sig_source_X.i.t \
+ gr_sub_XX.cc.t \
+ gr_sub_XX.h.t \
+ gr_sub_XX.i.t \
+ gr_unpacked_to_packed_XX.cc.t \
+ gr_unpacked_to_packed_XX.h.t \
+ gr_unpacked_to_packed_XX.i.t \
+ gr_vector_source_X.cc.t \
+ gr_vector_source_X.h.t \
+ gr_vector_source_X.i.t \
+ gr_vector_sink_X.cc.t \
+ gr_vector_sink_X.h.t \
+ gr_vector_sink_X.i.t
+
+# include $(srcdir)/Makefile.gen
+include Makefile.gen
+
+
+$(GENERATED_H) $(GENERATED_I) $(GENERATED_CC): $(CODE_GENERATOR)
+ PYTHONPATH=$(top_srcdir)/gnuradio-core/src/python srcdir=$(srcdir) $(srcdir)/generate_all.py
+
+
+BUILT_SOURCES = $(GENERATED_H) $(GENERATED_I) $(GENERATED_CC)
+
+# ----------------------------------------------------------------
+
+EXTRA_DIST = \
+ $(CODE_GENERATOR)
+
+libgengen_la_SOURCES = \
+ $(GENERATED_CC)
+
+#libgengen_qa_la_SOURCES =
+
+grinclude_HEADERS = \
+ $(GENERATED_H) \
+ gr_endianness.h \
+ gr_sig_source_waveform.h
+
+noinst_HEADERS =
+
+swiginclude_HEADERS = \
+ $(GENERATED_I) \
+ gr_endianness.i \
+ gengen.i \
+ gengen_generated.i
+
+CLEANFILES = $(BUILT_SOURCES) *.pyc
diff --git a/gnuradio-core/src/lib/gengen/Makefile.gen b/gnuradio-core/src/lib/gengen/Makefile.gen
new file mode 100644
index 0000000000..f0c477e3d0
--- /dev/null
+++ b/gnuradio-core/src/lib/gengen/Makefile.gen
@@ -0,0 +1,234 @@
+#
+# This file is machine generated. All edits will be overwritten
+#
+GENERATED_H = \
+ gr_add_cc.h \
+ gr_add_const_cc.h \
+ gr_add_const_ff.h \
+ gr_add_const_ii.h \
+ gr_add_const_sf.h \
+ gr_add_const_ss.h \
+ gr_add_const_vcc.h \
+ gr_add_const_vff.h \
+ gr_add_const_vii.h \
+ gr_add_const_vss.h \
+ gr_add_ff.h \
+ gr_add_ii.h \
+ gr_add_ss.h \
+ gr_add_vcc.h \
+ gr_add_vff.h \
+ gr_add_vii.h \
+ gr_add_vss.h \
+ gr_chunks_to_symbols_bc.h \
+ gr_chunks_to_symbols_bf.h \
+ gr_chunks_to_symbols_ic.h \
+ gr_chunks_to_symbols_if.h \
+ gr_chunks_to_symbols_sc.h \
+ gr_chunks_to_symbols_sf.h \
+ gr_divide_cc.h \
+ gr_divide_ff.h \
+ gr_divide_ii.h \
+ gr_divide_ss.h \
+ gr_multiply_cc.h \
+ gr_multiply_const_cc.h \
+ gr_multiply_const_ff.h \
+ gr_multiply_const_ii.h \
+ gr_multiply_const_ss.h \
+ gr_multiply_const_vcc.h \
+ gr_multiply_const_vff.h \
+ gr_multiply_const_vii.h \
+ gr_multiply_const_vss.h \
+ gr_multiply_ff.h \
+ gr_multiply_ii.h \
+ gr_multiply_ss.h \
+ gr_multiply_vcc.h \
+ gr_multiply_vff.h \
+ gr_multiply_vii.h \
+ gr_multiply_vss.h \
+ gr_mute_cc.h \
+ gr_mute_ff.h \
+ gr_mute_ii.h \
+ gr_mute_ss.h \
+ gr_noise_source_c.h \
+ gr_noise_source_f.h \
+ gr_noise_source_i.h \
+ gr_noise_source_s.h \
+ gr_packed_to_unpacked_bb.h \
+ gr_packed_to_unpacked_ii.h \
+ gr_packed_to_unpacked_ss.h \
+ gr_sig_source_c.h \
+ gr_sig_source_f.h \
+ gr_sig_source_i.h \
+ gr_sig_source_s.h \
+ gr_sub_cc.h \
+ gr_sub_ff.h \
+ gr_sub_ii.h \
+ gr_sub_ss.h \
+ gr_unpacked_to_packed_bb.h \
+ gr_unpacked_to_packed_ii.h \
+ gr_unpacked_to_packed_ss.h \
+ gr_vector_sink_b.h \
+ gr_vector_sink_c.h \
+ gr_vector_sink_f.h \
+ gr_vector_sink_i.h \
+ gr_vector_sink_s.h \
+ gr_vector_source_b.h \
+ gr_vector_source_c.h \
+ gr_vector_source_f.h \
+ gr_vector_source_i.h \
+ gr_vector_source_s.h
+
+GENERATED_I = \
+ gr_add_cc.i \
+ gr_add_const_cc.i \
+ gr_add_const_ff.i \
+ gr_add_const_ii.i \
+ gr_add_const_sf.i \
+ gr_add_const_ss.i \
+ gr_add_const_vcc.i \
+ gr_add_const_vff.i \
+ gr_add_const_vii.i \
+ gr_add_const_vss.i \
+ gr_add_ff.i \
+ gr_add_ii.i \
+ gr_add_ss.i \
+ gr_add_vcc.i \
+ gr_add_vff.i \
+ gr_add_vii.i \
+ gr_add_vss.i \
+ gr_chunks_to_symbols_bc.i \
+ gr_chunks_to_symbols_bf.i \
+ gr_chunks_to_symbols_ic.i \
+ gr_chunks_to_symbols_if.i \
+ gr_chunks_to_symbols_sc.i \
+ gr_chunks_to_symbols_sf.i \
+ gr_divide_cc.i \
+ gr_divide_ff.i \
+ gr_divide_ii.i \
+ gr_divide_ss.i \
+ gr_multiply_cc.i \
+ gr_multiply_const_cc.i \
+ gr_multiply_const_ff.i \
+ gr_multiply_const_ii.i \
+ gr_multiply_const_ss.i \
+ gr_multiply_const_vcc.i \
+ gr_multiply_const_vff.i \
+ gr_multiply_const_vii.i \
+ gr_multiply_const_vss.i \
+ gr_multiply_ff.i \
+ gr_multiply_ii.i \
+ gr_multiply_ss.i \
+ gr_multiply_vcc.i \
+ gr_multiply_vff.i \
+ gr_multiply_vii.i \
+ gr_multiply_vss.i \
+ gr_mute_cc.i \
+ gr_mute_ff.i \
+ gr_mute_ii.i \
+ gr_mute_ss.i \
+ gr_noise_source_c.i \
+ gr_noise_source_f.i \
+ gr_noise_source_i.i \
+ gr_noise_source_s.i \
+ gr_packed_to_unpacked_bb.i \
+ gr_packed_to_unpacked_ii.i \
+ gr_packed_to_unpacked_ss.i \
+ gr_sig_source_c.i \
+ gr_sig_source_f.i \
+ gr_sig_source_i.i \
+ gr_sig_source_s.i \
+ gr_sub_cc.i \
+ gr_sub_ff.i \
+ gr_sub_ii.i \
+ gr_sub_ss.i \
+ gr_unpacked_to_packed_bb.i \
+ gr_unpacked_to_packed_ii.i \
+ gr_unpacked_to_packed_ss.i \
+ gr_vector_sink_b.i \
+ gr_vector_sink_c.i \
+ gr_vector_sink_f.i \
+ gr_vector_sink_i.i \
+ gr_vector_sink_s.i \
+ gr_vector_source_b.i \
+ gr_vector_source_c.i \
+ gr_vector_source_f.i \
+ gr_vector_source_i.i \
+ gr_vector_source_s.i
+
+GENERATED_CC = \
+ gr_add_cc.cc \
+ gr_add_const_cc.cc \
+ gr_add_const_ff.cc \
+ gr_add_const_ii.cc \
+ gr_add_const_sf.cc \
+ gr_add_const_ss.cc \
+ gr_add_const_vcc.cc \
+ gr_add_const_vff.cc \
+ gr_add_const_vii.cc \
+ gr_add_const_vss.cc \
+ gr_add_ff.cc \
+ gr_add_ii.cc \
+ gr_add_ss.cc \
+ gr_add_vcc.cc \
+ gr_add_vff.cc \
+ gr_add_vii.cc \
+ gr_add_vss.cc \
+ gr_chunks_to_symbols_bc.cc \
+ gr_chunks_to_symbols_bf.cc \
+ gr_chunks_to_symbols_ic.cc \
+ gr_chunks_to_symbols_if.cc \
+ gr_chunks_to_symbols_sc.cc \
+ gr_chunks_to_symbols_sf.cc \
+ gr_divide_cc.cc \
+ gr_divide_ff.cc \
+ gr_divide_ii.cc \
+ gr_divide_ss.cc \
+ gr_multiply_cc.cc \
+ gr_multiply_const_cc.cc \
+ gr_multiply_const_ff.cc \
+ gr_multiply_const_ii.cc \
+ gr_multiply_const_ss.cc \
+ gr_multiply_const_vcc.cc \
+ gr_multiply_const_vff.cc \
+ gr_multiply_const_vii.cc \
+ gr_multiply_const_vss.cc \
+ gr_multiply_ff.cc \
+ gr_multiply_ii.cc \
+ gr_multiply_ss.cc \
+ gr_multiply_vcc.cc \
+ gr_multiply_vff.cc \
+ gr_multiply_vii.cc \
+ gr_multiply_vss.cc \
+ gr_mute_cc.cc \
+ gr_mute_ff.cc \
+ gr_mute_ii.cc \
+ gr_mute_ss.cc \
+ gr_noise_source_c.cc \
+ gr_noise_source_f.cc \
+ gr_noise_source_i.cc \
+ gr_noise_source_s.cc \
+ gr_packed_to_unpacked_bb.cc \
+ gr_packed_to_unpacked_ii.cc \
+ gr_packed_to_unpacked_ss.cc \
+ gr_sig_source_c.cc \
+ gr_sig_source_f.cc \
+ gr_sig_source_i.cc \
+ gr_sig_source_s.cc \
+ gr_sub_cc.cc \
+ gr_sub_ff.cc \
+ gr_sub_ii.cc \
+ gr_sub_ss.cc \
+ gr_unpacked_to_packed_bb.cc \
+ gr_unpacked_to_packed_ii.cc \
+ gr_unpacked_to_packed_ss.cc \
+ gr_vector_sink_b.cc \
+ gr_vector_sink_c.cc \
+ gr_vector_sink_f.cc \
+ gr_vector_sink_i.cc \
+ gr_vector_sink_s.cc \
+ gr_vector_source_b.cc \
+ gr_vector_source_c.cc \
+ gr_vector_source_f.cc \
+ gr_vector_source_i.cc \
+ gr_vector_source_s.cc
+
diff --git a/gnuradio-core/src/lib/general/generate_all.py b/gnuradio-core/src/lib/gengen/generate_all.py
index ccb0ab6585..191924c4ff 100755
--- a/gnuradio-core/src/lib/general/generate_all.py
+++ b/gnuradio-core/src/lib/gengen/generate_all.py
@@ -26,7 +26,7 @@ import generate_common
def generate_all ():
generate_common.generate ()
- output_glue ('general')
+ output_glue ('gengen')
if __name__ == '__main__':
diff --git a/gnuradio-core/src/lib/general/generate_common.py b/gnuradio-core/src/lib/gengen/generate_common.py
index 5abb15cea1..5abb15cea1 100755
--- a/gnuradio-core/src/lib/general/generate_common.py
+++ b/gnuradio-core/src/lib/gengen/generate_common.py
diff --git a/gnuradio-core/src/lib/gengen/gengen.i b/gnuradio-core/src/lib/gengen/gengen.i
new file mode 100644
index 0000000000..4047e430ae
--- /dev/null
+++ b/gnuradio-core/src/lib/gengen/gengen.i
@@ -0,0 +1,9 @@
+%{
+#include "gr_endianness.h"
+#include "gr_sig_source_waveform.h"
+%}
+
+%include "gr_endianness.i"
+%include "gr_sig_source_waveform.h"
+
+%include "gengen_generated.i"
diff --git a/gnuradio-core/src/lib/gengen/gengen_generated.i b/gnuradio-core/src/lib/gengen/gengen_generated.i
new file mode 100644
index 0000000000..a41f30a3da
--- /dev/null
+++ b/gnuradio-core/src/lib/gengen/gengen_generated.i
@@ -0,0 +1,156 @@
+//
+// This file is machine generated. All edits will be overwritten
+//
+%{
+#include <gr_add_cc.h>
+#include <gr_add_const_cc.h>
+#include <gr_add_const_ff.h>
+#include <gr_add_const_ii.h>
+#include <gr_add_const_sf.h>
+#include <gr_add_const_ss.h>
+#include <gr_add_const_vcc.h>
+#include <gr_add_const_vff.h>
+#include <gr_add_const_vii.h>
+#include <gr_add_const_vss.h>
+#include <gr_add_ff.h>
+#include <gr_add_ii.h>
+#include <gr_add_ss.h>
+#include <gr_add_vcc.h>
+#include <gr_add_vff.h>
+#include <gr_add_vii.h>
+#include <gr_add_vss.h>
+#include <gr_chunks_to_symbols_bc.h>
+#include <gr_chunks_to_symbols_bf.h>
+#include <gr_chunks_to_symbols_ic.h>
+#include <gr_chunks_to_symbols_if.h>
+#include <gr_chunks_to_symbols_sc.h>
+#include <gr_chunks_to_symbols_sf.h>
+#include <gr_divide_cc.h>
+#include <gr_divide_ff.h>
+#include <gr_divide_ii.h>
+#include <gr_divide_ss.h>
+#include <gr_multiply_cc.h>
+#include <gr_multiply_const_cc.h>
+#include <gr_multiply_const_ff.h>
+#include <gr_multiply_const_ii.h>
+#include <gr_multiply_const_ss.h>
+#include <gr_multiply_const_vcc.h>
+#include <gr_multiply_const_vff.h>
+#include <gr_multiply_const_vii.h>
+#include <gr_multiply_const_vss.h>
+#include <gr_multiply_ff.h>
+#include <gr_multiply_ii.h>
+#include <gr_multiply_ss.h>
+#include <gr_multiply_vcc.h>
+#include <gr_multiply_vff.h>
+#include <gr_multiply_vii.h>
+#include <gr_multiply_vss.h>
+#include <gr_mute_cc.h>
+#include <gr_mute_ff.h>
+#include <gr_mute_ii.h>
+#include <gr_mute_ss.h>
+#include <gr_noise_source_c.h>
+#include <gr_noise_source_f.h>
+#include <gr_noise_source_i.h>
+#include <gr_noise_source_s.h>
+#include <gr_packed_to_unpacked_bb.h>
+#include <gr_packed_to_unpacked_ii.h>
+#include <gr_packed_to_unpacked_ss.h>
+#include <gr_sig_source_c.h>
+#include <gr_sig_source_f.h>
+#include <gr_sig_source_i.h>
+#include <gr_sig_source_s.h>
+#include <gr_sub_cc.h>
+#include <gr_sub_ff.h>
+#include <gr_sub_ii.h>
+#include <gr_sub_ss.h>
+#include <gr_unpacked_to_packed_bb.h>
+#include <gr_unpacked_to_packed_ii.h>
+#include <gr_unpacked_to_packed_ss.h>
+#include <gr_vector_sink_b.h>
+#include <gr_vector_sink_c.h>
+#include <gr_vector_sink_f.h>
+#include <gr_vector_sink_i.h>
+#include <gr_vector_sink_s.h>
+#include <gr_vector_source_b.h>
+#include <gr_vector_source_c.h>
+#include <gr_vector_source_f.h>
+#include <gr_vector_source_i.h>
+#include <gr_vector_source_s.h>
+%}
+
+%include <gr_add_cc.i>
+%include <gr_add_const_cc.i>
+%include <gr_add_const_ff.i>
+%include <gr_add_const_ii.i>
+%include <gr_add_const_sf.i>
+%include <gr_add_const_ss.i>
+%include <gr_add_const_vcc.i>
+%include <gr_add_const_vff.i>
+%include <gr_add_const_vii.i>
+%include <gr_add_const_vss.i>
+%include <gr_add_ff.i>
+%include <gr_add_ii.i>
+%include <gr_add_ss.i>
+%include <gr_add_vcc.i>
+%include <gr_add_vff.i>
+%include <gr_add_vii.i>
+%include <gr_add_vss.i>
+%include <gr_chunks_to_symbols_bc.i>
+%include <gr_chunks_to_symbols_bf.i>
+%include <gr_chunks_to_symbols_ic.i>
+%include <gr_chunks_to_symbols_if.i>
+%include <gr_chunks_to_symbols_sc.i>
+%include <gr_chunks_to_symbols_sf.i>
+%include <gr_divide_cc.i>
+%include <gr_divide_ff.i>
+%include <gr_divide_ii.i>
+%include <gr_divide_ss.i>
+%include <gr_multiply_cc.i>
+%include <gr_multiply_const_cc.i>
+%include <gr_multiply_const_ff.i>
+%include <gr_multiply_const_ii.i>
+%include <gr_multiply_const_ss.i>
+%include <gr_multiply_const_vcc.i>
+%include <gr_multiply_const_vff.i>
+%include <gr_multiply_const_vii.i>
+%include <gr_multiply_const_vss.i>
+%include <gr_multiply_ff.i>
+%include <gr_multiply_ii.i>
+%include <gr_multiply_ss.i>
+%include <gr_multiply_vcc.i>
+%include <gr_multiply_vff.i>
+%include <gr_multiply_vii.i>
+%include <gr_multiply_vss.i>
+%include <gr_mute_cc.i>
+%include <gr_mute_ff.i>
+%include <gr_mute_ii.i>
+%include <gr_mute_ss.i>
+%include <gr_noise_source_c.i>
+%include <gr_noise_source_f.i>
+%include <gr_noise_source_i.i>
+%include <gr_noise_source_s.i>
+%include <gr_packed_to_unpacked_bb.i>
+%include <gr_packed_to_unpacked_ii.i>
+%include <gr_packed_to_unpacked_ss.i>
+%include <gr_sig_source_c.i>
+%include <gr_sig_source_f.i>
+%include <gr_sig_source_i.i>
+%include <gr_sig_source_s.i>
+%include <gr_sub_cc.i>
+%include <gr_sub_ff.i>
+%include <gr_sub_ii.i>
+%include <gr_sub_ss.i>
+%include <gr_unpacked_to_packed_bb.i>
+%include <gr_unpacked_to_packed_ii.i>
+%include <gr_unpacked_to_packed_ss.i>
+%include <gr_vector_sink_b.i>
+%include <gr_vector_sink_c.i>
+%include <gr_vector_sink_f.i>
+%include <gr_vector_sink_i.i>
+%include <gr_vector_sink_s.i>
+%include <gr_vector_source_b.i>
+%include <gr_vector_source_c.i>
+%include <gr_vector_source_f.i>
+%include <gr_vector_source_i.i>
+%include <gr_vector_source_s.i>
diff --git a/gnuradio-core/src/lib/general/gr_add_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_add_XX.cc.t
index 5b8da605e2..5b8da605e2 100644
--- a/gnuradio-core/src/lib/general/gr_add_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_add_XX.cc.t
diff --git a/gnuradio-core/src/lib/general/gr_add_XX.h.t b/gnuradio-core/src/lib/gengen/gr_add_XX.h.t
index e031b1d0c8..e031b1d0c8 100644
--- a/gnuradio-core/src/lib/general/gr_add_XX.h.t
+++ b/gnuradio-core/src/lib/gengen/gr_add_XX.h.t
diff --git a/gnuradio-core/src/lib/general/gr_add_XX.i.t b/gnuradio-core/src/lib/gengen/gr_add_XX.i.t
index ed19609adc..ed19609adc 100644
--- a/gnuradio-core/src/lib/general/gr_add_XX.i.t
+++ b/gnuradio-core/src/lib/gengen/gr_add_XX.i.t
diff --git a/gnuradio-core/src/lib/general/gr_add_const_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_add_const_XX.cc.t
index 573614fe15..573614fe15 100644
--- a/gnuradio-core/src/lib/general/gr_add_const_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_add_const_XX.cc.t
diff --git a/gnuradio-core/src/lib/general/gr_add_const_XX.h.t b/gnuradio-core/src/lib/gengen/gr_add_const_XX.h.t
index 4ddb33e41a..4ddb33e41a 100644
--- a/gnuradio-core/src/lib/general/gr_add_const_XX.h.t
+++ b/gnuradio-core/src/lib/gengen/gr_add_const_XX.h.t
diff --git a/gnuradio-core/src/lib/general/gr_add_const_XX.i.t b/gnuradio-core/src/lib/gengen/gr_add_const_XX.i.t
index 1902610834..1902610834 100644
--- a/gnuradio-core/src/lib/general/gr_add_const_XX.i.t
+++ b/gnuradio-core/src/lib/gengen/gr_add_const_XX.i.t
diff --git a/gnuradio-core/src/lib/general/gr_add_const_vXX.cc.t b/gnuradio-core/src/lib/gengen/gr_add_const_vXX.cc.t
index eba855c9d4..eba855c9d4 100755
--- a/gnuradio-core/src/lib/general/gr_add_const_vXX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_add_const_vXX.cc.t
diff --git a/gnuradio-core/src/lib/general/gr_add_const_vXX.h.t b/gnuradio-core/src/lib/gengen/gr_add_const_vXX.h.t
index c3bb187cf3..c3bb187cf3 100755
--- a/gnuradio-core/src/lib/general/gr_add_const_vXX.h.t
+++ b/gnuradio-core/src/lib/gengen/gr_add_const_vXX.h.t
diff --git a/gnuradio-core/src/lib/general/gr_add_const_vXX.i.t b/gnuradio-core/src/lib/gengen/gr_add_const_vXX.i.t
index ae52a4e6a4..ae52a4e6a4 100755
--- a/gnuradio-core/src/lib/general/gr_add_const_vXX.i.t
+++ b/gnuradio-core/src/lib/gengen/gr_add_const_vXX.i.t
diff --git a/gnuradio-core/src/lib/general/gr_add_vXX.cc.t b/gnuradio-core/src/lib/gengen/gr_add_vXX.cc.t
index dadf81b897..dadf81b897 100755
--- a/gnuradio-core/src/lib/general/gr_add_vXX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_add_vXX.cc.t
diff --git a/gnuradio-core/src/lib/general/gr_add_vXX.h.t b/gnuradio-core/src/lib/gengen/gr_add_vXX.h.t
index 546041e469..546041e469 100755
--- a/gnuradio-core/src/lib/general/gr_add_vXX.h.t
+++ b/gnuradio-core/src/lib/gengen/gr_add_vXX.h.t
diff --git a/gnuradio-core/src/lib/general/gr_add_vXX.i.t b/gnuradio-core/src/lib/gengen/gr_add_vXX.i.t
index bcae7b75fe..bcae7b75fe 100755
--- a/gnuradio-core/src/lib/general/gr_add_vXX.i.t
+++ b/gnuradio-core/src/lib/gengen/gr_add_vXX.i.t
diff --git a/gnuradio-core/src/lib/general/gr_chunks_to_symbols_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_chunks_to_symbols_XX.cc.t
index ec73f673e1..ec73f673e1 100644
--- a/gnuradio-core/src/lib/general/gr_chunks_to_symbols_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_chunks_to_symbols_XX.cc.t
diff --git a/gnuradio-core/src/lib/general/gr_chunks_to_symbols_XX.h.t b/gnuradio-core/src/lib/gengen/gr_chunks_to_symbols_XX.h.t
index 2c51537e93..2c51537e93 100644
--- a/gnuradio-core/src/lib/general/gr_chunks_to_symbols_XX.h.t
+++ b/gnuradio-core/src/lib/gengen/gr_chunks_to_symbols_XX.h.t
diff --git a/gnuradio-core/src/lib/general/gr_chunks_to_symbols_XX.i.t b/gnuradio-core/src/lib/gengen/gr_chunks_to_symbols_XX.i.t
index 075f17deaa..075f17deaa 100644
--- a/gnuradio-core/src/lib/general/gr_chunks_to_symbols_XX.i.t
+++ b/gnuradio-core/src/lib/gengen/gr_chunks_to_symbols_XX.i.t
diff --git a/gnuradio-core/src/lib/general/gr_divide_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_divide_XX.cc.t
index b66de151de..b66de151de 100644
--- a/gnuradio-core/src/lib/general/gr_divide_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_divide_XX.cc.t
diff --git a/gnuradio-core/src/lib/general/gr_divide_XX.h.t b/gnuradio-core/src/lib/gengen/gr_divide_XX.h.t
index 5960d32f67..5960d32f67 100644
--- a/gnuradio-core/src/lib/general/gr_divide_XX.h.t
+++ b/gnuradio-core/src/lib/gengen/gr_divide_XX.h.t
diff --git a/gnuradio-core/src/lib/general/gr_divide_XX.i.t b/gnuradio-core/src/lib/gengen/gr_divide_XX.i.t
index ed19609adc..ed19609adc 100644
--- a/gnuradio-core/src/lib/general/gr_divide_XX.i.t
+++ b/gnuradio-core/src/lib/gengen/gr_divide_XX.i.t
diff --git a/gnuradio-core/src/lib/general/gr_endianness.h b/gnuradio-core/src/lib/gengen/gr_endianness.h
index e6ceb43d20..e6ceb43d20 100644
--- a/gnuradio-core/src/lib/general/gr_endianness.h
+++ b/gnuradio-core/src/lib/gengen/gr_endianness.h
diff --git a/gnuradio-core/src/lib/general/gr_endianness.i b/gnuradio-core/src/lib/gengen/gr_endianness.i
index 8ae57d119f..8ae57d119f 100644
--- a/gnuradio-core/src/lib/general/gr_endianness.i
+++ b/gnuradio-core/src/lib/gengen/gr_endianness.i
diff --git a/gnuradio-core/src/lib/general/gr_multiply_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_multiply_XX.cc.t
index a6c01b1038..a6c01b1038 100644
--- a/gnuradio-core/src/lib/general/gr_multiply_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_multiply_XX.cc.t
diff --git a/gnuradio-core/src/lib/general/gr_multiply_XX.h.t b/gnuradio-core/src/lib/gengen/gr_multiply_XX.h.t
index 6605727667..6605727667 100644
--- a/gnuradio-core/src/lib/general/gr_multiply_XX.h.t
+++ b/gnuradio-core/src/lib/gengen/gr_multiply_XX.h.t
diff --git a/gnuradio-core/src/lib/general/gr_multiply_XX.i.t b/gnuradio-core/src/lib/gengen/gr_multiply_XX.i.t
index ed19609adc..ed19609adc 100644
--- a/gnuradio-core/src/lib/general/gr_multiply_XX.i.t
+++ b/gnuradio-core/src/lib/gengen/gr_multiply_XX.i.t
diff --git a/gnuradio-core/src/lib/general/gr_multiply_const_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_multiply_const_XX.cc.t
index 6c42ce08f8..6c42ce08f8 100644
--- a/gnuradio-core/src/lib/general/gr_multiply_const_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_multiply_const_XX.cc.t
diff --git a/gnuradio-core/src/lib/general/gr_multiply_const_XX.h.t b/gnuradio-core/src/lib/gengen/gr_multiply_const_XX.h.t
index a15d4b0b16..a15d4b0b16 100644
--- a/gnuradio-core/src/lib/general/gr_multiply_const_XX.h.t
+++ b/gnuradio-core/src/lib/gengen/gr_multiply_const_XX.h.t
diff --git a/gnuradio-core/src/lib/general/gr_multiply_const_XX.i.t b/gnuradio-core/src/lib/gengen/gr_multiply_const_XX.i.t
index 1902610834..1902610834 100644
--- a/gnuradio-core/src/lib/general/gr_multiply_const_XX.i.t
+++ b/gnuradio-core/src/lib/gengen/gr_multiply_const_XX.i.t
diff --git a/gnuradio-core/src/lib/general/gr_multiply_const_vXX.cc.t b/gnuradio-core/src/lib/gengen/gr_multiply_const_vXX.cc.t
index e9033d7cc7..e9033d7cc7 100755
--- a/gnuradio-core/src/lib/general/gr_multiply_const_vXX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_multiply_const_vXX.cc.t
diff --git a/gnuradio-core/src/lib/general/gr_multiply_const_vXX.h.t b/gnuradio-core/src/lib/gengen/gr_multiply_const_vXX.h.t
index feecffc3f9..feecffc3f9 100755
--- a/gnuradio-core/src/lib/general/gr_multiply_const_vXX.h.t
+++ b/gnuradio-core/src/lib/gengen/gr_multiply_const_vXX.h.t
diff --git a/gnuradio-core/src/lib/general/gr_multiply_const_vXX.i.t b/gnuradio-core/src/lib/gengen/gr_multiply_const_vXX.i.t
index ae52a4e6a4..ae52a4e6a4 100755
--- a/gnuradio-core/src/lib/general/gr_multiply_const_vXX.i.t
+++ b/gnuradio-core/src/lib/gengen/gr_multiply_const_vXX.i.t
diff --git a/gnuradio-core/src/lib/general/gr_multiply_vXX.cc.t b/gnuradio-core/src/lib/gengen/gr_multiply_vXX.cc.t
index 1df48801b3..1df48801b3 100755
--- a/gnuradio-core/src/lib/general/gr_multiply_vXX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_multiply_vXX.cc.t
diff --git a/gnuradio-core/src/lib/general/gr_multiply_vXX.h.t b/gnuradio-core/src/lib/gengen/gr_multiply_vXX.h.t
index 107adc5028..107adc5028 100755
--- a/gnuradio-core/src/lib/general/gr_multiply_vXX.h.t
+++ b/gnuradio-core/src/lib/gengen/gr_multiply_vXX.h.t
diff --git a/gnuradio-core/src/lib/general/gr_multiply_vXX.i.t b/gnuradio-core/src/lib/gengen/gr_multiply_vXX.i.t
index bcae7b75fe..bcae7b75fe 100755
--- a/gnuradio-core/src/lib/general/gr_multiply_vXX.i.t
+++ b/gnuradio-core/src/lib/gengen/gr_multiply_vXX.i.t
diff --git a/gnuradio-core/src/lib/general/gr_mute_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_mute_XX.cc.t
index 45f8cb5e54..45f8cb5e54 100644
--- a/gnuradio-core/src/lib/general/gr_mute_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_mute_XX.cc.t
diff --git a/gnuradio-core/src/lib/general/gr_mute_XX.h.t b/gnuradio-core/src/lib/gengen/gr_mute_XX.h.t
index bedce7175a..bedce7175a 100644
--- a/gnuradio-core/src/lib/general/gr_mute_XX.h.t
+++ b/gnuradio-core/src/lib/gengen/gr_mute_XX.h.t
diff --git a/gnuradio-core/src/lib/general/gr_mute_XX.i.t b/gnuradio-core/src/lib/gengen/gr_mute_XX.i.t
index 559d9999bc..559d9999bc 100644
--- a/gnuradio-core/src/lib/general/gr_mute_XX.i.t
+++ b/gnuradio-core/src/lib/gengen/gr_mute_XX.i.t
diff --git a/gnuradio-core/src/lib/general/gr_noise_source_X.cc.t b/gnuradio-core/src/lib/gengen/gr_noise_source_X.cc.t
index 1fec1e56a3..1fec1e56a3 100644
--- a/gnuradio-core/src/lib/general/gr_noise_source_X.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_noise_source_X.cc.t
diff --git a/gnuradio-core/src/lib/general/gr_noise_source_X.h.t b/gnuradio-core/src/lib/gengen/gr_noise_source_X.h.t
index 2071e0e06c..2071e0e06c 100644
--- a/gnuradio-core/src/lib/general/gr_noise_source_X.h.t
+++ b/gnuradio-core/src/lib/gengen/gr_noise_source_X.h.t
diff --git a/gnuradio-core/src/lib/general/gr_noise_source_X.i.t b/gnuradio-core/src/lib/gengen/gr_noise_source_X.i.t
index 0aa1427f99..0aa1427f99 100644
--- a/gnuradio-core/src/lib/general/gr_noise_source_X.i.t
+++ b/gnuradio-core/src/lib/gengen/gr_noise_source_X.i.t
diff --git a/gnuradio-core/src/lib/general/gr_packed_to_unpacked_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_packed_to_unpacked_XX.cc.t
index 388def8f95..388def8f95 100644
--- a/gnuradio-core/src/lib/general/gr_packed_to_unpacked_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_packed_to_unpacked_XX.cc.t
diff --git a/gnuradio-core/src/lib/general/gr_packed_to_unpacked_XX.h.t b/gnuradio-core/src/lib/gengen/gr_packed_to_unpacked_XX.h.t
index f7aaa680b3..f7aaa680b3 100644
--- a/gnuradio-core/src/lib/general/gr_packed_to_unpacked_XX.h.t
+++ b/gnuradio-core/src/lib/gengen/gr_packed_to_unpacked_XX.h.t
diff --git a/gnuradio-core/src/lib/general/gr_packed_to_unpacked_XX.i.t b/gnuradio-core/src/lib/gengen/gr_packed_to_unpacked_XX.i.t
index 0d5d754477..0d5d754477 100644
--- a/gnuradio-core/src/lib/general/gr_packed_to_unpacked_XX.i.t
+++ b/gnuradio-core/src/lib/gengen/gr_packed_to_unpacked_XX.i.t
diff --git a/gnuradio-core/src/lib/general/gr_sig_source_X.cc.t b/gnuradio-core/src/lib/gengen/gr_sig_source_X.cc.t
index 8a09c77066..8a09c77066 100644
--- a/gnuradio-core/src/lib/general/gr_sig_source_X.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_sig_source_X.cc.t
diff --git a/gnuradio-core/src/lib/general/gr_sig_source_X.h.t b/gnuradio-core/src/lib/gengen/gr_sig_source_X.h.t
index ccd18b7fd1..ccd18b7fd1 100644
--- a/gnuradio-core/src/lib/general/gr_sig_source_X.h.t
+++ b/gnuradio-core/src/lib/gengen/gr_sig_source_X.h.t
diff --git a/gnuradio-core/src/lib/general/gr_sig_source_X.i.t b/gnuradio-core/src/lib/gengen/gr_sig_source_X.i.t
index 8c65c31b3c..8c65c31b3c 100644
--- a/gnuradio-core/src/lib/general/gr_sig_source_X.i.t
+++ b/gnuradio-core/src/lib/gengen/gr_sig_source_X.i.t
diff --git a/gnuradio-core/src/lib/general/gr_sig_source_waveform.h b/gnuradio-core/src/lib/gengen/gr_sig_source_waveform.h
index 669437a3b4..669437a3b4 100644
--- a/gnuradio-core/src/lib/general/gr_sig_source_waveform.h
+++ b/gnuradio-core/src/lib/gengen/gr_sig_source_waveform.h
diff --git a/gnuradio-core/src/lib/general/gr_sub_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_sub_XX.cc.t
index 6c38ff462e..6c38ff462e 100644
--- a/gnuradio-core/src/lib/general/gr_sub_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_sub_XX.cc.t
diff --git a/gnuradio-core/src/lib/general/gr_sub_XX.h.t b/gnuradio-core/src/lib/gengen/gr_sub_XX.h.t
index 99a4aa628c..99a4aa628c 100644
--- a/gnuradio-core/src/lib/general/gr_sub_XX.h.t
+++ b/gnuradio-core/src/lib/gengen/gr_sub_XX.h.t
diff --git a/gnuradio-core/src/lib/general/gr_sub_XX.i.t b/gnuradio-core/src/lib/gengen/gr_sub_XX.i.t
index ed19609adc..ed19609adc 100644
--- a/gnuradio-core/src/lib/general/gr_sub_XX.i.t
+++ b/gnuradio-core/src/lib/gengen/gr_sub_XX.i.t
diff --git a/gnuradio-core/src/lib/general/gr_unpacked_to_packed_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_unpacked_to_packed_XX.cc.t
index 7db6037b33..7db6037b33 100644
--- a/gnuradio-core/src/lib/general/gr_unpacked_to_packed_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_unpacked_to_packed_XX.cc.t
diff --git a/gnuradio-core/src/lib/general/gr_unpacked_to_packed_XX.h.t b/gnuradio-core/src/lib/gengen/gr_unpacked_to_packed_XX.h.t
index 04965d9771..04965d9771 100644
--- a/gnuradio-core/src/lib/general/gr_unpacked_to_packed_XX.h.t
+++ b/gnuradio-core/src/lib/gengen/gr_unpacked_to_packed_XX.h.t
diff --git a/gnuradio-core/src/lib/general/gr_unpacked_to_packed_XX.i.t b/gnuradio-core/src/lib/gengen/gr_unpacked_to_packed_XX.i.t
index 715678e0c4..715678e0c4 100644
--- a/gnuradio-core/src/lib/general/gr_unpacked_to_packed_XX.i.t
+++ b/gnuradio-core/src/lib/gengen/gr_unpacked_to_packed_XX.i.t
diff --git a/gnuradio-core/src/lib/general/gr_vector_sink_X.cc.t b/gnuradio-core/src/lib/gengen/gr_vector_sink_X.cc.t
index f06397193a..f06397193a 100644
--- a/gnuradio-core/src/lib/general/gr_vector_sink_X.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_vector_sink_X.cc.t
diff --git a/gnuradio-core/src/lib/general/gr_vector_sink_X.h.t b/gnuradio-core/src/lib/gengen/gr_vector_sink_X.h.t
index 43232b52b4..43232b52b4 100644
--- a/gnuradio-core/src/lib/general/gr_vector_sink_X.h.t
+++ b/gnuradio-core/src/lib/gengen/gr_vector_sink_X.h.t
diff --git a/gnuradio-core/src/lib/general/gr_vector_sink_X.i.t b/gnuradio-core/src/lib/gengen/gr_vector_sink_X.i.t
index 3dc0f51d02..3dc0f51d02 100644
--- a/gnuradio-core/src/lib/general/gr_vector_sink_X.i.t
+++ b/gnuradio-core/src/lib/gengen/gr_vector_sink_X.i.t
diff --git a/gnuradio-core/src/lib/general/gr_vector_source_X.cc.t b/gnuradio-core/src/lib/gengen/gr_vector_source_X.cc.t
index 97bb7279d8..97bb7279d8 100644
--- a/gnuradio-core/src/lib/general/gr_vector_source_X.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_vector_source_X.cc.t
diff --git a/gnuradio-core/src/lib/general/gr_vector_source_X.h.t b/gnuradio-core/src/lib/gengen/gr_vector_source_X.h.t
index ee538690d3..ee538690d3 100644
--- a/gnuradio-core/src/lib/general/gr_vector_source_X.h.t
+++ b/gnuradio-core/src/lib/gengen/gr_vector_source_X.h.t
diff --git a/gnuradio-core/src/lib/general/gr_vector_source_X.i.t b/gnuradio-core/src/lib/gengen/gr_vector_source_X.i.t
index 17aaf1e2a9..17aaf1e2a9 100644
--- a/gnuradio-core/src/lib/general/gr_vector_source_X.i.t
+++ b/gnuradio-core/src/lib/gengen/gr_vector_source_X.i.t
diff --git a/gnuradio-core/src/lib/runtime/Makefile.am b/gnuradio-core/src/lib/runtime/Makefile.am
index 47ae07a6ba..91d3c144be 100644
--- a/gnuradio-core/src/lib/runtime/Makefile.am
+++ b/gnuradio-core/src/lib/runtime/Makefile.am
@@ -51,6 +51,9 @@ libruntime_la_SOURCES = \
gr_runtime.cc \
gr_runtime_impl.cc \
gr_single_threaded_scheduler.cc \
+ gr_sync_block.cc \
+ gr_sync_decimator.cc \
+ gr_sync_interpolator.cc \
gr_tmp_path.cc \
gr_vmcircbuf.cc \
gr_vmcircbuf_mmap_shm_open.cc \
@@ -92,6 +95,9 @@ grinclude_HEADERS = \
gr_runtime_types.h \
gr_select_handler.h \
gr_single_threaded_scheduler.h \
+ gr_sync_block.h \
+ gr_sync_decimator.h \
+ gr_sync_interpolator.h \
gr_timer.h \
gr_tmp_path.h \
gr_types.h \
@@ -125,5 +131,8 @@ swiginclude_HEADERS = \
gr_runtime.i \
gr_simple_flowgraph.i \
gr_single_threaded_scheduler.i \
+ gr_sync_block.i \
+ gr_sync_decimator.i \
+ gr_sync_interpolator.i \
gr_swig_block_magic.i \
runtime.i
diff --git a/gnuradio-core/src/lib/general/gr_sync_block.cc b/gnuradio-core/src/lib/runtime/gr_sync_block.cc
index ac2e90b63c..ac2e90b63c 100644
--- a/gnuradio-core/src/lib/general/gr_sync_block.cc
+++ b/gnuradio-core/src/lib/runtime/gr_sync_block.cc
diff --git a/gnuradio-core/src/lib/general/gr_sync_block.h b/gnuradio-core/src/lib/runtime/gr_sync_block.h
index 7607cd190c..7607cd190c 100644
--- a/gnuradio-core/src/lib/general/gr_sync_block.h
+++ b/gnuradio-core/src/lib/runtime/gr_sync_block.h
diff --git a/gnuradio-core/src/lib/general/gr_sync_block.i b/gnuradio-core/src/lib/runtime/gr_sync_block.i
index 2bfcd2b7dd..2bfcd2b7dd 100644
--- a/gnuradio-core/src/lib/general/gr_sync_block.i
+++ b/gnuradio-core/src/lib/runtime/gr_sync_block.i
diff --git a/gnuradio-core/src/lib/general/gr_sync_decimator.cc b/gnuradio-core/src/lib/runtime/gr_sync_decimator.cc
index 1526cf8fc3..1526cf8fc3 100644
--- a/gnuradio-core/src/lib/general/gr_sync_decimator.cc
+++ b/gnuradio-core/src/lib/runtime/gr_sync_decimator.cc
diff --git a/gnuradio-core/src/lib/general/gr_sync_decimator.h b/gnuradio-core/src/lib/runtime/gr_sync_decimator.h
index d6ee14debd..d6ee14debd 100644
--- a/gnuradio-core/src/lib/general/gr_sync_decimator.h
+++ b/gnuradio-core/src/lib/runtime/gr_sync_decimator.h
diff --git a/gnuradio-core/src/lib/general/gr_sync_decimator.i b/gnuradio-core/src/lib/runtime/gr_sync_decimator.i
index 167e843a6e..167e843a6e 100644
--- a/gnuradio-core/src/lib/general/gr_sync_decimator.i
+++ b/gnuradio-core/src/lib/runtime/gr_sync_decimator.i
diff --git a/gnuradio-core/src/lib/general/gr_sync_interpolator.cc b/gnuradio-core/src/lib/runtime/gr_sync_interpolator.cc
index 0a88cc7cd3..0a88cc7cd3 100644
--- a/gnuradio-core/src/lib/general/gr_sync_interpolator.cc
+++ b/gnuradio-core/src/lib/runtime/gr_sync_interpolator.cc
diff --git a/gnuradio-core/src/lib/general/gr_sync_interpolator.h b/gnuradio-core/src/lib/runtime/gr_sync_interpolator.h
index 5151b7f92a..5151b7f92a 100644
--- a/gnuradio-core/src/lib/general/gr_sync_interpolator.h
+++ b/gnuradio-core/src/lib/runtime/gr_sync_interpolator.h
diff --git a/gnuradio-core/src/lib/general/gr_sync_interpolator.i b/gnuradio-core/src/lib/runtime/gr_sync_interpolator.i
index 5c42dfdd2e..5c42dfdd2e 100644
--- a/gnuradio-core/src/lib/general/gr_sync_interpolator.i
+++ b/gnuradio-core/src/lib/runtime/gr_sync_interpolator.i
diff --git a/gnuradio-core/src/lib/runtime/runtime.i b/gnuradio-core/src/lib/runtime/runtime.i
index 8e6c01f9a1..cab3386306 100644
--- a/gnuradio-core/src/lib/runtime/runtime.i
+++ b/gnuradio-core/src/lib/runtime/runtime.i
@@ -36,6 +36,9 @@
#include <gr_dispatcher.h>
#include <gr_error_handler.h>
#include <gr_realtime.h>
+#include <gr_sync_block.h>
+#include <gr_sync_decimator.h>
+#include <gr_sync_interpolator.h>
%}
%include <gr_io_signature.i>
@@ -54,3 +57,6 @@
%include <gr_error_handler.i>
%include <gr_realtime.i>
%include <gr_runtime.i>
+%include <gr_sync_block.i>
+%include <gr_sync_decimator.i>
+%include <gr_sync_interpolator.i>
diff --git a/gnuradio-core/src/lib/swig/Makefile.am b/gnuradio-core/src/lib/swig/Makefile.am
index 590b07b856..6bb2ca819b 100644
--- a/gnuradio-core/src/lib/swig/Makefile.am
+++ b/gnuradio-core/src/lib/swig/Makefile.am
@@ -1,5 +1,5 @@
#
-# Copyright 2001,2003,2004,2005 Free Software Foundation, Inc.
+# Copyright 2001,2003,2004,2005,2006,2007 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -37,62 +37,238 @@ EXTRA_DIST = gen-swig-bug-fix
LOCAL_IFILES = \
gnuradio.i \
- shared_ptr.i
+ shared_ptr.i \
+ sw_general.i \
+ sw_gengen.i \
+ sw_filter.i \
+ sw_io.i
+
ALL_IFILES = \
$(LOCAL_IFILES)
+
+
+# ----------------------------------------------------------------
+# We've split the previously monstrous gnuradio_swig_python into
+# 5 smaller pieces. This reduces compile time coupling and
+# creates smaller pieces for the compiler to digest.
+# prior to this change, on X86_64, g++'s resident set size was
+# 650MB!
+
BUILT_SOURCES = \
- gnuradio_swig_python.cc \
- gnuradio_swig_python.py \
- gnuradio_swig_python.h \
+ gnuradio_swig_py_runtime.cc \
+ gnuradio_swig_py_runtime.py \
+ gnuradio_swig_py_runtime.h \
+ gnuradio_swig_py_general.cc \
+ gnuradio_swig_py_general.py \
+ gnuradio_swig_py_general.h \
+ gnuradio_swig_py_gengen.cc \
+ gnuradio_swig_py_gengen.py \
+ gnuradio_swig_py_gengen.h \
+ gnuradio_swig_py_filter.cc \
+ gnuradio_swig_py_filter.py \
+ gnuradio_swig_py_filter.h \
+ gnuradio_swig_py_io.cc \
+ gnuradio_swig_py_io.py \
+ gnuradio_swig_py_io.h \
gnuradio_swig_bug_workaround.h
+
+SWIGPYTHONARGS = $(SWIGPYTHONFLAGS) $(INCLUDES)
+
+# ----------------------------------------------------------------
+# We break this up into 5 libraries...
+
+grgrlib_LTLIBRARIES = \
+ _gnuradio_swig_py_runtime.la \
+ _gnuradio_swig_py_general.la \
+ _gnuradio_swig_py_gengen.la \
+ _gnuradio_swig_py_filter.la \
+ _gnuradio_swig_py_io.la
+
+
grgrpython_PYTHON = \
- gnuradio_swig_python.py
+ gnuradio_swig_python.py \
+ gnuradio_swig_py_runtime.py \
+ gnuradio_swig_py_general.py \
+ gnuradio_swig_py_gengen.py \
+ gnuradio_swig_py_filter.py \
+ gnuradio_swig_py_io.py
-SWIGPYTHONARGS = $(SWIGPYTHONFLAGS) $(INCLUDES)
+# This results in the code being compiled with -O1 instead of -g -O2
+
+_gnuradio_swig_py_runtime_la_CXXFLAGS = @swig_CXXFLAGS@
+_gnuradio_swig_py_general_la_CXXFLAGS = @swig_CXXFLAGS@
+_gnuradio_swig_py_gengen_la_CXXFLAGS = @swig_CXXFLAGS@
+_gnuradio_swig_py_filter_la_CXXFLAGS = @swig_CXXFLAGS@
+_gnuradio_swig_py_io_la_CXXFLAGS = @swig_CXXFLAGS@
# ----------------------------------------------------------------
-# _gnuradio_swig_python contains all the glue that implements
-# the gnuradio.gr python package
+# Part 1: gnuradio.i -> gnuradio_swig_py_runtime
+#
+# We continue to call this gnuradio.i to avoid having to touch
+# lots of code in other modules
-grgrlib_LTLIBRARIES = \
- _gnuradio_swig_python.la
+_gnuradio_swig_py_runtime_la_SOURCES = \
+ gnuradio_swig_py_runtime.cc
-_gnuradio_swig_python_la_SOURCES = \
- gnuradio_swig_python.cc
+_gnuradio_swig_py_runtime_la_LIBADD = \
+ $(top_builddir)/gnuradio-core/src/lib/libgnuradio-core.la \
+ $(PYTHON_LDFLAGS) \
+ -lstdc++
+
+_gnuradio_swig_py_runtime_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED)
-_gnuradio_swig_python_la_LIBADD = \
+
+# KLUDGE: Force runtime include of gnuradio_swig_py_runtime.d dependency file.
+# This is not guaranteed to be portable, but will probably work.
+# If it works, we have accurate dependencies for our swig stuff, which is good.
+@am__include@ @am__quote@./gnuradio_swig_py_runtime.d@am__quote@
+
+gnuradio_swig_py_runtime.py gnuradio_swig_py_runtime.h: gnuradio_swig_py_runtime.cc
+
+gnuradio_swig_py_runtime.cc : gnuradio.i
+ if $(SWIG) $(SWIGPYTHONARGS) -MMD -MF gnuradio_swig_py_runtime.Td -module gnuradio_swig_py_runtime -o gnuradio_swig_py_runtime.cc gnuradio.i ;\
+ then if test $(host_os) = mingw32; \
+ then sed 's,\\\\,/,g' <gnuradio_swig_py_runtime.Td >gnuradio_swig_py_runtime.d; rm -f gnuradio_swig_py_runtime.Td; \
+ else mv -f gnuradio_swig_py_runtime.Td gnuradio_swig_py_runtime.d; fi \
+ else rm -f gnuradio_swig_py_runtime.Td; exit 1; fi
+
+
+# ----------------------------------------------------------------
+# Part 2: sw_general.i -> gnuradio_swig_py_general
+#
+
+_gnuradio_swig_py_general_la_SOURCES = \
+ gnuradio_swig_py_general.cc
+
+
+_gnuradio_swig_py_general_la_LIBADD = \
$(top_builddir)/gnuradio-core/src/lib/libgnuradio-core.la \
- $(PYTHON_LDFLAGS) \
+ $(PYTHON_LDFLAGS) \
-lstdc++
-_gnuradio_swig_python_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED)
+_gnuradio_swig_py_general_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED)
-# KLUDGE: Force runtime include of gnuradio_swig_python.d dependency file.
+# KLUDGE: Force general include of gnuradio_swig_py_general.d dependency file.
# This is not guaranteed to be portable, but will probably work.
# If it works, we have accurate dependencies for our swig stuff, which is good.
-@am__include@ @am__quote@./gnuradio_swig_python.d@am__quote@
+@am__include@ @am__quote@./gnuradio_swig_py_general.d@am__quote@
-gnuradio_swig_python.py gnuradio_swig_python.h: gnuradio_swig_python.cc
+gnuradio_swig_py_general.py gnuradio_swig_py_general.h: gnuradio_swig_py_general.cc
-gnuradio_swig_python.cc : gnuradio.i
- if $(SWIG) $(SWIGPYTHONARGS) -MMD -MF gnuradio_swig_python.Td -module gnuradio_swig_python -o gnuradio_swig_python.cc gnuradio.i ;\
+gnuradio_swig_py_general.cc : sw_general.i
+ if $(SWIG) $(SWIGPYTHONARGS) -MMD -MF gnuradio_swig_py_general.Td -module gnuradio_swig_py_general -o gnuradio_swig_py_general.cc sw_general.i ;\
then if test $(host_os) = mingw32; \
- then sed 's,\\\\,/,g' <gnuradio_swig_python.Td >gnuradio_swig_python.d; rm -f gnuradio_swig_python.Td; \
- else mv -f gnuradio_swig_python.Td gnuradio_swig_python.d; fi \
- else rm -f gnuradio_swig_python.Td; exit 1; fi
+ then sed 's,\\\\,/,g' <gnuradio_swig_py_general.Td >gnuradio_swig_py_general.d; rm -f gnuradio_swig_py_general.Td; \
+ else mv -f gnuradio_swig_py_general.Td gnuradio_swig_py_general.d; fi \
+ else rm -f gnuradio_swig_py_general.Td; exit 1; fi
+
+
+# ----------------------------------------------------------------
+# Part 3: sw_gengen.i -> gnuradio_swig_py_gengen
+#
+
+_gnuradio_swig_py_gengen_la_SOURCES = \
+ gnuradio_swig_py_gengen.cc
+
+
+_gnuradio_swig_py_gengen_la_LIBADD = \
+ $(top_builddir)/gnuradio-core/src/lib/libgnuradio-core.la \
+ $(PYTHON_LDFLAGS) \
+ -lstdc++
+
+_gnuradio_swig_py_gengen_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED)
-gnuradio_swig_bug_workaround.h : gnuradio_swig_python.cc $(srcdir)/gen-swig-bug-fix
- $(srcdir)/gen-swig-bug-fix gnuradio_swig_python.cc $@
+# KLUDGE: Force gengen include of gnuradio_swig_py_gengen.d dependency file.
+# This is not guaranteed to be portable, but will probably work.
+# If it works, we have accurate dependencies for our swig stuff, which is good.
+@am__include@ @am__quote@./gnuradio_swig_py_gengen.d@am__quote@
+
+gnuradio_swig_py_gengen.py gnuradio_swig_py_gengen.h: gnuradio_swig_py_gengen.cc
+
+gnuradio_swig_py_gengen.cc : sw_gengen.i
+ if $(SWIG) $(SWIGPYTHONARGS) -MMD -MF gnuradio_swig_py_gengen.Td -module gnuradio_swig_py_gengen -o gnuradio_swig_py_gengen.cc sw_gengen.i ;\
+ then if test $(host_os) = mingw32; \
+ then sed 's,\\\\,/,g' <gnuradio_swig_py_gengen.Td >gnuradio_swig_py_gengen.d; rm -f gnuradio_swig_py_gengen.Td; \
+ else mv -f gnuradio_swig_py_gengen.Td gnuradio_swig_py_gengen.d; fi \
+ else rm -f gnuradio_swig_py_gengen.Td; exit 1; fi
+
+
+# ----------------------------------------------------------------
+# Part 4: sw_filter.i -> gnuradio_swig_py_filter
+#
+
+_gnuradio_swig_py_filter_la_SOURCES = \
+ gnuradio_swig_py_filter.cc
+
+
+_gnuradio_swig_py_filter_la_LIBADD = \
+ $(top_builddir)/gnuradio-core/src/lib/libgnuradio-core.la \
+ $(PYTHON_LDFLAGS) \
+ -lstdc++
+
+_gnuradio_swig_py_filter_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED)
+
+
+# KLUDGE: Force filter include of gnuradio_swig_py_filter.d dependency file.
+# This is not guaranteed to be portable, but will probably work.
+# If it works, we have accurate dependencies for our swig stuff, which is good.
+@am__include@ @am__quote@./gnuradio_swig_py_filter.d@am__quote@
+
+gnuradio_swig_py_filter.py gnuradio_swig_py_filter.h: gnuradio_swig_py_filter.cc
+
+gnuradio_swig_py_filter.cc : sw_filter.i
+ if $(SWIG) $(SWIGPYTHONARGS) -MMD -MF gnuradio_swig_py_filter.Td -module gnuradio_swig_py_filter -o gnuradio_swig_py_filter.cc sw_filter.i ;\
+ then if test $(host_os) = mingw32; \
+ then sed 's,\\\\,/,g' <gnuradio_swig_py_filter.Td >gnuradio_swig_py_filter.d; rm -f gnuradio_swig_py_filter.Td; \
+ else mv -f gnuradio_swig_py_filter.Td gnuradio_swig_py_filter.d; fi \
+ else rm -f gnuradio_swig_py_filter.Td; exit 1; fi
+
+
+# ----------------------------------------------------------------
+# Part 5: sw_io.i -> gnuradio_swig_py_io
+#
+
+_gnuradio_swig_py_io_la_SOURCES = \
+ gnuradio_swig_py_io.cc
+
+
+_gnuradio_swig_py_io_la_LIBADD = \
+ $(top_builddir)/gnuradio-core/src/lib/libgnuradio-core.la \
+ $(PYTHON_LDFLAGS) \
+ -lstdc++
+
+_gnuradio_swig_py_io_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED)
+
+
+# KLUDGE: Force io include of gnuradio_swig_py_io.d dependency file.
+# This is not guaranteed to be portable, but will probably work.
+# If it works, we have accurate dependencies for our swig stuff, which is good.
+@am__include@ @am__quote@./gnuradio_swig_py_io.d@am__quote@
+
+gnuradio_swig_py_io.py gnuradio_swig_py_io.h: gnuradio_swig_py_io.cc
+
+gnuradio_swig_py_io.cc : sw_io.i
+ if $(SWIG) $(SWIGPYTHONARGS) -MMD -MF gnuradio_swig_py_io.Td -module gnuradio_swig_py_io -o gnuradio_swig_py_io.cc sw_io.i ;\
+ then if test $(host_os) = mingw32; \
+ then sed 's,\\\\,/,g' <gnuradio_swig_py_io.Td >gnuradio_swig_py_io.d; rm -f gnuradio_swig_py_io.Td; \
+ else mv -f gnuradio_swig_py_io.Td gnuradio_swig_py_io.d; fi \
+ else rm -f gnuradio_swig_py_io.Td; exit 1; fi
+
+
+# ----------------------------------------------------------------
+# FIXME As of swig 1.3.31, this still seems to be required...
+gnuradio_swig_bug_workaround.h : gnuradio_swig_py_runtime.cc $(srcdir)/gen-swig-bug-fix
+ $(srcdir)/gen-swig-bug-fix gnuradio_swig_py_runtime.cc $@
# ----------------------------------------------------------------
@@ -111,4 +287,9 @@ swiginclude_HEADERS = \
MOSTLYCLEANFILES = \
$(BUILT_SOURCES) *~ *.pyc
-DISTCLEANFILES = gnuradio_swig_python.d
+DISTCLEANFILES = \
+ gnuradio_swig_py_runtime.d \
+ gnuradio_swig_py_general.d \
+ gnuradio_swig_py_gengen.d \
+ gnuradio_swig_py_filter.d \
+ gnuradio_swig_py_io.d
diff --git a/gnuradio-core/src/lib/swig/gnuradio.i b/gnuradio-core/src/lib/swig/gnuradio.i
index 5475e17345..706ba8a666 100644
--- a/gnuradio-core/src/lib/swig/gnuradio.i
+++ b/gnuradio-core/src/lib/swig/gnuradio.i
@@ -27,8 +27,7 @@
#ifndef SWIGIMPORTED
-// we set the module name on the command line (not any more)
-%module(directors="1") gnuradio_swig_python
+%module(directors="1") gnuradio_swig_py_runtime
#endif
////////////////////////////////////////////////////////////////////////
@@ -75,9 +74,9 @@ namespace std {
////////////////////////////////////////////////////////////////////////
%include <runtime.i>
-%include <general.i>
-%include <filter.i>
-%include <io.i>
+ // %include <general.i>
+ // %include <filter.i>
+ // %include <io.i>
// %include <atsc.i>
diff --git a/gnuradio-core/src/lib/swig/gnuradio_swig_python.py b/gnuradio-core/src/lib/swig/gnuradio_swig_python.py
new file mode 100644
index 0000000000..2bac0942d2
--- /dev/null
+++ b/gnuradio-core/src/lib/swig/gnuradio_swig_python.py
@@ -0,0 +1,27 @@
+#
+# Copyright 2006 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 2, 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.
+#
+
+# This file implements the old gnuradio_swig_python namespace
+
+from gnuradio_swig_py_runtime import *
+from gnuradio_swig_py_general import *
+from gnuradio_swig_py_gengen import *
+from gnuradio_swig_py_filter import *
+from gnuradio_swig_py_io import *
diff --git a/gnuradio-core/src/lib/swig/sw_filter.i b/gnuradio-core/src/lib/swig/sw_filter.i
new file mode 100644
index 0000000000..336f9c6019
--- /dev/null
+++ b/gnuradio-core/src/lib/swig/sw_filter.i
@@ -0,0 +1,36 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2006 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 Filter Public License as published by
+ * the Free Software Foundation; either version 2, 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 Filter Public License for more details.
+ *
+ * You should have received a copy of the GNU Filter 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") gnuradio_swig_py_filter
+#endif
+
+
+%feature("autodoc", "1"); // generate python docstrings
+
+%include "exception.i"
+%import "gnuradio.i" // the common stuff
+
+%{
+#include "gnuradio_swig_bug_workaround.h" // mandatory bug fix
+%}
+
+%include "filter.i"
diff --git a/gnuradio-core/src/lib/swig/sw_general.i b/gnuradio-core/src/lib/swig/sw_general.i
new file mode 100644
index 0000000000..06b164d559
--- /dev/null
+++ b/gnuradio-core/src/lib/swig/sw_general.i
@@ -0,0 +1,36 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2006 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 2, 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") gnuradio_swig_py_general
+#endif
+
+
+%feature("autodoc", "1"); // generate python docstrings
+
+%include "exception.i"
+%import "gnuradio.i" // the common stuff
+
+%{
+#include "gnuradio_swig_bug_workaround.h" // mandatory bug fix
+%}
+
+%include "general.i"
diff --git a/gnuradio-core/src/lib/swig/sw_gengen.i b/gnuradio-core/src/lib/swig/sw_gengen.i
new file mode 100644
index 0000000000..a88b45dfda
--- /dev/null
+++ b/gnuradio-core/src/lib/swig/sw_gengen.i
@@ -0,0 +1,36 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2006 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 2, 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") gnuradio_swig_py_gengen
+#endif
+
+
+%feature("autodoc", "1"); // generate python docstrings
+
+%include "exception.i"
+%import "gnuradio.i" // the common stuff
+
+%{
+#include "gnuradio_swig_bug_workaround.h" // mandatory bug fix
+%}
+
+%include "gengen.i"
diff --git a/gnuradio-core/src/lib/swig/sw_io.i b/gnuradio-core/src/lib/swig/sw_io.i
new file mode 100644
index 0000000000..1733e67994
--- /dev/null
+++ b/gnuradio-core/src/lib/swig/sw_io.i
@@ -0,0 +1,36 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2006 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 Io Public License as published by
+ * the Free Software Foundation; either version 2, 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 Io Public License for more details.
+ *
+ * You should have received a copy of the GNU Io 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") gnuradio_swig_py_io
+#endif
+
+
+%feature("autodoc", "1"); // generate python docstrings
+
+%include "exception.i"
+%import "gnuradio.i" // the common stuff
+
+%{
+#include "gnuradio_swig_bug_workaround.h" // mandatory bug fix
+%}
+
+%include "io.i"
diff --git a/gnuradio-examples/python/usrp/Makefile.am b/gnuradio-examples/python/usrp/Makefile.am
index 5a8a346a18..1b7f8133ea 100644
--- a/gnuradio-examples/python/usrp/Makefile.am
+++ b/gnuradio-examples/python/usrp/Makefile.am
@@ -44,6 +44,7 @@ EXTRA_DIST = \
usrp_rx_cfile.py \
usrp_rx_nogui.py \
usrp_siggen.py \
+ usrp_spectrum_sense.py \
usrp_tv_rcv_nogui.py \
usrp_tv_rcv.py \
usrp_wfm_rcv2_nogui.py \
diff --git a/gr-error-correcting-codes/src/lib/libecc/Makefile.am b/gr-error-correcting-codes/src/lib/libecc/Makefile.am
index 7b1348da3a..3c44464d3e 100644
--- a/gr-error-correcting-codes/src/lib/libecc/Makefile.am
+++ b/gr-error-correcting-codes/src/lib/libecc/Makefile.am
@@ -54,5 +54,3 @@ libecc_la_LIBADD = \
-lstdc++
MOSTLYCLEANFILES = *.loT *~
-
-CONFIG_CLEAN_FILES = *.in
diff --git a/gr-error-correcting-codes/src/lib/libecc/mld/Makefile.am b/gr-error-correcting-codes/src/lib/libecc/mld/Makefile.am
index 85b9724e31..3420d5581a 100644
--- a/gr-error-correcting-codes/src/lib/libecc/mld/Makefile.am
+++ b/gr-error-correcting-codes/src/lib/libecc/mld/Makefile.am
@@ -33,4 +33,3 @@ noinst_HEADERS = \
MOSTLYCLEANFILES = *.loT *~
-CONFIG_CLEAN_FILES = *.in
diff --git a/run_tests.sh.in b/run_tests.sh.in
index 39b35d87ea..4e7d69e47d 100644
--- a/run_tests.sh.in
+++ b/run_tests.sh.in
@@ -17,6 +17,9 @@ mypydir=$1/src:$1/src/python
grswigdir=@abs_top_builddir@/gnuradio-core/src/lib/swig
grswigdir=$grswigdir:$grswigdir/.libs
+# Where to find core's hand generated swig glue
+grswigsrcdir=@abs_top_srcdir@/gnuradio-core/src/lib/swig
+
# Where to find core's python modules
grpydir=@abs_top_srcdir@/gnuradio-core/src/python
@@ -25,7 +28,7 @@ grlibdir=@abs_top_builddir@/gnuradio-core/src/lib
grlibdir=$grlibdir:$grlibdir/.libs
# Construct search path for python modules
-PYTHONPATH="$mylibdir:$mysrcdir:$mypydir:$grswigdir:$grpydir:$PYTHONPATH"
+PYTHONPATH="$mylibdir:$mysrcdir:$mypydir:$grswigdir:$grswigsrcdir:$grpydir:$PYTHONPATH"
export PYTHONPATH
# For OS/X