summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosh Blum2012-09-03 06:29:00 -0700
committerJosh Blum2012-09-03 06:29:00 -0700
commit54c59aa3c4517c5ceac5e90c2ec081a993b28ce7 (patch)
tree54528a17bddd37088f78f955dc6a4c01052410ef
parentd3c303b2f78e3657dc89e23478316502cedc6e7b (diff)
downloadsandhi-54c59aa3c4517c5ceac5e90c2ec081a993b28ce7.tar.gz
sandhi-54c59aa3c4517c5ceac5e90c2ec081a993b28ce7.tar.bz2
sandhi-54c59aa3c4517c5ceac5e90c2ec081a993b28ce7.zip
swig build speedup with empty block classes
-rw-r--r--swig/runtime.i48
-rw-r--r--swig/sw_runtime.i27
2 files changed, 40 insertions, 35 deletions
diff --git a/swig/runtime.i b/swig/runtime.i
index 6b41aa3..4ab380e 100644
--- a/swig/runtime.i
+++ b/swig/runtime.i
@@ -16,26 +16,11 @@
#define GR_CORE_API
-%ignore forecast;
-%ignore general_work;
-%ignore work;
-
-//helps with funny swig error for io signature
-%ignore gnuradio::IOSignature::operator->();
-%ignore gnuradio::IOSignature::operator->() const;
-
//not here to fight you swig, reference() is ambigi with shared ptr, but whatevs
%ignore gri_agc_cc::reference();
%ignore gri_agc2_ff::reference();
%ignore gri_agc2_cc::reference();
-%constant int sizeof_char = sizeof(char);
-%constant int sizeof_short = sizeof(short);
-%constant int sizeof_int = sizeof(int);
-%constant int sizeof_float = sizeof(float);
-%constant int sizeof_double = sizeof(double);
-%constant int sizeof_gr_complex = sizeof(gr_complex);
-
%{
#include <gnuradio/element.hpp>
@@ -44,41 +29,34 @@
#include <gnuradio/top_block.hpp>
#include <gnuradio/io_signature.hpp>
#include <gnuradio/tags.hpp>
-#include <gr_tags.h>
#include <gr_io_signature.h>
#include <gr_block.h>
-#include <gr_hier_block2.h>
#include <gr_message.h>
#include <gr_msg_handler.h>
#include <gr_msg_queue.h>
#include <gr_sync_block.h>
#include <gr_sync_decimator.h>
#include <gr_sync_interpolator.h>
-#include <gr_top_block.h>
%}
-%include <gnuradio/element.hpp>
-%include <gnuradio/tags.hpp>
-%include <gnuradio/block.hpp>
-%include <gnuradio/hier_block.hpp>
-%include <gnuradio/top_block.hpp>
-%include <gnuradio/io_signature.hpp>
-%include <gr_tags.h>
-%include <gr_io_signature.h>
-%include <gr_block.h>
-%include <gr_hier_block2.h>
%include <gr_swig_block_magic.i>
-%include <gr_message.h>
-%include <gr_msg_handler.h>
-%include <gr_msg_queue.h>
-%include <gr_sync_block.h>
-%include <gr_sync_decimator.h>
-%include <gr_sync_interpolator.h>
-%include <gr_top_block.h>
#ifdef SW_RUNTIME
%include "sw_runtime.i"
+#else
+
+//the bare minimum block inheritance interface to make things work but keep swig cxx file size down
+%include <gnuradio/element.hpp>
+namespace gnuradio
+{
+ struct Block : Element{};
+}
+struct gr_block : gnuradio::Block{};
+struct gr_sync_block : gr_block{};
+struct gr_sync_interpolator : gr_sync_block{};
+struct gr_sync_decimator : gr_sync_block{};
+
#endif
diff --git a/swig/sw_runtime.i b/swig/sw_runtime.i
index a25cbaa..b40d142 100644
--- a/swig/sw_runtime.i
+++ b/swig/sw_runtime.i
@@ -14,6 +14,33 @@
// You should have received a copy of the GNU Lesser General Public License
// along with io_sig program. If not, see <http://www.gnu.org/licenses/>.
+//const size types used by blocks in python
+%constant int sizeof_char = sizeof(char);
+%constant int sizeof_short = sizeof(short);
+%constant int sizeof_int = sizeof(int);
+%constant int sizeof_float = sizeof(float);
+%constant int sizeof_double = sizeof(double);
+%constant int sizeof_gr_complex = sizeof(gr_complex);
+
+//helps with funny swig error for io signature
+%ignore gnuradio::IOSignature::operator->();
+%ignore gnuradio::IOSignature::operator->() const;
+
+%include <gnuradio/element.hpp>
+%include <gnuradio/tags.hpp>
+%include <gnuradio/block.hpp>
+%include <gnuradio/hier_block.hpp>
+%include <gnuradio/top_block.hpp>
+%include <gnuradio/io_signature.hpp>
+%include <gr_io_signature.h>
+%include <gr_block.h>
+%include <gr_message.h>
+%include <gr_msg_handler.h>
+%include <gr_msg_queue.h>
+%include <gr_sync_block.h>
+%include <gr_sync_decimator.h>
+%include <gr_sync_interpolator.h>
+
%include "gruel_common.i"
%inline %{