summaryrefslogtreecommitdiff
path: root/gnuradio-core/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'gnuradio-core/src/lib')
-rw-r--r--gnuradio-core/src/lib/.gitignore7
-rw-r--r--gnuradio-core/src/lib/Makefile.am72
-rw-r--r--gnuradio-core/src/lib/filter/.gitignore226
-rw-r--r--gnuradio-core/src/lib/filter/CMakeLists.txt2
-rw-r--r--gnuradio-core/src/lib/filter/Makefile.am402
-rw-r--r--gnuradio-core/src/lib/filter/filter.i4
-rw-r--r--gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.cc47
-rw-r--r--gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.h46
-rw-r--r--gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.i5
-rw-r--r--gnuradio-core/src/lib/filter/gr_pfb_synthesis_filterbank_ccf.cc169
-rw-r--r--gnuradio-core/src/lib/filter/gr_pfb_synthesis_filterbank_ccf.h100
-rw-r--r--gnuradio-core/src/lib/filter/gr_pfb_synthesizer_ccf.cc286
-rw-r--r--gnuradio-core/src/lib/filter/gr_pfb_synthesizer_ccf.h147
-rw-r--r--gnuradio-core/src/lib/filter/gr_pfb_synthesizer_ccf.i (renamed from gnuradio-core/src/lib/filter/gr_pfb_synthesis_filterbank_ccf.i)24
-rw-r--r--gnuradio-core/src/lib/general/.gitignore308
-rw-r--r--gnuradio-core/src/lib/general/Makefile.am491
-rw-r--r--gnuradio-core/src/lib/gengen/.gitignore433
-rw-r--r--gnuradio-core/src/lib/gengen/Makefile.am165
-rw-r--r--gnuradio-core/src/lib/hier/.gitignore4
-rw-r--r--gnuradio-core/src/lib/hier/Makefile.am37
-rw-r--r--gnuradio-core/src/lib/io/.gitignore8
-rw-r--r--gnuradio-core/src/lib/io/Makefile.am116
-rw-r--r--gnuradio-core/src/lib/io/gr_wavfile_sink.cc2
-rw-r--r--gnuradio-core/src/lib/io/gr_wavfile_sink.h14
-rw-r--r--gnuradio-core/src/lib/missing/.gitignore8
-rw-r--r--gnuradio-core/src/lib/missing/Makefile.am46
-rw-r--r--gnuradio-core/src/lib/reed-solomon/.gitignore9
-rw-r--r--gnuradio-core/src/lib/reed-solomon/Makefile.am55
-rw-r--r--gnuradio-core/src/lib/runtime/.gitignore8
-rw-r--r--gnuradio-core/src/lib/runtime/Makefile.am165
-rw-r--r--gnuradio-core/src/lib/swig/.gitignore49
-rw-r--r--gnuradio-core/src/lib/swig/Makefile.am109
-rw-r--r--gnuradio-core/src/lib/swig/Makefile.swig.gen870
-rw-r--r--gnuradio-core/src/lib/swig/guile/std_complex.i37
-rw-r--r--gnuradio-core/src/lib/swig/guile/std_vector.i437
-rw-r--r--gnuradio-core/src/lib/viterbi/.gitignore6
-rw-r--r--gnuradio-core/src/lib/viterbi/Makefile.am46
37 files changed, 553 insertions, 4407 deletions
diff --git a/gnuradio-core/src/lib/.gitignore b/gnuradio-core/src/lib/.gitignore
deleted file mode 100644
index 0d5077da5..000000000
--- a/gnuradio-core/src/lib/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-/Makefile
-/Makefile.in
-/.deps
-/.libs
-/*.la
-/*.lo
-/gnuradio-config-info
diff --git a/gnuradio-core/src/lib/Makefile.am b/gnuradio-core/src/lib/Makefile.am
deleted file mode 100644
index 21e721073..000000000
--- a/gnuradio-core/src/lib/Makefile.am
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 2001,2004,2009,2010 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 $(top_srcdir)/Makefile.common
-
-## Process this file with automake to produce Makefile.in
-
-# We've got to build . before swig
-SUBDIRS = missing runtime filter viterbi general gengen reed-solomon io hier . swig
-
-AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(CPPUNIT_INCLUDES) $(WITH_INCLUDES)
-
-# generate libgnuradio-core.la from the convenience libraries in subdirs
-
-lib_LTLIBRARIES = libgnuradio-core.la
-noinst_LTLIBRARIES = libgnuradio-core-qa.la
-
-libgnuradio_core_la_SOURCES = bug_work_around_6.cc
-libgnuradio_core_la_LDFLAGS = $(NO_UNDEFINED) $(LTVERSIONFLAGS)
-
-libgnuradio_core_qa_la_SOURCES = bug_work_around_6.cc
-libgnuradio_core_qa_la_LDFLAGS = $(NO_UNDEFINED) -version-info 0:0:0 \
- $(LIBGNURADIO_CORE_EXTRA_LDFLAGS)
-
-
-libgnuradio_core_la_LIBADD = \
- filter/libfilter.la \
- viterbi/libviterbi.la \
- general/libgeneral.la \
- gengen/libgengen.la \
- io/libio.la \
- missing/libmissing.la \
- reed-solomon/librs.la \
- runtime/libruntime.la \
- hier/libhier.la \
- $(GRUEL_LA) \
- $(VOLK_LA) \
- $(FFTW3F_LIBS) \
- $(GSL_LIBS) \
- $(CBLAS_LIBS) \
- $(BOOST_FILESYSTEM_LIB)
-
-libgnuradio_core_qa_la_LIBADD = \
- filter/libfilter-qa.la \
- general/libgeneral-qa.la \
- runtime/libruntime-qa.la \
- libgnuradio-core.la \
- $(CPPUNIT_LIBS)
-
-bin_PROGRAMS = gnuradio-config-info
-gnuradio_config_info_SOURCES = gnuradio-config-info.cc
-gnuradio_config_info_LDADD = libgnuradio-core.la \
- $(BOOST_LDFLAGS) \
- $(BOOST_PROGRAM_OPTIONS_LIB) \
- $(BOOST_FILESYSTEM_LIB)
diff --git a/gnuradio-core/src/lib/filter/.gitignore b/gnuradio-core/src/lib/filter/.gitignore
deleted file mode 100644
index faaf02cb8..000000000
--- a/gnuradio-core/src/lib/filter/.gitignore
+++ /dev/null
@@ -1,226 +0,0 @@
-/Makefile
-/Makefile.in
-/.la
-/.lo
-/.deps
-/.libs
-/*.la
-/*.lo
-/*.pyc
-/generate-stamp
-/#
-/---
-/generate
-/files:
-/don't
-/go
-/in
-/CVS
-/---
-/GrFIRfilterCCC.cc
-/GrFIRfilterCCC.h
-/GrFIRfilterCCF.cc
-/GrFIRfilterCCF.h
-/GrFIRfilterFCC.cc
-/GrFIRfilterFCC.h
-/GrFIRfilterFFF.cc
-/GrFIRfilterFFF.h
-/GrFIRfilterFSF.cc
-/GrFIRfilterFSF.h
-/GrFIRfilterSCC.cc
-/GrFIRfilterSCC.h
-/GrFIRfilterSIS.cc
-/GrFIRfilterSIS.h
-/GrFreqXlatingFIRfilterCCC.cc
-/GrFreqXlatingFIRfilterCCC.h
-/GrFreqXlatingFIRfilterCCF.cc
-/GrFreqXlatingFIRfilterCCF.h
-/GrFreqXlatingFIRfilterFCC.cc
-/GrFreqXlatingFIRfilterFCC.h
-/GrFreqXlatingFIRfilterFCF.cc
-/GrFreqXlatingFIRfilterFCF.h
-/GrFreqXlatingFIRfilterSCC.cc
-/GrFreqXlatingFIRfilterSCC.h
-/GrFreqXlatingFIRfilterSCF.cc
-/GrFreqXlatingFIRfilterSCF.h
-/gr_fir_CCC.cc
-/gr_fir_CCC.h
-/gr_fir_CCC_generic.cc
-/gr_fir_CCC_generic.h
-/gr_fir_CCF.cc
-/gr_fir_CCF.h
-/gr_fir_CCF_generic.cc
-/gr_fir_CCF_generic.h
-/gr_fir_FCC.cc
-/gr_fir_FCC.h
-/gr_fir_FCC_generic.cc
-/gr_fir_FCC_generic.h
-/gr_fir_FFF.cc
-/gr_fir_FFF.h
-/gr_fir_FFF_generic.cc
-/gr_fir_FFF_generic.h
-/gr_fir_FSF.cc
-/gr_fir_FSF.h
-/gr_fir_FSF_generic.cc
-/gr_fir_FSF_generic.h
-/gr_fir_SCC.cc
-/gr_fir_SCC.h
-/gr_fir_SCC_generic.cc
-/gr_fir_SCC_generic.h
-/gr_fir_SIS.cc
-/gr_fir_SIS.h
-/gr_fir_SIS_generic.cc
-/gr_fir_SIS_generic.h
-/gr_fir_sysconfig.cc
-/gr_fir_sysconfig.h
-/gr_fir_sysconfig_generic.cc
-/gr_fir_sysconfig_generic.h
-/gr_fir_util.cc
-/gr_fir_util.h
-/GrFIRfilterCCC.i
-/GrFIRfilterCCF.i
-/GrFIRfilterFCC.i
-/GrFIRfilterFFF.i
-/GrFIRfilterFSF.i
-/GrFIRfilterSCC.i
-/GrFIRfilterSIS.i
-/GrFreqXlatingFIRfilterCCC.i
-/GrFreqXlatingFIRfilterCCF.i
-/GrFreqXlatingFIRfilterFCC.i
-/GrFreqXlatingFIRfilterFCF.i
-/GrFreqXlatingFIRfilterSCC.i
-/GrFreqXlatingFIRfilterSCF.i
-/#
-/---
-/end
-/generated
-/files
-/---
-/filter_generated.i
-/gr_fir_ccc.cc
-/gr_fir_ccc.h
-/gr_fir_ccc_generic.cc
-/gr_fir_ccc_generic.h
-/gr_fir_ccf.cc
-/gr_fir_ccf.h
-/gr_fir_ccf_generic.cc
-/gr_fir_ccf_generic.h
-/gr_fir_fcc.cc
-/gr_fir_fcc.h
-/gr_fir_fcc_generic.cc
-/gr_fir_fcc_generic.h
-/gr_fir_fff.cc
-/gr_fir_fff.h
-/gr_fir_fff_generic.cc
-/gr_fir_fff_generic.h
-/gr_fir_fsf.cc
-/gr_fir_fsf.h
-/gr_fir_fsf_generic.cc
-/gr_fir_fsf_generic.h
-/gr_fir_scc.cc
-/gr_fir_scc.h
-/gr_fir_scc_generic.cc
-/gr_fir_scc_generic.h
-/gr_fir_filter_ccc.cc
-/gr_fir_filter_ccc.h
-/gr_fir_filter_ccc.i
-/gr_fir_filter_ccf.cc
-/gr_fir_filter_ccf.h
-/gr_fir_filter_ccf.i
-/gr_fir_filter_fcc.cc
-/gr_fir_filter_fcc.h
-/gr_fir_filter_fcc.i
-/gr_fir_filter_fff.cc
-/gr_fir_filter_fff.h
-/gr_fir_filter_fff.i
-/gr_fir_filter_fsf.cc
-/gr_fir_filter_fsf.h
-/gr_fir_filter_fsf.i
-/gr_fir_filter_scc.cc
-/gr_fir_filter_scc.h
-/gr_fir_filter_scc.i
-/gr_freq_xlating_fir_filter_ccc.cc
-/gr_freq_xlating_fir_filter_ccc.h
-/gr_freq_xlating_fir_filter_ccc.i
-/gr_freq_xlating_fir_filter_ccf.cc
-/gr_freq_xlating_fir_filter_ccf.h
-/gr_freq_xlating_fir_filter_ccf.i
-/gr_freq_xlating_fir_filter_fcc.cc
-/gr_freq_xlating_fir_filter_fcc.h
-/gr_freq_xlating_fir_filter_fcc.i
-/gr_freq_xlating_fir_filter_fcf.cc
-/gr_freq_xlating_fir_filter_fcf.h
-/gr_freq_xlating_fir_filter_fcf.i
-/gr_freq_xlating_fir_filter_scc.cc
-/gr_freq_xlating_fir_filter_scc.h
-/gr_freq_xlating_fir_filter_scc.i
-/gr_freq_xlating_fir_filter_scf.cc
-/gr_freq_xlating_fir_filter_scf.h
-/gr_freq_xlating_fir_filter_scf.i
-/gr_interp_fir_filter_ccc.cc
-/gr_interp_fir_filter_ccc.h
-/gr_interp_fir_filter_ccc.i
-/gr_interp_fir_filter_ccf.cc
-/gr_interp_fir_filter_ccf.h
-/gr_interp_fir_filter_ccf.i
-/gr_interp_fir_filter_fcc.cc
-/gr_interp_fir_filter_fcc.h
-/gr_interp_fir_filter_fcc.i
-/gr_interp_fir_filter_fff.cc
-/gr_interp_fir_filter_fff.h
-/gr_interp_fir_filter_fff.i
-/gr_interp_fir_filter_fsf.cc
-/gr_interp_fir_filter_fsf.h
-/gr_interp_fir_filter_fsf.i
-/gr_interp_fir_filter_scc.cc
-/gr_interp_fir_filter_scc.h
-/gr_interp_fir_filter_scc.i
-/gr_rational_resampler_ccc.cc
-/gr_rational_resampler_ccc.h
-/gr_rational_resampler_ccc.i
-/gr_rational_resampler_ccf.cc
-/gr_rational_resampler_ccf.h
-/gr_rational_resampler_ccf.i
-/gr_rational_resampler_fcc.cc
-/gr_rational_resampler_fcc.h
-/gr_rational_resampler_fcc.i
-/gr_rational_resampler_fff.cc
-/gr_rational_resampler_fff.h
-/gr_rational_resampler_fff.i
-/gr_rational_resampler_fsf.cc
-/gr_rational_resampler_fsf.h
-/gr_rational_resampler_fsf.i
-/gr_rational_resampler_scc.cc
-/gr_rational_resampler_scc.h
-/gr_rational_resampler_scc.i
-/gr_rational_resampler_base_ccc.cc
-/gr_rational_resampler_base_ccc.h
-/gr_rational_resampler_base_ccc.i
-/gr_rational_resampler_base_ccf.cc
-/gr_rational_resampler_base_ccf.h
-/gr_rational_resampler_base_ccf.i
-/gr_rational_resampler_base_fcc.cc
-/gr_rational_resampler_base_fcc.h
-/gr_rational_resampler_base_fcc.i
-/gr_rational_resampler_base_fff.cc
-/gr_rational_resampler_base_fff.h
-/gr_rational_resampler_base_fff.i
-/gr_rational_resampler_base_fsf.cc
-/gr_rational_resampler_base_fsf.h
-/gr_rational_resampler_base_fsf.i
-/gr_rational_resampler_base_scc.cc
-/gr_rational_resampler_base_scc.h
-/gr_rational_resampler_base_scc.i
-/gri_fir_filter_with_buffer_ccc.cc
-/gri_fir_filter_with_buffer_ccc.h
-/gri_fir_filter_with_buffer_ccf.cc
-/gri_fir_filter_with_buffer_ccf.h
-/gri_fir_filter_with_buffer_fcc.cc
-/gri_fir_filter_with_buffer_fcc.h
-/gri_fir_filter_with_buffer_fff.cc
-/gri_fir_filter_with_buffer_fff.h
-/gri_fir_filter_with_buffer_fsf.cc
-/gri_fir_filter_with_buffer_fsf.h
-/gri_fir_filter_with_buffer_scc.cc
-/gri_fir_filter_with_buffer_scc.h
-/stamp-*
diff --git a/gnuradio-core/src/lib/filter/CMakeLists.txt b/gnuradio-core/src/lib/filter/CMakeLists.txt
index d26e55fb8..02a72191c 100644
--- a/gnuradio-core/src/lib/filter/CMakeLists.txt
+++ b/gnuradio-core/src/lib/filter/CMakeLists.txt
@@ -333,7 +333,7 @@ set(gr_core_filter_triple_threats
gr_single_pole_iir_filter_ff
gr_single_pole_iir_filter_cc
gr_pfb_channelizer_ccf
- gr_pfb_synthesis_filterbank_ccf
+ gr_pfb_synthesizer_ccf
gr_pfb_decimator_ccf
gr_pfb_interpolator_ccf
gr_pfb_arb_resampler_ccf
diff --git a/gnuradio-core/src/lib/filter/Makefile.am b/gnuradio-core/src/lib/filter/Makefile.am
deleted file mode 100644
index c314431bf..000000000
--- a/gnuradio-core/src/lib/filter/Makefile.am
+++ /dev/null
@@ -1,402 +0,0 @@
-#
-# Copyright 2001,2002,2004-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 $(top_srcdir)/Makefile.common
-
-#
-# This directory contains mostly filter routines, plus a few
-# other performance critical items
-#
-
-# $(WITH_INCLUDES) must _always_ be last
-AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(CPPUNIT_INCLUDES) \
- $(FFTW3F_CPPFLAGS) $(WITH_INCLUDES)
-
-noinst_LTLIBRARIES = libfilter.la libfilter-qa.la
-
-# ----------------------------------------------------------------
-# these scripts generate FIR code
-#
-
-code_generator = \
- generate_all.py \
- generate_gr_fir_XXX.py \
- generate_gr_fir_filter_XXX.py \
- generate_gr_interp_fir_filter_XXX.py \
- generate_gr_rational_resampler_base_XXX.py \
- generate_gr_fir_sysconfig.py \
- generate_gr_fir_sysconfig_generic.py \
- generate_gr_fir_util.py \
- generate_gr_freq_xlating_fir_filter_XXX.py \
- generate_gri_fir_filter_with_buffer_XXX.py \
- generate_utils.py \
- gr_fir_XXX.cc.t \
- gr_fir_XXX.h.t \
- gr_fir_XXX_generic.cc.t \
- gr_fir_XXX_generic.h.t \
- gr_fir_filter_XXX.cc.t \
- gr_fir_filter_XXX.h.t \
- gr_fir_filter_XXX.i.t \
- gr_interp_fir_filter_XXX.cc.t \
- gr_interp_fir_filter_XXX.h.t \
- gr_interp_fir_filter_XXX.i.t \
- gr_rational_resampler_base_XXX.cc.t \
- gr_rational_resampler_base_XXX.h.t \
- gr_rational_resampler_base_XXX.i.t \
- gr_freq_xlating_fir_filter_XXX.cc.t \
- gr_freq_xlating_fir_filter_XXX.h.t \
- gr_freq_xlating_fir_filter_XXX.i.t \
- gri_fir_filter_with_buffer_XXX.cc.t \
- gri_fir_filter_with_buffer_XXX.h.t
-
-
-# Source built by Python into $(builddir)
-BUILT_SOURCES += \
- $(GENERATED_H) \
- $(GENERATED_I) \
- $(GENERATED_CC) \
- filter_generated.i
-
-# ----------------------------------------------------------------
-# MD_CPU and MD_SUBCPU are set at configure time by way of
-# gnuradio/config/gr_set_md_cpu.m4.
-# It indicates which set of machine dependent code we should be building.
-# We currently implement "generic" and "x86"
-
-#
-# <foo>_CODE entry for each set of machine specific speedups
-#
-
-generic_CODE = \
- sysconfig_generic.cc
-
-generic_qa_CODE = \
- qa_dotprod_generic.cc
-
-x86_CODE = \
- sysconfig_x86.cc \
- gr_fir_sysconfig_x86.cc \
- gr_cpu_x86.cc \
- gr_fir_ccc_simd.cc \
- gr_fir_ccc_x86.cc \
- gr_fir_fff_simd.cc \
- gr_fir_fff_x86.cc \
- gr_fir_fsf_simd.cc \
- gr_fir_fsf_x86.cc \
- gr_fir_scc_simd.cc \
- gr_fir_scc_x86.cc \
- gr_fir_fcc_simd.cc \
- gr_fir_fcc_x86.cc \
- gr_fir_ccf_simd.cc \
- gr_fir_ccf_x86.cc \
- sse_debug.c
-
-x86_SUBCODE = \
- float_dotprod_sse.S \
- float_dotprod_3dnow.S \
- complex_dotprod_3dnowext.S \
- complex_dotprod_3dnow.S \
- complex_dotprod_sse.S \
- ccomplex_dotprod_3dnowext.S \
- ccomplex_dotprod_3dnow.S \
- ccomplex_dotprod_sse.S \
- fcomplex_dotprod_3dnow.S \
- fcomplex_dotprod_sse.S \
- short_dotprod_mmx.S
-
-x86_64_SUBCODE = \
- float_dotprod_sse64.S \
- float_dotprod_3dnow64.S \
- complex_dotprod_3dnowext64.S \
- complex_dotprod_3dnow64.S \
- complex_dotprod_sse64.S \
- ccomplex_dotprod_3dnowext64.S \
- ccomplex_dotprod_3dnow64.S \
- ccomplex_dotprod_sse64.S \
- fcomplex_dotprod_3dnow64.S \
- fcomplex_dotprod_sse64.S \
- short_dotprod_mmx64.S
-
-x86_qa_CODE = \
- qa_dotprod_x86.cc \
- qa_float_dotprod_x86.cc \
- qa_complex_dotprod_x86.cc \
- qa_ccomplex_dotprod_x86.cc
-
-powerpc_CODE = \
- sysconfig_powerpc.cc \
- gr_fir_sysconfig_powerpc.cc \
- gr_cpu_powerpc.cc \
- gr_fir_fff_altivec.cc \
- gr_altivec.c \
- dotprod_fff_altivec.c
-
-powerpc_qa_CODE = \
- qa_dotprod_powerpc.cc
-
-armv7_a_CODE = \
- sysconfig_armv7_a.cc \
- gr_fir_sysconfig_armv7_a.cc \
- gr_cpu_armv7_a.cc \
- gr_fir_fff_armv7_a.cc \
- dotprod_fff_armv7_a.c \
- gr_fir_ccf_armv7_a.cc \
- dotprod_ccf_armv7_a.c
-
-armv7_a_qa_CODE = \
- qa_dotprod_armv7_a.cc
-
-#
-# include each <foo>_CODE entry here...
-#
-EXTRA_libfilter_la_SOURCES = \
- $(generic_CODE) \
- $(generic_qa_CODE) \
- $(x86_CODE) \
- $(x86_SUBCODE) \
- $(x86_64_SUBCODE) \
- $(x86_qa_CODE) \
- $(powerpc_CODE) \
- $(powerpc_qa_CODE) \
- $(armv7_a_CODE) \
- $(armv7_a_qa_CODE)
-
-
-EXTRA_DIST += \
- 3dnow_float_dotprod_really_simple.S \
- 3dnow_float_dotprod_simple.S \
- $(code_generator)
-
-# work around automake deficiency
-libfilter_la_common_SOURCES = \
- $(GENERATED_CC) \
- gr_adaptive_fir_ccc.cc \
- gr_adaptive_fir_ccf.cc \
- gri_fft_filter_fff_generic.cc \
- gri_fft_filter_ccc_generic.cc \
- gr_fft_filter_ccc.cc \
- gr_fft_filter_fff.cc \
- gr_goertzel_fc.cc \
- gr_filter_delay_fc.cc \
- gr_fractional_interpolator_ff.cc \
- gr_fractional_interpolator_cc.cc \
- gr_hilbert_fc.cc \
- gr_iir_filter_ffd.cc \
- gr_sincos.c \
- gr_single_pole_iir_filter_ff.cc \
- gr_single_pole_iir_filter_cc.cc \
- gri_goertzel.cc \
- gri_mmse_fir_interpolator.cc \
- gri_mmse_fir_interpolator_cc.cc \
- complex_dotprod_generic.cc \
- ccomplex_dotprod_generic.cc \
- float_dotprod_generic.c \
- short_dotprod_generic.c \
- gr_pfb_channelizer_ccf.cc \
- gr_pfb_synthesis_filterbank_ccf.cc\
- gr_pfb_decimator_ccf.cc \
- gr_pfb_interpolator_ccf.cc \
- gr_pfb_arb_resampler_ccf.cc \
- gr_pfb_arb_resampler_fff.cc \
- gr_pfb_clock_sync_ccf.cc \
- gr_pfb_clock_sync_fff.cc \
- gr_dc_blocker_cc.cc \
- gr_dc_blocker_ff.cc
-
-libfilter_qa_la_common_SOURCES = \
- qa_filter.cc \
- qa_gr_fir_ccf.cc \
- qa_gr_fir_fcc.cc \
- qa_gr_fir_fff.cc \
- qa_gr_fir_ccc.cc \
- qa_gr_fir_scc.cc \
- qa_gr_rotator.cc \
- qa_gri_mmse_fir_interpolator.cc \
- qa_gri_mmse_fir_interpolator_cc.cc \
- qa_gri_fir_filter_with_buffer_ccf.cc \
- qa_gri_fir_filter_with_buffer_ccc.cc \
- qa_gri_fir_filter_with_buffer_fcc.cc \
- qa_gri_fir_filter_with_buffer_fff.cc \
- qa_gri_fir_filter_with_buffer_fsf.cc \
- qa_gri_fir_filter_with_buffer_scc.cc
-
-if MD_CPU_generic
-libfilter_la_SOURCES = $(libfilter_la_common_SOURCES) $(generic_CODE)
-libfilter_qa_la_SOURCES = $(libfilter_qa_la_common_SOURCES) $(generic_qa_CODE)
-endif
-
-if MD_CPU_x86
-if MD_SUBCPU_x86_64
-libfilter_la_SOURCES = $(libfilter_la_common_SOURCES) $(x86_64_SUBCODE) $(x86_CODE)
-else
-libfilter_la_SOURCES = $(libfilter_la_common_SOURCES) $(x86_SUBCODE) $(x86_CODE)
-endif
-
-libfilter_qa_la_SOURCES = $(libfilter_qa_la_common_SOURCES) $(x86_qa_CODE)
-endif
-
-if MD_CPU_powerpc
-libfilter_la_SOURCES = $(libfilter_la_common_SOURCES) $(powerpc_CODE)
-libfilter_qa_la_SOURCES = $(libfilter_qa_la_common_SOURCES) $(powerpc_qa_CODE)
-endif
-
-if MD_CPU_armv7_a
-libfilter_la_SOURCES = $(libfilter_la_common_SOURCES) $(armv7_a_CODE)
-libfilter_qa_la_SOURCES = $(libfilter_qa_la_common_SOURCES) $(armv7_a_qa_CODE)
-endif
-
-
-grinclude_HEADERS = \
- $(GENERATED_H) \
- complex_dotprod_generic.h \
- complex_dotprod_x86.h \
- fcomplex_dotprod_x86.h \
- ccomplex_dotprod_generic.h \
- ccomplex_dotprod_x86.h \
- float_dotprod_generic.h \
- float_dotprod_x86.h \
- gr_adaptive_fir_ccc.h \
- gr_adaptive_fir_ccf.h \
- gr_altivec.h \
- gr_cpu.h \
- gri_fft_filter_fff_generic.h \
- gri_fft_filter_ccc_generic.h \
- gr_fft_filter_ccc.h \
- gr_fft_filter_fff.h \
- gr_filter_delay_fc.h \
- gr_fir_sysconfig_x86.h \
- gr_fir_sysconfig_powerpc.h \
- gr_fractional_interpolator_ff.h \
- gr_fractional_interpolator_cc.h \
- gr_goertzel_fc.h \
- gr_hilbert_fc.h \
- gr_iir_filter_ffd.h \
- gr_rotator.h \
- gr_sincos.h \
- gr_single_pole_iir.h \
- gr_single_pole_iir_filter_ff.h \
- gr_single_pole_iir_filter_cc.h \
- gr_vec_types.h \
- gri_goertzel.h \
- gri_iir.h \
- gri_mmse_fir_interpolator.h \
- gri_mmse_fir_interpolator_cc.h \
- qa_filter.h \
- short_dotprod_generic.h \
- short_dotprod_x86.h \
- sse_debug.h \
- gr_pfb_channelizer_ccf.h \
- gr_pfb_synthesis_filterbank_ccf.h\
- gr_pfb_decimator_ccf.h \
- gr_pfb_interpolator_ccf.h \
- gr_pfb_arb_resampler_ccf.h \
- gr_pfb_arb_resampler_fff.h \
- gr_pfb_clock_sync_ccf.h \
- gr_pfb_clock_sync_fff.h \
- gr_dc_blocker_cc.h \
- gr_dc_blocker_ff.h
-
-noinst_HEADERS = \
- assembly.h \
- gcc_x86_cpuid.h \
- dotprod_fff_altivec.h \
- dotprod_fff_armv7_a.h \
- dotprod_ccf_armv7_a.h \
- gr_fir_scc_simd.h \
- gr_fir_scc_x86.h \
- gr_fir_fcc_simd.h \
- gr_fir_fcc_x86.h \
- gr_fir_ccf_simd.h \
- gr_fir_ccf_x86.h \
- gr_fir_ccc_simd.h \
- gr_fir_ccc_x86.h \
- gr_fir_fff_altivec.h \
- gr_fir_fff_armv7_a.h \
- gr_fir_ccf_armv7_a.h \
- gr_fir_fff_simd.h \
- gr_fir_fff_x86.h \
- gr_fir_fsf_simd.h \
- gr_fir_fsf_x86.h \
- interpolator_taps.h \
- qa_complex_dotprod_x86.h \
- qa_ccomplex_dotprod_x86.h \
- qa_dotprod.h \
- qa_float_dotprod_x86.h \
- qa_gr_fir_ccf.h \
- qa_gr_fir_fcc.h \
- qa_gr_fir_fff.h \
- qa_gr_fir_ccc.h \
- qa_gr_fir_scc.h \
- qa_gr_rotator.h \
- qa_gri_mmse_fir_interpolator.h \
- qa_gri_mmse_fir_interpolator_cc.h \
- qa_gri_fir_filter_with_buffer_ccf.h \
- qa_gri_fir_filter_with_buffer_ccc.h \
- qa_gri_fir_filter_with_buffer_fcc.h \
- qa_gri_fir_filter_with_buffer_fff.h \
- qa_gri_fir_filter_with_buffer_fsf.h \
- qa_gri_fir_filter_with_buffer_scc.h
-
-
-swiginclude_HEADERS = \
- filter.i \
- filter_generated.i \
- gr_adaptive_fir_ccc.i \
- gr_adaptive_fir_ccf.i \
- gr_fft_filter_ccc.i \
- gr_fft_filter_fff.i \
- gr_filter_delay_fc.i \
- gr_fractional_interpolator_ff.i \
- gr_fractional_interpolator_cc.i \
- gr_goertzel_fc.i \
- gr_hilbert_fc.i \
- gr_iir_filter_ffd.i \
- gr_single_pole_iir_filter_ff.i \
- gr_single_pole_iir_filter_cc.i \
- gr_pfb_channelizer_ccf.i \
- gr_pfb_synthesis_filterbank_ccf.i\
- gr_pfb_decimator_ccf.i \
- gr_pfb_interpolator_ccf.i \
- gr_pfb_arb_resampler_ccf.i \
- gr_pfb_arb_resampler_fff.i \
- gr_pfb_clock_sync_ccf.i \
- gr_pfb_clock_sync_fff.i \
- gr_dc_blocker_cc.i \
- gr_dc_blocker_ff.i \
- $(GENERATED_I)
-
-
-# Do creation and inclusion of other Makefiles last
-
-# include the srcdir's Makefile.gen; doing this creates an implicit
-# dependency between $(srcdir)/Makefile.in and $(srcdir)/Makefile.gen.
-include $(srcdir)/Makefile.gen
-
-# common way for generating local Makefile.gen
-makefile_gen_gen_command = PYTHONPATH=$(top_srcdir)/gnuradio-core/src/python srcdir=$(srcdir) do_makefile=1 do_sources=0 $(PYTHON) $(srcdir)/generate_all.py
-include $(top_srcdir)/Makefile.gen.gen
-
-# common way for generating sources from templates when using
-# BUILT_SOURCES, using parallel build protection.
-gen_sources = $(BUILT_SOURCES)
-gen_sources_deps = $(core_generator)
-par_gen_command = PYTHONPATH=$(top_srcdir)/gnuradio-core/src/python srcdir=$(srcdir) $(PYTHON) $(srcdir)/generate_all.py
-include $(top_srcdir)/Makefile.par.gen
diff --git a/gnuradio-core/src/lib/filter/filter.i b/gnuradio-core/src/lib/filter/filter.i
index 8c3bb9eb6..2b7d9d0b7 100644
--- a/gnuradio-core/src/lib/filter/filter.i
+++ b/gnuradio-core/src/lib/filter/filter.i
@@ -32,7 +32,7 @@
#include <gr_fractional_interpolator_cc.h>
#include <gr_goertzel_fc.h>
#include <gr_pfb_channelizer_ccf.h>
-#include <gr_pfb_synthesis_filterbank_ccf.h>
+#include <gr_pfb_synthesizer_ccf.h>
#include <gr_pfb_decimator_ccf.h>
#include <gr_pfb_interpolator_ccf.h>
#include <gr_pfb_arb_resampler_ccf.h>
@@ -54,7 +54,7 @@
%include "gr_fractional_interpolator_cc.i"
%include "gr_goertzel_fc.i"
%include "gr_pfb_channelizer_ccf.i"
-%include "gr_pfb_synthesis_filterbank_ccf.i"
+%include "gr_pfb_synthesizer_ccf.i"
%include "gr_pfb_decimator_ccf.i"
%include "gr_pfb_interpolator_ccf.i"
%include "gr_pfb_arb_resampler_ccf.i"
diff --git a/gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.cc b/gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.cc
index db16a634b..a82d3901c 100644
--- a/gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.cc
+++ b/gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.cc
@@ -46,7 +46,7 @@ gr_pfb_channelizer_ccf::gr_pfb_channelizer_ccf (unsigned int numchans,
float oversample_rate)
: gr_block ("pfb_channelizer_ccf",
gr_make_io_signature (numchans, numchans, sizeof(gr_complex)),
- gr_make_io_signature (1, 1, numchans*sizeof(gr_complex))),
+ gr_make_io_signature (1, numchans, sizeof(gr_complex))),
d_updated (false), d_numchans(numchans), d_oversample_rate(oversample_rate)
{
// The over sampling rate must be rationally related to the number of channels
@@ -62,11 +62,13 @@ gr_pfb_channelizer_ccf::gr_pfb_channelizer_ccf (unsigned int numchans,
set_relative_rate(1.0/intp);
d_filters = std::vector<gr_fir_ccf*>(d_numchans);
+ d_channel_map.resize(d_numchans);
// Create an FIR filter for each channel and zero out the taps
std::vector<float> vtaps(0, d_numchans);
for(unsigned int i = 0; i < d_numchans; i++) {
d_filters[i] = gr_fir_util::create_gr_fir_ccf(vtaps);
+ d_channel_map[i] = i;
}
// Now, actually set the filters' taps
@@ -104,6 +106,7 @@ gr_pfb_channelizer_ccf::~gr_pfb_channelizer_ccf ()
void
gr_pfb_channelizer_ccf::set_taps (const std::vector<float> &taps)
{
+ gruel::scoped_lock guard(d_mutex);
unsigned int i,j;
unsigned int ntaps = taps.size();
@@ -151,6 +154,33 @@ gr_pfb_channelizer_ccf::print_taps()
}
}
+std::vector< std::vector<float> >
+gr_pfb_channelizer_ccf::taps() const
+{
+ return d_taps;
+}
+
+void
+gr_pfb_channelizer_ccf::set_channel_map(const std::vector<int> &map)
+{
+ gruel::scoped_lock guard(d_mutex);
+
+ if(map.size() > 0) {
+ unsigned int max = (unsigned int)*std::max_element(map.begin(), map.end());
+ unsigned int min = (unsigned int)*std::min_element(map.begin(), map.end());
+ if((max >= d_numchans) || (min < 0)) {
+ throw std::invalid_argument("gr_pfb_channelizer_ccf::set_channel_map: map range out of bounds.\n");
+ }
+ d_channel_map = map;
+ }
+}
+
+std::vector<int>
+gr_pfb_channelizer_ccf::channel_map() const
+{
+ return d_channel_map;
+}
+
int
gr_pfb_channelizer_ccf::general_work (int noutput_items,
@@ -158,6 +188,8 @@ gr_pfb_channelizer_ccf::general_work (int noutput_items,
gr_vector_const_void_star &input_items,
gr_vector_void_star &output_items)
{
+ gruel::scoped_lock guard(d_mutex);
+
gr_complex *in = (gr_complex *) input_items[0];
gr_complex *out = (gr_complex *) output_items[0];
@@ -166,7 +198,9 @@ gr_pfb_channelizer_ccf::general_work (int noutput_items,
return 0; // history requirements may have changed.
}
- int n=1, i=-1, j=0, last;
+ size_t noutputs = output_items.size();
+
+ int n=1, i=-1, j=0, oo=0, last;
int toconsume = (int)rintf(noutput_items/d_oversample_rate);
while(n <= toconsume) {
j = 0;
@@ -191,8 +225,13 @@ gr_pfb_channelizer_ccf::general_work (int noutput_items,
// despin through FFT
d_fft->execute();
- memcpy(out, d_fft->get_outbuf(), d_numchans*sizeof(gr_complex));
- out += d_numchans;
+
+ // Send to output channels
+ for(unsigned int nn = 0; nn < noutputs; nn++) {
+ out = (gr_complex*)output_items[nn];
+ out[oo] = d_fft->get_outbuf()[d_channel_map[nn]];
+ }
+ oo++;
}
consume_each(toconsume);
diff --git a/gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.h b/gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.h
index 8fd5c4f78..040b93e73 100644
--- a/gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.h
+++ b/gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.h
@@ -26,6 +26,7 @@
#include <gr_core_api.h>
#include <gr_block.h>
+#include <gruel/thread.h>
class gr_pfb_channelizer_ccf;
typedef boost::shared_ptr<gr_pfb_channelizer_ccf> gr_pfb_channelizer_ccf_sptr;
@@ -146,6 +147,8 @@ class GR_CORE_API gr_pfb_channelizer_ccf : public gr_block
int *d_idxlut;
int d_rate_ratio;
int d_output_multiple;
+ std::vector<int> d_channel_map;
+ gruel::mutex d_mutex; // mutex to protect set/work access
/*!
* Build the polyphase filterbank decimator.
@@ -170,6 +173,49 @@ public:
* Print all of the filterbank taps to screen.
*/
void print_taps();
+
+ /*!
+ * Return a vector<vector<>> of the filterbank taps
+ */
+ std::vector<std::vector<float> > taps() const;
+
+ /*!
+ * Set the channel map. Channels are numbers as:
+ *
+ * N/2+1 | ... | N-1 | 0 | 1 | 2 | ... | N/2
+ * <------------------- 0 -------------------->
+ * freq
+ *
+ * So output stream 0 comes from channel 0, etc. Setting a new
+ * channel map allows the user to specify which channel in frequency
+ * he/she wants to got to which output stream.
+ *
+ * The map should have the same number of elements as the number of
+ * output connections from the block. The minimum value of the map
+ * is 0 (for the 0th channel) and the maximum number is N-1 where N
+ * is the number of channels.
+ *
+ * We specify M as the number of output connections made where M <=
+ * N, so only M out of N channels are driven to an output
+ * stream. The number of items in the channel map should be at least
+ * M long. If there are more channels specified, any value in the
+ * map over M-1 will be ignored. If the size of the map is less than
+ * M the behavior is unknown (we don't wish to check every entry
+ * into the work function).
+ *
+ * This means that if the channelizer is splitting the signal up
+ * into N channels but only M channels are specified in the map
+ * (where M <= N), then M output streams must be connected and the
+ * map and the channel numbers used must be less than N-1. Output
+ * channel number can be reused, too. By default, the map is
+ * [0...M-1] with M = N.
+ */
+ void set_channel_map(const std::vector<int> &map);
+
+ /*!
+ * Gets the current channel map.
+ */
+ std::vector<int> channel_map() const;
int general_work (int noutput_items,
gr_vector_int &ninput_items,
diff --git a/gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.i b/gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.i
index 63e3e0fe6..f5edba5b7 100644
--- a/gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.i
+++ b/gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.i
@@ -37,4 +37,9 @@ class gr_pfb_channelizer_ccf : public gr_block
~gr_pfb_channelizer_ccf ();
void set_taps (const std::vector<float> &taps);
+ void print_taps();
+ std::vector<std::vector<float> > taps() const;
+
+ void set_channel_map(const std::vector<int> &map);
+ std::vector<int> channel_map() const;
};
diff --git a/gnuradio-core/src/lib/filter/gr_pfb_synthesis_filterbank_ccf.cc b/gnuradio-core/src/lib/filter/gr_pfb_synthesis_filterbank_ccf.cc
deleted file mode 100644
index 9fad1bd0d..000000000
--- a/gnuradio-core/src/lib/filter/gr_pfb_synthesis_filterbank_ccf.cc
+++ /dev/null
@@ -1,169 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2010 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.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <gr_pfb_synthesis_filterbank_ccf.h>
-#include <gri_fft.h>
-#include <gr_io_signature.h>
-#include <cstdio>
-#include <cstring>
-
-gr_pfb_synthesis_filterbank_ccf_sptr gr_make_pfb_synthesis_filterbank_ccf
- (unsigned int numchans, const std::vector<float> &taps)
-{
- return gr_pfb_synthesis_filterbank_ccf_sptr
- (new gr_pfb_synthesis_filterbank_ccf (numchans, taps));
-}
-
-
-gr_pfb_synthesis_filterbank_ccf::gr_pfb_synthesis_filterbank_ccf
- (unsigned int numchans, const std::vector<float> &taps)
- : gr_sync_interpolator ("pfb_synthesis_filterbank_ccf",
- gr_make_io_signature (1, numchans, sizeof(gr_complex)),
- gr_make_io_signature (1, 1, sizeof(gr_complex)),
- numchans),
- d_updated (false), d_numchans(numchans)
-{
- d_filters = std::vector<gri_fir_filter_with_buffer_ccf*>(d_numchans);
-
- // Create an FIR filter for each channel and zero out the taps
- std::vector<float> vtaps(0, d_numchans);
- for(unsigned int i = 0; i < d_numchans; i++) {
- d_filters[i] = new gri_fir_filter_with_buffer_ccf(vtaps);
- }
-
- // Now, actually set the filters' taps
- set_taps(taps);
-
- // Create the IFFT to handle the input channel rotations
- d_fft = new gri_fft_complex (d_numchans, true);
-}
-
-gr_pfb_synthesis_filterbank_ccf::~gr_pfb_synthesis_filterbank_ccf ()
-{
- for(unsigned int i = 0; i < d_numchans; i++) {
- delete d_filters[i];
- }
-}
-
-void
-gr_pfb_synthesis_filterbank_ccf::set_taps (const std::vector<float> &taps)
-{
- unsigned int i,j;
-
- unsigned int ntaps = taps.size();
- d_taps_per_filter = (unsigned int)ceil((double)ntaps/(double)d_numchans);
-
- // Create d_numchan vectors to store each channel's taps
- d_taps.resize(d_numchans);
-
- // Make a vector of the taps plus fill it out with 0's to fill
- // each polyphase filter with exactly d_taps_per_filter
- std::vector<float> tmp_taps;
- tmp_taps = taps;
- while((float)(tmp_taps.size()) < d_numchans*d_taps_per_filter) {
- tmp_taps.push_back(0.0);
- }
-
- // Partition the filter
- for(i = 0; i < d_numchans; i++) {
- // Each channel uses all d_taps_per_filter with 0's if not enough taps to fill out
- d_taps[i] = std::vector<float>(d_taps_per_filter, 0);
- for(j = 0; j < d_taps_per_filter; j++) {
- d_taps[i][j] = tmp_taps[i + j*d_numchans]; // add taps to channels in reverse order
- }
-
- // Build a filter for each channel and add it's taps to it
- d_filters[i]->set_taps(d_taps[i]);
- }
-
- // Set the history to ensure enough input items for each filter
- set_history (d_taps_per_filter+1);
-
- d_updated = true;
-}
-
-void
-gr_pfb_synthesis_filterbank_ccf::print_taps()
-{
- unsigned int i, j;
- for(i = 0; i < d_numchans; i++) {
- printf("filter[%d]: [", i);
- for(j = 0; j < d_taps_per_filter; j++) {
- printf(" %.4e", d_taps[i][j]);
- }
- printf("]\n\n");
- }
-}
-
-
-int
-gr_pfb_synthesis_filterbank_ccf::work (int noutput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items)
-{
- gr_complex *in = (gr_complex*) input_items[0];
- gr_complex *out = (gr_complex *) output_items[0];
- int numsigs = input_items.size();
- int ndiff = d_numchans - numsigs;
- unsigned int nhalf = (unsigned int)ceil((float)numsigs/2.0f);
-
- if (d_updated) {
- d_updated = false;
- return 0; // history requirements may have changed.
- }
-
- unsigned int n, i;
- for(n = 0; n < noutput_items/d_numchans; n++) {
- // fill up the populated channels based on the
- // number of real input streams
- for(i = 0; i < nhalf; i++) {
- in = (gr_complex*)input_items[i];
- d_fft->get_inbuf()[i] = (in+i)[n];
- }
-
- // Make the ndiff channels around N/2 0
- for(; i < nhalf+ndiff; i++) {
- d_fft->get_inbuf()[i] = gr_complex(0,0);
- }
-
- // Finish off channels with data
- for(; i < d_numchans; i++) {
- in = (gr_complex*)input_items[i-ndiff];
- d_fft->get_inbuf()[i] = (in+i)[n];
- }
-
- // spin through IFFT
- d_fft->execute();
-
- for(i = 0; i < d_numchans; i++) {
- out[d_numchans-i-1] = d_filters[d_numchans-i-1]->filter(d_fft->get_outbuf()[i]);
- }
-
- out += d_numchans;
- }
-
- return noutput_items;
-}
diff --git a/gnuradio-core/src/lib/filter/gr_pfb_synthesis_filterbank_ccf.h b/gnuradio-core/src/lib/filter/gr_pfb_synthesis_filterbank_ccf.h
deleted file mode 100644
index 1f772b1dd..000000000
--- a/gnuradio-core/src/lib/filter/gr_pfb_synthesis_filterbank_ccf.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2010 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.
- */
-
-
-#ifndef INCLUDED_GR_PFB_SYNTHESIS_FILTERBANK_CCF_H
-#define INCLUDED_GR_PFB_SYNTHESIS_FILTERBANK_CCF_H
-
-#include <gr_core_api.h>
-#include <gr_sync_interpolator.h>
-#include <gri_fir_filter_with_buffer_ccf.h>
-
-class gr_pfb_synthesis_filterbank_ccf;
-typedef boost::shared_ptr<gr_pfb_synthesis_filterbank_ccf> gr_pfb_synthesis_filterbank_ccf_sptr;
-GR_CORE_API gr_pfb_synthesis_filterbank_ccf_sptr gr_make_pfb_synthesis_filterbank_ccf
- (unsigned int numchans, const std::vector<float> &taps);
-
-class gri_fft_complex;
-
-
-/*!
- * \class gr_pfb_synthesis_filterbank_ccf
- *
- * \brief Polyphase synthesis filterbank with
- * gr_complex input, gr_complex output and float taps
- *
- * \ingroup filter_blk
- * \ingroup pfb_blk
- */
-
-class GR_CORE_API gr_pfb_synthesis_filterbank_ccf : public gr_sync_interpolator
-{
- private:
- /*!
- * Build the polyphase synthesis filterbank.
- * \param numchans (unsigned integer) Specifies the number of
- channels <EM>M</EM>
- * \param taps (vector/list of floats) The prototype filter to
- populate the filterbank.
- */
- friend GR_CORE_API gr_pfb_synthesis_filterbank_ccf_sptr gr_make_pfb_synthesis_filterbank_ccf
- (unsigned int numchans, const std::vector<float> &taps);
-
- bool d_updated;
- unsigned int d_numchans;
- unsigned int d_taps_per_filter;
- gri_fft_complex *d_fft;
- std::vector< gri_fir_filter_with_buffer_ccf*> d_filters;
- std::vector< std::vector<float> > d_taps;
-
-
- /*!
- * Build the polyphase synthesis filterbank.
- * \param numchans (unsigned integer) Specifies the number of
- channels <EM>M</EM>
- * \param taps (vector/list of floats) The prototype filter
- to populate the filterbank.
- */
- gr_pfb_synthesis_filterbank_ccf (unsigned int numchans,
- const std::vector<float> &taps);
-
-public:
- ~gr_pfb_synthesis_filterbank_ccf ();
-
- /*!
- * Resets the filterbank's filter taps with the new prototype filter
- * \param taps (vector/list of floats) The prototype filter to
- populate the filterbank.
- */
- void set_taps (const std::vector<float> &taps);
-
- /*!
- * Print all of the filterbank taps to screen.
- */
- void print_taps();
-
- int work (int noutput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items);
-};
-
-#endif
diff --git a/gnuradio-core/src/lib/filter/gr_pfb_synthesizer_ccf.cc b/gnuradio-core/src/lib/filter/gr_pfb_synthesizer_ccf.cc
new file mode 100644
index 000000000..08fbd3df7
--- /dev/null
+++ b/gnuradio-core/src/lib/filter/gr_pfb_synthesizer_ccf.cc
@@ -0,0 +1,286 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2010,2012 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.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <gr_pfb_synthesizer_ccf.h>
+#include <gri_fft.h>
+#include <gr_io_signature.h>
+#include <cstdio>
+#include <cstring>
+
+gr_pfb_synthesizer_ccf_sptr gr_make_pfb_synthesizer_ccf
+ (unsigned int numchans, const std::vector<float> &taps, bool twox)
+{
+ return gr_pfb_synthesizer_ccf_sptr
+ (new gr_pfb_synthesizer_ccf (numchans, taps, twox));
+}
+
+
+gr_pfb_synthesizer_ccf::gr_pfb_synthesizer_ccf
+ (unsigned int numchans, const std::vector<float> &taps, bool twox)
+ : gr_sync_interpolator ("pfb_synthesizer_ccf",
+ gr_make_io_signature (1, numchans, sizeof(gr_complex)),
+ gr_make_io_signature (1, 1, sizeof(gr_complex)),
+ numchans),
+ d_updated (false), d_numchans(numchans), d_state(0)
+{
+ // set up 2x multiplier; if twox==True, set to 2, otherwise to 1
+ d_twox = (twox ? 2 : 1);
+ if(d_numchans % d_twox != 0) {
+ throw std::invalid_argument("gr_pfb_synthesizer_ccf: number of channels must be even for 2x oversampling.\n");
+ }
+
+ d_filters = std::vector<gri_fir_filter_with_buffer_ccf*>(d_twox*d_numchans);
+ d_channel_map.resize(d_twox*d_numchans);
+
+ // Create an FIR filter for each channel and zero out the taps
+ std::vector<float> vtaps(0, d_twox*d_numchans);
+ for(unsigned int i = 0; i < d_twox*d_numchans; i++) {
+ d_filters[i] = new gri_fir_filter_with_buffer_ccf(vtaps);
+ d_channel_map[i] = i;
+ }
+
+ // Now, actually set the filters' taps
+ set_taps(taps);
+
+ // Create the IFFT to handle the input channel rotations
+ d_fft = new gri_fft_complex (d_twox*d_numchans, false);
+ memset(d_fft->get_inbuf(), 0, d_twox*d_numchans*sizeof(gr_complex));
+
+ set_output_multiple(d_numchans);
+}
+
+gr_pfb_synthesizer_ccf::~gr_pfb_synthesizer_ccf ()
+{
+ for(unsigned int i = 0; i < d_twox*d_numchans; i++) {
+ delete d_filters[i];
+ }
+}
+
+void
+gr_pfb_synthesizer_ccf::set_taps(const std::vector<float> &taps)
+{
+ gruel::scoped_lock guard(d_mutex);
+ if(d_twox == 1)
+ set_taps1(taps);
+ else
+ set_taps2(taps);
+}
+
+void
+gr_pfb_synthesizer_ccf::set_taps1(const std::vector<float> &taps)
+{
+ unsigned int i,j;
+
+ unsigned int ntaps = taps.size();
+ d_taps_per_filter = (unsigned int)ceil((double)ntaps/(double)d_numchans);
+
+ // Create d_numchan vectors to store each channel's taps
+ d_taps.resize(d_numchans);
+
+ // Make a vector of the taps plus fill it out with 0's to fill
+ // each polyphase filter with exactly d_taps_per_filter
+ std::vector<float> tmp_taps;
+ tmp_taps = taps;
+ while((float)(tmp_taps.size()) < d_numchans*d_taps_per_filter) {
+ tmp_taps.push_back(0.0);
+ }
+
+ // Partition the filter
+ for(i = 0; i < d_numchans; i++) {
+ // Each channel uses all d_taps_per_filter with 0's if not enough taps to fill out
+ d_taps[i] = std::vector<float>(d_taps_per_filter, 0);
+ for(j = 0; j < d_taps_per_filter; j++) {
+ d_taps[i][j] = tmp_taps[i + j*d_numchans]; // add taps to channels in reverse order
+ }
+
+ // Build a filter for each channel and add it's taps to it
+ d_filters[i]->set_taps(d_taps[i]);
+ }
+
+ // Set the history to ensure enough input items for each filter
+ set_history (d_taps_per_filter+1);
+
+ d_updated = true;
+}
+
+void
+gr_pfb_synthesizer_ccf::set_taps2 (const std::vector<float> &taps)
+{
+ unsigned int i,j;
+ int state = 0;
+
+ unsigned int ntaps = taps.size();
+ d_taps_per_filter = (unsigned int)ceil((double)ntaps/(double)d_numchans);
+
+ // Create d_numchan vectors to store each channel's taps
+ d_taps.resize(d_twox*d_numchans);
+
+ // Make a vector of the taps plus fill it out with 0's to fill
+ // each polyphase filter with exactly d_taps_per_filter
+ std::vector<float> tmp_taps;
+ tmp_taps = taps;
+ while((float)(tmp_taps.size()) < d_numchans*d_taps_per_filter) {
+ tmp_taps.push_back(0.0);
+ }
+
+ // Partition the filter
+ for(i = 0; i < d_numchans; i++) {
+ // Each channel uses all d_taps_per_filter with 0's if not enough taps to fill out
+ d_taps[i] = std::vector<float>(d_taps_per_filter, 0);
+ d_taps[d_numchans+i] = std::vector<float>(d_taps_per_filter, 0);
+ state = 0;
+ for(j = 0; j < d_taps_per_filter; j++) {
+ // add taps to channels in reverse order
+ // Zero out every other tap
+ if(state == 0) {
+ d_taps[i][j] = tmp_taps[i + j*d_numchans];
+ d_taps[d_numchans + i][j] = 0;
+ state = 1;
+ }
+ else {
+ d_taps[i][j] = 0;
+ d_taps[d_numchans + i][j] = tmp_taps[i + j*d_numchans];
+ state = 0;
+ }
+ }
+
+ // Build a filter for each channel and add it's taps to it
+ d_filters[i]->set_taps(d_taps[i]);
+ d_filters[d_numchans + i]->set_taps(d_taps[d_numchans + i]);
+ }
+
+ // Set the history to ensure enough input items for each filter
+ set_history (d_taps_per_filter+1);
+
+ d_updated = true;
+}
+
+void
+gr_pfb_synthesizer_ccf::print_taps()
+{
+ unsigned int i, j;
+ for(i = 0; i < d_twox*d_numchans; i++) {
+ printf("filter[%d]: [", i);
+ for(j = 0; j < d_taps_per_filter; j++) {
+ printf(" %.4e", d_taps[i][j]);
+ }
+ printf("]\n\n");
+ }
+}
+
+
+std::vector< std::vector<float> >
+gr_pfb_synthesizer_ccf::taps() const
+{
+ return d_taps;
+}
+
+void
+gr_pfb_synthesizer_ccf::set_channel_map(const std::vector<int> &map)
+{
+ gruel::scoped_lock guard(d_mutex);
+
+ if(map.size() > 0) {
+ unsigned int max = (unsigned int)*std::max_element(map.begin(), map.end());
+ unsigned int min = (unsigned int)*std::min_element(map.begin(), map.end());
+ if((max >= d_twox*d_numchans) || (min < 0)) {
+ throw std::invalid_argument("gr_pfb_synthesizer_ccf::set_channel_map: map range out of bounds.\n");
+ }
+ d_channel_map = map;
+
+ // Zero out fft buffer so that unused channels are always 0
+ memset(d_fft->get_inbuf(), 0,d_twox*d_numchans*sizeof(gr_complex));
+ }
+}
+
+std::vector<int>
+gr_pfb_synthesizer_ccf::channel_map() const
+{
+ return d_channel_map;
+}
+
+int
+gr_pfb_synthesizer_ccf::work (int noutput_items,
+ gr_vector_const_void_star &input_items,
+ gr_vector_void_star &output_items)
+{
+ gruel::scoped_lock guard(d_mutex);
+
+ gr_complex *in = (gr_complex*) input_items[0];
+ gr_complex *out = (gr_complex *) output_items[0];
+
+ if (d_updated) {
+ d_updated = false;
+ return 0; // history requirements may have changed.
+ }
+
+ unsigned int n, i;
+ size_t ninputs = input_items.size();
+
+ // Algoritm for critically sampled channels
+ if(d_twox == 1) {
+ for(n = 0; n < noutput_items/d_numchans; n++) {
+ for(i = 0; i < ninputs; i++) {
+ in = (gr_complex*)input_items[i];
+ d_fft->get_inbuf()[d_channel_map[i]] = in[n];
+ }
+
+ // spin through IFFT
+ d_fft->execute();
+
+ for(i = 0; i < d_numchans; i++) {
+ out[i] = d_filters[i]->filter(d_fft->get_outbuf()[i]);
+ }
+ out += d_numchans;
+ }
+ }
+
+ // Algorithm for oversampling by 2x
+ else {
+ for(n = 0; n < noutput_items/d_numchans; n++) {
+ for(i = 0; i < ninputs; i++) {
+ in = (gr_complex*)input_items[i];
+ d_fft->get_inbuf()[d_channel_map[i]] = in[n];
+ }
+
+ // spin through IFFT
+ d_fft->execute();
+
+ // Output is sum of two filters, but the input buffer to the filters must be circularly
+ // shifted by numchans every time through, done by using d_state to determine which IFFT
+ // buffer position to pull from.
+ for(i = 0; i < d_numchans; i++) {
+ out[i] = d_filters[i]->filter(d_fft->get_outbuf()[d_state*d_numchans+i]);
+ out[i] += d_filters[d_numchans+i]->filter(d_fft->get_outbuf()[(d_state^1)*d_numchans+i]);
+ }
+ d_state ^= 1;
+
+ out += d_numchans;
+ }
+ }
+
+ return noutput_items;
+}
diff --git a/gnuradio-core/src/lib/filter/gr_pfb_synthesizer_ccf.h b/gnuradio-core/src/lib/filter/gr_pfb_synthesizer_ccf.h
new file mode 100644
index 000000000..4c127b22f
--- /dev/null
+++ b/gnuradio-core/src/lib/filter/gr_pfb_synthesizer_ccf.h
@@ -0,0 +1,147 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2010,2012 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.
+ */
+
+
+#ifndef INCLUDED_GR_PFB_SYNTHESIZER_CCF_H
+#define INCLUDED_GR_PFB_SYNTHESIZER_CCF_H
+
+#include <gr_core_api.h>
+#include <gr_sync_interpolator.h>
+#include <gri_fir_filter_with_buffer_ccf.h>
+#include <gruel/thread.h>
+
+class gr_pfb_synthesizer_ccf;
+typedef boost::shared_ptr<gr_pfb_synthesizer_ccf> gr_pfb_synthesizer_ccf_sptr;
+GR_CORE_API gr_pfb_synthesizer_ccf_sptr gr_make_pfb_synthesizer_ccf
+ (unsigned int numchans, const std::vector<float> &taps, bool twox=false);
+
+class gri_fft_complex;
+
+
+/*!
+ * \class gr_pfb_synthesizer_ccf
+ *
+ * \brief Polyphase synthesis filterbank with
+ * gr_complex input, gr_complex output and float taps
+ *
+ * \ingroup filter_blk
+ * \ingroup pfb_blk
+ */
+
+class GR_CORE_API gr_pfb_synthesizer_ccf : public gr_sync_interpolator
+{
+ private:
+ /*!
+ * Build the polyphase synthesis filterbank.
+ * \param numchans (unsigned integer) Specifies the number of
+ channels <EM>M</EM>
+ * \param taps (vector/list of floats) The prototype filter to
+ populate the filterbank.
+ * \param twox (bool) use 2x oversampling or not (default is no)
+ */
+ friend GR_CORE_API gr_pfb_synthesizer_ccf_sptr gr_make_pfb_synthesizer_ccf
+ (unsigned int numchans, const std::vector<float> &taps, bool twox);
+
+ bool d_updated;
+ unsigned int d_numchans;
+ unsigned int d_taps_per_filter;
+ gri_fft_complex *d_fft;
+ std::vector< gri_fir_filter_with_buffer_ccf*> d_filters;
+ std::vector< std::vector<float> > d_taps;
+ int d_state;
+ std::vector<int> d_channel_map;
+ unsigned int d_twox;
+ gruel::mutex d_mutex; // mutex to protect set/work access
+
+ /*!
+ * \brief Tap setting algorithm for critically sampled channels
+ */
+ void set_taps1(const std::vector<float> &taps);
+
+ /*!
+ * \brief Tap setting algorithm for 2x over-sampled channels
+ */
+ void set_taps2(const std::vector<float> &taps);
+
+ /*!
+ * Build the polyphase synthesis filterbank.
+ * \param numchans (unsigned integer) Specifies the number of
+ channels <EM>M</EM>
+ * \param taps (vector/list of floats) The prototype filter
+ to populate the filterbank.
+ * \param twox (bool) use 2x oversampling or not (default is no)
+ */
+ gr_pfb_synthesizer_ccf (unsigned int numchans,
+ const std::vector<float> &taps,
+ bool twox);
+
+public:
+ ~gr_pfb_synthesizer_ccf ();
+
+ /*!
+ * Resets the filterbank's filter taps with the new prototype filter
+ * \param taps (vector/list of floats) The prototype filter to
+ populate the filterbank.
+ */
+ void set_taps (const std::vector<float> &taps);
+
+ /*!
+ * Print all of the filterbank taps to screen.
+ */
+ void print_taps();
+
+ /*!
+ * Return a vector<vector<>> of the filterbank taps
+ */
+ std::vector<std::vector<float> > taps() const;
+
+ /*!
+ * Set the channel map. Channels are numbers as:
+ * N/2+1 | ... | N-1 | 0 | 1 | 2 | ... | N/2
+ * <------------------- 0 -------------------->
+ * freq
+ *
+ * So input stream 0 goes to channel 0, etc. Setting a new channel
+ * map allows the user to specify where in frequency he/she wants
+ * the input stream to go. This is especially useful to avoid
+ * putting signals into the channels on the edge of the spectrum
+ * which can either wrap around (in the case of odd number of
+ * channels) and be affected by filter rolloff in the transmitter.
+ *
+ * The map must be at least the number of streams being sent to the
+ * block. Less and the algorithm will not have enough data to
+ * properly setup the buffers. Any more channels specified will be
+ * ignored.
+ */
+ void set_channel_map(const std::vector<int> &map);
+
+ /*!
+ * Gets the current channel map.
+ */
+ std::vector<int> channel_map() const;
+
+ int work (int noutput_items,
+ gr_vector_const_void_star &input_items,
+ gr_vector_void_star &output_items);
+};
+
+#endif
diff --git a/gnuradio-core/src/lib/filter/gr_pfb_synthesis_filterbank_ccf.i b/gnuradio-core/src/lib/filter/gr_pfb_synthesizer_ccf.i
index 02a9f0255..1e2c057ba 100644
--- a/gnuradio-core/src/lib/filter/gr_pfb_synthesis_filterbank_ccf.i
+++ b/gnuradio-core/src/lib/filter/gr_pfb_synthesizer_ccf.i
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2010 Free Software Foundation, Inc.
+ * Copyright 2010,2012 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -20,19 +20,25 @@
* Boston, MA 02110-1301, USA.
*/
-GR_SWIG_BLOCK_MAGIC(gr,pfb_synthesis_filterbank_ccf);
+GR_SWIG_BLOCK_MAGIC(gr,pfb_synthesizer_ccf);
-gr_pfb_synthesis_filterbank_ccf_sptr gr_make_pfb_synthesis_filterbank_ccf
- (unsigned int numchans, const std::vector<float> &taps);
+gr_pfb_synthesizer_ccf_sptr gr_make_pfb_synthesizer_ccf
+ (unsigned int numchans, const std::vector<float> &taps, bool twox=false);
-class gr_pfb_synthesis_filterbank_ccf : public gr_sync_interpolator
+class gr_pfb_synthesizer_ccf : public gr_sync_interpolator
{
private:
- gr_pfb_synthesis_filterbank_ccf (unsigned int numchans,
- const std::vector<float> &taps);
-
+ gr_pfb_synthesizer_ccf (unsigned int numchans,
+ const std::vector<float> &taps,
+ bool twox=false);
+
public:
- ~gr_pfb_synthesis_filterbank_ccf ();
+ ~gr_pfb_synthesizer_ccf ();
void set_taps (const std::vector<float> &taps);
+ void print_taps();
+ std::vector< std::vector<float> > taps() const;
+
+ void set_channel_map(const std::vector<int> &map);
+ std::vector<int> channel_map() const;
};
diff --git a/gnuradio-core/src/lib/general/.gitignore b/gnuradio-core/src/lib/general/.gitignore
deleted file mode 100644
index 795dc793c..000000000
--- a/gnuradio-core/src/lib/general/.gitignore
+++ /dev/null
@@ -1,308 +0,0 @@
-/Makefile
-/Makefile.in
-/.la
-/.lo
-/.deps
-/.libs
-/*.la
-/*.lo
-/*.pyc
-/generate-stamp
-/gr_constants.cc
-/GrFIRfilterCCC.cc
-/GrFIRfilterCCC.h
-/GrFIRfilterCCF.cc
-/GrFIRfilterCCF.h
-/GrFIRfilterFCC.cc
-/GrFIRfilterFCC.h
-/GrFIRfilterFFF.cc
-/GrFIRfilterFFF.h
-/GrFIRfilterFSF.cc
-/GrFIRfilterFSF.h
-/GrFIRfilterSCC.cc
-/GrFIRfilterSCC.h
-/GrFIRfilterSIS.cc
-/GrFIRfilterSIS.h
-/GrFreqXlatingFIRfilterCCC.cc
-/GrFreqXlatingFIRfilterCCC.h
-/GrFreqXlatingFIRfilterCCF.cc
-/GrFreqXlatingFIRfilterCCF.h
-/GrFreqXlatingFIRfilterFCC.cc
-/GrFreqXlatingFIRfilterFCC.h
-/GrFreqXlatingFIRfilterFCF.cc
-/GrFreqXlatingFIRfilterFCF.h
-/GrFreqXlatingFIRfilterSCC.cc
-/GrFreqXlatingFIRfilterSCC.h
-/GrFreqXlatingFIRfilterSCF.cc
-/GrFreqXlatingFIRfilterSCF.h
-/gr_fir_CCC.cc
-/gr_fir_CCC.h
-/gr_fir_CCC_generic.cc
-/gr_fir_CCC_generic.h
-/gr_fir_CCF.cc
-/gr_fir_CCF.h
-/gr_fir_CCF_generic.cc
-/gr_fir_CCF_generic.h
-/gr_fir_FCC.cc
-/gr_fir_FCC.h
-/gr_fir_FCC_generic.cc
-/gr_fir_FCC_generic.h
-/gr_fir_FFF.cc
-/gr_fir_FFF.h
-/gr_fir_FFF_generic.cc
-/gr_fir_FFF_generic.h
-/gr_fir_FSF.cc
-/gr_fir_FSF.h
-/gr_fir_FSF_generic.cc
-/gr_fir_FSF_generic.h
-/gr_fir_SCC.cc
-/gr_fir_SCC.h
-/gr_fir_SCC_generic.cc
-/gr_fir_SCC_generic.h
-/gr_fir_SIS.cc
-/gr_fir_SIS.h
-/gr_fir_SIS_generic.cc
-/gr_fir_SIS_generic.h
-/gr_fir_sysconfig.cc
-/gr_fir_sysconfig.h
-/gr_fir_sysconfig_generic.cc
-/gr_fir_sysconfig_generic.h
-/gr_fir_util.cc
-/gr_fir_util.h
-/GrFIRfilterCCC.i
-/GrFIRfilterCCF.i
-/GrFIRfilterFCC.i
-/GrFIRfilterFFF.i
-/GrFIRfilterFSF.i
-/GrFIRfilterSCC.i
-/GrFIRfilterSIS.i
-/GrFreqXlatingFIRfilterCCC.i
-/GrFreqXlatingFIRfilterCCF.i
-/GrFreqXlatingFIRfilterFCC.i
-/GrFreqXlatingFIRfilterFCF.i
-/GrFreqXlatingFIRfilterSCC.i
-/GrFreqXlatingFIRfilterSCF.i
-/# --- generated files ---
-/gr_add_cc.cc
-/gr_add_cc.h
-/gr_add_cc.i
-/gr_add_const_c.cc
-/gr_add_const_c.h
-/gr_add_const_c.i
-/gr_add_const_cc.cc
-/gr_add_const_cc.h
-/gr_add_const_cc.i
-/gr_add_const_f.cc
-/gr_add_const_f.h
-/gr_add_const_f.i
-/gr_add_const_ff.cc
-/gr_add_const_ff.h
-/gr_add_const_ff.i
-/gr_add_const_i.cc
-/gr_add_const_i.h
-/gr_add_const_i.i
-/gr_add_const_ii.cc
-/gr_add_const_ii.h
-/gr_add_const_ii.i
-/gr_add_const_s.cc
-/gr_add_const_s.h
-/gr_add_const_s.i
-/gr_add_const_sf.cc
-/gr_add_const_sf.h
-/gr_add_const_sf.i
-/gr_add_const_ss.cc
-/gr_add_const_ss.h
-/gr_add_const_ss.i
-/gr_add_const_vcc.cc
-/gr_add_const_vcc.h
-/gr_add_const_vcc.i
-/gr_add_const_vff.cc
-/gr_add_const_vff.h
-/gr_add_const_vff.i
-/gr_add_const_vii.cc
-/gr_add_const_vii.h
-/gr_add_const_vii.i
-/gr_add_const_vss.cc
-/gr_add_const_vss.h
-/gr_add_const_vss.i
-/gr_add_ii.cc
-/gr_add_ii.h
-/gr_add_ii.i
-/gr_add_ss.cc
-/gr_add_ss.h
-/gr_add_ss.i
-/gr_add_vcc.cc
-/gr_add_vcc.h
-/gr_add_vcc.i
-/gr_add_vff.cc
-/gr_add_vff.h
-/gr_add_vff.i
-/gr_add_vii.cc
-/gr_add_vii.h
-/gr_add_vii.i
-/gr_add_vss.cc
-/gr_add_vss.h
-/gr_add_vss.i
-/gr_divide_cc.cc
-/gr_divide_cc.h
-/gr_divide_cc.i
-/gr_divide_ff.cc
-/gr_divide_ff.h
-/gr_divide_ff.i
-/gr_divide_ii.cc
-/gr_divide_ii.h
-/gr_divide_ii.i
-/gr_divide_ss.cc
-/gr_divide_ss.h
-/gr_divide_ss.i
-/gr_multiply_const_ii.cc
-/gr_multiply_const_ii.h
-/gr_multiply_const_ii.i
-/gr_multiply_const_ss.cc
-/gr_multiply_const_ss.h
-/gr_multiply_const_ss.i
-/gr_multiply_ii.cc
-/gr_multiply_ii.h
-/gr_multiply_ii.i
-/gr_multiply_ss.cc
-/gr_multiply_ss.h
-/gr_multiply_ss.i
-/gr_multiply_vcc.cc
-/gr_multiply_vcc.h
-/gr_multiply_vcc.i
-/gr_multiply_vff.cc
-/gr_multiply_vff.h
-/gr_multiply_vff.i
-/gr_multiply_vii.cc
-/gr_multiply_vii.h
-/gr_multiply_vii.i
-/gr_multiply_vss.cc
-/gr_multiply_vss.h
-/gr_multiply_vss.i
-/gr_multiply_const_vcc.cc
-/gr_multiply_const_vcc.h
-/gr_multiply_const_vcc.i
-/gr_multiply_const_vff.cc
-/gr_multiply_const_vff.h
-/gr_multiply_const_vff.i
-/gr_multiply_const_vii.cc
-/gr_multiply_const_vii.h
-/gr_multiply_const_vii.i
-/gr_multiply_const_vss.cc
-/gr_multiply_const_vss.h
-/gr_multiply_const_vss.i
-/gr_noise_source_c.cc
-/gr_noise_source_c.h
-/gr_noise_source_c.i
-/gr_noise_source_f.cc
-/gr_noise_source_f.h
-/gr_noise_source_f.i
-/gr_noise_source_i.cc
-/gr_noise_source_i.h
-/gr_noise_source_i.i
-/gr_noise_source_s.cc
-/gr_noise_source_s.h
-/gr_noise_source_s.i
-/gr_sig_source_c.cc
-/gr_sig_source_c.h
-/gr_sig_source_c.i
-/gr_sig_source_f.cc
-/gr_sig_source_f.h
-/gr_sig_source_f.i
-/gr_sig_source_i.cc
-/gr_sig_source_i.h
-/gr_sig_source_i.i
-/gr_sig_source_s.cc
-/gr_sig_source_s.h
-/gr_sig_source_s.i
-/gr_sub_cc.cc
-/gr_sub_cc.h
-/gr_sub_cc.i
-/gr_sub_ff.cc
-/gr_sub_ff.h
-/gr_sub_ff.i
-/gr_sub_ii.cc
-/gr_sub_ii.h
-/gr_sub_ii.i
-/gr_sub_ss.cc
-/gr_sub_ss.h
-/gr_sub_ss.i
-/gr_vector_sink_b.cc
-/gr_vector_sink_b.h
-/gr_vector_sink_b.i
-/gr_vector_sink_c.cc
-/gr_vector_sink_c.h
-/gr_vector_sink_c.i
-/gr_vector_sink_f.cc
-/gr_vector_sink_f.h
-/gr_vector_sink_f.i
-/gr_vector_sink_i.cc
-/gr_vector_sink_i.h
-/gr_vector_sink_i.i
-/gr_vector_sink_s.cc
-/gr_vector_sink_s.h
-/gr_vector_sink_s.i
-/gr_vector_source_b.cc
-/gr_vector_source_b.h
-/gr_vector_source_b.i
-/gr_vector_source_c.cc
-/gr_vector_source_c.h
-/gr_vector_source_c.i
-/gr_vector_source_f.cc
-/gr_vector_source_f.h
-/gr_vector_source_f.i
-/gr_vector_source_i.cc
-/gr_vector_source_i.h
-/gr_vector_source_i.i
-/gr_vector_source_s.cc
-/gr_vector_source_s.h
-/gr_vector_source_s.i
-/gr_mute_cc.cc
-/gr_mute_cc.h
-/gr_mute_cc.i
-/gr_mute_ff.cc
-/gr_mute_ff.h
-/gr_mute_ff.i
-/gr_mute_ii.cc
-/gr_mute_ii.h
-/gr_mute_ii.i
-/gr_mute_ss.cc
-/gr_mute_ss.h
-/gr_mute_ss.i
-/gr_chunks_to_symbols_bc.cc
-/gr_chunks_to_symbols_bc.h
-/gr_chunks_to_symbols_bc.i
-/gr_chunks_to_symbols_bf.cc
-/gr_chunks_to_symbols_bf.h
-/gr_chunks_to_symbols_bf.i
-/gr_chunks_to_symbols_ic.cc
-/gr_chunks_to_symbols_ic.h
-/gr_chunks_to_symbols_ic.i
-/gr_chunks_to_symbols_if.cc
-/gr_chunks_to_symbols_if.h
-/gr_chunks_to_symbols_if.i
-/gr_chunks_to_symbols_sc.cc
-/gr_chunks_to_symbols_sc.h
-/gr_chunks_to_symbols_sc.i
-/gr_chunks_to_symbols_sf.cc
-/gr_chunks_to_symbols_sf.h
-/gr_chunks_to_symbols_sf.i
-/gr_packed_to_unpacked_bb.cc
-/gr_packed_to_unpacked_bb.h
-/gr_packed_to_unpacked_bb.i
-/gr_packed_to_unpacked_ii.cc
-/gr_packed_to_unpacked_ii.h
-/gr_packed_to_unpacked_ii.i
-/gr_packed_to_unpacked_ss.cc
-/gr_packed_to_unpacked_ss.h
-/gr_packed_to_unpacked_ss.i
-/gr_unpacked_to_packed_bb.cc
-/gr_unpacked_to_packed_bb.h
-/gr_unpacked_to_packed_bb.i
-/gr_unpacked_to_packed_ii.cc
-/gr_unpacked_to_packed_ii.h
-/gr_unpacked_to_packed_ii.i
-/gr_unpacked_to_packed_ss.cc
-/gr_unpacked_to_packed_ss.h
-/gr_unpacked_to_packed_ss.i
-/# --- end generated files ---
diff --git a/gnuradio-core/src/lib/general/Makefile.am b/gnuradio-core/src/lib/general/Makefile.am
deleted file mode 100644
index ba1f686ab..000000000
--- a/gnuradio-core/src/lib/general/Makefile.am
+++ /dev/null
@@ -1,491 +0,0 @@
-#
-# Copyright 2001,2002,2004,2006-2012 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 $(top_srcdir)/Makefile.common
-
-# $(WITH_INCLUDES) must _always_ be last
-AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(CPPUNIT_INCLUDES) \
- $(FFTW3F_CPPFLAGS) $(GSL_CPPFLAGS) $(WITH_INCLUDES)
-
-noinst_LTLIBRARIES = libgeneral.la libgeneral-qa.la
-
-BUILT_SOURCES =
-
-# ----------------------------------------------------------------
-
-EXTRA_DIST += \
- gen_sine_table.py \
- gr_constants.cc.in
-
-libgeneral_la_SOURCES = \
- complex_vec_test.cc \
- gr_add_ff.cc \
- gr_additive_scrambler_bb.cc \
- gr_agc_cc.cc \
- gr_agc_ff.cc \
- gr_agc2_cc.cc \
- gr_agc2_ff.cc \
- gr_align_on_samplenumbers_ss.cc \
- gr_bin_statistics_f.cc \
- gr_bytes_to_syms.cc \
- gr_char_to_float.cc \
- gr_char_to_short.cc \
- gr_check_counting_s.cc \
- gr_check_lfsr_32k_s.cc \
- gr_circular_file.cc \
- gr_complex_to_interleaved_short.cc \
- gr_complex_to_xxx.cc \
- gr_conjugate_cc.cc \
- gr_copy.cc \
- gr_count_bits.cc \
- gr_cpfsk_bc.cc \
- gr_cpm.cc \
- gr_ctcss_squelch_ff.cc \
- gr_decode_ccsds_27_fb.cc \
- gr_deinterleave.cc \
- gr_delay.cc \
- gr_diff_decoder_bb.cc \
- gr_diff_encoder_bb.cc \
- gr_diff_phasor_cc.cc \
- gr_dpll_bb.cc \
- gr_encode_ccsds_27_bb.cc \
- gr_fake_channel_coder_pp.cc \
- gr_fast_atan2f.cc \
- gr_feedforward_agc_cc.cc \
- gr_feval.cc \
- gr_fft_vcc.cc \
- gr_fft_vcc_fftw.cc \
- gr_fft_vfc.cc \
- gr_firdes.cc \
- gr_float_to_char.cc \
- gr_float_to_complex.cc \
- gr_float_to_int.cc \
- gr_float_to_short.cc \
- gr_float_to_uchar.cc \
- gr_fmdet_cf.cc \
- gr_frequency_modulator_fc.cc \
- gr_fxpt.cc \
- gr_framer_sink_1.cc \
- gr_glfsr_source_b.cc \
- gr_glfsr_source_f.cc \
- gr_head.cc \
- gr_interleave.cc \
- gr_interleaved_short_to_complex.cc \
- gr_iqcomp_cc.cc \
- gr_keep_one_in_n.cc \
- gr_kludge_copy.cc \
- gr_lfsr_32k_source_s.cc \
- gr_map_bb.cc \
- gr_misc.cc \
- gr_multiply_cc.cc \
- gr_multiply_ff.cc \
- gr_multiply_const_cc.cc \
- gr_multiply_const_ff.cc \
- gr_multiply_conjugate_cc.cc \
- gr_nlog10_ff.cc \
- gr_nop.cc \
- gr_null_sink.cc \
- gr_null_source.cc \
- gr_pa_2x2_phase_combiner.cc \
- gr_packet_sink.cc \
- gr_peak_detector2_fb.cc \
- gr_phase_modulator_fc.cc \
- gr_pll_carriertracking_cc.cc \
- gr_pll_freqdet_cf.cc \
- gr_pll_refout_cc.cc \
- gr_pn_correlator_cc.cc \
- gr_constants.cc \
- gr_prefs.cc \
- gr_probe_avg_mag_sqrd_c.cc \
- gr_probe_avg_mag_sqrd_cf.cc \
- gr_probe_avg_mag_sqrd_f.cc \
- gr_pwr_squelch_cc.cc \
- gr_pwr_squelch_ff.cc \
- gr_quadrature_demod_cf.cc \
- gr_rail_ff.cc \
- gr_random.cc \
- gr_regenerate_bb.cc \
- gr_remez.cc \
- gr_repeat.cc \
- gr_reverse.cc \
- gr_rms_cf.cc \
- gr_rms_ff.cc \
- gr_short_to_char.cc \
- gr_short_to_float.cc \
- gr_int_to_float.cc \
- gr_simple_correlator.cc \
- gr_simple_framer.cc \
- gr_simple_squelch_cc.cc \
- gr_skiphead.cc \
- gr_squash_ff.cc \
- gr_squelch_base_cc.cc \
- gr_squelch_base_ff.cc \
- gr_stream_mux.cc \
- gr_stream_to_streams.cc \
- gr_stream_to_vector.cc \
- gr_streams_to_stream.cc \
- gr_streams_to_vector.cc \
- gr_stretch_ff.cc \
- gr_test.cc \
- gr_threshold_ff.cc \
- gr_throttle.cc \
- gr_transcendental.cc \
- gr_uchar_to_float.cc \
- gr_vco_f.cc \
- gr_vector_to_stream.cc \
- gr_vector_to_streams.cc \
- gr_wavelet_ff.cc \
- gr_wvps_ff.cc \
- gri_add_const_ss_generic.cc \
- gri_char_to_float.cc \
- gri_control_loop.cc \
- gri_debugger_hook.cc \
- gri_fft.cc \
- gri_float_to_char.cc \
- gri_float_to_int.cc \
- gri_float_to_short.cc \
- gri_float_to_uchar.cc \
- gri_glfsr.cc \
- gri_interleaved_short_to_complex.cc \
- gri_int_to_float.cc \
- gri_short_to_float.cc \
- gri_uchar_to_float.cc \
- malloc16.c \
- gr_unpack_k_bits_bb.cc \
- gr_descrambler_bb.cc \
- gr_scrambler_bb.cc \
- gr_probe_mpsk_snr_c.cc \
- gr_probe_density_b.cc \
- gr_annotator_alltoall.cc \
- gr_annotator_1to1.cc \
- gr_burst_tagger.cc \
- gr_correlate_access_code_tag_bb.cc
-
-libgeneral_qa_la_SOURCES = \
- qa_general.cc \
- qa_gr_circular_file.cc \
- qa_gr_cpm.cc \
- qa_gr_firdes.cc \
- qa_gr_fxpt.cc \
- qa_gr_fxpt_nco.cc \
- qa_gr_fxpt_vco.cc \
- qa_gr_math.cc \
- qa_gri_lfsr.cc
-
-grinclude_HEADERS = \
- gr_core_api.h \
- complex_vec_test.h \
- gr_additive_scrambler_bb.h \
- gr_add_ff.h \
- gr_agc_cc.h \
- gr_agc_ff.h \
- gr_agc2_cc.h \
- gr_agc2_ff.h \
- gr_align_on_samplenumbers_ss.h \
- gr_bin_statistics_f.h \
- gr_bytes_to_syms.h \
- gr_char_to_float.h \
- gr_char_to_short.h \
- gr_check_counting_s.h \
- gr_check_lfsr_32k_s.h \
- gr_circular_file.h \
- gr_complex_to_interleaved_short.h \
- gr_complex_to_xxx.h \
- gr_conjugate_cc.h \
- gr_copy.h \
- gr_count_bits.h \
- gr_cpfsk_bc.h \
- gr_cpm.h \
- gr_ctcss_squelch_ff.h \
- gr_decode_ccsds_27_fb.h \
- gr_diff_decoder_bb.h \
- gr_diff_encoder_bb.h \
- gr_deinterleave.h \
- gr_delay.h \
- gr_diff_phasor_cc.h \
- gr_dpll_bb.h \
- gr_encode_ccsds_27_bb.h \
- gr_expj.h \
- gr_fake_channel_coder_pp.h \
- gr_feedforward_agc_cc.h \
- gr_feval.h \
- gr_fft_vcc.h \
- gr_fft_vcc_fftw.h \
- gr_fft_vfc.h \
- gr_firdes.h \
- gr_float_to_char.h \
- gr_float_to_complex.h \
- gr_float_to_int.h \
- gr_float_to_short.h \
- gr_float_to_uchar.h \
- gr_fmdet_cf.h \
- gr_framer_sink_1.h \
- gr_frequency_modulator_fc.h \
- gr_fxpt.h \
- gr_fxpt_nco.h \
- gr_fxpt_vco.h \
- gr_glfsr_source_b.h \
- gr_glfsr_source_f.h \
- gr_head.h \
- gr_interleave.h \
- gr_interleaved_short_to_complex.h \
- gr_iqcomp_cc.h \
- gr_keep_one_in_n.h \
- gr_kludge_copy.h \
- gr_lfsr_32k_source_s.h \
- gr_log2_const.h \
- gr_map_bb.h \
- gr_math.h \
- gr_misc.h \
- gr_multiply_cc.h \
- gr_multiply_ff.h \
- gr_multiply_const_cc.h \
- gr_multiply_const_ff.h \
- gr_multiply_conjugate_cc.h \
- gr_nco.h \
- gr_nlog10_ff.h \
- gr_nop.h \
- gr_null_sink.h \
- gr_null_source.h \
- gr_pa_2x2_phase_combiner.h \
- gr_packet_sink.h \
- gr_peak_detector2_fb.h \
- gr_phase_modulator_fc.h \
- gr_pll_carriertracking_cc.h \
- gr_pll_freqdet_cf.h \
- gr_pll_refout_cc.h \
- gr_pn_correlator_cc.h \
- gr_constants.h \
- gr_prefs.h \
- gr_probe_avg_mag_sqrd_c.h \
- gr_probe_avg_mag_sqrd_cf.h \
- gr_probe_avg_mag_sqrd_f.h \
- gr_pwr_squelch_cc.h \
- gr_pwr_squelch_ff.h \
- gr_quadrature_demod_cf.h \
- gr_rail_ff.h \
- gr_random.h \
- gr_regenerate_bb.h \
- gr_remez.h \
- gr_repeat.h \
- gr_reverse.h \
- gr_rms_cf.h \
- gr_rms_ff.h \
- gr_short_to_char.h \
- gr_short_to_float.h \
- gr_int_to_float.h \
- gr_simple_correlator.h \
- gr_simple_framer.h \
- gr_simple_framer_sync.h \
- gr_simple_squelch_cc.h \
- gr_squash_ff.h \
- gr_skiphead.h \
- gr_squelch_base_cc.h \
- gr_squelch_base_ff.h \
- gr_stream_mux.h \
- gr_stream_to_streams.h \
- gr_stream_to_vector.h \
- gr_streams_to_stream.h \
- gr_streams_to_vector.h \
- gr_stretch_ff.h \
- gr_test_types.h \
- gr_test.h \
- gr_threshold_ff.h \
- gr_throttle.h \
- gr_transcendental.h \
- gr_uchar_to_float.h \
- gr_vco.h \
- gr_vco_f.h \
- gr_vector_to_stream.h \
- gr_vector_to_streams.h \
- gr_wavelet_ff.h \
- gr_wvps_ff.h \
- gri_add_const_ss.h \
- gri_agc_cc.h \
- gri_agc_ff.h \
- gri_agc2_cc.h \
- gri_agc2_ff.h \
- gri_char_to_float.h \
- gri_control_loop.h \
- gri_debugger_hook.h \
- gri_fft.h \
- gri_float_to_char.h \
- gri_float_to_int.h \
- gri_float_to_short.h \
- gri_float_to_uchar.h \
- gri_lfsr.h \
- gri_glfsr.h \
- gri_interleaved_short_to_complex.h \
- gri_int_to_float.h \
- gri_lfsr_15_1_0.h \
- gri_lfsr_32k.h \
- gri_short_to_float.h \
- gri_uchar_to_float.h \
- malloc16.h \
- random.h \
- gr_unpack_k_bits_bb.h \
- gr_descrambler_bb.h \
- gr_scrambler_bb.h \
- gr_probe_mpsk_snr_c.h \
- gr_probe_density_b.h \
- gr_annotator_alltoall.h \
- gr_annotator_1to1.h \
- gr_burst_tagger.h \
- gr_correlate_access_code_tag_bb.h
-
-noinst_HEADERS = \
- qa_general.h \
- qa_gr_circular_file.h \
- qa_gr_cpm.h \
- qa_gr_firdes.h \
- qa_gr_fxpt.h \
- qa_gr_fxpt_nco.h \
- qa_gr_fxpt_vco.h \
- qa_gri_lfsr.h \
- sine_table.h \
- qa_gr_math.h
-
-swiginclude_HEADERS = \
- complex_vec_test.i \
- general.i \
- gr_additive_scrambler_bb.i \
- gr_add_ff.i \
- gr_agc_cc.i \
- gr_agc_ff.i \
- gr_agc2_cc.i \
- gr_agc2_ff.i \
- gr_align_on_samplenumbers_ss.i \
- gr_bin_statistics_f.i \
- gr_bytes_to_syms.i \
- gr_char_to_float.i \
- gr_char_to_short.i \
- gr_check_counting_s.i \
- gr_check_lfsr_32k_s.i \
- gr_complex_to_interleaved_short.i \
- gr_complex_to_xxx.i \
- gr_conjugate_cc.i \
- gr_copy.i \
- gr_cpfsk_bc.i \
- gr_cpm.i \
- gr_ctcss_squelch_ff.i \
- gr_decode_ccsds_27_fb.i \
- gr_diff_decoder_bb.i \
- gr_diff_encoder_bb.i \
- gr_diff_phasor_cc.i \
- gr_dpll_bb.i \
- gr_deinterleave.i \
- gr_delay.i \
- gr_encode_ccsds_27_bb.i \
- gr_fake_channel_coder_pp.i \
- gr_feedforward_agc_cc.i \
- gr_feval.i \
- gr_fft_vcc.i \
- gr_fft_vfc.i \
- gr_firdes.i \
- gr_float_to_char.i \
- gr_float_to_complex.i \
- gr_float_to_int.i \
- gr_float_to_short.i \
- gr_float_to_uchar.i \
- gr_fmdet_cf.i \
- gr_frequency_modulator_fc.i \
- gr_framer_sink_1.i \
- gr_glfsr_source_b.i \
- gr_glfsr_source_f.i \
- gr_head.i \
- gr_int_to_float.i \
- gr_interleave.i \
- gr_interleaved_short_to_complex.i \
- gr_iqcomp_cc.i \
- gr_keep_one_in_n.i \
- gr_kludge_copy.i \
- gr_lfsr_32k_source_s.i \
- gr_map_bb.i \
- gr_multiply_cc.i \
- gr_multiply_ff.i \
- gr_multiply_const_cc.i \
- gr_multiply_const_ff.i \
- gr_multiply_conjugate_cc.i \
- gr_nlog10_ff.i \
- gr_nop.i \
- gr_null_sink.i \
- gr_null_source.i \
- gr_pa_2x2_phase_combiner.i \
- gr_packet_sink.i \
- gr_peak_detector2_fb.i \
- gr_phase_modulator_fc.i \
- gr_pll_carriertracking_cc.i \
- gr_pll_freqdet_cf.i \
- gr_pll_refout_cc.i \
- gr_pn_correlator_cc.i \
- gr_constants.i \
- gr_prefs.i \
- gr_probe_avg_mag_sqrd_c.i \
- gr_probe_avg_mag_sqrd_cf.i \
- gr_probe_avg_mag_sqrd_f.i \
- gr_pwr_squelch_cc.i \
- gr_pwr_squelch_ff.i \
- gr_quadrature_demod_cf.i \
- gr_rail_ff.i \
- gr_regenerate_bb.i \
- gr_remez.i \
- gr_rms_cf.i \
- gr_rms_ff.i \
- gr_repeat.i \
- gr_short_to_char.i \
- gr_short_to_float.i \
- gr_simple_correlator.i \
- gr_simple_framer.i \
- gr_simple_squelch_cc.i \
- gr_skiphead.i \
- gr_squash_ff.i \
- gr_squelch_base_cc.i \
- gr_squelch_base_ff.i \
- gr_stream_mux.i \
- gr_stream_to_streams.i \
- gr_stream_to_vector.i \
- gr_streams_to_stream.i \
- gr_streams_to_vector.i \
- gr_stretch_ff.i \
- gr_test.i \
- gr_threshold_ff.i \
- gr_throttle.i \
- gr_transcendental.i \
- gr_uchar_to_float.i \
- gr_vco_f.i \
- gr_vector_to_stream.i \
- gr_vector_to_streams.i \
- gr_unpack_k_bits_bb.i \
- gr_wavelet_ff.i \
- gr_wvps_ff.i \
- gri_agc_cc.i \
- gri_agc_ff.i \
- gri_agc2_cc.i \
- gri_agc2_ff.i \
- gri_control_loop.i \
- gr_descrambler_bb.i \
- gr_scrambler_bb.i \
- gr_probe_mpsk_snr_c.i \
- gr_probe_density_b.i \
- gr_annotator_alltoall.i \
- gr_annotator_1to1.i \
- gr_burst_tagger.i \
- gr_correlate_access_code_tag_bb.i
diff --git a/gnuradio-core/src/lib/gengen/.gitignore b/gnuradio-core/src/lib/gengen/.gitignore
deleted file mode 100644
index 2f53eba9a..000000000
--- a/gnuradio-core/src/lib/gengen/.gitignore
+++ /dev/null
@@ -1,433 +0,0 @@
-/Makefile
-/Makefile.in
-/.la
-/.lo
-/.deps
-/.libs
-/*.la
-/*.lo
-/*.pyc
-/generate-stamp
-/GrFIRfilterCCC.cc
-/GrFIRfilterCCC.h
-/GrFIRfilterCCF.cc
-/GrFIRfilterCCF.h
-/GrFIRfilterFCC.cc
-/GrFIRfilterFCC.h
-/GrFIRfilterFFF.cc
-/GrFIRfilterFFF.h
-/GrFIRfilterFSF.cc
-/GrFIRfilterFSF.h
-/GrFIRfilterSCC.cc
-/GrFIRfilterSCC.h
-/GrFIRfilterSIS.cc
-/GrFIRfilterSIS.h
-/GrFreqXlatingFIRfilterCCC.cc
-/GrFreqXlatingFIRfilterCCC.h
-/GrFreqXlatingFIRfilterCCF.cc
-/GrFreqXlatingFIRfilterCCF.h
-/GrFreqXlatingFIRfilterFCC.cc
-/GrFreqXlatingFIRfilterFCC.h
-/GrFreqXlatingFIRfilterFCF.cc
-/GrFreqXlatingFIRfilterFCF.h
-/GrFreqXlatingFIRfilterSCC.cc
-/GrFreqXlatingFIRfilterSCC.h
-/GrFreqXlatingFIRfilterSCF.cc
-/GrFreqXlatingFIRfilterSCF.h
-/gr_fir_CCC.cc
-/gr_fir_CCC.h
-/gr_fir_CCC_generic.cc
-/gr_fir_CCC_generic.h
-/gr_fir_CCF.cc
-/gr_fir_CCF.h
-/gr_fir_CCF_generic.cc
-/gr_fir_CCF_generic.h
-/gr_fir_FCC.cc
-/gr_fir_FCC.h
-/gr_fir_FCC_generic.cc
-/gr_fir_FCC_generic.h
-/gr_fir_FFF.cc
-/gr_fir_FFF.h
-/gr_fir_FFF_generic.cc
-/gr_fir_FFF_generic.h
-/gr_fir_FSF.cc
-/gr_fir_FSF.h
-/gr_fir_FSF_generic.cc
-/gr_fir_FSF_generic.h
-/gr_fir_SCC.cc
-/gr_fir_SCC.h
-/gr_fir_SCC_generic.cc
-/gr_fir_SCC_generic.h
-/gr_fir_SIS.cc
-/gr_fir_SIS.h
-/gr_fir_SIS_generic.cc
-/gr_fir_SIS_generic.h
-/gr_fir_sysconfig.cc
-/gr_fir_sysconfig.h
-/gr_fir_sysconfig_generic.cc
-/gr_fir_sysconfig_generic.h
-/gr_fir_util.cc
-/gr_fir_util.h
-/GrFIRfilterCCC.i
-/GrFIRfilterCCF.i
-/GrFIRfilterFCC.i
-/GrFIRfilterFFF.i
-/GrFIRfilterFSF.i
-/GrFIRfilterSCC.i
-/GrFIRfilterSIS.i
-/GrFreqXlatingFIRfilterCCC.i
-/GrFreqXlatingFIRfilterCCF.i
-/GrFreqXlatingFIRfilterFCC.i
-/GrFreqXlatingFIRfilterFCF.i
-/GrFreqXlatingFIRfilterSCC.i
-/GrFreqXlatingFIRfilterSCF.i
-/# --- generated files ---
-/gr_add_cc.cc
-/gr_add_cc.h
-/gr_add_cc.i
-/gr_add_const_c.cc
-/gr_add_const_cc.cc
-/gr_add_const_cc.h
-/gr_add_const_cc.i
-/gr_add_const_c.h
-/gr_add_const_c.i
-/gr_add_const_f.cc
-/gr_add_const_ff.cc
-/gr_add_const_ff.h
-/gr_add_const_ff.i
-/gr_add_const_f.h
-/gr_add_const_f.i
-/gr_add_const_i.cc
-/gr_add_const_i.h
-/gr_add_const_i.i
-/gr_add_const_ii.cc
-/gr_add_const_ii.h
-/gr_add_const_ii.i
-/gr_add_const_s.cc
-/gr_add_const_sf.cc
-/gr_add_const_sf.h
-/gr_add_const_sf.i
-/gr_add_const_s.h
-/gr_add_const_s.i
-/gr_add_const_ss.cc
-/gr_add_const_ss.h
-/gr_add_const_ss.i
-/gr_add_const_vcc.cc
-/gr_add_const_vcc.h
-/gr_add_const_vcc.i
-/gr_add_const_vff.cc
-/gr_add_const_vff.h
-/gr_add_const_vff.i
-/gr_add_const_vii.cc
-/gr_add_const_vii.h
-/gr_add_const_vii.i
-/gr_add_const_vss.cc
-/gr_add_const_vss.h
-/gr_add_const_vss.i
-/gr_add_ii.cc
-/gr_add_ii.h
-/gr_add_ii.i
-/gr_add_ss.cc
-/gr_add_ss.h
-/gr_add_ss.i
-/gr_and_bb.cc
-/gr_and_bb.h
-/gr_and_bb.i
-/gr_and_ii.cc
-/gr_and_ii.h
-/gr_and_ii.i
-/gr_and_ss.cc
-/gr_and_ss.h
-/gr_and_ss.i
-/gr_argmax_fs.cc
-/gr_argmax_fs.h
-/gr_argmax_fs.i
-/gr_argmax_is.cc
-/gr_argmax_is.h
-/gr_argmax_is.i
-/gr_argmax_ss.cc
-/gr_argmax_ss.h
-/gr_argmax_ss.i
-/gr_chunks_to_symbols_bc.cc
-/gr_chunks_to_symbols_bc.h
-/gr_chunks_to_symbols_bc.i
-/gr_chunks_to_symbols_bf.cc
-/gr_chunks_to_symbols_bf.h
-/gr_chunks_to_symbols_bf.i
-/gr_chunks_to_symbols_ic.cc
-/gr_chunks_to_symbols_ic.h
-/gr_chunks_to_symbols_ic.i
-/gr_chunks_to_symbols_if.cc
-/gr_chunks_to_symbols_if.h
-/gr_chunks_to_symbols_if.i
-/gr_chunks_to_symbols_sc.cc
-/gr_chunks_to_symbols_sc.h
-/gr_chunks_to_symbols_sc.i
-/gr_chunks_to_symbols_sf.cc
-/gr_chunks_to_symbols_sf.h
-/gr_chunks_to_symbols_sf.i
-/gr_divide_cc.cc
-/gr_divide_cc.h
-/gr_divide_cc.i
-/gr_divide_ff.cc
-/gr_divide_ff.h
-/gr_divide_ff.i
-/gr_divide_ii.cc
-/gr_divide_ii.h
-/gr_divide_ii.i
-/gr_divide_ss.cc
-/gr_divide_ss.h
-/gr_divide_ss.i
-/gr_integrate_cc.cc
-/gr_integrate_cc.h
-/gr_integrate_cc.i
-/gr_integrate_ff.cc
-/gr_integrate_ff.h
-/gr_integrate_ff.i
-/gr_integrate_ii.cc
-/gr_integrate_ii.h
-/gr_integrate_ii.i
-/gr_integrate_ss.cc
-/gr_integrate_ss.h
-/gr_integrate_ss.i
-/gr_max_ff.cc
-/gr_max_ff.h
-/gr_max_ff.i
-/gr_max_ii.cc
-/gr_max_ii.h
-/gr_max_ii.i
-/gr_max_ss.cc
-/gr_max_ss.h
-/gr_max_ss.i
-/gr_multiply_const_ii.cc
-/gr_multiply_const_ii.h
-/gr_multiply_const_ii.i
-/gr_multiply_const_ss.cc
-/gr_multiply_const_ss.h
-/gr_multiply_const_ss.i
-/gr_multiply_const_vcc.cc
-/gr_multiply_const_vcc.h
-/gr_multiply_const_vcc.i
-/gr_multiply_const_vff.cc
-/gr_multiply_const_vff.h
-/gr_multiply_const_vff.i
-/gr_multiply_const_vii.cc
-/gr_multiply_const_vii.h
-/gr_multiply_const_vii.i
-/gr_multiply_const_vss.cc
-/gr_multiply_const_vss.h
-/gr_multiply_const_vss.i
-/gr_multiply_ii.cc
-/gr_multiply_ii.h
-/gr_multiply_ii.i
-/gr_multiply_ss.cc
-/gr_multiply_ss.h
-/gr_multiply_ss.i
-/gr_mute_cc.cc
-/gr_mute_cc.h
-/gr_mute_cc.i
-/gr_mute_ff.cc
-/gr_mute_ff.h
-/gr_mute_ff.i
-/gr_mute_ii.cc
-/gr_mute_ii.h
-/gr_mute_ii.i
-/gr_mute_ss.cc
-/gr_mute_ss.h
-/gr_mute_ss.i
-/gr_noise_source_c.cc
-/gr_noise_source_c.h
-/gr_noise_source_c.i
-/gr_noise_source_f.cc
-/gr_noise_source_f.h
-/gr_noise_source_f.i
-/gr_noise_source_i.cc
-/gr_noise_source_i.h
-/gr_noise_source_i.i
-/gr_noise_source_s.cc
-/gr_noise_source_s.h
-/gr_noise_source_s.i
-/gr_not_bb.cc
-/gr_not_bb.h
-/gr_not_bb.i
-/gr_not_ii.cc
-/gr_not_ii.h
-/gr_not_ii.i
-/gr_not_ss.cc
-/gr_not_ss.h
-/gr_not_ss.i
-/gr_or_bb.cc
-/gr_or_bb.h
-/gr_or_bb.i
-/gr_or_ii.cc
-/gr_or_ii.h
-/gr_or_ii.i
-/gr_or_ss.cc
-/gr_or_ss.h
-/gr_or_ss.i
-/gr_packed_to_unpacked_bb.cc
-/gr_packed_to_unpacked_bb.h
-/gr_packed_to_unpacked_bb.i
-/gr_packed_to_unpacked_ii.cc
-/gr_packed_to_unpacked_ii.h
-/gr_packed_to_unpacked_ii.i
-/gr_packed_to_unpacked_ss.cc
-/gr_packed_to_unpacked_ss.h
-/gr_packed_to_unpacked_ss.i
-/gr_peak_detector_fb.cc
-/gr_peak_detector_fb.h
-/gr_peak_detector_fb.i
-/gr_peak_detector_ff.cc
-/gr_peak_detector_ff.h
-/gr_peak_detector_ff.i
-/gr_peak_detector_ib.cc
-/gr_peak_detector_ib.h
-/gr_peak_detector_ib.i
-/gr_peak_detector_ii.cc
-/gr_peak_detector_ii.h
-/gr_peak_detector_ii.i
-/gr_peak_detector_sb.cc
-/gr_peak_detector_sb.h
-/gr_peak_detector_sb.i
-/gr_peak_detector_ss.cc
-/gr_peak_detector_ss.h
-/gr_peak_detector_ss.i
-/gr_prefix.cc
-/gr_probe_signal_b.cc
-/gr_probe_signal_b.h
-/gr_probe_signal_b.i
-/gr_probe_signal_s.cc
-/gr_probe_signal_s.h
-/gr_probe_signal_s.i
-/gr_probe_signal_i.cc
-/gr_probe_signal_i.h
-/gr_probe_signal_i.i
-/gr_probe_signal_f.cc
-/gr_probe_signal_f.h
-/gr_probe_signal_f.i
-/gr_probe_signal_c.cc
-/gr_probe_signal_c.h
-/gr_probe_signal_c.i
-/gr_probe_signal_vb.cc
-/gr_probe_signal_vb.h
-/gr_probe_signal_vb.i
-/gr_probe_signal_vs.cc
-/gr_probe_signal_vs.h
-/gr_probe_signal_vs.i
-/gr_probe_signal_vi.cc
-/gr_probe_signal_vi.h
-/gr_probe_signal_vi.i
-/gr_probe_signal_vf.cc
-/gr_probe_signal_vf.h
-/gr_probe_signal_vf.i
-/gr_probe_signal_vc.cc
-/gr_probe_signal_vc.h
-/gr_probe_signal_vc.i
-/gr_sample_and_hold_bb.cc
-/gr_sample_and_hold_bb.h
-/gr_sample_and_hold_bb.i
-/gr_sample_and_hold_ff.cc
-/gr_sample_and_hold_ff.h
-/gr_sample_and_hold_ff.i
-/gr_sample_and_hold_ii.cc
-/gr_sample_and_hold_ii.h
-/gr_sample_and_hold_ii.i
-/gr_sample_and_hold_ss.cc
-/gr_sample_and_hold_ss.h
-/gr_sample_and_hold_ss.i
-/gr_sig_source_c.cc
-/gr_sig_source_c.h
-/gr_sig_source_c.i
-/gr_sig_source_f.cc
-/gr_sig_source_f.h
-/gr_sig_source_f.i
-/gr_sig_source_i.cc
-/gr_sig_source_i.h
-/gr_sig_source_i.i
-/gr_sig_source_s.cc
-/gr_sig_source_s.h
-/gr_sig_source_s.i
-/gr_sub_cc.cc
-/gr_sub_cc.h
-/gr_sub_cc.i
-/gr_sub_ff.cc
-/gr_sub_ff.h
-/gr_sub_ff.i
-/gr_sub_ii.cc
-/gr_sub_ii.h
-/gr_sub_ii.i
-/gr_sub_ss.cc
-/gr_sub_ss.h
-/gr_sub_ss.i
-/gr_unpacked_to_packed_bb.cc
-/gr_unpacked_to_packed_bb.h
-/gr_unpacked_to_packed_bb.i
-/gr_unpacked_to_packed_ii.cc
-/gr_unpacked_to_packed_ii.h
-/gr_unpacked_to_packed_ii.i
-/gr_unpacked_to_packed_ss.cc
-/gr_unpacked_to_packed_ss.h
-/gr_unpacked_to_packed_ss.i
-/gr_vector_sink_b.cc
-/gr_vector_sink_b.h
-/gr_vector_sink_b.i
-/gr_vector_sink_c.cc
-/gr_vector_sink_c.h
-/gr_vector_sink_c.i
-/gr_vector_sink_f.cc
-/gr_vector_sink_f.h
-/gr_vector_sink_f.i
-/gr_vector_sink_i.cc
-/gr_vector_sink_i.h
-/gr_vector_sink_i.i
-/gr_vector_sink_s.cc
-/gr_vector_sink_s.h
-/gr_vector_sink_s.i
-/gr_vector_source_b.cc
-/gr_vector_source_b.h
-/gr_vector_source_b.i
-/gr_vector_source_c.cc
-/gr_vector_source_c.h
-/gr_vector_source_c.i
-/gr_vector_source_f.cc
-/gr_vector_source_f.h
-/gr_vector_source_f.i
-/gr_vector_source_i.cc
-/gr_vector_source_i.h
-/gr_vector_source_i.i
-/gr_vector_source_s.cc
-/gr_vector_source_s.h
-/gr_vector_source_s.i
-/gr_xor_bb.cc
-/gr_xor_bb.h
-/gr_xor_bb.i
-/gr_xor_ii.cc
-/gr_xor_ii.h
-/gr_xor_ii.i
-/gr_xor_ss.cc
-/gr_xor_ss.h
-/gr_xor_ss.i
-/gr_moving_average_cc.cc
-/gr_moving_average_cc.h
-/gr_moving_average_cc.i
-/gr_moving_average_ff.cc
-/gr_moving_average_ff.h
-/gr_moving_average_ff.i
-/gr_moving_average_ss.cc
-/gr_moving_average_ss.h
-/gr_moving_average_ss.i
-/gr_moving_average_ii.cc
-/gr_moving_average_ii.h
-/gr_moving_average_ii.i
-/gr_and_const_bb.cc
-/gr_and_const_ss.h
-/gr_and_const_ss.i
-/gr_and_const_ii.cc
-/gr_and_const_bb.h
-/gr_and_const_ss.cc
-/gr_and_const_bb.i
-/gr_and_const_ii.h
-/gr_and_const_ii.i
-/# --- end generated files ---
-/stamp-*
-/gengen_generated.i
diff --git a/gnuradio-core/src/lib/gengen/Makefile.am b/gnuradio-core/src/lib/gengen/Makefile.am
deleted file mode 100644
index e2f65c5da..000000000
--- a/gnuradio-core/src/lib/gengen/Makefile.am
+++ /dev/null
@@ -1,165 +0,0 @@
-#
-# Copyright 2001,2002,2004,2006,2007,2008,2009 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 $(top_srcdir)/Makefile.common
-
-AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(CPPUNIT_INCLUDES) $(WITH_INCLUDES)
-
-#noinst_LTLIBRARIES = libgengen.la libgengen-qa.la
-noinst_LTLIBRARIES = libgengen.la
-
-# ----------------------------------------------------------------
-# these scripts generate code
-
-core_generator = \
- generate_all.py \
- generate_common.py \
- gr_add_XX.cc.t \
- gr_add_XX.h.t \
- gr_add_XX.i.t \
- gr_add_const_XX.cc.t \
- gr_add_const_XX.h.t \
- gr_add_const_XX.i.t \
- gr_add_const_vXX.cc.t \
- gr_add_const_vXX.h.t \
- gr_add_const_vXX.i.t \
- gr_argmax_XX.cc.t \
- gr_argmax_XX.h.t \
- gr_argmax_XX.i.t \
- gr_chunks_to_symbols_XX.cc.t \
- gr_chunks_to_symbols_XX.h.t \
- gr_chunks_to_symbols_XX.i.t \
- gr_divide_XX.cc.t \
- gr_divide_XX.h.t \
- gr_divide_XX.i.t \
- gr_integrate_XX.cc.t \
- gr_integrate_XX.h.t \
- gr_integrate_XX.i.t \
- gr_max_XX.cc.t \
- gr_max_XX.h.t \
- gr_max_XX.i.t \
- gr_multiply_XX.cc.t \
- gr_multiply_XX.h.t \
- gr_multiply_XX.i.t \
- gr_multiply_const_XX.cc.t \
- gr_multiply_const_XX.h.t \
- gr_multiply_const_XX.i.t \
- gr_multiply_const_vXX.cc.t \
- gr_multiply_const_vXX.h.t \
- gr_multiply_const_vXX.i.t \
- gr_mute_XX.cc.t \
- gr_mute_XX.h.t \
- gr_mute_XX.i.t \
- gr_noise_source_X.cc.t \
- gr_noise_source_X.h.t \
- gr_noise_source_X.i.t \
- gr_packed_to_unpacked_XX.cc.t \
- gr_packed_to_unpacked_XX.h.t \
- gr_packed_to_unpacked_XX.i.t \
- gr_peak_detector_XX.cc.t \
- gr_peak_detector_XX.h.t \
- gr_peak_detector_XX.i.t \
- gr_probe_signal_X.cc.t \
- gr_probe_signal_X.h.t \
- gr_probe_signal_X.i.t \
- gr_probe_signal_vX.cc.t \
- gr_probe_signal_vX.h.t \
- gr_probe_signal_vX.i.t \
- gr_sample_and_hold_XX.cc.t \
- gr_sample_and_hold_XX.h.t \
- gr_sample_and_hold_XX.i.t \
- gr_sig_source_X.cc.t \
- gr_sig_source_X.h.t \
- gr_sig_source_X.i.t \
- gr_sub_XX.cc.t \
- gr_sub_XX.h.t \
- gr_sub_XX.i.t \
- gr_unpacked_to_packed_XX.cc.t \
- gr_unpacked_to_packed_XX.h.t \
- gr_unpacked_to_packed_XX.i.t \
- gr_vector_source_X.cc.t \
- gr_vector_source_X.h.t \
- gr_vector_source_X.i.t \
- gr_vector_sink_X.cc.t \
- gr_vector_sink_X.h.t \
- gr_vector_sink_X.i.t \
- gr_xor_XX.cc.t \
- gr_xor_XX.h.t \
- gr_xor_XX.i.t \
- gr_and_XX.cc.t \
- gr_and_XX.h.t \
- gr_and_XX.i.t \
- gr_and_const_XX.cc.t \
- gr_and_const_XX.h.t \
- gr_and_const_XX.i.t \
- gr_or_XX.cc.t \
- gr_or_XX.h.t \
- gr_or_XX.i.t \
- gr_not_XX.cc.t \
- gr_not_XX.h.t \
- gr_not_XX.i.t \
- gr_moving_average_XX.cc.t \
- gr_moving_average_XX.h.t \
- gr_moving_average_XX.i.t
-
-# Source built by Python into $(builddir)
-BUILT_SOURCES += \
- $(GENERATED_H) \
- $(GENERATED_I) \
- $(GENERATED_CC) \
- gengen_generated.i
-
-# ----------------------------------------------------------------
-
-EXTRA_DIST += \
- $(core_generator)
-
-libgengen_la_SOURCES = \
- $(GENERATED_CC)
-
-grinclude_HEADERS = \
- $(GENERATED_H) \
- gr_endianness.h \
- gr_noise_type.h \
- gr_sig_source_waveform.h
-
-swiginclude_HEADERS = \
- $(GENERATED_I) \
- gr_endianness.i \
- gengen.i \
- gengen_generated.i
-
-# Do creation and inclusion of other Makefiles last
-
-# include the srcdir's Makefile.gen; doing this creates an implicit
-# dependency between $(srcdir)/Makefile.in and $(srcdir)/Makefile.gen.
-include $(srcdir)/Makefile.gen
-
-# common way for generating local Makefile.gen
-makefile_gen_gen_command = PYTHONPATH=$(top_srcdir)/gnuradio-core/src/python srcdir=$(srcdir) do_makefile=1 do_sources=0 $(PYTHON) $(srcdir)/generate_all.py
-include $(top_srcdir)/Makefile.gen.gen
-
-# common way for generating sources from templates when using
-# BUILT_SOURCES, using parallel build protection.
-gen_sources = $(BUILT_SOURCES)
-gen_sources_deps = $(core_generator)
-par_gen_command = PYTHONPATH=$(top_srcdir)/gnuradio-core/src/python srcdir=$(srcdir) $(PYTHON) $(srcdir)/generate_all.py
-include $(top_srcdir)/Makefile.par.gen
diff --git a/gnuradio-core/src/lib/hier/.gitignore b/gnuradio-core/src/lib/hier/.gitignore
deleted file mode 100644
index 89a768d46..000000000
--- a/gnuradio-core/src/lib/hier/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-/Makefile
-/Makefile.in
-/.libs
-/.deps
diff --git a/gnuradio-core/src/lib/hier/Makefile.am b/gnuradio-core/src/lib/hier/Makefile.am
deleted file mode 100644
index 369feef75..000000000
--- a/gnuradio-core/src/lib/hier/Makefile.am
+++ /dev/null
@@ -1,37 +0,0 @@
-#
-# Copyright 2009,2010 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 $(top_srcdir)/Makefile.common
-
-
-AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(WITH_INCLUDES)
-
-noinst_LTLIBRARIES = libhier.la
-
-libhier_la_SOURCES = \
- gr_channel_model.cc
-
-grinclude_HEADERS = \
- gr_channel_model.h
-
-swiginclude_HEADERS = \
- hier.i \
- gr_channel_model.i
diff --git a/gnuradio-core/src/lib/io/.gitignore b/gnuradio-core/src/lib/io/.gitignore
deleted file mode 100644
index a02b6ff73..000000000
--- a/gnuradio-core/src/lib/io/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-/Makefile
-/Makefile.in
-/.la
-/.lo
-/.deps
-/.libs
-/*.la
-/*.lo
diff --git a/gnuradio-core/src/lib/io/Makefile.am b/gnuradio-core/src/lib/io/Makefile.am
deleted file mode 100644
index 442d5e3a9..000000000
--- a/gnuradio-core/src/lib/io/Makefile.am
+++ /dev/null
@@ -1,116 +0,0 @@
-#
-# Copyright 2001,2003,2004,2006,2007,2008 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 $(top_srcdir)/Makefile.common
-
-
-AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(WITH_INCLUDES)
-
-noinst_LTLIBRARIES = libio.la
-
-
-libio_la_SOURCES = \
- gr_file_sink.cc \
- gr_file_sink_base.cc \
- gr_file_source.cc \
- gr_file_descriptor_sink.cc \
- gr_file_descriptor_source.cc \
- gr_histo_sink_f.cc \
- gr_message_sink.cc \
- gr_message_source.cc \
- gr_oscope_guts.cc \
- gr_oscope_sink_f.cc \
- gr_oscope_sink_x.cc \
- i2c.cc \
- i2c_bitbang.cc \
- i2c_bbio.cc \
- i2c_bbio_pp.cc \
- microtune_4702.cc \
- microtune_4937.cc \
- microtune_4702_eval_board.cc \
- microtune_4937_eval_board.cc \
- microtune_xxxx.cc \
- microtune_xxxx_eval_board.cc \
- ppio.cc \
- ppio_ppdev.cc \
- sdr_1000.cc \
- gr_udp_sink.cc \
- gr_udp_source.cc \
- gr_wavfile_sink.cc \
- gr_wavfile_source.cc \
- gri_wavfile.cc \
- gr_tagged_file_sink.cc
-
-grinclude_HEADERS = \
- gr_file_sink.h \
- gr_file_sink_base.h \
- gr_file_source.h \
- gr_file_descriptor_sink.h \
- gr_file_descriptor_source.h \
- gr_histo_sink_f.h \
- gr_message_sink.h \
- gr_message_source.h \
- gr_oscope_guts.h \
- gr_oscope_sink_f.h \
- gr_oscope_sink_x.h \
- gr_trigger_mode.h \
- i2c.h \
- i2c_bitbang.h \
- i2c_bbio.h \
- i2c_bbio_pp.h \
- microtune_4702.h \
- microtune_4937.h \
- microtune_4702_eval_board.h \
- microtune_4937_eval_board.h \
- microtune_eval_board_defs.h \
- microtune_xxxx.h \
- microtune_xxxx_eval_board.h \
- ppio.h \
- ppio_ppdev.h \
- sdr_1000.h \
- gr_udp_sink.h \
- gr_udp_source.h \
- gr_wavfile_source.h \
- gr_wavfile_sink.h \
- gri_wavfile.h \
- gr_tagged_file_sink.h
-
-swiginclude_HEADERS = \
- io.i \
- gr_file_sink.i \
- gr_file_sink_base.i \
- gr_file_source.i \
- gr_file_descriptor_sink.i \
- gr_file_descriptor_source.i \
- gr_histo_sink.i \
- gr_message_sink.i \
- gr_message_source.i \
- gr_oscope_sink.i \
- microtune_xxxx_eval_board.i \
- microtune_4702_eval_board.i \
- microtune_4937_eval_board.i \
- ppio.i \
- sdr_1000.i \
- gr_udp_sink.i \
- gr_udp_source.i \
- gr_wavfile_source.i \
- gr_wavfile_sink.i \
- gr_tagged_file_sink.i
diff --git a/gnuradio-core/src/lib/io/gr_wavfile_sink.cc b/gnuradio-core/src/lib/io/gr_wavfile_sink.cc
index a96aadc72..88b232343 100644
--- a/gnuradio-core/src/lib/io/gr_wavfile_sink.cc
+++ b/gnuradio-core/src/lib/io/gr_wavfile_sink.cc
@@ -184,6 +184,7 @@ gr_wavfile_sink::work (int noutput_items,
int nwritten;
+ gruel::scoped_lock guard(d_mutex); // hold mutex for duration of this block
do_update(); // update: d_fp is reqd
if (!d_fp) // drop output on the floor
return noutput_items;
@@ -254,7 +255,6 @@ gr_wavfile_sink::do_update()
return;
}
- gruel::scoped_lock guard(d_mutex); // hold mutex for duration of this block
if (d_fp) {
close_wav();
}
diff --git a/gnuradio-core/src/lib/io/gr_wavfile_sink.h b/gnuradio-core/src/lib/io/gr_wavfile_sink.h
index 5fd3eaadc..6a6b7ebf0 100644
--- a/gnuradio-core/src/lib/io/gr_wavfile_sink.h
+++ b/gnuradio-core/src/lib/io/gr_wavfile_sink.h
@@ -86,6 +86,13 @@ private:
short convert_to_short(float sample);
/*!
+ * \brief If any file changes have occurred, update now. This is called
+ * internally by work() and thus doesn't usually need to be called by
+ * hand.
+ */
+ void do_update();
+
+ /*!
* \brief Writes information to the WAV header which is not available
* a-priori (chunk size etc.) and closes the file. Not thread-safe and
* assumes d_fp is a valid file pointer, should thus only be called by
@@ -108,13 +115,6 @@ public:
void close();
/*!
- * \brief If any file changes have occurred, update now. This is called
- * internally by work() and thus doesn't usually need to be called by
- * hand.
- */
- void do_update();
-
- /*!
* \brief Set the sample rate. This will not affect the WAV file
* currently opened. Any following open() calls will use this new
* sample rate.
diff --git a/gnuradio-core/src/lib/missing/.gitignore b/gnuradio-core/src/lib/missing/.gitignore
deleted file mode 100644
index a02b6ff73..000000000
--- a/gnuradio-core/src/lib/missing/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-/Makefile
-/Makefile.in
-/.la
-/.lo
-/.deps
-/.libs
-/*.la
-/*.lo
diff --git a/gnuradio-core/src/lib/missing/Makefile.am b/gnuradio-core/src/lib/missing/Makefile.am
deleted file mode 100644
index 1cc6014a1..000000000
--- a/gnuradio-core/src/lib/missing/Makefile.am
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# Copyright 2003,2004,2008,2009,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 $(top_srcdir)/Makefile.common
-
-AM_CPPFLAGS = $(GRUEL_INCLUDES) $(GNURADIO_INCLUDES) $(WITH_INCLUDES)
-
-EXTRA_DIST += \
- getopt.h \
- getopt.c \
- gettimeofday.c \
- posix_memalign.cc \
- posix_memalign.h \
- usleep.c
-
-noinst_LTLIBRARIES = libmissing.la
-
-libmissing_la_common_SOURCES = \
- bug_work_around_8.cc
-
-powerpc_CODE = \
- posix_memalign.cc
-
-if MD_CPU_powerpc
-libmissing_la_SOURCES = $(libmissing_la_common_SOURCES) $(powerpc_CODE)
-else
-libmissing_la_SOURCES = $(libmissing_la_common_SOURCES)
-endif
diff --git a/gnuradio-core/src/lib/reed-solomon/.gitignore b/gnuradio-core/src/lib/reed-solomon/.gitignore
deleted file mode 100644
index f137f5c67..000000000
--- a/gnuradio-core/src/lib/reed-solomon/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-/Makefile
-/Makefile.in
-/.la
-/.lo
-/.deps
-/.libs
-/*.la
-/*.lo
-/rstest
diff --git a/gnuradio-core/src/lib/reed-solomon/Makefile.am b/gnuradio-core/src/lib/reed-solomon/Makefile.am
deleted file mode 100644
index 5548f4280..000000000
--- a/gnuradio-core/src/lib/reed-solomon/Makefile.am
+++ /dev/null
@@ -1,55 +0,0 @@
-#
-# Copyright 2002,2008 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 $(top_srcdir)/Makefile.common
-
-# Note, this Makefile.am only builds the char versions of the reed soloman routines.
-# If you need the int versions too, please figure out how to add them *cleanly* to
-# this Makefile.am.
-
-AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(CPPUNIT_INCLUDES) $(WITH_INCLUDES)
-
-TESTS = rstest
-
-EXTRA_DIST += \
- README.karn
-
-noinst_LTLIBRARIES = librs.la
-
-noinst_PROGRAMS = \
- rstest
-
-librs_la_SOURCES = \
- encode_rs.c \
- decode_rs.c \
- init_rs.c
-
-grinclude_HEADERS = \
- rs.h
-
-noinst_HEADERS = \
- ccsds.h \
- char.h \
- int.h \
- fixed.h
-
-rstest_SOURCES = rstest.c exercise.c
-rstest_LDADD = librs.la
diff --git a/gnuradio-core/src/lib/runtime/.gitignore b/gnuradio-core/src/lib/runtime/.gitignore
deleted file mode 100644
index a02b6ff73..000000000
--- a/gnuradio-core/src/lib/runtime/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-/Makefile
-/Makefile.in
-/.la
-/.lo
-/.deps
-/.libs
-/*.la
-/*.lo
diff --git a/gnuradio-core/src/lib/runtime/Makefile.am b/gnuradio-core/src/lib/runtime/Makefile.am
deleted file mode 100644
index 38da3d5fd..000000000
--- a/gnuradio-core/src/lib/runtime/Makefile.am
+++ /dev/null
@@ -1,165 +0,0 @@
-#
-# Copyright 2003,2004,2007,2008,2009,2010,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 $(top_srcdir)/Makefile.common
-
-AM_CPPFLAGS = $(GRUEL_INCLUDES) $(STD_DEFINES_AND_INCLUDES) $(CPPUNIT_INCLUDES) $(WITH_INCLUDES)
-
-noinst_LTLIBRARIES = libruntime.la libruntime-qa.la
-
-libruntime_la_LIBADD = \
- $(SHM_OPEN_LIBS)
-
-
-libruntime_la_SOURCES = \
- gr_basic_block.cc \
- gr_flowgraph.cc \
- gr_flat_flowgraph.cc \
- gr_block.cc \
- gr_block_detail.cc \
- gr_block_executor.cc \
- gr_hier_block2.cc \
- gr_hier_block2_detail.cc \
- gr_buffer.cc \
- gr_dispatcher.cc \
- gr_error_handler.cc \
- gr_io_signature.cc \
- gr_local_sighandler.cc \
- gr_message.cc \
- gr_msg_accepter.cc \
- gr_msg_handler.cc \
- gr_msg_queue.cc \
- gr_pagesize.cc \
- gr_preferences.cc \
- gr_realtime.cc \
- gr_scheduler.cc \
- gr_scheduler_sts.cc \
- gr_scheduler_tpb.cc \
- gr_single_threaded_scheduler.cc \
- gr_sptr_magic.cc \
- gr_sync_block.cc \
- gr_sync_decimator.cc \
- gr_sync_interpolator.cc \
- gr_sys_paths.cc \
- gr_top_block.cc \
- gr_top_block_impl.cc \
- gr_tpb_detail.cc \
- gr_tpb_thread_body.cc \
- gr_vmcircbuf.cc \
- gr_vmcircbuf_mmap_shm_open.cc \
- gr_vmcircbuf_mmap_tmpfile.cc \
- gr_vmcircbuf_createfilemapping.cc \
- gr_vmcircbuf_sysv_shm.cc \
- gr_select_handler.cc
-
-libruntime_qa_la_SOURCES = \
- qa_gr_block.cc \
- qa_gr_hier_block2.cc \
- qa_gr_hier_block2_derived.cc \
- qa_gr_buffer.cc \
- qa_gr_flowgraph.cc \
- qa_gr_top_block.cc \
- qa_gr_io_signature.cc \
- qa_gr_vmcircbuf.cc \
- qa_block_tags.cc \
- qa_set_msg_handler.cc \
- qa_runtime.cc
-
-grinclude_HEADERS = \
- gr_basic_block.h \
- gr_flowgraph.h \
- gr_flat_flowgraph.h \
- gr_block.h \
- gr_block_detail.h \
- gr_block_executor.h \
- gr_hier_block2.h \
- gr_hier_block2_detail.h \
- gr_buffer.h \
- gr_complex.h \
- gr_dispatcher.h \
- gr_error_handler.h \
- gr_io_signature.h \
- gr_local_sighandler.h \
- gr_message.h \
- gr_msg_accepter.h \
- gr_msg_handler.h \
- gr_msg_queue.h \
- gr_pagesize.h \
- gr_preferences.h \
- gr_realtime.h \
- gr_runtime_types.h \
- gr_scheduler.h \
- gr_scheduler_sts.h \
- gr_scheduler_tpb.h \
- gr_select_handler.h \
- gr_single_threaded_scheduler.h \
- gr_sptr_magic.h \
- gr_sync_block.h \
- gr_sync_decimator.h \
- gr_sync_interpolator.h \
- gr_top_block.h \
- gr_top_block_impl.h \
- gr_tpb_detail.h \
- gr_tpb_thread_body.h \
- gr_timer.h \
- gr_sys_paths.h \
- gr_types.h \
- gr_unittests.h \
- gr_vmcircbuf.h \
- gr_tags.h
-
-noinst_HEADERS = \
- gr_vmcircbuf_mmap_shm_open.h \
- gr_vmcircbuf_mmap_tmpfile.h \
- gr_vmcircbuf_sysv_shm.h \
- gr_vmcircbuf_createfilemapping.h \
- qa_gr_block.h \
- qa_gr_flowgraph.h \
- qa_gr_hier_block2.h \
- qa_gr_hier_block2_derived.h \
- qa_gr_buffer.h \
- qa_gr_io_signature.h \
- qa_gr_top_block.h \
- qa_gr_vmcircbuf.h \
- qa_block_tags.h \
- qa_set_msg_handler.h \
- qa_runtime.h
-
-swiginclude_HEADERS = \
- gr_basic_block.i \
- gr_block.i \
- gr_block_detail.i \
- gr_hier_block2.i \
- gr_buffer.i \
- gr_dispatcher.i \
- gr_error_handler.i \
- gr_io_signature.i \
- gr_message.i \
- gr_msg_handler.i \
- gr_msg_queue.i \
- gr_realtime.i \
- gr_single_threaded_scheduler.i \
- gr_sync_block.i \
- gr_sync_decimator.i \
- gr_sync_interpolator.i \
- gr_tags.i \
- gr_top_block.i \
- runtime.i
diff --git a/gnuradio-core/src/lib/swig/.gitignore b/gnuradio-core/src/lib/swig/.gitignore
deleted file mode 100644
index a6f145618..000000000
--- a/gnuradio-core/src/lib/swig/.gitignore
+++ /dev/null
@@ -1,49 +0,0 @@
-/Makefile
-/Makefile.in
-/.la
-/.lo
-/.deps
-/.libs
-/*.la
-/*.lo
-/*.pyc
-/swigrun.py
-/swigrun_wrap.c
-/Makefile.swigdeps.new
-gnuradio_core_filter.cc
-gnuradio_core_filter.d
-gnuradio_core_filter.h
-gnuradio_core_filter.py
-gnuradio_core_filter.scm
-gnuradio_core_filter-primitive.scm
-gnuradio_core_general.cc
-gnuradio_core_general.d
-gnuradio_core_general.h
-gnuradio_core_general.py
-gnuradio_core_general.scm
-gnuradio_core_general-primitive.scm
-gnuradio_core_gengen.cc
-gnuradio_core_gengen.d
-gnuradio_core_gengen.h
-gnuradio_core_gengen.py
-gnuradio_core_gengen.scm
-gnuradio_core_gengen-primitive.scm
-gnuradio_core_hier.cc
-gnuradio_core_hier.d
-gnuradio_core_hier.h
-gnuradio_core_hier.py
-gnuradio_core_hier.scm
-gnuradio_core_hier-primitive.scm
-gnuradio_core_io.cc
-gnuradio_core_io.d
-gnuradio_core_io.h
-gnuradio_core_io.py
-gnuradio_core_io.scm
-gnuradio_core_io-primitive.scm
-gnuradio_core_runtime.cc
-gnuradio_core_runtime.d
-gnuradio_core_runtime.h
-gnuradio_core_runtime.py
-gnuradio_core_runtime.scm
-gnuradio_core_runtime-primitive.scm
-
diff --git a/gnuradio-core/src/lib/swig/Makefile.am b/gnuradio-core/src/lib/swig/Makefile.am
deleted file mode 100644
index 91c1746e6..000000000
--- a/gnuradio-core/src/lib/swig/Makefile.am
+++ /dev/null
@@ -1,109 +0,0 @@
-#
-# Copyright 2001,2003,2004,2005,2006,2007,2008,2009,2010 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 $(top_srcdir)/Makefile.common
-include $(top_srcdir)/Makefile.swig
-
-AM_CPPFLAGS = -I$(srcdir) $(STD_DEFINES_AND_INCLUDES) $(PYTHON_CPPFLAGS) \
- $(WITH_INCLUDES)
-
-# ----------------------------------------------------------------
-# We've split the previously monstrous gnuradio_core into 6
-# smaller pieces. This reduces compile time coupling and creates
-# smaller pieces for the compiler to digest. prior to this change, on
-# X86_64, g++'s resident set size was 650MB!
-# ----------------------------------------------------------------
-
-TOP_SWIG_DOC_IFILES = \
- filter_swig_doc.i \
- general_swig_doc.i \
- gengen_swig_doc.i \
- hier_swig_doc.i \
- io_swig_doc.i \
- runtime_swig_doc.i
-
-TOP_SWIG_IFILES = \
- $(TOP_SWIG_DOC_IFILES) \
- gnuradio_core_runtime.i \
- gnuradio_core_general.i \
- gnuradio_core_gengen.i \
- gnuradio_core_filter.i \
- gnuradio_core_io.i \
- gnuradio_core_hier.i
-
-BUILT_SOURCES += \
- $(TOP_SWIG_DOC_IFILES)
-
-EXTRA_DIST += \
- $(TOP_SWIG_DOC_IFILES)
-
-$(TOP_SWIG_DOC_IFILES):
- `echo "" > $@`
-
-# SWIG headers get installed in ${prefix}/include/gnuradio/swig
-swiginclude_HEADERS = \
- gnuradio.i \
- gr_swig_block_magic.i \
- gr_shared_ptr.i \
- $(TOP_SWIG_DOC_IFILES)
-
-# SWIG headers that get installed in ${prefix}/include/gnuradio/swig/...
-nobase_swiginclude_HEADERS = \
- guile/std_complex.i \
- guile/std_vector.i
-
-
-# special install for this top-level Python script which includes all
-# of the split Python libraries.
-ourpythondir = $(grpythondir)/gr
-ourpython_PYTHON = gnuradio_core.py
-
-# ----------------------------------------------------------------
-# FIXME As of swig 1.3.31, this still seems to be required...
-# gnuradio_swig_bug_workaround.h : gnuradio_core_runtime.py $(srcdir)/gen-swig-bug-fix
-# $(PYTHON) $(srcdir)/gen-swig-bug-fix python/gnuradio_core_runtime.cc $@
-
-EXTRA_DIST += gen-swig-bug-fix
-
-# C/C++ headers get installed in ${prefix}/include/gnuradio
-grinclude_HEADERS = gnuradio_swig_bug_workaround.h
-
-
-# Install so that they end up available as:
-# import gnuradio.gr
-# This ends up at:
-# ${prefix}/lib/python${python_version}/site-packages/gnuradio/gr
-gnuradio_core_runtime_pythondir_category = gnuradio/gr
-gnuradio_core_general_pythondir_category = gnuradio/gr
-gnuradio_core_gengen_pythondir_category = gnuradio/gr
-gnuradio_core_filter_pythondir_category = gnuradio/gr
-gnuradio_core_io_pythondir_category = gnuradio/gr
-gnuradio_core_hier_pythondir_category = gnuradio/gr
-
-# additional libraries for linking with each SWIG-generated library
-gnuradio_core_runtime_la_swig_libadd = $(GNURADIO_CORE_LA)
-gnuradio_core_general_la_swig_libadd = $(GNURADIO_CORE_LA)
-gnuradio_core_gengen_la_swig_libadd = $(GNURADIO_CORE_LA)
-gnuradio_core_filter_la_swig_libadd = $(GNURADIO_CORE_LA)
-gnuradio_core_io_la_swig_libadd = $(GNURADIO_CORE_LA)
-gnuradio_core_hier_la_swig_libadd = $(GNURADIO_CORE_LA)
-
-SWIG_GUILE_FLAGS += -DIN_GNURADIO_CORE
diff --git a/gnuradio-core/src/lib/swig/Makefile.swig.gen b/gnuradio-core/src/lib/swig/Makefile.swig.gen
deleted file mode 100644
index cede68817..000000000
--- a/gnuradio-core/src/lib/swig/Makefile.swig.gen
+++ /dev/null
@@ -1,870 +0,0 @@
-# -*- Makefile -*-
-#
-# Copyright 2009 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.
-#
-
-# Makefile.swig.gen for gnuradio_core_runtime.i
-
-## Default install locations for these files:
-##
-## Default location for the Python directory is:
-## ${prefix}/lib/python${python_version}/site-packages/[category]/gnuradio_core_runtime
-## Default location for the Python exec directory is:
-## ${exec_prefix}/lib/python${python_version}/site-packages/[category]/gnuradio_core_runtime
-##
-## The following can be overloaded to change the install location, but
-## this has to be done in the including Makefile.am -before-
-## Makefile.swig is included.
-
-gnuradio_core_runtime_pythondir_category ?= gnuradio/gnuradio_core_runtime
-gnuradio_core_runtime_pylibdir_category ?= $(gnuradio_core_runtime_pythondir_category)
-gnuradio_core_runtime_pythondir = $(pythondir)/$(gnuradio_core_runtime_pythondir_category)
-gnuradio_core_runtime_pylibdir = $(pyexecdir)/$(gnuradio_core_runtime_pylibdir_category)
-
-# The .so libraries for the guile modules get installed whereever guile
-# is installed, usually /usr/lib/guile/gnuradio/
-# FIXME: determince whether these should be installed with gnuradio.
-gnuradio_core_runtime_scmlibdir = $(libdir)
-
-# The scm files for the guile modules get installed where ever guile
-# is installed, usually /usr/share/guile/site/gnuradio_core_runtime
-# FIXME: determince whether these should be installed with gnuradio.
-gnuradio_core_runtime_scmdir = $(guiledir)
-
-## SWIG headers are always installed into the same directory.
-
-gnuradio_core_runtime_swigincludedir = $(swigincludedir)
-
-## This is a template file for a "generated" Makefile addition (in
-## this case, "Makefile.swig.gen"). By including the top-level
-## Makefile.swig, this file will be used to generate the SWIG
-## dependencies. Assign the variable TOP_SWIG_FILES to be the list of
-## SWIG .i files to generated wrappings for; there can be more than 1
-## so long as the names are unique (no sorting is done on the
-## TOP_SWIG_FILES list). This file explicitly assumes that a SWIG .i
-## file will generate .cc, .py, and possibly .h files -- meaning that
-## all of these files will have the same base name (that provided for
-## the SWIG .i file).
-##
-## This code is setup to ensure parallel MAKE ("-j" or "-jN") does the
-## right thing. For more info, see <
-## http://sources.redhat.com/automake/automake.html#Multiple-Outputs >
-
-## Other cleaned files: dependency files generated by SWIG or this Makefile
-
-MOSTLYCLEANFILES += $(DEPDIR)/*.S*
-
-## Various SWIG variables. These can be overloaded in the including
-## Makefile.am by setting the variable value there, then including
-## Makefile.swig .
-
-gnuradio_core_runtime_swiginclude_HEADERS = \
- gnuradio_core_runtime.i \
- $(gnuradio_core_runtime_swiginclude_headers)
-
-if PYTHON
-gnuradio_core_runtime_pylib_LTLIBRARIES = \
- _gnuradio_core_runtime.la
-
-_gnuradio_core_runtime_la_SOURCES = \
- python/gnuradio_core_runtime.cc \
- $(gnuradio_core_runtime_la_swig_sources)
-
-gnuradio_core_runtime_python_PYTHON = \
- gnuradio_core_runtime.py \
- $(gnuradio_core_runtime_python)
-
-_gnuradio_core_runtime_la_LIBADD = \
- $(STD_SWIG_LA_LIB_ADD) \
- $(gnuradio_core_runtime_la_swig_libadd)
-
-_gnuradio_core_runtime_la_LDFLAGS = \
- $(STD_SWIG_LA_LD_FLAGS) \
- $(gnuradio_core_runtime_la_swig_ldflags)
-
-_gnuradio_core_runtime_la_CXXFLAGS = \
- $(STD_SWIG_CXX_FLAGS) \
- -I$(top_builddir) \
- $(gnuradio_core_runtime_la_swig_cxxflags)
-
-python/gnuradio_core_runtime.cc: gnuradio_core_runtime.py
-gnuradio_core_runtime.py: gnuradio_core_runtime.i
-
-# Include the python dependencies for this file
--include python/gnuradio_core_runtime.d
-
-endif # end of if python
-
-if GUILE
-
-gnuradio_core_runtime_scmlib_LTLIBRARIES = \
- libguile-gnuradio-gnuradio_core_runtime.la
-libguile_gnuradio_gnuradio_core_runtime_la_SOURCES = \
- guile/gnuradio_core_runtime.cc \
- $(gnuradio_core_runtime_la_swig_sources)
-nobase_gnuradio_core_runtime_scm_DATA = \
- gnuradio/gnuradio_core_runtime.scm \
- gnuradio/gnuradio_core_runtime-primitive.scm
-libguile_gnuradio_gnuradio_core_runtime_la_LIBADD = \
- $(STD_SWIG_LA_LIB_ADD) \
- $(gnuradio_core_runtime_la_swig_libadd)
-libguile_gnuradio_gnuradio_core_runtime_la_LDFLAGS = \
- $(STD_SWIG_LA_LD_FLAGS) \
- $(gnuradio_core_runtime_la_swig_ldflags)
-libguile_gnuradio_gnuradio_core_runtime_la_CXXFLAGS = \
- $(STD_SWIG_CXX_FLAGS) \
- -I$(top_builddir) \
- $(gnuradio_core_runtime_la_swig_cxxflags)
-
-guile/gnuradio_core_runtime.cc: gnuradio/gnuradio_core_runtime.scm
-gnuradio/gnuradio_core_runtime.scm: gnuradio_core_runtime.i
-gnuradio/gnuradio_core_runtime-primitive.scm: gnuradio/gnuradio_core_runtime.scm
-
-# Include the guile dependencies for this file
--include guile/gnuradio_core_runtime.d
-
-endif # end of GUILE
-
-
-# -*- Makefile -*-
-#
-# Copyright 2009 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.
-#
-
-# Makefile.swig.gen for gnuradio_core_general.i
-
-## Default install locations for these files:
-##
-## Default location for the Python directory is:
-## ${prefix}/lib/python${python_version}/site-packages/[category]/gnuradio_core_general
-## Default location for the Python exec directory is:
-## ${exec_prefix}/lib/python${python_version}/site-packages/[category]/gnuradio_core_general
-##
-## The following can be overloaded to change the install location, but
-## this has to be done in the including Makefile.am -before-
-## Makefile.swig is included.
-
-gnuradio_core_general_pythondir_category ?= gnuradio/gnuradio_core_general
-gnuradio_core_general_pylibdir_category ?= $(gnuradio_core_general_pythondir_category)
-gnuradio_core_general_pythondir = $(pythondir)/$(gnuradio_core_general_pythondir_category)
-gnuradio_core_general_pylibdir = $(pyexecdir)/$(gnuradio_core_general_pylibdir_category)
-
-# The .so libraries for the guile modules get installed whereever guile
-# is installed, usually /usr/lib/guile/gnuradio/
-# FIXME: determince whether these should be installed with gnuradio.
-gnuradio_core_general_scmlibdir = $(libdir)
-
-# The scm files for the guile modules get installed where ever guile
-# is installed, usually /usr/share/guile/site/gnuradio_core_general
-# FIXME: determince whether these should be installed with gnuradio.
-gnuradio_core_general_scmdir = $(guiledir)
-
-## SWIG headers are always installed into the same directory.
-
-gnuradio_core_general_swigincludedir = $(swigincludedir)
-
-## This is a template file for a "generated" Makefile addition (in
-## this case, "Makefile.swig.gen"). By including the top-level
-## Makefile.swig, this file will be used to generate the SWIG
-## dependencies. Assign the variable TOP_SWIG_FILES to be the list of
-## SWIG .i files to generated wrappings for; there can be more than 1
-## so long as the names are unique (no sorting is done on the
-## TOP_SWIG_FILES list). This file explicitly assumes that a SWIG .i
-## file will generate .cc, .py, and possibly .h files -- meaning that
-## all of these files will have the same base name (that provided for
-## the SWIG .i file).
-##
-## This code is setup to ensure parallel MAKE ("-j" or "-jN") does the
-## right thing. For more info, see <
-## http://sources.redhat.com/automake/automake.html#Multiple-Outputs >
-
-## Other cleaned files: dependency files generated by SWIG or this Makefile
-
-MOSTLYCLEANFILES += $(DEPDIR)/*.S*
-
-## Various SWIG variables. These can be overloaded in the including
-## Makefile.am by setting the variable value there, then including
-## Makefile.swig .
-
-gnuradio_core_general_swiginclude_HEADERS = \
- gnuradio_core_general.i \
- $(gnuradio_core_general_swiginclude_headers)
-
-if PYTHON
-gnuradio_core_general_pylib_LTLIBRARIES = \
- _gnuradio_core_general.la
-
-_gnuradio_core_general_la_SOURCES = \
- python/gnuradio_core_general.cc \
- $(gnuradio_core_general_la_swig_sources)
-
-gnuradio_core_general_python_PYTHON = \
- gnuradio_core_general.py \
- $(gnuradio_core_general_python)
-
-_gnuradio_core_general_la_LIBADD = \
- $(STD_SWIG_LA_LIB_ADD) \
- $(gnuradio_core_general_la_swig_libadd)
-
-_gnuradio_core_general_la_LDFLAGS = \
- $(STD_SWIG_LA_LD_FLAGS) \
- $(gnuradio_core_general_la_swig_ldflags)
-
-_gnuradio_core_general_la_CXXFLAGS = \
- $(STD_SWIG_CXX_FLAGS) \
- -I$(top_builddir) \
- $(gnuradio_core_general_la_swig_cxxflags)
-
-python/gnuradio_core_general.cc: gnuradio_core_general.py
-gnuradio_core_general.py: gnuradio_core_general.i
-
-# Include the python dependencies for this file
--include python/gnuradio_core_general.d
-
-endif # end of if python
-
-if GUILE
-
-gnuradio_core_general_scmlib_LTLIBRARIES = \
- libguile-gnuradio-gnuradio_core_general.la
-libguile_gnuradio_gnuradio_core_general_la_SOURCES = \
- guile/gnuradio_core_general.cc \
- $(gnuradio_core_general_la_swig_sources)
-nobase_gnuradio_core_general_scm_DATA = \
- gnuradio/gnuradio_core_general.scm \
- gnuradio/gnuradio_core_general-primitive.scm
-libguile_gnuradio_gnuradio_core_general_la_LIBADD = \
- $(STD_SWIG_LA_LIB_ADD) \
- $(gnuradio_core_general_la_swig_libadd)
-libguile_gnuradio_gnuradio_core_general_la_LDFLAGS = \
- $(STD_SWIG_LA_LD_FLAGS) \
- $(gnuradio_core_general_la_swig_ldflags)
-libguile_gnuradio_gnuradio_core_general_la_CXXFLAGS = \
- $(STD_SWIG_CXX_FLAGS) \
- -I$(top_builddir) \
- $(gnuradio_core_general_la_swig_cxxflags)
-
-guile/gnuradio_core_general.cc: gnuradio/gnuradio_core_general.scm
-gnuradio/gnuradio_core_general.scm: gnuradio_core_general.i
-gnuradio/gnuradio_core_general-primitive.scm: gnuradio/gnuradio_core_general.scm
-
-# Include the guile dependencies for this file
--include guile/gnuradio_core_general.d
-
-endif # end of GUILE
-
-
-# -*- Makefile -*-
-#
-# Copyright 2009 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.
-#
-
-# Makefile.swig.gen for gnuradio_core_gengen.i
-
-## Default install locations for these files:
-##
-## Default location for the Python directory is:
-## ${prefix}/lib/python${python_version}/site-packages/[category]/gnuradio_core_gengen
-## Default location for the Python exec directory is:
-## ${exec_prefix}/lib/python${python_version}/site-packages/[category]/gnuradio_core_gengen
-##
-## The following can be overloaded to change the install location, but
-## this has to be done in the including Makefile.am -before-
-## Makefile.swig is included.
-
-gnuradio_core_gengen_pythondir_category ?= gnuradio/gnuradio_core_gengen
-gnuradio_core_gengen_pylibdir_category ?= $(gnuradio_core_gengen_pythondir_category)
-gnuradio_core_gengen_pythondir = $(pythondir)/$(gnuradio_core_gengen_pythondir_category)
-gnuradio_core_gengen_pylibdir = $(pyexecdir)/$(gnuradio_core_gengen_pylibdir_category)
-
-# The .so libraries for the guile modules get installed whereever guile
-# is installed, usually /usr/lib/guile/gnuradio/
-# FIXME: determince whether these should be installed with gnuradio.
-gnuradio_core_gengen_scmlibdir = $(libdir)
-
-# The scm files for the guile modules get installed where ever guile
-# is installed, usually /usr/share/guile/site/gnuradio_core_gengen
-# FIXME: determince whether these should be installed with gnuradio.
-gnuradio_core_gengen_scmdir = $(guiledir)
-
-## SWIG headers are always installed into the same directory.
-
-gnuradio_core_gengen_swigincludedir = $(swigincludedir)
-
-## This is a template file for a "generated" Makefile addition (in
-## this case, "Makefile.swig.gen"). By including the top-level
-## Makefile.swig, this file will be used to generate the SWIG
-## dependencies. Assign the variable TOP_SWIG_FILES to be the list of
-## SWIG .i files to generated wrappings for; there can be more than 1
-## so long as the names are unique (no sorting is done on the
-## TOP_SWIG_FILES list). This file explicitly assumes that a SWIG .i
-## file will generate .cc, .py, and possibly .h files -- meaning that
-## all of these files will have the same base name (that provided for
-## the SWIG .i file).
-##
-## This code is setup to ensure parallel MAKE ("-j" or "-jN") does the
-## right thing. For more info, see <
-## http://sources.redhat.com/automake/automake.html#Multiple-Outputs >
-
-## Other cleaned files: dependency files generated by SWIG or this Makefile
-
-MOSTLYCLEANFILES += $(DEPDIR)/*.S*
-
-## Various SWIG variables. These can be overloaded in the including
-## Makefile.am by setting the variable value there, then including
-## Makefile.swig .
-
-gnuradio_core_gengen_swiginclude_HEADERS = \
- gnuradio_core_gengen.i \
- $(gnuradio_core_gengen_swiginclude_headers)
-
-if PYTHON
-gnuradio_core_gengen_pylib_LTLIBRARIES = \
- _gnuradio_core_gengen.la
-
-_gnuradio_core_gengen_la_SOURCES = \
- python/gnuradio_core_gengen.cc \
- $(gnuradio_core_gengen_la_swig_sources)
-
-gnuradio_core_gengen_python_PYTHON = \
- gnuradio_core_gengen.py \
- $(gnuradio_core_gengen_python)
-
-_gnuradio_core_gengen_la_LIBADD = \
- $(STD_SWIG_LA_LIB_ADD) \
- $(gnuradio_core_gengen_la_swig_libadd)
-
-_gnuradio_core_gengen_la_LDFLAGS = \
- $(STD_SWIG_LA_LD_FLAGS) \
- $(gnuradio_core_gengen_la_swig_ldflags)
-
-_gnuradio_core_gengen_la_CXXFLAGS = \
- $(STD_SWIG_CXX_FLAGS) \
- -I$(top_builddir) \
- $(gnuradio_core_gengen_la_swig_cxxflags)
-
-python/gnuradio_core_gengen.cc: gnuradio_core_gengen.py
-gnuradio_core_gengen.py: gnuradio_core_gengen.i
-
-# Include the python dependencies for this file
--include python/gnuradio_core_gengen.d
-
-endif # end of if python
-
-if GUILE
-
-gnuradio_core_gengen_scmlib_LTLIBRARIES = \
- libguile-gnuradio-gnuradio_core_gengen.la
-libguile_gnuradio_gnuradio_core_gengen_la_SOURCES = \
- guile/gnuradio_core_gengen.cc \
- $(gnuradio_core_gengen_la_swig_sources)
-nobase_gnuradio_core_gengen_scm_DATA = \
- gnuradio/gnuradio_core_gengen.scm \
- gnuradio/gnuradio_core_gengen-primitive.scm
-libguile_gnuradio_gnuradio_core_gengen_la_LIBADD = \
- $(STD_SWIG_LA_LIB_ADD) \
- $(gnuradio_core_gengen_la_swig_libadd)
-libguile_gnuradio_gnuradio_core_gengen_la_LDFLAGS = \
- $(STD_SWIG_LA_LD_FLAGS) \
- $(gnuradio_core_gengen_la_swig_ldflags)
-libguile_gnuradio_gnuradio_core_gengen_la_CXXFLAGS = \
- $(STD_SWIG_CXX_FLAGS) \
- -I$(top_builddir) \
- $(gnuradio_core_gengen_la_swig_cxxflags)
-
-guile/gnuradio_core_gengen.cc: gnuradio/gnuradio_core_gengen.scm
-gnuradio/gnuradio_core_gengen.scm: gnuradio_core_gengen.i
-gnuradio/gnuradio_core_gengen-primitive.scm: gnuradio/gnuradio_core_gengen.scm
-
-# Include the guile dependencies for this file
--include guile/gnuradio_core_gengen.d
-
-endif # end of GUILE
-
-
-# -*- Makefile -*-
-#
-# Copyright 2009 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.
-#
-
-# Makefile.swig.gen for gnuradio_core_filter.i
-
-## Default install locations for these files:
-##
-## Default location for the Python directory is:
-## ${prefix}/lib/python${python_version}/site-packages/[category]/gnuradio_core_filter
-## Default location for the Python exec directory is:
-## ${exec_prefix}/lib/python${python_version}/site-packages/[category]/gnuradio_core_filter
-##
-## The following can be overloaded to change the install location, but
-## this has to be done in the including Makefile.am -before-
-## Makefile.swig is included.
-
-gnuradio_core_filter_pythondir_category ?= gnuradio/gnuradio_core_filter
-gnuradio_core_filter_pylibdir_category ?= $(gnuradio_core_filter_pythondir_category)
-gnuradio_core_filter_pythondir = $(pythondir)/$(gnuradio_core_filter_pythondir_category)
-gnuradio_core_filter_pylibdir = $(pyexecdir)/$(gnuradio_core_filter_pylibdir_category)
-
-# The .so libraries for the guile modules get installed whereever guile
-# is installed, usually /usr/lib/guile/gnuradio/
-# FIXME: determince whether these should be installed with gnuradio.
-gnuradio_core_filter_scmlibdir = $(libdir)
-
-# The scm files for the guile modules get installed where ever guile
-# is installed, usually /usr/share/guile/site/gnuradio_core_filter
-# FIXME: determince whether these should be installed with gnuradio.
-gnuradio_core_filter_scmdir = $(guiledir)
-
-## SWIG headers are always installed into the same directory.
-
-gnuradio_core_filter_swigincludedir = $(swigincludedir)
-
-## This is a template file for a "generated" Makefile addition (in
-## this case, "Makefile.swig.gen"). By including the top-level
-## Makefile.swig, this file will be used to generate the SWIG
-## dependencies. Assign the variable TOP_SWIG_FILES to be the list of
-## SWIG .i files to generated wrappings for; there can be more than 1
-## so long as the names are unique (no sorting is done on the
-## TOP_SWIG_FILES list). This file explicitly assumes that a SWIG .i
-## file will generate .cc, .py, and possibly .h files -- meaning that
-## all of these files will have the same base name (that provided for
-## the SWIG .i file).
-##
-## This code is setup to ensure parallel MAKE ("-j" or "-jN") does the
-## right thing. For more info, see <
-## http://sources.redhat.com/automake/automake.html#Multiple-Outputs >
-
-## Other cleaned files: dependency files generated by SWIG or this Makefile
-
-MOSTLYCLEANFILES += $(DEPDIR)/*.S*
-
-## Various SWIG variables. These can be overloaded in the including
-## Makefile.am by setting the variable value there, then including
-## Makefile.swig .
-
-gnuradio_core_filter_swiginclude_HEADERS = \
- gnuradio_core_filter.i \
- $(gnuradio_core_filter_swiginclude_headers)
-
-if PYTHON
-gnuradio_core_filter_pylib_LTLIBRARIES = \
- _gnuradio_core_filter.la
-
-_gnuradio_core_filter_la_SOURCES = \
- python/gnuradio_core_filter.cc \
- $(gnuradio_core_filter_la_swig_sources)
-
-gnuradio_core_filter_python_PYTHON = \
- gnuradio_core_filter.py \
- $(gnuradio_core_filter_python)
-
-_gnuradio_core_filter_la_LIBADD = \
- $(STD_SWIG_LA_LIB_ADD) \
- $(gnuradio_core_filter_la_swig_libadd)
-
-_gnuradio_core_filter_la_LDFLAGS = \
- $(STD_SWIG_LA_LD_FLAGS) \
- $(gnuradio_core_filter_la_swig_ldflags)
-
-_gnuradio_core_filter_la_CXXFLAGS = \
- $(STD_SWIG_CXX_FLAGS) \
- -I$(top_builddir) \
- $(gnuradio_core_filter_la_swig_cxxflags)
-
-python/gnuradio_core_filter.cc: gnuradio_core_filter.py
-gnuradio_core_filter.py: gnuradio_core_filter.i
-
-# Include the python dependencies for this file
--include python/gnuradio_core_filter.d
-
-endif # end of if python
-
-if GUILE
-
-gnuradio_core_filter_scmlib_LTLIBRARIES = \
- libguile-gnuradio-gnuradio_core_filter.la
-libguile_gnuradio_gnuradio_core_filter_la_SOURCES = \
- guile/gnuradio_core_filter.cc \
- $(gnuradio_core_filter_la_swig_sources)
-nobase_gnuradio_core_filter_scm_DATA = \
- gnuradio/gnuradio_core_filter.scm \
- gnuradio/gnuradio_core_filter-primitive.scm
-libguile_gnuradio_gnuradio_core_filter_la_LIBADD = \
- $(STD_SWIG_LA_LIB_ADD) \
- $(gnuradio_core_filter_la_swig_libadd)
-libguile_gnuradio_gnuradio_core_filter_la_LDFLAGS = \
- $(STD_SWIG_LA_LD_FLAGS) \
- $(gnuradio_core_filter_la_swig_ldflags)
-libguile_gnuradio_gnuradio_core_filter_la_CXXFLAGS = \
- $(STD_SWIG_CXX_FLAGS) \
- -I$(top_builddir) \
- $(gnuradio_core_filter_la_swig_cxxflags)
-
-guile/gnuradio_core_filter.cc: gnuradio/gnuradio_core_filter.scm
-gnuradio/gnuradio_core_filter.scm: gnuradio_core_filter.i
-gnuradio/gnuradio_core_filter-primitive.scm: gnuradio/gnuradio_core_filter.scm
-
-# Include the guile dependencies for this file
--include guile/gnuradio_core_filter.d
-
-endif # end of GUILE
-
-
-# -*- Makefile -*-
-#
-# Copyright 2009 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.
-#
-
-# Makefile.swig.gen for gnuradio_core_io.i
-
-## Default install locations for these files:
-##
-## Default location for the Python directory is:
-## ${prefix}/lib/python${python_version}/site-packages/[category]/gnuradio_core_io
-## Default location for the Python exec directory is:
-## ${exec_prefix}/lib/python${python_version}/site-packages/[category]/gnuradio_core_io
-##
-## The following can be overloaded to change the install location, but
-## this has to be done in the including Makefile.am -before-
-## Makefile.swig is included.
-
-gnuradio_core_io_pythondir_category ?= gnuradio/gnuradio_core_io
-gnuradio_core_io_pylibdir_category ?= $(gnuradio_core_io_pythondir_category)
-gnuradio_core_io_pythondir = $(pythondir)/$(gnuradio_core_io_pythondir_category)
-gnuradio_core_io_pylibdir = $(pyexecdir)/$(gnuradio_core_io_pylibdir_category)
-
-# The .so libraries for the guile modules get installed whereever guile
-# is installed, usually /usr/lib/guile/gnuradio/
-# FIXME: determince whether these should be installed with gnuradio.
-gnuradio_core_io_scmlibdir = $(libdir)
-
-# The scm files for the guile modules get installed where ever guile
-# is installed, usually /usr/share/guile/site/gnuradio_core_io
-# FIXME: determince whether these should be installed with gnuradio.
-gnuradio_core_io_scmdir = $(guiledir)
-
-## SWIG headers are always installed into the same directory.
-
-gnuradio_core_io_swigincludedir = $(swigincludedir)
-
-## This is a template file for a "generated" Makefile addition (in
-## this case, "Makefile.swig.gen"). By including the top-level
-## Makefile.swig, this file will be used to generate the SWIG
-## dependencies. Assign the variable TOP_SWIG_FILES to be the list of
-## SWIG .i files to generated wrappings for; there can be more than 1
-## so long as the names are unique (no sorting is done on the
-## TOP_SWIG_FILES list). This file explicitly assumes that a SWIG .i
-## file will generate .cc, .py, and possibly .h files -- meaning that
-## all of these files will have the same base name (that provided for
-## the SWIG .i file).
-##
-## This code is setup to ensure parallel MAKE ("-j" or "-jN") does the
-## right thing. For more info, see <
-## http://sources.redhat.com/automake/automake.html#Multiple-Outputs >
-
-## Other cleaned files: dependency files generated by SWIG or this Makefile
-
-MOSTLYCLEANFILES += $(DEPDIR)/*.S*
-
-## Various SWIG variables. These can be overloaded in the including
-## Makefile.am by setting the variable value there, then including
-## Makefile.swig .
-
-gnuradio_core_io_swiginclude_HEADERS = \
- gnuradio_core_io.i \
- $(gnuradio_core_io_swiginclude_headers)
-
-if PYTHON
-gnuradio_core_io_pylib_LTLIBRARIES = \
- _gnuradio_core_io.la
-
-_gnuradio_core_io_la_SOURCES = \
- python/gnuradio_core_io.cc \
- $(gnuradio_core_io_la_swig_sources)
-
-gnuradio_core_io_python_PYTHON = \
- gnuradio_core_io.py \
- $(gnuradio_core_io_python)
-
-_gnuradio_core_io_la_LIBADD = \
- $(STD_SWIG_LA_LIB_ADD) \
- $(gnuradio_core_io_la_swig_libadd)
-
-_gnuradio_core_io_la_LDFLAGS = \
- $(STD_SWIG_LA_LD_FLAGS) \
- $(gnuradio_core_io_la_swig_ldflags)
-
-_gnuradio_core_io_la_CXXFLAGS = \
- $(STD_SWIG_CXX_FLAGS) \
- -I$(top_builddir) \
- $(gnuradio_core_io_la_swig_cxxflags)
-
-python/gnuradio_core_io.cc: gnuradio_core_io.py
-gnuradio_core_io.py: gnuradio_core_io.i
-
-# Include the python dependencies for this file
--include python/gnuradio_core_io.d
-
-endif # end of if python
-
-if GUILE
-
-gnuradio_core_io_scmlib_LTLIBRARIES = \
- libguile-gnuradio-gnuradio_core_io.la
-libguile_gnuradio_gnuradio_core_io_la_SOURCES = \
- guile/gnuradio_core_io.cc \
- $(gnuradio_core_io_la_swig_sources)
-nobase_gnuradio_core_io_scm_DATA = \
- gnuradio/gnuradio_core_io.scm \
- gnuradio/gnuradio_core_io-primitive.scm
-libguile_gnuradio_gnuradio_core_io_la_LIBADD = \
- $(STD_SWIG_LA_LIB_ADD) \
- $(gnuradio_core_io_la_swig_libadd)
-libguile_gnuradio_gnuradio_core_io_la_LDFLAGS = \
- $(STD_SWIG_LA_LD_FLAGS) \
- $(gnuradio_core_io_la_swig_ldflags)
-libguile_gnuradio_gnuradio_core_io_la_CXXFLAGS = \
- $(STD_SWIG_CXX_FLAGS) \
- -I$(top_builddir) \
- $(gnuradio_core_io_la_swig_cxxflags)
-
-guile/gnuradio_core_io.cc: gnuradio/gnuradio_core_io.scm
-gnuradio/gnuradio_core_io.scm: gnuradio_core_io.i
-gnuradio/gnuradio_core_io-primitive.scm: gnuradio/gnuradio_core_io.scm
-
-# Include the guile dependencies for this file
--include guile/gnuradio_core_io.d
-
-endif # end of GUILE
-
-
-# -*- Makefile -*-
-#
-# Copyright 2009 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.
-#
-
-# Makefile.swig.gen for gnuradio_core_hier.i
-
-## Default install locations for these files:
-##
-## Default location for the Python directory is:
-## ${prefix}/lib/python${python_version}/site-packages/[category]/gnuradio_core_hier
-## Default location for the Python exec directory is:
-## ${exec_prefix}/lib/python${python_version}/site-packages/[category]/gnuradio_core_hier
-##
-## The following can be overloaded to change the install location, but
-## this has to be done in the including Makefile.am -before-
-## Makefile.swig is included.
-
-gnuradio_core_hier_pythondir_category ?= gnuradio/gnuradio_core_hier
-gnuradio_core_hier_pylibdir_category ?= $(gnuradio_core_hier_pythondir_category)
-gnuradio_core_hier_pythondir = $(pythondir)/$(gnuradio_core_hier_pythondir_category)
-gnuradio_core_hier_pylibdir = $(pyexecdir)/$(gnuradio_core_hier_pylibdir_category)
-
-# The .so libraries for the guile modules get installed whereever guile
-# is installed, usually /usr/lib/guile/gnuradio/
-# FIXME: determince whether these should be installed with gnuradio.
-gnuradio_core_hier_scmlibdir = $(libdir)
-
-# The scm files for the guile modules get installed where ever guile
-# is installed, usually /usr/share/guile/site/gnuradio_core_hier
-# FIXME: determince whether these should be installed with gnuradio.
-gnuradio_core_hier_scmdir = $(guiledir)
-
-## SWIG headers are always installed into the same directory.
-
-gnuradio_core_hier_swigincludedir = $(swigincludedir)
-
-## This is a template file for a "generated" Makefile addition (in
-## this case, "Makefile.swig.gen"). By including the top-level
-## Makefile.swig, this file will be used to generate the SWIG
-## dependencies. Assign the variable TOP_SWIG_FILES to be the list of
-## SWIG .i files to generated wrappings for; there can be more than 1
-## so long as the names are unique (no sorting is done on the
-## TOP_SWIG_FILES list). This file explicitly assumes that a SWIG .i
-## file will generate .cc, .py, and possibly .h files -- meaning that
-## all of these files will have the same base name (that provided for
-## the SWIG .i file).
-##
-## This code is setup to ensure parallel MAKE ("-j" or "-jN") does the
-## right thing. For more info, see <
-## http://sources.redhat.com/automake/automake.html#Multiple-Outputs >
-
-## Other cleaned files: dependency files generated by SWIG or this Makefile
-
-MOSTLYCLEANFILES += $(DEPDIR)/*.S*
-
-## Various SWIG variables. These can be overloaded in the including
-## Makefile.am by setting the variable value there, then including
-## Makefile.swig .
-
-gnuradio_core_hier_swiginclude_HEADERS = \
- gnuradio_core_hier.i \
- $(gnuradio_core_hier_swiginclude_headers)
-
-if PYTHON
-gnuradio_core_hier_pylib_LTLIBRARIES = \
- _gnuradio_core_hier.la
-
-_gnuradio_core_hier_la_SOURCES = \
- python/gnuradio_core_hier.cc \
- $(gnuradio_core_hier_la_swig_sources)
-
-gnuradio_core_hier_python_PYTHON = \
- gnuradio_core_hier.py \
- $(gnuradio_core_hier_python)
-
-_gnuradio_core_hier_la_LIBADD = \
- $(STD_SWIG_LA_LIB_ADD) \
- $(gnuradio_core_hier_la_swig_libadd)
-
-_gnuradio_core_hier_la_LDFLAGS = \
- $(STD_SWIG_LA_LD_FLAGS) \
- $(gnuradio_core_hier_la_swig_ldflags)
-
-_gnuradio_core_hier_la_CXXFLAGS = \
- $(STD_SWIG_CXX_FLAGS) \
- -I$(top_builddir) \
- $(gnuradio_core_hier_la_swig_cxxflags)
-
-python/gnuradio_core_hier.cc: gnuradio_core_hier.py
-gnuradio_core_hier.py: gnuradio_core_hier.i
-
-# Include the python dependencies for this file
--include python/gnuradio_core_hier.d
-
-endif # end of if python
-
-if GUILE
-
-gnuradio_core_hier_scmlib_LTLIBRARIES = \
- libguile-gnuradio-gnuradio_core_hier.la
-libguile_gnuradio_gnuradio_core_hier_la_SOURCES = \
- guile/gnuradio_core_hier.cc \
- $(gnuradio_core_hier_la_swig_sources)
-nobase_gnuradio_core_hier_scm_DATA = \
- gnuradio/gnuradio_core_hier.scm \
- gnuradio/gnuradio_core_hier-primitive.scm
-libguile_gnuradio_gnuradio_core_hier_la_LIBADD = \
- $(STD_SWIG_LA_LIB_ADD) \
- $(gnuradio_core_hier_la_swig_libadd)
-libguile_gnuradio_gnuradio_core_hier_la_LDFLAGS = \
- $(STD_SWIG_LA_LD_FLAGS) \
- $(gnuradio_core_hier_la_swig_ldflags)
-libguile_gnuradio_gnuradio_core_hier_la_CXXFLAGS = \
- $(STD_SWIG_CXX_FLAGS) \
- -I$(top_builddir) \
- $(gnuradio_core_hier_la_swig_cxxflags)
-
-guile/gnuradio_core_hier.cc: gnuradio/gnuradio_core_hier.scm
-gnuradio/gnuradio_core_hier.scm: gnuradio_core_hier.i
-gnuradio/gnuradio_core_hier-primitive.scm: gnuradio/gnuradio_core_hier.scm
-
-# Include the guile dependencies for this file
--include guile/gnuradio_core_hier.d
-
-endif # end of GUILE
-
-
diff --git a/gnuradio-core/src/lib/swig/guile/std_complex.i b/gnuradio-core/src/lib/swig/guile/std_complex.i
deleted file mode 100644
index 2a5c72aa2..000000000
--- a/gnuradio-core/src/lib/swig/guile/std_complex.i
+++ /dev/null
@@ -1,37 +0,0 @@
-%{
-#include <complex>
-%}
-
-// To the target language, complex number conversion
-%typemap(out) complex, complex<double>, std::complex<double> {
- $result = scm_make_rectangular( gh_double2scm ($1.real ()),
- gh_double2scm ($1.imag ()) );
-}
-
-// To the target language, complex number conversion
-%typemap(out) complex, complex<float>, std::complex<float> {
- $result = scm_make_rectangular( gh_double2scm ($1.real ()),
- gh_double2scm ($1.imag ()) );
-}
-
-// From the target language, complex number conversion
-%typemap(in) complex, complex<double>, std::complex<double> {
- $1 = std::complex<double>( gh_scm2double (scm_real_part ($input)),
- gh_scm2double (scm_imag_part ($input)) );
-}
-
-// From the target language, complex number conversion
-%typemap(in) complex, complex<float>, std::complex<float> {
- $1 = std::complex<float>( gh_scm2double (scm_real_part ($input)),
- gh_scm2double (scm_imag_part ($input)) );
-}
-
-%typemaps_primitive(%checkcode(CPLXDBL), std::complex<double>);
-%typemaps_primitive(%checkcode(CPLXFLT), std::complex<float>);
-
-%typecheck(SWIG_TYPECHECK_COMPLEX)
- std::complex<float>, std::complex<double>,
- const std::complex<float> &, const std::complex<double> &
-{
- $1 = scm_is_complex($input) ? 1 : 0;
-}
diff --git a/gnuradio-core/src/lib/swig/guile/std_vector.i b/gnuradio-core/src/lib/swig/guile/std_vector.i
deleted file mode 100644
index ef1f20667..000000000
--- a/gnuradio-core/src/lib/swig/guile/std_vector.i
+++ /dev/null
@@ -1,437 +0,0 @@
-/* -----------------------------------------------------------------------------
- * See the LICENSE file for information on copyright, usage and redistribution
- * of SWIG, and the README file for authors - http://www.swig.org/release.html.
- *
- * std_vector.i
- *
- * SWIG typemaps for std::vector
- * ----------------------------------------------------------------------------- */
-
-%include <std_common.i>
-
-// ------------------------------------------------------------------------
-// std::vector
-//
-// The aim of all that follows would be to integrate std::vector with
-// Guile as much as possible, namely, to allow the user to pass and
-// be returned Guile vectors or lists.
-// const declarations are used to guess the intent of the function being
-// exported; therefore, the following rationale is applied:
-//
-// -- f(std::vector<T>), f(const std::vector<T>&), f(const std::vector<T>*):
-// the parameter being read-only, either a Guile sequence or a
-// previously wrapped std::vector<T> can be passed.
-// -- f(std::vector<T>&), f(std::vector<T>*):
-// the parameter must be modified; therefore, only a wrapped std::vector
-// can be passed.
-// -- std::vector<T> f():
-// the vector is returned by copy; therefore, a Guile vector of T:s
-// is returned which is most easily used in other Guile functions
-// -- std::vector<T>& f(), std::vector<T>* f(), const std::vector<T>& f(),
-// const std::vector<T>* f():
-// the vector is returned by reference; therefore, a wrapped std::vector
-// is returned
-// ------------------------------------------------------------------------
-
-%{
-#include <vector>
-#include <algorithm>
-#include <stdexcept>
-#include <complex>
-%}
-
-%{
- inline std::complex<float> SWIG_scm2cmplxfloat(SCM x){
- return std::complex<float>(scm_c_real_part(x), scm_c_imag_part(x));
- }
-
- inline std::complex<double> SWIG_scm2cmplxdouble(SCM x){
- return std::complex<double>(scm_c_real_part(x), scm_c_imag_part(x));
- }
-
- inline SCM SWIG_cmplxfloat2scm(std::complex<float> x){
- return scm_c_make_rectangular(x.real(), x.imag());
- }
-
- inline SCM SWIG_cmplxdouble2scm(std::complex<double> x){
- return scm_c_make_rectangular(x.real(), x.imag());
- }
-%}
-
-// exported class
-
-namespace std {
-
- template<class T> class vector {
- %typemap(in) vector<T> {
- if (gh_vector_p($input)) {
- unsigned long size = gh_vector_length($input);
- $1 = std::vector<T >(size);
- for (unsigned long i=0; i<size; i++) {
- SCM o = gh_vector_ref($input,gh_ulong2scm(i));
- (($1_type &)$1)[i] =
- *((T*) SWIG_MustGetPtr(o,$descriptor(T *),$argnum, 0));
- }
- } else if (gh_null_p($input)) {
- $1 = std::vector<T >();
- } else if (gh_pair_p($input)) {
- SCM head, tail;
- $1 = std::vector<T >();
- tail = $input;
- while (!gh_null_p(tail)) {
- head = gh_car(tail);
- tail = gh_cdr(tail);
- $1.push_back(*((T*)SWIG_MustGetPtr(head,
- $descriptor(T *),
- $argnum, 0)));
- }
- } else {
- $1 = *(($&1_type)
- SWIG_MustGetPtr($input,$&1_descriptor,$argnum, 0));
- }
- }
- %typemap(in) const vector<T>& (std::vector<T> temp),
- const vector<T>* (std::vector<T> temp) {
- if (gh_vector_p($input)) {
- unsigned long size = gh_vector_length($input);
- temp = std::vector<T >(size);
- $1 = &temp;
- for (unsigned long i=0; i<size; i++) {
- SCM o = gh_vector_ref($input,gh_ulong2scm(i));
- temp[i] = *((T*) SWIG_MustGetPtr(o,
- $descriptor(T *),
- $argnum, 0));
- }
- } else if (gh_null_p($input)) {
- temp = std::vector<T >();
- $1 = &temp;
- } else if (gh_pair_p($input)) {
- temp = std::vector<T >();
- $1 = &temp;
- SCM head, tail;
- tail = $input;
- while (!gh_null_p(tail)) {
- head = gh_car(tail);
- tail = gh_cdr(tail);
- temp.push_back(*((T*) SWIG_MustGetPtr(head,
- $descriptor(T *),
- $argnum, 0)));
- }
- } else {
- $1 = ($1_ltype) SWIG_MustGetPtr($input,$1_descriptor,$argnum, 0);
- }
- }
- %typemap(out) vector<T> {
- $result = gh_make_vector(gh_long2scm($1.size()),SCM_UNSPECIFIED);
- for (unsigned int i=0; i<$1.size(); i++) {
- T* x = new T((($1_type &)$1)[i]);
- gh_vector_set_x($result,gh_long2scm(i),
- SWIG_NewPointerObj(x, $descriptor(T *), 1));
- }
- }
- %typecheck(SWIG_TYPECHECK_VECTOR) vector<T> {
- /* native sequence? */
- if (gh_vector_p($input)) {
- unsigned int size = gh_vector_length($input);
- if (size == 0) {
- /* an empty sequence can be of any type */
- $1 = 1;
- } else {
- /* check the first element only */
- SCM o = gh_vector_ref($input,gh_ulong2scm(0));
- T* x;
- if (SWIG_ConvertPtr(o,(void**) &x,
- $descriptor(T *), 0) != -1)
- $1 = 1;
- else
- $1 = 0;
- }
- } else if (gh_null_p($input)) {
- /* again, an empty sequence can be of any type */
- $1 = 1;
- } else if (gh_pair_p($input)) {
- /* check the first element only */
- T* x;
- SCM head = gh_car($input);
- if (SWIG_ConvertPtr(head,(void**) &x,
- $descriptor(T *), 0) != -1)
- $1 = 1;
- else
- $1 = 0;
- } else {
- /* wrapped vector? */
- std::vector<T >* v;
- if (SWIG_ConvertPtr($input,(void **) &v,
- $&1_descriptor, 0) != -1)
- $1 = 1;
- else
- $1 = 0;
- }
- }
- %typecheck(SWIG_TYPECHECK_VECTOR) const vector<T>&,
- const vector<T>* {
- /* native sequence? */
- if (gh_vector_p($input)) {
- unsigned int size = gh_vector_length($input);
- if (size == 0) {
- /* an empty sequence can be of any type */
- $1 = 1;
- } else {
- /* check the first element only */
- T* x;
- SCM o = gh_vector_ref($input,gh_ulong2scm(0));
- if (SWIG_ConvertPtr(o,(void**) &x,
- $descriptor(T *), 0) != -1)
- $1 = 1;
- else
- $1 = 0;
- }
- } else if (gh_null_p($input)) {
- /* again, an empty sequence can be of any type */
- $1 = 1;
- } else if (gh_pair_p($input)) {
- /* check the first element only */
- T* x;
- SCM head = gh_car($input);
- if (SWIG_ConvertPtr(head,(void**) &x,
- $descriptor(T *), 0) != -1)
- $1 = 1;
- else
- $1 = 0;
- } else {
- /* wrapped vector? */
- std::vector<T >* v;
- if (SWIG_ConvertPtr($input,(void **) &v,
- $1_descriptor, 0) != -1)
- $1 = 1;
- else
- $1 = 0;
- }
- }
- public:
- vector(unsigned int size = 0);
- vector(unsigned int size, const T& value);
- vector(const vector<T>&);
- %rename(length) size;
- unsigned int size() const;
- %rename("empty?") empty;
- bool empty() const;
- %rename("clear!") clear;
- void clear();
- %rename("set!") set;
- %rename("pop!") pop;
- %rename("push!") push_back;
- void push_back(const T& x);
- %extend {
- T pop() throw (std::out_of_range) {
- if (self->size() == 0)
- throw std::out_of_range("pop from empty vector");
- T x = self->back();
- self->pop_back();
- return x;
- }
- T& ref(int i) throw (std::out_of_range) {
- int size = int(self->size());
- if (i>=0 && i<size)
- return (*self)[i];
- else
- throw std::out_of_range("vector index out of range");
- }
- void set(int i, const T& x) throw (std::out_of_range) {
- int size = int(self->size());
- if (i>=0 && i<size)
- (*self)[i] = x;
- else
- throw std::out_of_range("vector index out of range");
- }
- }
- };
-
-
- // specializations for built-ins
- %define specialize_stl_vector(T,CHECK,CONVERT_FROM,CONVERT_TO)
- template<> class vector<T > {
- %typemap(in) vector<T > {
- if (gh_vector_p($input)) {
- unsigned long size = gh_vector_length($input);
- $1 = std::vector<T >(size);
- for (unsigned long i=0; i<size; i++) {
- SCM o = gh_vector_ref($input,gh_ulong2scm(i));
- if (CHECK(o))
- (($1_type &)$1)[i] = (T)(CONVERT_FROM(o));
- else
- scm_wrong_type_arg(FUNC_NAME, $argnum, $input);
- }
- } else if (gh_null_p($input)) {
- $1 = std::vector<T >();
- } else if (gh_pair_p($input)) {
- SCM v = gh_list_to_vector($input);
- unsigned long size = gh_vector_length(v);
- $1 = std::vector<T >(size);
- for (unsigned long i=0; i<size; i++) {
- SCM o = gh_vector_ref(v,gh_ulong2scm(i));
- if (CHECK(o))
- (($1_type &)$1)[i] = (T)(CONVERT_FROM(o));
- else
- scm_wrong_type_arg(FUNC_NAME, $argnum, $input);
- }
- } else {
- $1 = *(($&1_type)
- SWIG_MustGetPtr($input,$&1_descriptor,$argnum, 0));
- }
- }
- %typemap(in) const vector<T >& (std::vector<T > temp),
- const vector<T >* (std::vector<T > temp) {
- if (gh_vector_p($input)) {
- unsigned long size = gh_vector_length($input);
- temp = std::vector<T >(size);
- $1 = &temp;
- for (unsigned long i=0; i<size; i++) {
- SCM o = gh_vector_ref($input,gh_ulong2scm(i));
- if (CHECK(o))
- temp[i] = (T)(CONVERT_FROM(o));
- else
- scm_wrong_type_arg(FUNC_NAME, $argnum, $input);
- }
- } else if (gh_null_p($input)) {
- temp = std::vector<T >();
- $1 = &temp;
- } else if (gh_pair_p($input)) {
- SCM v = gh_list_to_vector($input);
- unsigned long size = gh_vector_length(v);
- temp = std::vector<T >(size);
- $1 = &temp;
- for (unsigned long i=0; i<size; i++) {
- SCM o = gh_vector_ref(v,gh_ulong2scm(i));
- if (CHECK(o))
- temp[i] = (T)(CONVERT_FROM(o));
- else
- scm_wrong_type_arg(FUNC_NAME, $argnum, $input);
- }
- } else {
- $1 = ($1_ltype) SWIG_MustGetPtr($input,$1_descriptor,$argnum, 0);
- }
- }
- %typemap(out) vector<T > {
- $result = gh_make_vector(gh_long2scm($1.size()),SCM_UNSPECIFIED);
- for (unsigned int i=0; i<$1.size(); i++) {
- SCM x = CONVERT_TO((($1_type &)$1)[i]);
- gh_vector_set_x($result,gh_long2scm(i),x);
- }
- }
- %typecheck(SWIG_TYPECHECK_VECTOR) vector<T > {
- /* native sequence? */
- if (gh_vector_p($input)) {
- unsigned int size = gh_vector_length($input);
- if (size == 0) {
- /* an empty sequence can be of any type */
- $1 = 1;
- } else {
- /* check the first element only */
- T* x;
- SCM o = gh_vector_ref($input,gh_ulong2scm(0));
- $1 = CHECK(o) ? 1 : 0;
- }
- } else if (gh_null_p($input)) {
- /* again, an empty sequence can be of any type */
- $1 = 1;
- } else if (gh_pair_p($input)) {
- /* check the first element only */
- T* x;
- SCM head = gh_car($input);
- $1 = CHECK(head) ? 1 : 0;
- } else {
- /* wrapped vector? */
- std::vector<T >* v;
- $1 = (SWIG_ConvertPtr($input,(void **) &v,
- $&1_descriptor, 0) != -1) ? 1 : 0;
- }
- }
- %typecheck(SWIG_TYPECHECK_VECTOR) const vector<T >&,
- const vector<T >* {
- /* native sequence? */
- if (gh_vector_p($input)) {
- unsigned int size = gh_vector_length($input);
- if (size == 0) {
- /* an empty sequence can be of any type */
- $1 = 1;
- } else {
- /* check the first element only */
- T* x;
- SCM o = gh_vector_ref($input,gh_ulong2scm(0));
- $1 = CHECK(o) ? 1 : 0;
- }
- } else if (gh_null_p($input)) {
- /* again, an empty sequence can be of any type */
- $1 = 1;
- } else if (gh_pair_p($input)) {
- /* check the first element only */
- T* x;
- SCM head = gh_car($input);
- $1 = CHECK(head) ? 1 : 0;
- } else {
- /* wrapped vector? */
- std::vector<T >* v;
- $1 = (SWIG_ConvertPtr($input,(void **) &v,
- $1_descriptor, 0) != -1) ? 1 : 0;
- }
- }
- public:
- vector(unsigned int size = 0);
- vector(unsigned int size, const T& value);
- vector(const vector<T >&);
- %rename(length) size;
- unsigned int size() const;
- %rename("empty?") empty;
- bool empty() const;
- %rename("clear!") clear;
- void clear();
- %rename("set!") set;
- %rename("pop!") pop;
- %rename("push!") push_back;
- void push_back(T x);
- %extend {
- T pop() throw (std::out_of_range) {
- if (self->size() == 0)
- throw std::out_of_range("pop from empty vector");
- T x = self->back();
- self->pop_back();
- return x;
- }
- T ref(int i) throw (std::out_of_range) {
- int size = int(self->size());
- if (i>=0 && i<size)
- return (*self)[i];
- else
- throw std::out_of_range("vector index out of range");
- }
- void set(int i, T x) throw (std::out_of_range) {
- int size = int(self->size());
- if (i>=0 && i<size)
- (*self)[i] = x;
- else
- throw std::out_of_range("vector index out of range");
- }
- }
- };
- %enddef
-
- specialize_stl_vector(bool,gh_boolean_p,gh_scm2bool,SWIG_bool2scm);
- specialize_stl_vector(char,gh_number_p,gh_scm2long,gh_long2scm);
- specialize_stl_vector(int,gh_number_p,gh_scm2long,gh_long2scm);
- specialize_stl_vector(long,gh_number_p,gh_scm2long,gh_long2scm);
- specialize_stl_vector(short,gh_number_p,gh_scm2long,gh_long2scm);
- specialize_stl_vector(unsigned char,gh_number_p,gh_scm2ulong,gh_ulong2scm);
- specialize_stl_vector(unsigned int,gh_number_p,gh_scm2ulong,gh_ulong2scm);
- specialize_stl_vector(unsigned long,gh_number_p,gh_scm2ulong,gh_ulong2scm);
- specialize_stl_vector(unsigned short,gh_number_p,gh_scm2ulong,gh_ulong2scm);
- specialize_stl_vector(float,gh_number_p,gh_scm2double,gh_double2scm);
- specialize_stl_vector(double,gh_number_p,gh_scm2double,gh_double2scm);
- specialize_stl_vector(std::string,gh_string_p,SWIG_scm2string,SWIG_string2scm);
- specialize_stl_vector(std::complex<float>, scm_is_complex,
- SWIG_scm2cmplxfloat, SWIG_cmplxfloat2scm);
- specialize_stl_vector(std::complex<double>, scm_is_complex,
- SWIG_scm2cmplxdouble,SWIG_cmplxdouble2scm);
-
-}
-
diff --git a/gnuradio-core/src/lib/viterbi/.gitignore b/gnuradio-core/src/lib/viterbi/.gitignore
deleted file mode 100644
index 85bb5cc04..000000000
--- a/gnuradio-core/src/lib/viterbi/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-/Makefile
-/Makefile.in
-/.libs
-/.deps
-/encode
-/decode
diff --git a/gnuradio-core/src/lib/viterbi/Makefile.am b/gnuradio-core/src/lib/viterbi/Makefile.am
deleted file mode 100644
index 7e65880b3..000000000
--- a/gnuradio-core/src/lib/viterbi/Makefile.am
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# Copyright 2008 Free Software Foundation, Inc.
-#
-# 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 $(top_srcdir)/Makefile.common
-
-LIBS = -lm
-
-AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(GRUEL_INCLUDES) \
- -I$(top_srcdir)/gnuradio-core/src/lib/general \
- $(WITH_INCLUDES)
-
-noinst_LTLIBRARIES = libviterbi.la
-
-libviterbi_la_SOURCES = \
- metrics.c \
- tab.c \
- viterbi.c
-
-noinst_HEADERS = \
- viterbi.h
-
-noinst_PROGRAMS = encode decode
-
-encode_SOURCES = encode.cc
-
-encode_LDADD = libviterbi.la
-
-decode_SOURCES = decode.cc
-
-decode_LDADD = libviterbi.la