diff options
-rw-r--r-- | cmake/Modules/GrPlatform.cmake | 8 | ||||
-rw-r--r-- | gnuradio-runtime/lib/pmt/pmt.cc | 12 | ||||
-rw-r--r-- | gnuradio-runtime/python/gnuradio/ctrlport/gr-perf-monitorx | 2 | ||||
-rw-r--r-- | gr-digital/swig/CMakeLists.txt | 83 | ||||
-rw-r--r-- | gr-digital/swig/digital_swig.i | 287 | ||||
-rw-r--r-- | gr-digital/swig/digital_swig.py.in | 24 | ||||
-rw-r--r-- | gr-digital/swig/digital_swig0.i | 139 | ||||
-rw-r--r-- | gr-digital/swig/digital_swig1.i | 120 | ||||
-rw-r--r-- | gr-digital/swig/digital_swig2.i | 112 | ||||
-rw-r--r-- | gr-trellis/swig/CMakeLists.txt | 63 | ||||
-rw-r--r-- | gr-trellis/swig/trellis_swig.py.in | 23 | ||||
-rw-r--r-- | gr-trellis/swig/trellis_swig0.i | 117 | ||||
-rw-r--r-- | gr-trellis/swig/trellis_swig1.i (renamed from gr-trellis/swig/trellis_swig.i) | 83 | ||||
-rw-r--r-- | gr-utils/python/modtool/gr-newmod/cmake/Modules/GrPlatform.cmake | 8 |
14 files changed, 664 insertions, 417 deletions
diff --git a/cmake/Modules/GrPlatform.cmake b/cmake/Modules/GrPlatform.cmake index fbbea5fee0..00a53d04d9 100644 --- a/cmake/Modules/GrPlatform.cmake +++ b/cmake/Modules/GrPlatform.cmake @@ -51,4 +51,12 @@ endif() if(NOT DEFINED LIB_SUFFIX AND LIB64_CONVENTION AND CMAKE_SYSTEM_PROCESSOR MATCHES "64$") set(LIB_SUFFIX 64) endif() + +######################################################################## +# Detect /lib versus /lib64 +######################################################################## +if (CMAKE_INSTALL_LIBDIR MATCHES lib64) + set(LIB_SUFFIX 64) +endif() + set(LIB_SUFFIX ${LIB_SUFFIX} CACHE STRING "lib directory suffix") diff --git a/gnuradio-runtime/lib/pmt/pmt.cc b/gnuradio-runtime/lib/pmt/pmt.cc index 51fb86e58c..e09452e60e 100644 --- a/gnuradio-runtime/lib/pmt/pmt.cc +++ b/gnuradio-runtime/lib/pmt/pmt.cc @@ -281,7 +281,17 @@ string_to_symbol(const std::string &name) if (name == _symbol(sym)->name()) return sym; // Yes. Return it } - + + // Lock the table on insert for thread safety: + static boost::mutex thread_safety; + boost::mutex::scoped_lock lock(thread_safety); + // Re-do the search in case another thread inserted this symbol into the table + // before we got the lock + for (pmt_t sym = (*get_symbol_hash_table())[hash]; sym; sym = _symbol(sym)->next()){ + if (name == _symbol(sym)->name()) + return sym; // Yes. Return it + } + // Nope. Make a new one. pmt_t sym = pmt_t(new pmt_symbol(name)); _symbol(sym)->set_next((*get_symbol_hash_table())[hash]); diff --git a/gnuradio-runtime/python/gnuradio/ctrlport/gr-perf-monitorx b/gnuradio-runtime/python/gnuradio/ctrlport/gr-perf-monitorx index cf67584235..15a2153a0f 100644 --- a/gnuradio-runtime/python/gnuradio/ctrlport/gr-perf-monitorx +++ b/gnuradio-runtime/python/gnuradio/ctrlport/gr-perf-monitorx @@ -46,7 +46,7 @@ except ImportError: "Please check that they are installed and try again." sys.exit(1) -from PyQt4 import QtCore,Qt,Qwt5 +from PyQt4 import QtCore,Qt import PyQt4.QtGui as QtGui import itertools diff --git a/gr-digital/swig/CMakeLists.txt b/gr-digital/swig/CMakeLists.txt index 0f1138ff30..658ac46ed6 100644 --- a/gr-digital/swig/CMakeLists.txt +++ b/gr-digital/swig/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright 2011,2012 Free Software Foundation, Inc. +# Copyright 2011-2016 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -24,45 +24,70 @@ include(GrPython) include(GrSwig) set(GR_SWIG_INCLUDE_DIRS - ${GR_DIGITAL_INCLUDE_DIRS} - ${GR_BLOCKS_INCLUDE_DIRS} - ${GR_ANALOG_INCLUDE_DIRS} - ${GR_FFT_INCLUDE_DIRS} - ${GR_FILTER_INCLUDE_DIRS} - ${GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS} - ${VOLK_INCLUDE_DIRS} - ${Boost_INCLUDE_DIRS} + ${GR_DIGITAL_INCLUDE_DIRS} + ${GR_BLOCKS_INCLUDE_DIRS} + ${GR_ANALOG_INCLUDE_DIRS} + ${GR_FFT_INCLUDE_DIRS} + ${GR_FILTER_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS} + ${VOLK_INCLUDE_DIRS} + ${Boost_INCLUDE_DIRS} ) if(ENABLE_GR_CTRLPORT) list(APPEND GR_SWIG_FLAGS "-DGR_CTRLPORT") endif(ENABLE_GR_CTRLPORT) -# Setup swig docs to depend on includes and pull in from build directory -set(GR_SWIG_TARGET_DEPS digital_generated_includes) -set(GR_SWIG_DOC_FILE ${CMAKE_CURRENT_BINARY_DIR}/digital_swig_doc.i) -set(GR_SWIG_DOC_DIRS +configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/digital_swig.py.in + ${CMAKE_CURRENT_BINARY_DIR}/digital_swig.py +@ONLY) + +# We split up the swig files into multiple sections to minimize the +# memory overhead. If a .i file grows too large, create a new file +# named 'digital_swigN.i' and add it to this list. +# +# Also add the line "from swig_blocksN import *" line to +# digital_swig.py.in. +set(GR_SWIG_BLOCK_IFILES + digital_swig0 + digital_swig1 + digital_swig2 +) + +foreach(swigfile ${GR_SWIG_BLOCK_IFILES}) + set(GR_SWIG_DOC_FILE ${CMAKE_CURRENT_BINARY_DIR}/${swigfile}_doc.i) + set(GR_SWIG_DOC_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/../include/gnuradio/digital ${CMAKE_CURRENT_BINARY_DIR}/../include/gnuradio/digital -) -set(GR_SWIG_DOCS_TARGET_DEPS runtime_swig_swig_doc) + ) + set(GR_SWIG_DOCS_TARGET_DEPS runtime_swig_swig_doc) + set(GR_SWIG_TARGET_DEPS digital_generated_includes) + set(GR_SWIG_LIBRARIES gnuradio-digital + gnuradio-filter gnuradio-analog gnuradio-blocks) + GR_SWIG_MAKE(${swigfile} ${swigfile}.i) -set(GR_SWIG_LIBRARIES gnuradio-digital - gnuradio-filter gnuradio-analog gnuradio-blocks) + GR_SWIG_INSTALL( + TARGETS ${swigfile} + DESTINATION ${GR_PYTHON_DIR}/gnuradio/digital + ) -GR_SWIG_MAKE(digital_swig digital_swig.i) + list(APPEND SWIGFILES ${swigfile}.i) + list(APPEND SWIGDOCFILES ${CMAKE_CURRENT_BINARY_DIR}/${swigfile}_doc.i) +endforeach(swigfile) -GR_SWIG_INSTALL( - TARGETS digital_swig - DESTINATION ${GR_PYTHON_DIR}/gnuradio/digital +install( + FILES + ${SWIGFILES} + constellation.i + ofdm_equalizer.i + packet_header.i + ${SWIGDOCFILES} + DESTINATION ${GR_INCLUDE_DIR}/gnuradio/swig ) -install( - FILES - digital_swig.i - constellation.i - ofdm_equalizer.i - packet_header.i - ${CMAKE_CURRENT_BINARY_DIR}/digital_swig_doc.i - DESTINATION ${GR_INCLUDE_DIR}/gnuradio/swig +# Install the Python file that pulls in the swig built files. +GR_PYTHON_INSTALL( + FILES ${CMAKE_CURRENT_BINARY_DIR}/digital_swig.py + DESTINATION ${GR_PYTHON_DIR}/gnuradio/digital ) diff --git a/gr-digital/swig/digital_swig.i b/gr-digital/swig/digital_swig.i deleted file mode 100644 index 6039554623..0000000000 --- a/gr-digital/swig/digital_swig.i +++ /dev/null @@ -1,287 +0,0 @@ -/* - * Copyright 2011-2016 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. - */ - -#define DIGITAL_API -#define ANALOG_API -#define BLOCKS_API - -%include "gnuradio.i" -%include "stdint.i" - -//load generated python docstrings -%include "digital_swig_doc.i" - -%include "gnuradio/analog/cpm.h" - -%{ -#include <gnuradio/blocks/control_loop.h> -%} -%include <gnuradio/blocks/control_loop.h> - -%{ -#include "gnuradio/digital/glfsr.h" -#include "gnuradio/digital/additive_scrambler_bb.h" -#include "gnuradio/digital/binary_slicer_fb.h" -#include "gnuradio/digital/burst_shaper_cc.h" -#include "gnuradio/digital/burst_shaper_ff.h" -#include "gnuradio/digital/chunks_to_symbols_bc.h" -#include "gnuradio/digital/chunks_to_symbols_bf.h" -#include "gnuradio/digital/chunks_to_symbols_ic.h" -#include "gnuradio/digital/chunks_to_symbols_if.h" -#include "gnuradio/digital/chunks_to_symbols_sc.h" -#include "gnuradio/digital/chunks_to_symbols_sf.h" -#include "gnuradio/digital/clock_recovery_mm_cc.h" -#include "gnuradio/digital/clock_recovery_mm_ff.h" -#include "gnuradio/digital/cma_equalizer_cc.h" -#include "gnuradio/digital/constellation.h" -#include "gnuradio/digital/constellation_decoder_cb.h" -#include "gnuradio/digital/constellation_receiver_cb.h" -#include "gnuradio/digital/constellation_soft_decoder_cf.h" -#include "gnuradio/digital/corr_est_cc.h" -#include "gnuradio/digital/correlate_access_code_bb.h" -#include "gnuradio/digital/correlate_access_code_tag_bb.h" -#include "gnuradio/digital/correlate_access_code_bb_ts.h" -#include "gnuradio/digital/correlate_access_code_ff_ts.h" -#include "gnuradio/digital/costas_loop_cc.h" -#include "gnuradio/digital/cpmmod_bc.h" -#include "gnuradio/digital/crc32.h" -#include "gnuradio/digital/crc32_bb.h" -#include "gnuradio/digital/crc32_async_bb.h" -#include "gnuradio/digital/descrambler_bb.h" -#include "gnuradio/digital/diff_decoder_bb.h" -#include "gnuradio/digital/diff_encoder_bb.h" -#include "gnuradio/digital/diff_phasor_cc.h" -#include "gnuradio/digital/fll_band_edge_cc.h" -#include "gnuradio/digital/framer_sink_1.h" -#include "gnuradio/digital/glfsr_source_b.h" -#include "gnuradio/digital/glfsr_source_f.h" -#include "gnuradio/digital/hdlc_deframer_bp.h" -#include "gnuradio/digital/hdlc_framer_pb.h" -#include "gnuradio/digital/header_payload_demux.h" -#include "gnuradio/digital/kurtotic_equalizer_cc.h" -#include "gnuradio/digital/lfsr.h" -#include "gnuradio/digital/lms_dd_equalizer_cc.h" -#include "gnuradio/digital/map_bb.h" -#include "gnuradio/digital/metric_type.h" -#include "gnuradio/digital/modulate_vector.h" -#include "gnuradio/digital/mpsk_receiver_cc.h" -#include "gnuradio/digital/mpsk_snr_est.h" -#include "gnuradio/digital/mpsk_snr_est_cc.h" -#include "gnuradio/digital/msk_timing_recovery_cc.h" -#include "gnuradio/digital/ofdm_carrier_allocator_cvc.h" -#include "gnuradio/digital/ofdm_chanest_vcvc.h" -#include "gnuradio/digital/ofdm_cyclic_prefixer.h" -#include "gnuradio/digital/ofdm_equalizer_base.h" -#include "gnuradio/digital/ofdm_equalizer_simpledfe.h" -#include "gnuradio/digital/ofdm_equalizer_static.h" -#include "gnuradio/digital/ofdm_frame_acquisition.h" -#include "gnuradio/digital/ofdm_frame_equalizer_vcvc.h" -#include "gnuradio/digital/ofdm_frame_sink.h" -#include "gnuradio/digital/ofdm_insert_preamble.h" -#include "gnuradio/digital/ofdm_mapper_bcv.h" -#include "gnuradio/digital/ofdm_sampler.h" -#include "gnuradio/digital/ofdm_serializer_vcc.h" -#include "gnuradio/digital/ofdm_sync_sc_cfb.h" -#include "gnuradio/digital/header_format_base.h" -#include "gnuradio/digital/header_format_default.h" -#include "gnuradio/digital/header_format_counter.h" -#include "gnuradio/digital/header_format_crc.h" -#include "gnuradio/digital/header_format_ofdm.h" -#include "gnuradio/digital/protocol_formatter_async.h" -#include "gnuradio/digital/protocol_formatter_bb.h" -#include "gnuradio/digital/protocol_parser_b.h" -#include "gnuradio/digital/packet_header_default.h" -#include "gnuradio/digital/packet_header_ofdm.h" -#include "gnuradio/digital/packet_headergenerator_bb.h" -#include "gnuradio/digital/packet_headerparser_b.h" -#include "gnuradio/digital/packet_sink.h" -#include "gnuradio/digital/pfb_clock_sync_ccf.h" -#include "gnuradio/digital/pfb_clock_sync_fff.h" -#include "gnuradio/digital/pn_correlator_cc.h" -#include "gnuradio/digital/probe_density_b.h" -#include "gnuradio/digital/probe_mpsk_snr_est_c.h" -#include "gnuradio/digital/scrambler_bb.h" -#include "gnuradio/digital/simple_correlator.h" -#include "gnuradio/digital/simple_framer.h" -#include "gnuradio/digital/ofdm_serializer_vcc.h" -#include "gnuradio/digital/packet_headerparser_b.h" -#include "gnuradio/digital/header_payload_demux.h" -%} - -%include "gnuradio/digital/glfsr.h" -%include "gnuradio/digital/additive_scrambler_bb.h" -%include "gnuradio/digital/binary_slicer_fb.h" -%include "gnuradio/digital/burst_shaper_cc.h" -%include "gnuradio/digital/burst_shaper_ff.h" -%include "gnuradio/digital/chunks_to_symbols_bc.h" -%include "gnuradio/digital/chunks_to_symbols_bf.h" -%include "gnuradio/digital/chunks_to_symbols_ic.h" -%include "gnuradio/digital/chunks_to_symbols_if.h" -%include "gnuradio/digital/chunks_to_symbols_sc.h" -%include "gnuradio/digital/chunks_to_symbols_sf.h" -%include "gnuradio/digital/clock_recovery_mm_cc.h" -%include "gnuradio/digital/clock_recovery_mm_ff.h" -%include "gnuradio/digital/cma_equalizer_cc.h" -%include "gnuradio/digital/constellation.h" -%include "gnuradio/digital/constellation_decoder_cb.h" -%include "gnuradio/digital/constellation_receiver_cb.h" -%include "gnuradio/digital/constellation_soft_decoder_cf.h" -%include "gnuradio/digital/corr_est_cc.h" -%include "gnuradio/digital/correlate_access_code_bb.h" -%include "gnuradio/digital/correlate_access_code_tag_bb.h" -%include "gnuradio/digital/correlate_access_code_bb_ts.h" -%include "gnuradio/digital/correlate_access_code_ff_ts.h" -%include "gnuradio/digital/costas_loop_cc.h" -%include "gnuradio/digital/cpmmod_bc.h" -%include "gnuradio/digital/crc32.h" -%include "gnuradio/digital/crc32_bb.h" -%include "gnuradio/digital/crc32_async_bb.h" -%include "gnuradio/digital/descrambler_bb.h" -%include "gnuradio/digital/diff_decoder_bb.h" -%include "gnuradio/digital/diff_encoder_bb.h" -%include "gnuradio/digital/diff_phasor_cc.h" -%include "gnuradio/digital/fll_band_edge_cc.h" -%include "gnuradio/digital/framer_sink_1.h" -%include "gnuradio/digital/glfsr_source_b.h" -%include "gnuradio/digital/glfsr_source_f.h" -%include "gnuradio/digital/hdlc_deframer_bp.h" -%include "gnuradio/digital/hdlc_framer_pb.h" -%include "gnuradio/digital/header_payload_demux.h" -%include "gnuradio/digital/kurtotic_equalizer_cc.h" -%include "gnuradio/digital/lfsr.h" -%include "gnuradio/digital/lms_dd_equalizer_cc.h" -%include "gnuradio/digital/map_bb.h" -%include "gnuradio/digital/metric_type.h" -%include "gnuradio/digital/modulate_vector.h" -%include "gnuradio/digital/mpsk_receiver_cc.h" -%include "gnuradio/digital/mpsk_snr_est.h" -%include "gnuradio/digital/mpsk_snr_est_cc.h" -%include "gnuradio/digital/msk_timing_recovery_cc.h" -%include "gnuradio/digital/ofdm_carrier_allocator_cvc.h" -%include "gnuradio/digital/ofdm_chanest_vcvc.h" -%include "gnuradio/digital/ofdm_cyclic_prefixer.h" -%include "gnuradio/digital/ofdm_equalizer_base.h" -%include "gnuradio/digital/ofdm_equalizer_simpledfe.h" -%include "gnuradio/digital/ofdm_equalizer_static.h" -%include "gnuradio/digital/ofdm_frame_acquisition.h" -%include "gnuradio/digital/ofdm_frame_equalizer_vcvc.h" -%include "gnuradio/digital/ofdm_frame_sink.h" -%include "gnuradio/digital/ofdm_insert_preamble.h" -%include "gnuradio/digital/ofdm_mapper_bcv.h" -%include "gnuradio/digital/ofdm_sampler.h" -%include "gnuradio/digital/ofdm_serializer_vcc.h" -%include "gnuradio/digital/ofdm_sync_sc_cfb.h" -%include "gnuradio/digital/header_format_base.h" -%include "gnuradio/digital/header_format_default.h" -%include "gnuradio/digital/header_format_counter.h" -%include "gnuradio/digital/header_format_crc.h" -%include "gnuradio/digital/header_format_ofdm.h" -%include "gnuradio/digital/protocol_formatter_async.h" -%include "gnuradio/digital/protocol_formatter_bb.h" -%include "gnuradio/digital/protocol_parser_b.h" -%include "gnuradio/digital/packet_header_default.h" -%include "gnuradio/digital/packet_header_ofdm.h" -%include "gnuradio/digital/packet_headergenerator_bb.h" -%include "gnuradio/digital/packet_headerparser_b.h" -%include "gnuradio/digital/packet_sink.h" -%include "gnuradio/digital/pfb_clock_sync_ccf.h" -%include "gnuradio/digital/pfb_clock_sync_fff.h" -%include "gnuradio/digital/pn_correlator_cc.h" -%include "gnuradio/digital/probe_density_b.h" -%include "gnuradio/digital/probe_mpsk_snr_est_c.h" -%include "gnuradio/digital/scrambler_bb.h" -%include "gnuradio/digital/simple_correlator.h" -%include "gnuradio/digital/simple_framer.h" - -GR_SWIG_BLOCK_MAGIC2(digital, additive_scrambler_bb); -GR_SWIG_BLOCK_MAGIC2(digital, binary_slicer_fb); -GR_SWIG_BLOCK_MAGIC2(digital, burst_shaper_cc); -GR_SWIG_BLOCK_MAGIC2(digital, burst_shaper_ff); -GR_SWIG_BLOCK_MAGIC2(digital, chunks_to_symbols_bc); -GR_SWIG_BLOCK_MAGIC2(digital, chunks_to_symbols_bf); -GR_SWIG_BLOCK_MAGIC2(digital, chunks_to_symbols_ic); -GR_SWIG_BLOCK_MAGIC2(digital, chunks_to_symbols_if); -GR_SWIG_BLOCK_MAGIC2(digital, chunks_to_symbols_sc); -GR_SWIG_BLOCK_MAGIC2(digital, chunks_to_symbols_sf); -GR_SWIG_BLOCK_MAGIC2(digital, clock_recovery_mm_cc); -GR_SWIG_BLOCK_MAGIC2(digital, clock_recovery_mm_ff); -GR_SWIG_BLOCK_MAGIC2(digital, cma_equalizer_cc); -GR_SWIG_BLOCK_MAGIC2(digital, constellation_decoder_cb); -GR_SWIG_BLOCK_MAGIC2(digital, constellation_receiver_cb); -GR_SWIG_BLOCK_MAGIC2(digital, constellation_soft_decoder_cf); -GR_SWIG_BLOCK_MAGIC2(digital, corr_est_cc); -GR_SWIG_BLOCK_MAGIC2(digital, correlate_access_code_bb); -GR_SWIG_BLOCK_MAGIC2(digital, correlate_access_code_tag_bb); -GR_SWIG_BLOCK_MAGIC2(digital, correlate_access_code_bb_ts); -GR_SWIG_BLOCK_MAGIC2(digital, correlate_access_code_ff_ts); -GR_SWIG_BLOCK_MAGIC2(digital, costas_loop_cc); -GR_SWIG_BLOCK_MAGIC2(digital, crc32_bb); -GR_SWIG_BLOCK_MAGIC2(digital, crc32_async_bb); -GR_SWIG_BLOCK_MAGIC2(digital, cpmmod_bc); -GR_SWIG_BLOCK_MAGIC2(digital, descrambler_bb); -GR_SWIG_BLOCK_MAGIC2(digital, diff_decoder_bb); -GR_SWIG_BLOCK_MAGIC2(digital, diff_encoder_bb); -GR_SWIG_BLOCK_MAGIC2(digital, diff_phasor_cc); -GR_SWIG_BLOCK_MAGIC2(digital, fll_band_edge_cc); -GR_SWIG_BLOCK_MAGIC2(digital, framer_sink_1); -GR_SWIG_BLOCK_MAGIC2(digital, glfsr_source_b); -GR_SWIG_BLOCK_MAGIC2(digital, glfsr_source_f); -GR_SWIG_BLOCK_MAGIC2(digital, hdlc_deframer_bp); -GR_SWIG_BLOCK_MAGIC2(digital, hdlc_framer_pb); -GR_SWIG_BLOCK_MAGIC2(digital, header_payload_demux); -GR_SWIG_BLOCK_MAGIC2(digital, kurtotic_equalizer_cc); -GR_SWIG_BLOCK_MAGIC2(digital, lms_dd_equalizer_cc); -GR_SWIG_BLOCK_MAGIC2(digital, map_bb); -GR_SWIG_BLOCK_MAGIC2(digital, mpsk_receiver_cc); -GR_SWIG_BLOCK_MAGIC2(digital, mpsk_snr_est_cc); -GR_SWIG_BLOCK_MAGIC2(digital, msk_timing_recovery_cc); -GR_SWIG_BLOCK_MAGIC2(digital, ofdm_carrier_allocator_cvc); -GR_SWIG_BLOCK_MAGIC2(digital, ofdm_chanest_vcvc); -GR_SWIG_BLOCK_MAGIC2(digital, ofdm_cyclic_prefixer); -GR_SWIG_BLOCK_MAGIC2(digital, ofdm_frame_acquisition); -GR_SWIG_BLOCK_MAGIC2(digital, ofdm_frame_equalizer_vcvc); -GR_SWIG_BLOCK_MAGIC2(digital, ofdm_frame_sink); -GR_SWIG_BLOCK_MAGIC2(digital, ofdm_insert_preamble); -GR_SWIG_BLOCK_MAGIC2(digital, ofdm_mapper_bcv); -GR_SWIG_BLOCK_MAGIC2(digital, ofdm_sampler); -GR_SWIG_BLOCK_MAGIC2(digital, ofdm_serializer_vcc); -GR_SWIG_BLOCK_MAGIC2(digital, ofdm_sync_sc_cfb); -GR_SWIG_BLOCK_MAGIC2(digital, protocol_formatter_async); -GR_SWIG_BLOCK_MAGIC2(digital, protocol_formatter_bb); -GR_SWIG_BLOCK_MAGIC2(digital, protocol_parser_b); -GR_SWIG_BLOCK_MAGIC2(digital, packet_headergenerator_bb); -GR_SWIG_BLOCK_MAGIC2(digital, packet_headerparser_b); -GR_SWIG_BLOCK_MAGIC2(digital, packet_sink); -GR_SWIG_BLOCK_MAGIC2(digital, pfb_clock_sync_ccf); -GR_SWIG_BLOCK_MAGIC2(digital, pfb_clock_sync_fff); -GR_SWIG_BLOCK_MAGIC2(digital, pn_correlator_cc); -GR_SWIG_BLOCK_MAGIC2(digital, probe_density_b); -GR_SWIG_BLOCK_MAGIC2(digital, probe_mpsk_snr_est_c); -GR_SWIG_BLOCK_MAGIC2(digital, scrambler_bb); -GR_SWIG_BLOCK_MAGIC2(digital, simple_correlator); -GR_SWIG_BLOCK_MAGIC2(digital, simple_framer); - -GR_SWIG_BLOCK_MAGIC_FACTORY(digital, cpmmod_bc, gmskmod_bc); - -// Properly package up non-block objects -%include "constellation.i" -%include "packet_header.i" -%include "ofdm_equalizer.i" diff --git a/gr-digital/swig/digital_swig.py.in b/gr-digital/swig/digital_swig.py.in new file mode 100644 index 0000000000..d5d55a0f4e --- /dev/null +++ b/gr-digital/swig/digital_swig.py.in @@ -0,0 +1,24 @@ +# +# Copyright 2016 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. +# + +from digital_swig0 import * +from digital_swig1 import * +from digital_swig2 import * diff --git a/gr-digital/swig/digital_swig0.i b/gr-digital/swig/digital_swig0.i new file mode 100644 index 0000000000..2ca617e293 --- /dev/null +++ b/gr-digital/swig/digital_swig0.i @@ -0,0 +1,139 @@ +/* + * Copyright 2011-2016 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. + */ + +#define DIGITAL_API +#define ANALOG_API +#define BLOCKS_API + +%include "gnuradio.i" +%include "stdint.i" + +//load generated python docstrings +%include "digital_swig0_doc.i" + +%include "gnuradio/analog/cpm.h" + +%{ +#include <gnuradio/blocks/control_loop.h> +%} +%include <gnuradio/blocks/control_loop.h> + +%{ +#include "gnuradio/digital/binary_slicer_fb.h" +#include "gnuradio/digital/cma_equalizer_cc.h" +#include "gnuradio/digital/constellation.h" +#include "gnuradio/digital/constellation_decoder_cb.h" +#include "gnuradio/digital/constellation_receiver_cb.h" +#include "gnuradio/digital/constellation_soft_decoder_cf.h" +#include "gnuradio/digital/corr_est_cc.h" +#include "gnuradio/digital/correlate_access_code_bb.h" +#include "gnuradio/digital/correlate_access_code_tag_bb.h" +#include "gnuradio/digital/correlate_access_code_bb_ts.h" +#include "gnuradio/digital/correlate_access_code_ff_ts.h" +#include "gnuradio/digital/costas_loop_cc.h" +#include "gnuradio/digital/cpmmod_bc.h" +#include "gnuradio/digital/crc32.h" +#include "gnuradio/digital/crc32_bb.h" +#include "gnuradio/digital/crc32_async_bb.h" +#include "gnuradio/digital/descrambler_bb.h" +#include "gnuradio/digital/lms_dd_equalizer_cc.h" +#include "gnuradio/digital/ofdm_carrier_allocator_cvc.h" +#include "gnuradio/digital/ofdm_chanest_vcvc.h" +#include "gnuradio/digital/ofdm_cyclic_prefixer.h" +#include "gnuradio/digital/ofdm_equalizer_base.h" +#include "gnuradio/digital/ofdm_equalizer_simpledfe.h" +#include "gnuradio/digital/ofdm_equalizer_static.h" +#include "gnuradio/digital/ofdm_frame_acquisition.h" +#include "gnuradio/digital/ofdm_frame_equalizer_vcvc.h" +#include "gnuradio/digital/ofdm_frame_sink.h" +#include "gnuradio/digital/ofdm_insert_preamble.h" +#include "gnuradio/digital/ofdm_mapper_bcv.h" +#include "gnuradio/digital/ofdm_sampler.h" +#include "gnuradio/digital/ofdm_serializer_vcc.h" +#include "gnuradio/digital/ofdm_sync_sc_cfb.h" +%} + +%include "gnuradio/digital/binary_slicer_fb.h" +%include "gnuradio/digital/cma_equalizer_cc.h" +%include "gnuradio/digital/constellation.h" +%include "gnuradio/digital/constellation_decoder_cb.h" +%include "gnuradio/digital/constellation_receiver_cb.h" +%include "gnuradio/digital/constellation_soft_decoder_cf.h" +%include "gnuradio/digital/corr_est_cc.h" +%include "gnuradio/digital/correlate_access_code_bb.h" +%include "gnuradio/digital/correlate_access_code_tag_bb.h" +%include "gnuradio/digital/correlate_access_code_bb_ts.h" +%include "gnuradio/digital/correlate_access_code_ff_ts.h" +%include "gnuradio/digital/costas_loop_cc.h" +%include "gnuradio/digital/cpmmod_bc.h" +%include "gnuradio/digital/crc32.h" +%include "gnuradio/digital/crc32_bb.h" +%include "gnuradio/digital/crc32_async_bb.h" +%include "gnuradio/digital/descrambler_bb.h" +%include "gnuradio/digital/lms_dd_equalizer_cc.h" +%include "gnuradio/digital/ofdm_carrier_allocator_cvc.h" +%include "gnuradio/digital/ofdm_chanest_vcvc.h" +%include "gnuradio/digital/ofdm_cyclic_prefixer.h" +%include "gnuradio/digital/ofdm_equalizer_base.h" +%include "gnuradio/digital/ofdm_equalizer_simpledfe.h" +%include "gnuradio/digital/ofdm_equalizer_static.h" +%include "gnuradio/digital/ofdm_frame_acquisition.h" +%include "gnuradio/digital/ofdm_frame_equalizer_vcvc.h" +%include "gnuradio/digital/ofdm_frame_sink.h" +%include "gnuradio/digital/ofdm_insert_preamble.h" +%include "gnuradio/digital/ofdm_mapper_bcv.h" +%include "gnuradio/digital/ofdm_sampler.h" +%include "gnuradio/digital/ofdm_serializer_vcc.h" +%include "gnuradio/digital/ofdm_sync_sc_cfb.h" + +GR_SWIG_BLOCK_MAGIC2(digital, binary_slicer_fb); +GR_SWIG_BLOCK_MAGIC2(digital, cma_equalizer_cc); +GR_SWIG_BLOCK_MAGIC2(digital, constellation_decoder_cb); +GR_SWIG_BLOCK_MAGIC2(digital, constellation_receiver_cb); +GR_SWIG_BLOCK_MAGIC2(digital, constellation_soft_decoder_cf); +GR_SWIG_BLOCK_MAGIC2(digital, corr_est_cc); +GR_SWIG_BLOCK_MAGIC2(digital, correlate_access_code_bb); +GR_SWIG_BLOCK_MAGIC2(digital, correlate_access_code_tag_bb); +GR_SWIG_BLOCK_MAGIC2(digital, correlate_access_code_bb_ts); +GR_SWIG_BLOCK_MAGIC2(digital, correlate_access_code_ff_ts); +GR_SWIG_BLOCK_MAGIC2(digital, costas_loop_cc); +GR_SWIG_BLOCK_MAGIC2(digital, crc32_bb); +GR_SWIG_BLOCK_MAGIC2(digital, crc32_async_bb); +GR_SWIG_BLOCK_MAGIC2(digital, cpmmod_bc); +GR_SWIG_BLOCK_MAGIC2(digital, descrambler_bb); +GR_SWIG_BLOCK_MAGIC2(digital, lms_dd_equalizer_cc); +GR_SWIG_BLOCK_MAGIC2(digital, ofdm_carrier_allocator_cvc); +GR_SWIG_BLOCK_MAGIC2(digital, ofdm_chanest_vcvc); +GR_SWIG_BLOCK_MAGIC2(digital, ofdm_cyclic_prefixer); +GR_SWIG_BLOCK_MAGIC2(digital, ofdm_frame_acquisition); +GR_SWIG_BLOCK_MAGIC2(digital, ofdm_frame_equalizer_vcvc); +GR_SWIG_BLOCK_MAGIC2(digital, ofdm_frame_sink); +GR_SWIG_BLOCK_MAGIC2(digital, ofdm_insert_preamble); +GR_SWIG_BLOCK_MAGIC2(digital, ofdm_mapper_bcv); +GR_SWIG_BLOCK_MAGIC2(digital, ofdm_sampler); +GR_SWIG_BLOCK_MAGIC2(digital, ofdm_serializer_vcc); +GR_SWIG_BLOCK_MAGIC2(digital, ofdm_sync_sc_cfb); + +GR_SWIG_BLOCK_MAGIC_FACTORY(digital, cpmmod_bc, gmskmod_bc); + +// Properly package up non-block objects +%include "constellation.i" +%include "ofdm_equalizer.i" diff --git a/gr-digital/swig/digital_swig1.i b/gr-digital/swig/digital_swig1.i new file mode 100644 index 0000000000..972ddf5cb2 --- /dev/null +++ b/gr-digital/swig/digital_swig1.i @@ -0,0 +1,120 @@ +/* + * Copyright 2016 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. + */ + +#define DIGITAL_API +#define ANALOG_API +#define BLOCKS_API + +%include "gnuradio.i" +%include "stdint.i" + +//load generated python docstrings +%include "digital_swig1_doc.i" + + //%include "gnuradio/analog/cpm.h" + +%{ +#include <gnuradio/blocks/control_loop.h> +%} +%include <gnuradio/blocks/control_loop.h> + +%{ +#include "gnuradio/digital/additive_scrambler_bb.h" +#include "gnuradio/digital/burst_shaper_cc.h" +#include "gnuradio/digital/burst_shaper_ff.h" +#include "gnuradio/digital/chunks_to_symbols_bc.h" +#include "gnuradio/digital/chunks_to_symbols_bf.h" +#include "gnuradio/digital/chunks_to_symbols_ic.h" +#include "gnuradio/digital/chunks_to_symbols_if.h" +#include "gnuradio/digital/chunks_to_symbols_sc.h" +#include "gnuradio/digital/chunks_to_symbols_sf.h" +#include "gnuradio/digital/clock_recovery_mm_cc.h" +#include "gnuradio/digital/clock_recovery_mm_ff.h" +#include "gnuradio/digital/diff_decoder_bb.h" +#include "gnuradio/digital/diff_encoder_bb.h" +#include "gnuradio/digital/diff_phasor_cc.h" +#include "gnuradio/digital/fll_band_edge_cc.h" +#include "gnuradio/digital/framer_sink_1.h" +#include "gnuradio/digital/glfsr_source_b.h" +#include "gnuradio/digital/glfsr_source_f.h" +#include "gnuradio/digital/hdlc_deframer_bp.h" +#include "gnuradio/digital/hdlc_framer_pb.h" +#include "gnuradio/digital/header_payload_demux.h" +#include "gnuradio/digital/kurtotic_equalizer_cc.h" +#include "gnuradio/digital/lfsr.h" +#include "gnuradio/digital/map_bb.h" +#include "gnuradio/digital/metric_type.h" +#include "gnuradio/digital/modulate_vector.h" +#include "gnuradio/digital/msk_timing_recovery_cc.h" +%} + +%include "gnuradio/digital/additive_scrambler_bb.h" +%include "gnuradio/digital/burst_shaper_cc.h" +%include "gnuradio/digital/burst_shaper_ff.h" +%include "gnuradio/digital/chunks_to_symbols_bc.h" +%include "gnuradio/digital/chunks_to_symbols_bf.h" +%include "gnuradio/digital/chunks_to_symbols_ic.h" +%include "gnuradio/digital/chunks_to_symbols_if.h" +%include "gnuradio/digital/chunks_to_symbols_sc.h" +%include "gnuradio/digital/chunks_to_symbols_sf.h" +%include "gnuradio/digital/clock_recovery_mm_cc.h" +%include "gnuradio/digital/clock_recovery_mm_ff.h" +%include "gnuradio/digital/diff_decoder_bb.h" +%include "gnuradio/digital/diff_encoder_bb.h" +%include "gnuradio/digital/diff_phasor_cc.h" +%include "gnuradio/digital/fll_band_edge_cc.h" +%include "gnuradio/digital/framer_sink_1.h" +%include "gnuradio/digital/glfsr_source_b.h" +%include "gnuradio/digital/glfsr_source_f.h" +%include "gnuradio/digital/hdlc_deframer_bp.h" +%include "gnuradio/digital/hdlc_framer_pb.h" +%include "gnuradio/digital/header_payload_demux.h" +%include "gnuradio/digital/kurtotic_equalizer_cc.h" +%include "gnuradio/digital/lfsr.h" +%include "gnuradio/digital/map_bb.h" +%include "gnuradio/digital/metric_type.h" +%include "gnuradio/digital/modulate_vector.h" +%include "gnuradio/digital/msk_timing_recovery_cc.h" + +GR_SWIG_BLOCK_MAGIC2(digital, additive_scrambler_bb); +GR_SWIG_BLOCK_MAGIC2(digital, burst_shaper_cc); +GR_SWIG_BLOCK_MAGIC2(digital, burst_shaper_ff); +GR_SWIG_BLOCK_MAGIC2(digital, chunks_to_symbols_bc); +GR_SWIG_BLOCK_MAGIC2(digital, chunks_to_symbols_bf); +GR_SWIG_BLOCK_MAGIC2(digital, chunks_to_symbols_ic); +GR_SWIG_BLOCK_MAGIC2(digital, chunks_to_symbols_if); +GR_SWIG_BLOCK_MAGIC2(digital, chunks_to_symbols_sc); +GR_SWIG_BLOCK_MAGIC2(digital, chunks_to_symbols_sf); +GR_SWIG_BLOCK_MAGIC2(digital, clock_recovery_mm_cc); +GR_SWIG_BLOCK_MAGIC2(digital, clock_recovery_mm_ff); +GR_SWIG_BLOCK_MAGIC2(digital, diff_decoder_bb); +GR_SWIG_BLOCK_MAGIC2(digital, diff_encoder_bb); +GR_SWIG_BLOCK_MAGIC2(digital, diff_phasor_cc); +GR_SWIG_BLOCK_MAGIC2(digital, fll_band_edge_cc); +GR_SWIG_BLOCK_MAGIC2(digital, framer_sink_1); +GR_SWIG_BLOCK_MAGIC2(digital, glfsr_source_b); +GR_SWIG_BLOCK_MAGIC2(digital, glfsr_source_f); +GR_SWIG_BLOCK_MAGIC2(digital, hdlc_deframer_bp); +GR_SWIG_BLOCK_MAGIC2(digital, hdlc_framer_pb); +GR_SWIG_BLOCK_MAGIC2(digital, header_payload_demux); +GR_SWIG_BLOCK_MAGIC2(digital, kurtotic_equalizer_cc); +GR_SWIG_BLOCK_MAGIC2(digital, map_bb); +GR_SWIG_BLOCK_MAGIC2(digital, msk_timing_recovery_cc); diff --git a/gr-digital/swig/digital_swig2.i b/gr-digital/swig/digital_swig2.i new file mode 100644 index 0000000000..c16cc6aafb --- /dev/null +++ b/gr-digital/swig/digital_swig2.i @@ -0,0 +1,112 @@ +/* + * Copyright 2016 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. + */ + +#define DIGITAL_API +#define ANALOG_API +#define BLOCKS_API + +%include "gnuradio.i" +%include "stdint.i" + +//load generated python docstrings +%include "digital_swig2_doc.i" + +// %include "gnuradio/analog/cpm.h" + +%{ +#include <gnuradio/blocks/control_loop.h> +%} +%include <gnuradio/blocks/control_loop.h> + +%{ +#include "gnuradio/digital/mpsk_receiver_cc.h" +#include "gnuradio/digital/mpsk_snr_est.h" +#include "gnuradio/digital/mpsk_snr_est_cc.h" +#include "gnuradio/digital/header_format_base.h" +#include "gnuradio/digital/header_format_default.h" +#include "gnuradio/digital/header_format_counter.h" +#include "gnuradio/digital/header_format_crc.h" +#include "gnuradio/digital/header_format_ofdm.h" +#include "gnuradio/digital/protocol_formatter_async.h" +#include "gnuradio/digital/protocol_formatter_bb.h" +#include "gnuradio/digital/protocol_parser_b.h" +#include "gnuradio/digital/packet_header_default.h" +#include "gnuradio/digital/packet_header_ofdm.h" +#include "gnuradio/digital/packet_headergenerator_bb.h" +#include "gnuradio/digital/packet_headerparser_b.h" +#include "gnuradio/digital/packet_sink.h" +#include "gnuradio/digital/pfb_clock_sync_ccf.h" +#include "gnuradio/digital/pfb_clock_sync_fff.h" +#include "gnuradio/digital/pn_correlator_cc.h" +#include "gnuradio/digital/probe_density_b.h" +#include "gnuradio/digital/probe_mpsk_snr_est_c.h" +#include "gnuradio/digital/scrambler_bb.h" +#include "gnuradio/digital/simple_correlator.h" +#include "gnuradio/digital/simple_framer.h" +#include "gnuradio/digital/ofdm_serializer_vcc.h" +#include "gnuradio/digital/packet_headerparser_b.h" +#include "gnuradio/digital/header_payload_demux.h" +%} + +%include "gnuradio/digital/mpsk_receiver_cc.h" +%include "gnuradio/digital/mpsk_snr_est.h" +%include "gnuradio/digital/mpsk_snr_est_cc.h" +%include "gnuradio/digital/header_format_base.h" +%include "gnuradio/digital/header_format_default.h" +%include "gnuradio/digital/header_format_counter.h" +%include "gnuradio/digital/header_format_crc.h" +%include "gnuradio/digital/header_format_ofdm.h" +%include "gnuradio/digital/protocol_formatter_async.h" +%include "gnuradio/digital/protocol_formatter_bb.h" +%include "gnuradio/digital/protocol_parser_b.h" +%include "gnuradio/digital/packet_header_default.h" +%include "gnuradio/digital/packet_header_ofdm.h" +%include "gnuradio/digital/packet_headergenerator_bb.h" +%include "gnuradio/digital/packet_headerparser_b.h" +%include "gnuradio/digital/packet_sink.h" +%include "gnuradio/digital/pfb_clock_sync_ccf.h" +%include "gnuradio/digital/pfb_clock_sync_fff.h" +%include "gnuradio/digital/pn_correlator_cc.h" +%include "gnuradio/digital/probe_density_b.h" +%include "gnuradio/digital/probe_mpsk_snr_est_c.h" +%include "gnuradio/digital/scrambler_bb.h" +%include "gnuradio/digital/simple_correlator.h" +%include "gnuradio/digital/simple_framer.h" + +GR_SWIG_BLOCK_MAGIC2(digital, mpsk_receiver_cc); +GR_SWIG_BLOCK_MAGIC2(digital, mpsk_snr_est_cc); +GR_SWIG_BLOCK_MAGIC2(digital, protocol_formatter_async); +GR_SWIG_BLOCK_MAGIC2(digital, protocol_formatter_bb); +GR_SWIG_BLOCK_MAGIC2(digital, protocol_parser_b); +GR_SWIG_BLOCK_MAGIC2(digital, packet_headergenerator_bb); +GR_SWIG_BLOCK_MAGIC2(digital, packet_headerparser_b); +GR_SWIG_BLOCK_MAGIC2(digital, packet_sink); +GR_SWIG_BLOCK_MAGIC2(digital, pfb_clock_sync_ccf); +GR_SWIG_BLOCK_MAGIC2(digital, pfb_clock_sync_fff); +GR_SWIG_BLOCK_MAGIC2(digital, pn_correlator_cc); +GR_SWIG_BLOCK_MAGIC2(digital, probe_density_b); +GR_SWIG_BLOCK_MAGIC2(digital, probe_mpsk_snr_est_c); +GR_SWIG_BLOCK_MAGIC2(digital, scrambler_bb); +GR_SWIG_BLOCK_MAGIC2(digital, simple_correlator); +GR_SWIG_BLOCK_MAGIC2(digital, simple_framer); + +// Properly package up non-block objects +%include "packet_header.i" diff --git a/gr-trellis/swig/CMakeLists.txt b/gr-trellis/swig/CMakeLists.txt index e1ee66cba0..14012abad5 100644 --- a/gr-trellis/swig/CMakeLists.txt +++ b/gr-trellis/swig/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright 2012 Free Software Foundation, Inc. +# Copyright 2012,2016 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -24,10 +24,10 @@ include(GrPython) include(GrSwig) set(GR_SWIG_INCLUDE_DIRS - ${GR_TRELLIS_INCLUDE_DIRS} - ${GR_DIGITAL_INCLUDE_DIRS} - ${GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS} - ${Boost_INCLUDE_DIRS} + ${GR_TRELLIS_INCLUDE_DIRS} + ${GR_DIGITAL_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS} + ${Boost_INCLUDE_DIRS} ) set(GR_SWIG_LIBRARIES gnuradio-trellis gnuradio-digital) @@ -36,25 +36,52 @@ if(ENABLE_GR_CTRLPORT) list(APPEND GR_SWIG_FLAGS "-DGR_CTRLPORT") endif(ENABLE_GR_CTRLPORT) -# Setup swig docs to depend on includes and pull in from build directory -set(GR_SWIG_TARGET_DEPS trellis_generated_includes) -set(GR_SWIG_DOC_FILE ${CMAKE_CURRENT_BINARY_DIR}/trellis_swig_doc.i) -set(GR_SWIG_DOC_DIRS - ${CMAKE_CURRENT_SOURCE_DIR}/../include/gnuradio/trellis - ${CMAKE_CURRENT_BINARY_DIR}/../include/gnuradio/trellis +configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/trellis_swig.py.in + ${CMAKE_CURRENT_BINARY_DIR}/trellis_swig.py +@ONLY) + +# We split up the swig files into multiple sections to minimize the +# memory overhead. If a .i file grows too large, create a new file +# named 'trellis_swigN.i' and add it to this list. +# +# Also add the line "from swig_trellisN import *" line to +# trellis_swig.py.in. +set(GR_SWIG_TRELLIS_IFILES + trellis_swig0 + trellis_swig1 ) -set(GR_SWIG_DOCS_TARGET_DEPS runtime_swig_swig_doc) -GR_SWIG_MAKE(trellis_swig trellis_swig.i) +foreach(swigfile ${GR_SWIG_TRELLIS_IFILES}) + set(GR_SWIG_DOC_FILE ${CMAKE_CURRENT_BINARY_DIR}/${swigfile}_doc.i) + set(GR_SWIG_DOC_DIRS + ${CMAKE_CURRENT_SOURCE_DIR}/../include/gnuradio/trellis + ${CMAKE_CURRENT_BINARY_DIR}/../include/gnuradio/trellis + ) + set(GR_SWIG_DOCS_TARGET_DEPS runtime_swig_swig_doc) + set(GR_SWIG_TARGET_DEPS trellis_generated_includes) + set(GR_SWIG_LIBRARIES gnuradio-trellis gnuradio-digital) + GR_SWIG_MAKE(${swigfile} ${swigfile}.i) -GR_SWIG_INSTALL( - TARGETS trellis_swig + GR_SWIG_INSTALL( + TARGETS ${swigfile} DESTINATION ${GR_PYTHON_DIR}/gnuradio/trellis -) + ) + + list(APPEND SWIGFILES ${swigfile}.i) + list(APPEND SWIGDOCFILES ${CMAKE_CURRENT_BINARY_DIR}/${swigfile}_doc.i) +endforeach(swigfile) install( FILES - trellis_swig.i - ${CMAKE_CURRENT_BINARY_DIR}/trellis_swig_doc.i + ${SWIGFILES} + ${SWIGDOCFILES} DESTINATION ${GR_INCLUDE_DIR}/gnuradio/swig ) + +# Install the Python file that pulls in the swig built files. +GR_PYTHON_INSTALL( + FILES ${CMAKE_CURRENT_BINARY_DIR}/trellis_swig.py + DESTINATION ${GR_PYTHON_DIR}/gnuradio/trellis + COMPONENT "trellis_python" +) diff --git a/gr-trellis/swig/trellis_swig.py.in b/gr-trellis/swig/trellis_swig.py.in new file mode 100644 index 0000000000..fac5f631e2 --- /dev/null +++ b/gr-trellis/swig/trellis_swig.py.in @@ -0,0 +1,23 @@ +# +# Copyright 2016 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. +# + +from trellis_swig0 import * +from trellis_swig1 import * diff --git a/gr-trellis/swig/trellis_swig0.i b/gr-trellis/swig/trellis_swig0.i new file mode 100644 index 0000000000..9f309c5ca3 --- /dev/null +++ b/gr-trellis/swig/trellis_swig0.i @@ -0,0 +1,117 @@ +/* + * Copyright 2012,2016 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. + */ + +#define TRELLIS_API +#define DIGITAL_API + +%include "gnuradio.i" + +//load generated python docstrings +%include "trellis_swig0_doc.i" + +%include "gnuradio/digital/metric_type.h" +%include "gnuradio/digital/constellation.h" +%include "gnuradio/trellis/siso_type.h" +%include "gnuradio/trellis/fsm.h" +%include "gnuradio/trellis/interleaver.h" + +%{ +#include "gnuradio/trellis/constellation_metrics_cf.h" +#include "gnuradio/trellis/permutation.h" +#include "gnuradio/trellis/siso_combined_f.h" +#include "gnuradio/trellis/siso_f.h" +#include "gnuradio/trellis/encoder_bb.h" +#include "gnuradio/trellis/encoder_bs.h" +#include "gnuradio/trellis/encoder_bi.h" +#include "gnuradio/trellis/encoder_ss.h" +#include "gnuradio/trellis/encoder_si.h" +#include "gnuradio/trellis/encoder_ii.h" +#include "gnuradio/trellis/sccc_encoder_bb.h" +#include "gnuradio/trellis/sccc_encoder_bs.h" +#include "gnuradio/trellis/sccc_encoder_bi.h" +#include "gnuradio/trellis/sccc_encoder_ss.h" +#include "gnuradio/trellis/sccc_encoder_si.h" +#include "gnuradio/trellis/sccc_encoder_ii.h" +#include "gnuradio/trellis/pccc_encoder_bb.h" +#include "gnuradio/trellis/pccc_encoder_bs.h" +#include "gnuradio/trellis/pccc_encoder_bi.h" +#include "gnuradio/trellis/pccc_encoder_ss.h" +#include "gnuradio/trellis/pccc_encoder_si.h" +#include "gnuradio/trellis/pccc_encoder_ii.h" +#include "gnuradio/trellis/metrics_s.h" +#include "gnuradio/trellis/metrics_i.h" +#include "gnuradio/trellis/metrics_f.h" +#include "gnuradio/trellis/metrics_c.h" +%} + +%include "gnuradio/trellis/constellation_metrics_cf.h" +%include "gnuradio/trellis/permutation.h" +%include "gnuradio/trellis/siso_combined_f.h" +%include "gnuradio/trellis/siso_f.h" +%include "gnuradio/trellis/encoder_bb.h" +%include "gnuradio/trellis/encoder_bs.h" +%include "gnuradio/trellis/encoder_bi.h" +%include "gnuradio/trellis/encoder_ss.h" +%include "gnuradio/trellis/encoder_si.h" +%include "gnuradio/trellis/encoder_ii.h" +%include "gnuradio/trellis/sccc_encoder_bb.h" +%include "gnuradio/trellis/sccc_encoder_bs.h" +%include "gnuradio/trellis/sccc_encoder_bi.h" +%include "gnuradio/trellis/sccc_encoder_ss.h" +%include "gnuradio/trellis/sccc_encoder_si.h" +%include "gnuradio/trellis/sccc_encoder_ii.h" +%include "gnuradio/trellis/pccc_encoder_bb.h" +%include "gnuradio/trellis/pccc_encoder_bs.h" +%include "gnuradio/trellis/pccc_encoder_bi.h" +%include "gnuradio/trellis/pccc_encoder_ss.h" +%include "gnuradio/trellis/pccc_encoder_si.h" +%include "gnuradio/trellis/pccc_encoder_ii.h" +%include "gnuradio/trellis/metrics_s.h" +%include "gnuradio/trellis/metrics_i.h" +%include "gnuradio/trellis/metrics_f.h" +%include "gnuradio/trellis/metrics_c.h" + +GR_SWIG_BLOCK_MAGIC2(trellis, constellation_metrics_cf); +GR_SWIG_BLOCK_MAGIC2(trellis, permutation); +GR_SWIG_BLOCK_MAGIC2(trellis, siso_combined_f); +GR_SWIG_BLOCK_MAGIC2(trellis, siso_f); +GR_SWIG_BLOCK_MAGIC2(trellis, encoder_bb); +GR_SWIG_BLOCK_MAGIC2(trellis, encoder_bs); +GR_SWIG_BLOCK_MAGIC2(trellis, encoder_bi); +GR_SWIG_BLOCK_MAGIC2(trellis, encoder_ss); +GR_SWIG_BLOCK_MAGIC2(trellis, encoder_si); +GR_SWIG_BLOCK_MAGIC2(trellis, encoder_ii); +GR_SWIG_BLOCK_MAGIC2(trellis, sccc_encoder_bb); +GR_SWIG_BLOCK_MAGIC2(trellis, sccc_encoder_bs); +GR_SWIG_BLOCK_MAGIC2(trellis, sccc_encoder_bi); +GR_SWIG_BLOCK_MAGIC2(trellis, sccc_encoder_ss); +GR_SWIG_BLOCK_MAGIC2(trellis, sccc_encoder_si); +GR_SWIG_BLOCK_MAGIC2(trellis, sccc_encoder_ii); +GR_SWIG_BLOCK_MAGIC2(trellis, pccc_encoder_bb); +GR_SWIG_BLOCK_MAGIC2(trellis, pccc_encoder_bs); +GR_SWIG_BLOCK_MAGIC2(trellis, pccc_encoder_bi); +GR_SWIG_BLOCK_MAGIC2(trellis, pccc_encoder_ss); +GR_SWIG_BLOCK_MAGIC2(trellis, pccc_encoder_si); +GR_SWIG_BLOCK_MAGIC2(trellis, pccc_encoder_ii); +GR_SWIG_BLOCK_MAGIC2(trellis, metrics_s); +GR_SWIG_BLOCK_MAGIC2(trellis, metrics_i); +GR_SWIG_BLOCK_MAGIC2(trellis, metrics_f); +GR_SWIG_BLOCK_MAGIC2(trellis, metrics_c); diff --git a/gr-trellis/swig/trellis_swig.i b/gr-trellis/swig/trellis_swig1.i index 8c71a5e93c..6481aee245 100644 --- a/gr-trellis/swig/trellis_swig.i +++ b/gr-trellis/swig/trellis_swig1.i @@ -1,5 +1,5 @@ /* - * Copyright 2012 Free Software Foundation, Inc. + * Copyright 2016 Free Software Foundation, Inc. * * This file is part of GNU Radio * @@ -25,41 +25,14 @@ %include "gnuradio.i" //load generated python docstrings -%include "trellis_swig_doc.i" +%include "trellis_swig1_doc.i" %include "gnuradio/digital/metric_type.h" -%include "gnuradio/digital/constellation.h" %include "gnuradio/trellis/siso_type.h" %include "gnuradio/trellis/fsm.h" %include "gnuradio/trellis/interleaver.h" %{ -#include "gnuradio/trellis/constellation_metrics_cf.h" -#include "gnuradio/trellis/permutation.h" -#include "gnuradio/trellis/siso_combined_f.h" -#include "gnuradio/trellis/siso_f.h" -#include "gnuradio/trellis/encoder_bb.h" -#include "gnuradio/trellis/encoder_bs.h" -#include "gnuradio/trellis/encoder_bi.h" -#include "gnuradio/trellis/encoder_ss.h" -#include "gnuradio/trellis/encoder_si.h" -#include "gnuradio/trellis/encoder_ii.h" -#include "gnuradio/trellis/sccc_encoder_bb.h" -#include "gnuradio/trellis/sccc_encoder_bs.h" -#include "gnuradio/trellis/sccc_encoder_bi.h" -#include "gnuradio/trellis/sccc_encoder_ss.h" -#include "gnuradio/trellis/sccc_encoder_si.h" -#include "gnuradio/trellis/sccc_encoder_ii.h" -#include "gnuradio/trellis/pccc_encoder_bb.h" -#include "gnuradio/trellis/pccc_encoder_bs.h" -#include "gnuradio/trellis/pccc_encoder_bi.h" -#include "gnuradio/trellis/pccc_encoder_ss.h" -#include "gnuradio/trellis/pccc_encoder_si.h" -#include "gnuradio/trellis/pccc_encoder_ii.h" -#include "gnuradio/trellis/metrics_s.h" -#include "gnuradio/trellis/metrics_i.h" -#include "gnuradio/trellis/metrics_f.h" -#include "gnuradio/trellis/metrics_c.h" #include "gnuradio/trellis/pccc_decoder_b.h" #include "gnuradio/trellis/pccc_decoder_s.h" #include "gnuradio/trellis/pccc_decoder_i.h" @@ -95,32 +68,6 @@ #include "gnuradio/trellis/sccc_decoder_combined_ci.h" %} -%include "gnuradio/trellis/constellation_metrics_cf.h" -%include "gnuradio/trellis/permutation.h" -%include "gnuradio/trellis/siso_combined_f.h" -%include "gnuradio/trellis/siso_f.h" -%include "gnuradio/trellis/encoder_bb.h" -%include "gnuradio/trellis/encoder_bs.h" -%include "gnuradio/trellis/encoder_bi.h" -%include "gnuradio/trellis/encoder_ss.h" -%include "gnuradio/trellis/encoder_si.h" -%include "gnuradio/trellis/encoder_ii.h" -%include "gnuradio/trellis/sccc_encoder_bb.h" -%include "gnuradio/trellis/sccc_encoder_bs.h" -%include "gnuradio/trellis/sccc_encoder_bi.h" -%include "gnuradio/trellis/sccc_encoder_ss.h" -%include "gnuradio/trellis/sccc_encoder_si.h" -%include "gnuradio/trellis/sccc_encoder_ii.h" -%include "gnuradio/trellis/pccc_encoder_bb.h" -%include "gnuradio/trellis/pccc_encoder_bs.h" -%include "gnuradio/trellis/pccc_encoder_bi.h" -%include "gnuradio/trellis/pccc_encoder_ss.h" -%include "gnuradio/trellis/pccc_encoder_si.h" -%include "gnuradio/trellis/pccc_encoder_ii.h" -%include "gnuradio/trellis/metrics_s.h" -%include "gnuradio/trellis/metrics_i.h" -%include "gnuradio/trellis/metrics_f.h" -%include "gnuradio/trellis/metrics_c.h" %include "gnuradio/trellis/pccc_decoder_b.h" %include "gnuradio/trellis/pccc_decoder_s.h" %include "gnuradio/trellis/pccc_decoder_i.h" @@ -155,32 +102,6 @@ %include "gnuradio/trellis/sccc_decoder_combined_cs.h" %include "gnuradio/trellis/sccc_decoder_combined_ci.h" -GR_SWIG_BLOCK_MAGIC2(trellis, constellation_metrics_cf); -GR_SWIG_BLOCK_MAGIC2(trellis, permutation); -GR_SWIG_BLOCK_MAGIC2(trellis, siso_combined_f); -GR_SWIG_BLOCK_MAGIC2(trellis, siso_f); -GR_SWIG_BLOCK_MAGIC2(trellis, encoder_bb); -GR_SWIG_BLOCK_MAGIC2(trellis, encoder_bs); -GR_SWIG_BLOCK_MAGIC2(trellis, encoder_bi); -GR_SWIG_BLOCK_MAGIC2(trellis, encoder_ss); -GR_SWIG_BLOCK_MAGIC2(trellis, encoder_si); -GR_SWIG_BLOCK_MAGIC2(trellis, encoder_ii); -GR_SWIG_BLOCK_MAGIC2(trellis, sccc_encoder_bb); -GR_SWIG_BLOCK_MAGIC2(trellis, sccc_encoder_bs); -GR_SWIG_BLOCK_MAGIC2(trellis, sccc_encoder_bi); -GR_SWIG_BLOCK_MAGIC2(trellis, sccc_encoder_ss); -GR_SWIG_BLOCK_MAGIC2(trellis, sccc_encoder_si); -GR_SWIG_BLOCK_MAGIC2(trellis, sccc_encoder_ii); -GR_SWIG_BLOCK_MAGIC2(trellis, pccc_encoder_bb); -GR_SWIG_BLOCK_MAGIC2(trellis, pccc_encoder_bs); -GR_SWIG_BLOCK_MAGIC2(trellis, pccc_encoder_bi); -GR_SWIG_BLOCK_MAGIC2(trellis, pccc_encoder_ss); -GR_SWIG_BLOCK_MAGIC2(trellis, pccc_encoder_si); -GR_SWIG_BLOCK_MAGIC2(trellis, pccc_encoder_ii); -GR_SWIG_BLOCK_MAGIC2(trellis, metrics_s); -GR_SWIG_BLOCK_MAGIC2(trellis, metrics_i); -GR_SWIG_BLOCK_MAGIC2(trellis, metrics_f); -GR_SWIG_BLOCK_MAGIC2(trellis, metrics_c); GR_SWIG_BLOCK_MAGIC2(trellis, pccc_decoder_b); GR_SWIG_BLOCK_MAGIC2(trellis, pccc_decoder_s); GR_SWIG_BLOCK_MAGIC2(trellis, pccc_decoder_i); diff --git a/gr-utils/python/modtool/gr-newmod/cmake/Modules/GrPlatform.cmake b/gr-utils/python/modtool/gr-newmod/cmake/Modules/GrPlatform.cmake index fbbea5fee0..00a53d04d9 100644 --- a/gr-utils/python/modtool/gr-newmod/cmake/Modules/GrPlatform.cmake +++ b/gr-utils/python/modtool/gr-newmod/cmake/Modules/GrPlatform.cmake @@ -51,4 +51,12 @@ endif() if(NOT DEFINED LIB_SUFFIX AND LIB64_CONVENTION AND CMAKE_SYSTEM_PROCESSOR MATCHES "64$") set(LIB_SUFFIX 64) endif() + +######################################################################## +# Detect /lib versus /lib64 +######################################################################## +if (CMAKE_INSTALL_LIBDIR MATCHES lib64) + set(LIB_SUFFIX 64) +endif() + set(LIB_SUFFIX ${LIB_SUFFIX} CACHE STRING "lib directory suffix") |