diff options
author | Tom Rondeau <trondeau@vt.edu> | 2013-05-02 12:05:38 -0400 |
---|---|---|
committer | Tom Rondeau <trondeau@vt.edu> | 2013-05-02 12:05:38 -0400 |
commit | c443098d5a266915a417afe43ebf1fe3198ad68b (patch) | |
tree | 71613687b2dbe6eed5c50f19ad6513bade703085 | |
parent | 70acb23e775d7e29868d2734a3997743524fa07f (diff) | |
parent | ba86c365110abf908afef464ad2f49743993eb2b (diff) |
Merge branch 'next-modtool' into runtime_pimpl
-rw-r--r-- | gnuradio-runtime/gnuradio-runtime.pc.in | 2 | ||||
-rw-r--r-- | gnuradio-runtime/include/gnuradio/math.h | 1 | ||||
-rw-r--r-- | gnuradio-runtime/swig/CMakeLists.txt | 27 | ||||
-rw-r--r-- | gnuradio-runtime/swig/runtime_swig.i | 50 | ||||
-rw-r--r-- | gr-utils/python/modtool/code_generator.py | 16 | ||||
-rw-r--r-- | gr-utils/python/modtool/gr-newmod/swig/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-utils/python/modtool/parser_cc_block.py | 6 | ||||
-rw-r--r-- | gr-utils/python/modtool/templates.py | 20 |
8 files changed, 66 insertions, 58 deletions
diff --git a/gnuradio-runtime/gnuradio-runtime.pc.in b/gnuradio-runtime/gnuradio-runtime.pc.in index 29c7c3ce84..d4488896cb 100644 --- a/gnuradio-runtime/gnuradio-runtime.pc.in +++ b/gnuradio-runtime/gnuradio-runtime.pc.in @@ -8,4 +8,4 @@ Description: GNU Radio core runtime infrastructure Requires: Version: @LIBVER@ Libs: -L${libdir} -lgnuradio-runtime -lgnuradio-pmt -Cflags: -I${includedir} -I${includedir}/gnuradio +Cflags: -I${includedir} diff --git a/gnuradio-runtime/include/gnuradio/math.h b/gnuradio-runtime/include/gnuradio/math.h index ec4cfb014f..d611c98c95 100644 --- a/gnuradio-runtime/include/gnuradio/math.h +++ b/gnuradio-runtime/include/gnuradio/math.h @@ -27,6 +27,7 @@ #ifndef _GR_MATH_H_ #define _GR_MATH_H_ +#include <cmath> #include <gnuradio/api.h> #include <gnuradio/gr_complex.h> diff --git a/gnuradio-runtime/swig/CMakeLists.txt b/gnuradio-runtime/swig/CMakeLists.txt index b2fcb180b2..64350c0f21 100644 --- a/gnuradio-runtime/swig/CMakeLists.txt +++ b/gnuradio-runtime/swig/CMakeLists.txt @@ -91,33 +91,40 @@ install( FILES gnuradio_swig_bug_workaround.h runtime_swig.i - complex_vec_test.i gnuradio.i basic_block.i + block.i + block_detail.i + block_gateway.i + buffer.i + complex_vec_test.i constants.i - gr_ctrlport.i dispatcher.i error_handler.i feval.i + gnuradio.i + gr_ctrlport.i + gr_extras.i + gr_intrusive_ptr.i + gr_logger.i + gr_shared_ptr.i + gr_swig_block_magic.i + gr_types.i hier_block2.i io_signature.i message.i msg_handler.i msg_queue.i + pmt_swig.i prefs.i realtime.i single_threaded_scheduler.i + sync_block.i + sync_decimator.i + sync_interpolator.i tagged_stream_block.i tags.i top_block.i - block_gateway.i - gr_logger.i - gr_shared_ptr.i - gr_swig_block_magic.i - gr_types.i - gr_extras.i - gr_intrusive_ptr.i - pmt_swig.i ${CMAKE_CURRENT_BINARY_DIR}/runtime_swig_doc.i ${CMAKE_CURRENT_BINARY_DIR}/pmt_swig_doc.i DESTINATION ${GR_INCLUDE_DIR}/gnuradio/swig diff --git a/gnuradio-runtime/swig/runtime_swig.i b/gnuradio-runtime/swig/runtime_swig.i index 163d4748ec..368fb4249a 100644 --- a/gnuradio-runtime/swig/runtime_swig.i +++ b/gnuradio-runtime/swig/runtime_swig.i @@ -71,29 +71,29 @@ %constant int sizeof_gr_complex = sizeof(gr_complex); %include <gnuradio/endianness.h> -%include <basic_block.i> -%include <block.i> -%include <block_detail.i> -%include <buffer.i> -%include <constants.i> -%include <dispatcher.i> -%include <feval.i> -%include <error_handler.i> -%include <hier_block2.i> -%include <io_signature.i> -%include <message.i> -%include <msg_handler.i> -%include <msg_queue.i> -%include <prefs.i> -%include <realtime.i> -%include <single_threaded_scheduler.i> -%include <sync_block.i> -%include <sync_decimator.i> -%include <sync_interpolator.i> -%include <tagged_stream_block.i> -%include <tags.i> -%include <top_block.i> -%include <block_gateway.i> +%include "basic_block.i" +%include "block.i" +%include "block_detail.i" +%include "buffer.i" +%include "constants.i" +%include "dispatcher.i" +%include "feval.i" +%include "error_handler.i" +%include "hier_block2.i" +%include "io_signature.i" +%include "message.i" +%include "msg_handler.i" +%include "msg_queue.i" +%include "prefs.i" +%include "realtime.i" +%include "single_threaded_scheduler.i" +%include "sync_block.i" +%include "sync_decimator.i" +%include "sync_interpolator.i" +%include "tagged_stream_block.i" +%include "tags.i" +%include "top_block.i" +%include "block_gateway.i" -%include <gr_swig_block_magic.i> -%include <gr_ctrlport.i> +%include "gr_swig_block_magic.i" +%include "gr_ctrlport.i" diff --git a/gr-utils/python/modtool/code_generator.py b/gr-utils/python/modtool/code_generator.py index fbe9aa92c2..33cebc68c4 100644 --- a/gr-utils/python/modtool/code_generator.py +++ b/gr-utils/python/modtool/code_generator.py @@ -31,14 +31,14 @@ class GRMTemplate(Cheetah.Template.Template): """ An extended template class """ def __init__(self, src, searchList): self.grtypelist = { - 'sync': 'gr_sync_block', - 'sink': 'gr_sync_block', - 'source': 'gr_sync_block', - 'decimator': 'gr_sync_decimator', - 'interpolator': 'gr_sync_interpolator', - 'general': 'gr_block', - 'tagged_stream': 'gr_tagged_stream_block', - 'hier': 'gr_hier_block2', + 'sync': 'sync_block', + 'sink': 'sync_block', + 'source': 'sync_block', + 'decimator': 'sync_decimator', + 'interpolator': 'sync_interpolator', + 'general': 'block', + 'tagged_stream': 'tagged_stream_block', + 'hier': 'hier_block2', 'noblock': ''} searchList['str_to_fancyc_comment'] = str_to_fancyc_comment searchList['str_to_python_comment'] = str_to_python_comment diff --git a/gr-utils/python/modtool/gr-newmod/swig/CMakeLists.txt b/gr-utils/python/modtool/gr-newmod/swig/CMakeLists.txt index bfcf3d521f..b9925ea06f 100644 --- a/gr-utils/python/modtool/gr-newmod/swig/CMakeLists.txt +++ b/gr-utils/python/modtool/gr-newmod/swig/CMakeLists.txt @@ -32,7 +32,7 @@ include(GrPython) # Setup swig generation ######################################################################## foreach(incdir ${GNURADIO_RUNTIME_INCLUDE_DIRS}) - list(APPEND GR_SWIG_INCLUDE_DIRS ${incdir}/swig) + list(APPEND GR_SWIG_INCLUDE_DIRS ${incdir}/gnuradio/swig) endforeach(incdir) set(GR_SWIG_LIBRARIES gnuradio-howto) diff --git a/gr-utils/python/modtool/parser_cc_block.py b/gr-utils/python/modtool/parser_cc_block.py index 0d1d75f29a..703522c8fb 100644 --- a/gr-utils/python/modtool/parser_cc_block.py +++ b/gr-utils/python/modtool/parser_cc_block.py @@ -41,7 +41,7 @@ class ParserCCBlock(object): """ From a type identifier, returns the data type. E.g., for sizeof(int), it will return 'int'. Returns a list! """ - if 'gr_make_iosignaturev' in iosigcall: + if 'gr::io_signature::makev' in iosigcall: print 'tbi' raise ValueError return {'type': [_typestr_to_iotype(x) for x in typestr.split(',')], @@ -72,9 +72,9 @@ class ParserCCBlock(object): elif len(vlen_parts) > 1: return '*'.join(vlen_parts).strip() iosig = {} - iosig_regex = '(?P<incall>gr_make_io_signature[23v]?)\s*\(\s*(?P<inmin>[^,]+),\s*(?P<inmax>[^,]+),' + \ + iosig_regex = '(?P<incall>gr::io_signature::make[23v]?)\s*\(\s*(?P<inmin>[^,]+),\s*(?P<inmax>[^,]+),' + \ '\s*(?P<intype>(\([^\)]*\)|[^)])+)\),\s*' + \ - '(?P<outcall>gr_make_io_signature[23v]?)\s*\(\s*(?P<outmin>[^,]+),\s*(?P<outmax>[^,]+),' + \ + '(?P<outcall>gr::io_signature::make[23v]?)\s*\(\s*(?P<outmin>[^,]+),\s*(?P<outmax>[^,]+),' + \ '\s*(?P<outtype>(\([^\)]*\)|[^)])+)\)' iosig_match = re.compile(iosig_regex, re.MULTILINE).search(self.code_cc) try: diff --git a/gr-utils/python/modtool/templates.py b/gr-utils/python/modtool/templates.py index 4f4469951c..0b6176a513 100644 --- a/gr-utils/python/modtool/templates.py +++ b/gr-utils/python/modtool/templates.py @@ -105,7 +105,7 @@ ${str_to_fancyc_comment($license)} \#include "config.h" \#endif -\#include <gr_io_signature.h> +\#include <gnuradio/io_signature.h> #if $blocktype == 'noblock' \#include <${modname}/${blockname}.h> #else @@ -153,9 +153,9 @@ namespace gr { * The private constructor */ ${blockname}_impl::${blockname}_impl(${strip_default_values($arglist)}) - : ${grblocktype}("${blockname}", - gr_make_io_signature($inputsig), - gr_make_io_signature($outputsig)$decimation) + : gr::${grblocktype}("${blockname}", + gr::io_signature::make($inputsig), + gr::io_signature::make($outputsig)$decimation) #if $blocktype == 'hier' { connect(self(), 0, d_firstblock, 0); @@ -251,7 +251,7 @@ ${str_to_fancyc_comment($license)} \#define INCLUDED_${modname.upper()}_${blockname.upper()}_H \#include <${modname}/api.h> -\#include <${grblocktype}.h> +\#include <gnuradio/${grblocktype}.h> namespace gr { namespace ${modname} { @@ -273,7 +273,7 @@ namespace gr { * \ingroup ${modname} * */ - class ${modname.upper()}_API ${blockname} : virtual public $grblocktype + class ${modname.upper()}_API ${blockname} : virtual public gr::$grblocktype { public: typedef boost::shared_ptr<${blockname}> sptr; @@ -297,7 +297,7 @@ namespace gr { ''' -# Python block (from grextras!) +# Python block Templates['block_python'] = '''\#!/usr/bin/env python ${str_to_python_comment($license)} # @@ -587,7 +587,7 @@ ${modname}_make_${blockname} (${strip_default_values($arglist)}) * The private constructor */ ${modname}_${blockname}::${modname}_${blockname} (${strip_default_values($arglist)}) - : ${grblocktype} ("${blockname}", + : gr_${grblocktype} ("${blockname}", gr_make_io_signature($inputsig), gr_make_io_signature($outputsig)$decimation) { @@ -672,7 +672,7 @@ class ${modname.upper()}_API $blockname }; #else -\#include <${grblocktype}.h> +\#include <gr_${grblocktype}.h> class ${modname}_${blockname}; @@ -685,7 +685,7 @@ ${modname.upper()}_API ${modname}_${blockname}_sptr ${modname}_make_${blockname} * \ingroup ${modname} * */ -class ${modname.upper()}_API ${modname}_${blockname} : public $grblocktype +class ${modname.upper()}_API ${modname}_${blockname} : public gr_$grblocktype { private: friend ${modname.upper()}_API ${modname}_${blockname}_sptr ${modname}_make_${blockname} (${strip_default_values($arglist)}); |