diff options
author | Josh Blum | 2011-08-17 12:30:09 -0700 |
---|---|---|
committer | Josh Blum | 2011-08-17 12:30:09 -0700 |
commit | fb2f45cdddc41d5aba177204aa419cea3a0aea49 (patch) | |
tree | e2d3195b9782e047518fe1ea9f848346b480cfd4 /gr-howto-write-a-block-cmake/swig | |
parent | e6ed4fa7bb0d253adbf0cf2ae4da7c301b3c971f (diff) | |
parent | 626018eb037808cdc32b5eb1907ae9d5f80d3e55 (diff) | |
download | gnuradio-fb2f45cdddc41d5aba177204aa419cea3a0aea49.tar.gz gnuradio-fb2f45cdddc41d5aba177204aa419cea3a0aea49.tar.bz2 gnuradio-fb2f45cdddc41d5aba177204aa419cea3a0aea49.zip |
Merge branch 'next' into digital
Diffstat (limited to 'gr-howto-write-a-block-cmake/swig')
-rw-r--r-- | gr-howto-write-a-block-cmake/swig/CMakeLists.txt | 55 | ||||
-rw-r--r-- | gr-howto-write-a-block-cmake/swig/howto_square2_ff.i | 9 | ||||
-rw-r--r-- | gr-howto-write-a-block-cmake/swig/howto_square_ff.i | 16 | ||||
-rw-r--r-- | gr-howto-write-a-block-cmake/swig/howto_swig.i | 21 |
4 files changed, 101 insertions, 0 deletions
diff --git a/gr-howto-write-a-block-cmake/swig/CMakeLists.txt b/gr-howto-write-a-block-cmake/swig/CMakeLists.txt new file mode 100644 index 000000000..40f2b1051 --- /dev/null +++ b/gr-howto-write-a-block-cmake/swig/CMakeLists.txt @@ -0,0 +1,55 @@ +# Copyright 2011 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 3, 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 swig generation macros +######################################################################## +FIND_PACKAGE(SWIG) +FIND_PACKAGE(PythonLibs) +IF(NOT SWIG_FOUND OR NOT PYTHONLIBS_FOUND) + RETURN() +ENDIF() +INCLUDE(GrSwig) + +######################################################################## +# Setup swig generation +######################################################################## +FOREACH(incdir ${GNURADIO_CORE_INCLUDE_DIRS}) + LIST(APPEND GR_SWIG_INCLUDE_DIRS ${incdir}/swig) +ENDFOREACH(incdir) + +SET(GR_SWIG_LIBRARIES gnuradio-howto) + +GR_SWIG_MAKE(howto_swig howto_swig.i) + +######################################################################## +# Install the build swig module +######################################################################## +GR_SWIG_INSTALL(TARGETS howto_swig DESTINATION ${GR_PYTHON_DIR}/howto) + +######################################################################## +# Install swig .i files for development +######################################################################## +INSTALL( + FILES + howto_swig.i + howto_square_ff.i + howto_square2_ff.i + DESTINATION include/howto/swig +) diff --git a/gr-howto-write-a-block-cmake/swig/howto_square2_ff.i b/gr-howto-write-a-block-cmake/swig/howto_square2_ff.i new file mode 100644 index 000000000..683a93d61 --- /dev/null +++ b/gr-howto-write-a-block-cmake/swig/howto_square2_ff.i @@ -0,0 +1,9 @@ +GR_SWIG_BLOCK_MAGIC(howto,square2_ff); + +howto_square2_ff_sptr howto_make_square2_ff (); + +class howto_square2_ff : public gr_sync_block +{ +private: + howto_square2_ff (); +}; diff --git a/gr-howto-write-a-block-cmake/swig/howto_square_ff.i b/gr-howto-write-a-block-cmake/swig/howto_square_ff.i new file mode 100644 index 000000000..f8ae76986 --- /dev/null +++ b/gr-howto-write-a-block-cmake/swig/howto_square_ff.i @@ -0,0 +1,16 @@ +/* + * First arg is the package prefix. + * Second arg is the name of the class minus the prefix. + * + * This does some behind-the-scenes magic so we can + * access howto_square_ff from python as howto.square_ff + */ +GR_SWIG_BLOCK_MAGIC(howto,square_ff); + +howto_square_ff_sptr howto_make_square_ff (); + +class howto_square_ff : public gr_block +{ +private: + howto_square_ff (); +}; diff --git a/gr-howto-write-a-block-cmake/swig/howto_swig.i b/gr-howto-write-a-block-cmake/swig/howto_swig.i new file mode 100644 index 000000000..d0bbcdc11 --- /dev/null +++ b/gr-howto-write-a-block-cmake/swig/howto_swig.i @@ -0,0 +1,21 @@ +/* -*- c++ -*- */ + +%include "gnuradio.i" // the common stuff + +%{ +#include "howto_square_ff.h" +#include "howto_square2_ff.h" +%} + +%include "howto_square_ff.i" +%include "howto_square2_ff.i" + +#if SWIGGUILE +%scheme %{ +(load-extension-global "libguile-gnuradio-howto_swig" "scm_init_gnuradio_howto_swig_module") +%} + +%goops %{ +(use-modules (gnuradio gnuradio_core_runtime)) +%} +#endif |