diff options
author | Josh Blum | 2012-09-03 06:29:00 -0700 |
---|---|---|
committer | Josh Blum | 2012-09-03 06:29:00 -0700 |
commit | 54c59aa3c4517c5ceac5e90c2ec081a993b28ce7 (patch) | |
tree | 54528a17bddd37088f78f955dc6a4c01052410ef | |
parent | d3c303b2f78e3657dc89e23478316502cedc6e7b (diff) | |
download | sandhi-54c59aa3c4517c5ceac5e90c2ec081a993b28ce7.tar.gz sandhi-54c59aa3c4517c5ceac5e90c2ec081a993b28ce7.tar.bz2 sandhi-54c59aa3c4517c5ceac5e90c2ec081a993b28ce7.zip |
swig build speedup with empty block classes
-rw-r--r-- | swig/runtime.i | 48 | ||||
-rw-r--r-- | swig/sw_runtime.i | 27 |
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 %{ |