summaryrefslogtreecommitdiff
path: root/gnuradio-core/src/lib
diff options
context:
space:
mode:
authoreb2007-01-13 04:14:56 +0000
committereb2007-01-13 04:14:56 +0000
commitcbe1628f2eb1a1a3c8b0b96a3b1334a039074def (patch)
tree1d551091f8eac7c5381990946e6a5183191905b6 /gnuradio-core/src/lib
parent90347f36e4087cb2136096c9f1f43c0cb629dcb0 (diff)
downloadgnuradio-cbe1628f2eb1a1a3c8b0b96a3b1334a039074def.tar.gz
gnuradio-cbe1628f2eb1a1a3c8b0b96a3b1334a039074def.tar.bz2
gnuradio-cbe1628f2eb1a1a3c8b0b96a3b1334a039074def.zip
SWIG compilation speedup! Fixes ticket:9.
Merged -r4203:4254 from eb/swig-split into trunk. This refactors gnuradio_swig_python.{cc,py} into 5 separate .so's These correspond to the runtime, general, filter and io directories, and also includes a new directory, gengen. gengen contains that part of general that was machine generated. This split is arbitrary, but was useful for getting size of the swig generated glue code for general down to about 2MB. In addition, the swig glue is now compiled with -g1 -O1 instead of -g -O2. With this change all the swig code now compiles in about 60% of the time that it used to take. git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@4255 221aa14e-8319-0410-a670-987f0aec2ac5
Diffstat (limited to 'gnuradio-core/src/lib')
-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
84 files changed, 925 insertions, 131 deletions
diff --git a/gnuradio-core/src/lib/Makefile.am b/gnuradio-core/src/lib/Makefile.am
index 05461a05c..96a891700 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 c68c28216..30f6ba1db 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 01cadcc0d..1bf752998 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 000000000..d5074634a
--- /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 000000000..f0c477e3d
--- /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 ccb0ab658..191924c4f 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 5abb15cea..5abb15cea 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 000000000..4047e430a
--- /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 000000000..a41f30a3d
--- /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 5b8da605e..5b8da605e 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 e031b1d0c..e031b1d0c 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 ed19609ad..ed19609ad 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 573614fe1..573614fe1 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 4ddb33e41..4ddb33e41 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 190261083..190261083 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 eba855c9d..eba855c9d 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 c3bb187cf..c3bb187cf 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 ae52a4e6a..ae52a4e6a 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 dadf81b89..dadf81b89 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 546041e46..546041e46 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 bcae7b75f..bcae7b75f 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 ec73f673e..ec73f673e 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 2c51537e9..2c51537e9 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 075f17dea..075f17dea 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 b66de151d..b66de151d 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 5960d32f6..5960d32f6 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 ed19609ad..ed19609ad 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 e6ceb43d2..e6ceb43d2 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 8ae57d119..8ae57d119 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 a6c01b103..a6c01b103 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 660572766..660572766 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 ed19609ad..ed19609ad 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 6c42ce08f..6c42ce08f 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 a15d4b0b1..a15d4b0b1 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 190261083..190261083 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 e9033d7cc..e9033d7cc 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 feecffc3f..feecffc3f 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 ae52a4e6a..ae52a4e6a 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 1df48801b..1df48801b 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 107adc502..107adc502 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 bcae7b75f..bcae7b75f 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 45f8cb5e5..45f8cb5e5 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 bedce7175..bedce7175 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 559d9999b..559d9999b 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 1fec1e56a..1fec1e56a 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 2071e0e06..2071e0e06 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 0aa1427f9..0aa1427f9 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 388def8f9..388def8f9 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 f7aaa680b..f7aaa680b 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 0d5d75447..0d5d75447 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 8a09c7706..8a09c7706 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 ccd18b7fd..ccd18b7fd 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 8c65c31b3..8c65c31b3 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 669437a3b..669437a3b 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 6c38ff462..6c38ff462 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 99a4aa628..99a4aa628 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 ed19609ad..ed19609ad 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 7db6037b3..7db6037b3 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 04965d977..04965d977 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 715678e0c..715678e0c 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 f06397193..f06397193 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 43232b52b..43232b52b 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 3dc0f51d0..3dc0f51d0 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 97bb7279d..97bb7279d 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 ee538690d..ee538690d 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 17aaf1e2a..17aaf1e2a 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 47ae07a6b..91d3c144b 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 ac2e90b63..ac2e90b63 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 7607cd190..7607cd190 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 2bfcd2b7d..2bfcd2b7d 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 1526cf8fc..1526cf8fc 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 d6ee14deb..d6ee14deb 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 167e843a6..167e843a6 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 0a88cc7cd..0a88cc7cd 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 5151b7f92..5151b7f92 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 5c42dfdd2..5c42dfdd2 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 8e6c01f9a..cab338630 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 590b07b85..6bb2ca819 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 5475e1734..706ba8a66 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 000000000..2bac0942d
--- /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 000000000..336f9c601
--- /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 000000000..06b164d55
--- /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 000000000..a88b45dfd
--- /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 000000000..1733e6799
--- /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"