From 00ba420478fb0e328fa93e795ea0c80e7de63534 Mon Sep 17 00:00:00 2001 From: Eric Blossom Date: Fri, 22 Oct 2010 15:14:57 -0700 Subject: Move #ifdef SWIGPYTHON outside of %define There's apparently a time-of-evaluation issue here. The docs say they reevaluate the contents of %define at expansion time. Apparently SWIGPYTHON et al. aren't defined in whatever scope that may be. --- gnuradio-core/src/lib/swig/gr_swig_block_magic.i | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'gnuradio-core/src') diff --git a/gnuradio-core/src/lib/swig/gr_swig_block_magic.i b/gnuradio-core/src/lib/swig/gr_swig_block_magic.i index 99e01b0ef..e2ddaeedd 100644 --- a/gnuradio-core/src/lib/swig/gr_swig_block_magic.i +++ b/gnuradio-core/src/lib/swig/gr_swig_block_magic.i @@ -24,22 +24,27 @@ _GR_SWIG_BLOCK_MAGIC_HELPER(PKG, PKG ## _ ## BASE_NAME, BASE_NAME) %enddef -%define _GR_SWIG_BLOCK_MAGIC_HELPER(PKG, NAME, BASE_NAME) +%define _GR_SWIG_BLOCK_MAGIC_HELPER_COMMON(PKG, NAME, BASE_NAME) class NAME; typedef boost::shared_ptr<NAME> NAME ## _sptr; %template(NAME ## _sptr) boost::shared_ptr<NAME>; %rename(BASE_NAME) PKG ## _make_ ## BASE_NAME; +%ignore NAME; +%enddef #ifdef SWIGPYTHON +%define _GR_SWIG_BLOCK_MAGIC_HELPER(PKG, NAME, BASE_NAME) +_GR_SWIG_BLOCK_MAGIC_HELPER_COMMON(PKG, NAME, BASE_NAME) %pythoncode %{ NAME ## _sptr.block = lambda self: NAME ## _block (self) NAME ## _sptr.__repr__ = lambda self: "<gr_block %s (%d)>" % (self.name(), self.unique_id ()) %} -#endif - -%ignore NAME; %enddef +#endif #ifdef SWIGGUILE +%define _GR_SWIG_BLOCK_MAGIC_HELPER(PKG, NAME, BASE_NAME) +_GR_SWIG_BLOCK_MAGIC_HELPER_COMMON(PKG, NAME, BASE_NAME) #warning "gr_block_sptr needs to be implemented!" +%enddef #endif -- cgit