From cbe1628f2eb1a1a3c8b0b96a3b1334a039074def Mon Sep 17 00:00:00 2001 From: eb Date: Sat, 13 Jan 2007 04:14:56 +0000 Subject: [PATCH] SWIG compilation speedup! Fixes ticket:9. Merged -r4203:4254 from eb/swig-split into trunk. This refactors gnuradio_swig_python.{cc,py} into 5 separate .so's These correspond to the runtime, general, filter and io directories, and also includes a new directory, gengen. gengen contains that part of general that was machine generated. This split is arbitrary, but was useful for getting size of the swig generated glue code for general down to about 2MB. In addition, the swig glue is now compiled with -g1 -O1 instead of -g -O2. With this change all the swig code now compiles in about 60% of the time that it used to take. git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@4255 221aa14e-8319-0410-a670-987f0aec2ac5 --- Makefile.common | 4 + config/grc_gnuradio_core.m4 | 11 +- configure.ac | 27 +- gnuradio-core/src/lib/Makefile.am | 3 +- gnuradio-core/src/lib/general/Makefile.am | 88 +------ gnuradio-core/src/lib/general/general.i | 11 +- gnuradio-core/src/lib/gengen/Makefile.am | 123 +++++++++ gnuradio-core/src/lib/gengen/Makefile.gen | 234 +++++++++++++++++ .../lib/{general => gengen}/generate_all.py | 2 +- .../{general => gengen}/generate_common.py | 0 gnuradio-core/src/lib/gengen/gengen.i | 9 + .../src/lib/gengen/gengen_generated.i | 156 ++++++++++++ .../lib/{general => gengen}/gr_add_XX.cc.t | 0 .../src/lib/{general => gengen}/gr_add_XX.h.t | 0 .../src/lib/{general => gengen}/gr_add_XX.i.t | 0 .../{general => gengen}/gr_add_const_XX.cc.t | 0 .../{general => gengen}/gr_add_const_XX.h.t | 0 .../{general => gengen}/gr_add_const_XX.i.t | 0 .../{general => gengen}/gr_add_const_vXX.cc.t | 0 .../{general => gengen}/gr_add_const_vXX.h.t | 0 .../{general => gengen}/gr_add_const_vXX.i.t | 0 .../lib/{general => gengen}/gr_add_vXX.cc.t | 0 .../lib/{general => gengen}/gr_add_vXX.h.t | 0 .../lib/{general => gengen}/gr_add_vXX.i.t | 0 .../gr_chunks_to_symbols_XX.cc.t | 0 .../gr_chunks_to_symbols_XX.h.t | 0 .../gr_chunks_to_symbols_XX.i.t | 0 .../lib/{general => gengen}/gr_divide_XX.cc.t | 0 .../lib/{general => gengen}/gr_divide_XX.h.t | 0 .../lib/{general => gengen}/gr_divide_XX.i.t | 0 .../lib/{general => gengen}/gr_endianness.h | 0 .../lib/{general => gengen}/gr_endianness.i | 0 .../{general => gengen}/gr_multiply_XX.cc.t | 0 .../{general => gengen}/gr_multiply_XX.h.t | 0 .../{general => gengen}/gr_multiply_XX.i.t | 0 .../gr_multiply_const_XX.cc.t | 0 .../gr_multiply_const_XX.h.t | 0 .../gr_multiply_const_XX.i.t | 0 .../gr_multiply_const_vXX.cc.t | 0 .../gr_multiply_const_vXX.h.t | 0 .../gr_multiply_const_vXX.i.t | 0 .../{general => gengen}/gr_multiply_vXX.cc.t | 0 .../{general => gengen}/gr_multiply_vXX.h.t | 0 .../{general => gengen}/gr_multiply_vXX.i.t | 0 .../lib/{general => gengen}/gr_mute_XX.cc.t | 0 .../lib/{general => gengen}/gr_mute_XX.h.t | 0 .../lib/{general => gengen}/gr_mute_XX.i.t | 0 .../gr_noise_source_X.cc.t | 0 .../{general => gengen}/gr_noise_source_X.h.t | 0 .../{general => gengen}/gr_noise_source_X.i.t | 0 .../gr_packed_to_unpacked_XX.cc.t | 0 .../gr_packed_to_unpacked_XX.h.t | 0 .../gr_packed_to_unpacked_XX.i.t | 0 .../{general => gengen}/gr_sig_source_X.cc.t | 0 .../{general => gengen}/gr_sig_source_X.h.t | 0 .../{general => gengen}/gr_sig_source_X.i.t | 0 .../gr_sig_source_waveform.h | 0 .../lib/{general => gengen}/gr_sub_XX.cc.t | 0 .../src/lib/{general => gengen}/gr_sub_XX.h.t | 0 .../src/lib/{general => gengen}/gr_sub_XX.i.t | 0 .../gr_unpacked_to_packed_XX.cc.t | 0 .../gr_unpacked_to_packed_XX.h.t | 0 .../gr_unpacked_to_packed_XX.i.t | 0 .../{general => gengen}/gr_vector_sink_X.cc.t | 0 .../{general => gengen}/gr_vector_sink_X.h.t | 0 .../{general => gengen}/gr_vector_sink_X.i.t | 0 .../gr_vector_source_X.cc.t | 0 .../gr_vector_source_X.h.t | 0 .../gr_vector_source_X.i.t | 0 gnuradio-core/src/lib/runtime/Makefile.am | 9 + .../lib/{general => runtime}/gr_sync_block.cc | 0 .../lib/{general => runtime}/gr_sync_block.h | 0 .../lib/{general => runtime}/gr_sync_block.i | 0 .../{general => runtime}/gr_sync_decimator.cc | 0 .../{general => runtime}/gr_sync_decimator.h | 0 .../{general => runtime}/gr_sync_decimator.i | 0 .../gr_sync_interpolator.cc | 0 .../gr_sync_interpolator.h | 0 .../gr_sync_interpolator.i | 0 gnuradio-core/src/lib/runtime/runtime.i | 6 + gnuradio-core/src/lib/swig/Makefile.am | 235 ++++++++++++++++-- gnuradio-core/src/lib/swig/gnuradio.i | 9 +- .../src/lib/swig/gnuradio_swig_python.py | 27 ++ gnuradio-core/src/lib/swig/sw_filter.i | 36 +++ gnuradio-core/src/lib/swig/sw_general.i | 36 +++ gnuradio-core/src/lib/swig/sw_gengen.i | 36 +++ gnuradio-core/src/lib/swig/sw_io.i | 36 +++ gnuradio-examples/python/usrp/Makefile.am | 1 + .../src/lib/libecc/Makefile.am | 2 - .../src/lib/libecc/mld/Makefile.am | 1 - run_tests.sh.in | 5 +- 91 files changed, 969 insertions(+), 138 deletions(-) create mode 100644 gnuradio-core/src/lib/gengen/Makefile.am create mode 100644 gnuradio-core/src/lib/gengen/Makefile.gen rename gnuradio-core/src/lib/{general => gengen}/generate_all.py (97%) rename gnuradio-core/src/lib/{general => gengen}/generate_common.py (100%) create mode 100644 gnuradio-core/src/lib/gengen/gengen.i create mode 100644 gnuradio-core/src/lib/gengen/gengen_generated.i rename gnuradio-core/src/lib/{general => gengen}/gr_add_XX.cc.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_add_XX.h.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_add_XX.i.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_add_const_XX.cc.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_add_const_XX.h.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_add_const_XX.i.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_add_const_vXX.cc.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_add_const_vXX.h.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_add_const_vXX.i.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_add_vXX.cc.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_add_vXX.h.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_add_vXX.i.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_chunks_to_symbols_XX.cc.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_chunks_to_symbols_XX.h.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_chunks_to_symbols_XX.i.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_divide_XX.cc.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_divide_XX.h.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_divide_XX.i.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_endianness.h (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_endianness.i (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_multiply_XX.cc.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_multiply_XX.h.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_multiply_XX.i.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_multiply_const_XX.cc.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_multiply_const_XX.h.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_multiply_const_XX.i.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_multiply_const_vXX.cc.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_multiply_const_vXX.h.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_multiply_const_vXX.i.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_multiply_vXX.cc.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_multiply_vXX.h.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_multiply_vXX.i.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_mute_XX.cc.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_mute_XX.h.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_mute_XX.i.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_noise_source_X.cc.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_noise_source_X.h.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_noise_source_X.i.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_packed_to_unpacked_XX.cc.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_packed_to_unpacked_XX.h.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_packed_to_unpacked_XX.i.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_sig_source_X.cc.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_sig_source_X.h.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_sig_source_X.i.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_sig_source_waveform.h (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_sub_XX.cc.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_sub_XX.h.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_sub_XX.i.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_unpacked_to_packed_XX.cc.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_unpacked_to_packed_XX.h.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_unpacked_to_packed_XX.i.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_vector_sink_X.cc.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_vector_sink_X.h.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_vector_sink_X.i.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_vector_source_X.cc.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_vector_source_X.h.t (100%) rename gnuradio-core/src/lib/{general => gengen}/gr_vector_source_X.i.t (100%) rename gnuradio-core/src/lib/{general => runtime}/gr_sync_block.cc (100%) rename gnuradio-core/src/lib/{general => runtime}/gr_sync_block.h (100%) rename gnuradio-core/src/lib/{general => runtime}/gr_sync_block.i (100%) rename gnuradio-core/src/lib/{general => runtime}/gr_sync_decimator.cc (100%) rename gnuradio-core/src/lib/{general => runtime}/gr_sync_decimator.h (100%) rename gnuradio-core/src/lib/{general => runtime}/gr_sync_decimator.i (100%) rename gnuradio-core/src/lib/{general => runtime}/gr_sync_interpolator.cc (100%) rename gnuradio-core/src/lib/{general => runtime}/gr_sync_interpolator.h (100%) rename gnuradio-core/src/lib/{general => runtime}/gr_sync_interpolator.i (100%) create mode 100644 gnuradio-core/src/lib/swig/gnuradio_swig_python.py create mode 100644 gnuradio-core/src/lib/swig/sw_filter.i create mode 100644 gnuradio-core/src/lib/swig/sw_general.i create mode 100644 gnuradio-core/src/lib/swig/sw_gengen.i create mode 100644 gnuradio-core/src/lib/swig/sw_io.i diff --git a/Makefile.common b/Makefile.common index 31bf0839..e7d92868 100644 --- a/Makefile.common +++ b/Makefile.common @@ -20,6 +20,8 @@ # Boston, MA 02110-1301, USA. # +AM_CXXFLAGS = @autoconf_default_CXXFLAGS@ + # includes grincludedir = $(includedir)/gnuradio @@ -41,6 +43,8 @@ SWIGPYTHONFLAGS = -fvirtual -python -modern GNURADIO_INCLUDES = -I$(top_srcdir)/gnuradio-core/src/lib/runtime \ -I$(top_srcdir)/gnuradio-core/src/lib/general \ -I$(top_builddir)/gnuradio-core/src/lib/general \ + -I$(top_srcdir)/gnuradio-core/src/lib/gengen \ + -I$(top_builddir)/gnuradio-core/src/lib/gengen \ -I$(top_srcdir)/gnuradio-core/src/lib/filter \ -I$(top_builddir)/gnuradio-core/src/lib/filter \ -I$(top_srcdir)/gnuradio-core/src/lib/reed-solomon \ diff --git a/config/grc_gnuradio_core.m4 b/config/grc_gnuradio_core.m4 index 53997c6d..da91f61e 100644 --- a/config/grc_gnuradio_core.m4 +++ b/config/grc_gnuradio_core.m4 @@ -34,6 +34,7 @@ AC_DEFUN([GRC_GNURADIO_CORE],[ gnuradio-core/src/lib/g72x/Makefile \ gnuradio-core/src/lib/general/Makefile \ gnuradio-core/src/lib/general/gr_prefix.cc \ + gnuradio-core/src/lib/gengen/Makefile \ gnuradio-core/src/lib/io/Makefile \ gnuradio-core/src/lib/missing/Makefile \ gnuradio-core/src/lib/omnithread/Makefile \ @@ -58,7 +59,13 @@ AC_DEFUN([GRC_GNURADIO_CORE],[ dnl run_tests is created from run_tests.in. Make it executable. AC_CONFIG_COMMANDS([run_tests_core], [chmod +x gnuradio-core/src/python/gnuradio/gr/run_tests]) - dnl kludge up initial swig dependency file - AC_CONFIG_COMMANDS([swig_deps], [touch gnuradio-core/src/lib/swig/gnuradio_swig_python.d]) + dnl kludge up initial swig dependency files + AC_CONFIG_COMMANDS([swig_deps], [ + touch gnuradio-core/src/lib/swig/gnuradio_swig_py_runtime.d + touch gnuradio-core/src/lib/swig/gnuradio_swig_py_general.d + touch gnuradio-core/src/lib/swig/gnuradio_swig_py_gengen.d + touch gnuradio-core/src/lib/swig/gnuradio_swig_py_filter.d + touch gnuradio-core/src/lib/swig/gnuradio_swig_py_io.d + ]) ]) ]) diff --git a/configure.ac b/configure.ac index 04d16205..ceea98c0 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -dnl Copyright 2001,2002,2003,2004,2005,2006 Free Software Foundation, Inc. +dnl Copyright 2001,2002,2003,2004,2005,2006,2007 Free Software Foundation, Inc. dnl dnl This file is part of GNU Radio dnl @@ -25,9 +25,34 @@ AC_CANONICAL_TARGET([]) AM_INIT_AUTOMAKE(gnuradio,3.0svn) AC_CONFIG_SRCDIR([gnuradio-core/src/lib/runtime/gr_vmcircbuf.cc]) +dnl Remember if the user explicity set CXXFLAGS +if test -n "${CXXFLAGS}"; then + user_set_cxxflags=yes +fi + GR_X86_64 dnl check for lib64 suffix LF_CONFIGURE_CC LF_CONFIGURE_CXX + +dnl The three macros above are known to override CXXFLAGS if the user +dnl didn't specify them. Though I'm sure somebody thought this was +dnl a good idea, it makes it hard to use other than -g -O2 when compiling +dnl selected files. Thus we "undo" the damage here... +dnl +dnl If the user specified CXXFLAGS, we use them. Otherwise when compiling +dnl the output of swig use use -O1 if we're using g++. +dnl See Makefile.common for the rest of the magic. +if test "$user_set_cxxflags" != yes; then + autoconf_default_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="" + if test "$GXX" = yes; then + swig_CXXFLAGS="-g1 -O1" + fi +fi +AC_SUBST(autoconf_default_CXXFLAGS) +AC_SUBST(swig_CXXFLAGS) + + LF_SET_WARNINGS GR_SET_GPROF GR_SET_PROF diff --git a/gnuradio-core/src/lib/Makefile.am b/gnuradio-core/src/lib/Makefile.am index 05461a05..96a89170 100644 --- a/gnuradio-core/src/lib/Makefile.am +++ b/gnuradio-core/src/lib/Makefile.am @@ -24,7 +24,7 @@ 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 general g72x reed-solomon omnithread io . swig +SUBDIRS = missing runtime filter general gengen g72x reed-solomon omnithread io . swig # generate libgnuradio-core.la from the convenience libraries in subdirs @@ -41,6 +41,7 @@ libgnuradio_core_la_LIBADD = \ filter/libfilter.la \ g72x/libccitt.la \ general/libgeneral.la \ + gengen/libgengen.la \ io/libio.la \ missing/libmissing.la \ omnithread/libomnithread.la \ diff --git a/gnuradio-core/src/lib/general/Makefile.am b/gnuradio-core/src/lib/general/Makefile.am index c68c2821..30f6ba1d 100644 --- a/gnuradio-core/src/lib/general/Makefile.am +++ b/gnuradio-core/src/lib/general/Makefile.am @@ -25,86 +25,15 @@ INCLUDES = $(STD_DEFINES_AND_INCLUDES) $(CPPUNIT_INCLUDES) noinst_LTLIBRARIES = libgeneral.la libgeneral-qa.la -# ---------------------------------------------------------------- -# these scripts generate code - -CODE_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_vXX.cc.t \ - gr_add_vXX.h.t \ - gr_add_vXX.i.t \ - gr_add_const_vXX.cc.t \ - gr_add_const_vXX.h.t \ - gr_add_const_vXX.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_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_vXX.cc.t \ - gr_multiply_vXX.h.t \ - gr_multiply_vXX.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_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 - -# include $(srcdir)/Makefile.gen -include Makefile.gen - - -$(GENERATED_H) $(GENERATED_I) $(GENERATED_CC): $(CODE_GENERATOR) - PYTHONPATH=$(top_srcdir)/gnuradio-core/src/python srcdir=$(srcdir) $(srcdir)/generate_all.py - - -BUILT_SOURCES = $(GENERATED_H) $(GENERATED_I) $(GENERATED_CC) +BUILT_SOURCES = # ---------------------------------------------------------------- EXTRA_DIST = \ - $(CODE_GENERATOR) \ gen_sine_table.py \ gr_prefix.cc.in libgeneral_la_SOURCES = \ - $(GENERATED_CC) \ gr_agc_cc.cc \ gr_agc_ff.cc \ gr_agc2_cc.cc \ @@ -192,9 +121,6 @@ libgeneral_la_SOURCES = \ gr_stream_to_vector.cc \ gr_streams_to_stream.cc \ gr_streams_to_vector.cc \ - gr_sync_block.cc \ - gr_sync_decimator.cc \ - gr_sync_interpolator.cc \ gr_test.cc \ gr_threshold_ff.cc \ gr_throttle.cc \ @@ -226,7 +152,6 @@ libgeneral_qa_la_SOURCES = \ grinclude_HEADERS = \ - $(GENERATED_H) \ gr_agc_cc.h \ gr_agc_ff.h \ gr_agc2_cc.h \ @@ -255,7 +180,6 @@ grinclude_HEADERS = \ gr_diff_encoder_bb.h \ gr_deinterleave.h \ gr_diff_phasor_cc.h \ - gr_endianness.h \ gr_expj.h \ gr_fake_channel_coder_pp.h \ gr_feedforward_agc_cc.h \ @@ -310,7 +234,6 @@ grinclude_HEADERS = \ gr_rms_cf.h \ gr_rms_ff.h \ gr_short_to_float.h \ - gr_sig_source_waveform.h \ gr_simple_correlator.h \ gr_simple_framer.h \ gr_simple_framer_sync.h \ @@ -322,9 +245,6 @@ grinclude_HEADERS = \ gr_stream_to_vector.h \ gr_streams_to_stream.h \ gr_streams_to_vector.h \ - gr_sync_block.h \ - gr_sync_decimator.h \ - gr_sync_interpolator.h \ gr_test_types.h \ gr_test.h \ gr_threshold_ff.h \ @@ -365,9 +285,7 @@ noinst_HEADERS = \ sine_table.h swiginclude_HEADERS = \ - $(GENERATED_I) \ general.i \ - general_generated.i \ gr_agc_cc.i \ gr_agc_ff.i \ gr_agc2_cc.i \ @@ -394,7 +312,6 @@ swiginclude_HEADERS = \ gr_diff_encoder_bb.i \ gr_diff_phasor_cc.i \ gr_deinterleave.i \ - gr_endianness.i \ gr_fake_channel_coder_pp.i \ gr_feedforward_agc_cc.i \ gr_feval.i \ @@ -448,9 +365,6 @@ swiginclude_HEADERS = \ gr_stream_to_vector.i \ gr_streams_to_stream.i \ gr_streams_to_vector.i \ - gr_sync_block.i \ - gr_sync_decimator.i \ - gr_sync_interpolator.i \ gr_test.i \ gr_threshold_ff.i \ gr_throttle.i \ diff --git a/gnuradio-core/src/lib/general/general.i b/gnuradio-core/src/lib/general/general.i index 01cadcc0..1bf75299 100644 --- a/gnuradio-core/src/lib/general/general.i +++ b/gnuradio-core/src/lib/general/general.i @@ -22,15 +22,12 @@ %{ -#include -#include -#include #include #include #include #include #include -#include +#include #include #include #include @@ -115,15 +112,11 @@ #include %} -%include "gr_sync_block.i" -%include "gr_sync_decimator.i" -%include "gr_sync_interpolator.i" %include "gr_nop.i" %include "gr_null_sink.i" %include "gr_null_source.i" %include "gr_head.i" %include "gr_skiphead.i" -%include "gr_sig_source_waveform.h" %include "gr_noise_type.h" %include "gr_quadrature_demod_cf.i" %include "gr_remez.i" @@ -207,5 +200,3 @@ %include "gr_ctcss_squelch_ff.i" %include "gr_feedforward_agc_cc.i" %include "gr_bin_statistics_f.i" - -%include "general_generated.i" diff --git a/gnuradio-core/src/lib/gengen/Makefile.am b/gnuradio-core/src/lib/gengen/Makefile.am new file mode 100644 index 00000000..d5074634 --- /dev/null +++ b/gnuradio-core/src/lib/gengen/Makefile.am @@ -0,0 +1,123 @@ +# +# Copyright 2001,2002,2004,2006 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 2, 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 + +INCLUDES = $(STD_DEFINES_AND_INCLUDES) $(CPPUNIT_INCLUDES) + +#noinst_LTLIBRARIES = libgengen.la libgengen-qa.la +noinst_LTLIBRARIES = libgengen.la + +# ---------------------------------------------------------------- +# these scripts generate code + +CODE_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_vXX.cc.t \ + gr_add_vXX.h.t \ + gr_add_vXX.i.t \ + gr_add_const_vXX.cc.t \ + gr_add_const_vXX.h.t \ + gr_add_const_vXX.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_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_vXX.cc.t \ + gr_multiply_vXX.h.t \ + gr_multiply_vXX.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_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 + +# include $(srcdir)/Makefile.gen +include Makefile.gen + + +$(GENERATED_H) $(GENERATED_I) $(GENERATED_CC): $(CODE_GENERATOR) + PYTHONPATH=$(top_srcdir)/gnuradio-core/src/python srcdir=$(srcdir) $(srcdir)/generate_all.py + + +BUILT_SOURCES = $(GENERATED_H) $(GENERATED_I) $(GENERATED_CC) + +# ---------------------------------------------------------------- + +EXTRA_DIST = \ + $(CODE_GENERATOR) + +libgengen_la_SOURCES = \ + $(GENERATED_CC) + +#libgengen_qa_la_SOURCES = + +grinclude_HEADERS = \ + $(GENERATED_H) \ + gr_endianness.h \ + gr_sig_source_waveform.h + +noinst_HEADERS = + +swiginclude_HEADERS = \ + $(GENERATED_I) \ + gr_endianness.i \ + gengen.i \ + gengen_generated.i + +CLEANFILES = $(BUILT_SOURCES) *.pyc diff --git a/gnuradio-core/src/lib/gengen/Makefile.gen b/gnuradio-core/src/lib/gengen/Makefile.gen new file mode 100644 index 00000000..f0c477e3 --- /dev/null +++ b/gnuradio-core/src/lib/gengen/Makefile.gen @@ -0,0 +1,234 @@ +# +# This file is machine generated. All edits will be overwritten +# +GENERATED_H = \ + gr_add_cc.h \ + gr_add_const_cc.h \ + gr_add_const_ff.h \ + gr_add_const_ii.h \ + gr_add_const_sf.h \ + gr_add_const_ss.h \ + gr_add_const_vcc.h \ + gr_add_const_vff.h \ + gr_add_const_vii.h \ + gr_add_const_vss.h \ + gr_add_ff.h \ + gr_add_ii.h \ + gr_add_ss.h \ + gr_add_vcc.h \ + gr_add_vff.h \ + gr_add_vii.h \ + gr_add_vss.h \ + gr_chunks_to_symbols_bc.h \ + gr_chunks_to_symbols_bf.h \ + gr_chunks_to_symbols_ic.h \ + gr_chunks_to_symbols_if.h \ + gr_chunks_to_symbols_sc.h \ + gr_chunks_to_symbols_sf.h \ + gr_divide_cc.h \ + gr_divide_ff.h \ + gr_divide_ii.h \ + gr_divide_ss.h \ + gr_multiply_cc.h \ + gr_multiply_const_cc.h \ + gr_multiply_const_ff.h \ + gr_multiply_const_ii.h \ + gr_multiply_const_ss.h \ + gr_multiply_const_vcc.h \ + gr_multiply_const_vff.h \ + gr_multiply_const_vii.h \ + gr_multiply_const_vss.h \ + gr_multiply_ff.h \ + gr_multiply_ii.h \ + gr_multiply_ss.h \ + gr_multiply_vcc.h \ + gr_multiply_vff.h \ + gr_multiply_vii.h \ + gr_multiply_vss.h \ + gr_mute_cc.h \ + gr_mute_ff.h \ + gr_mute_ii.h \ + gr_mute_ss.h \ + gr_noise_source_c.h \ + gr_noise_source_f.h \ + gr_noise_source_i.h \ + gr_noise_source_s.h \ + gr_packed_to_unpacked_bb.h \ + gr_packed_to_unpacked_ii.h \ + gr_packed_to_unpacked_ss.h \ + gr_sig_source_c.h \ + gr_sig_source_f.h \ + gr_sig_source_i.h \ + gr_sig_source_s.h \ + gr_sub_cc.h \ + gr_sub_ff.h \ + gr_sub_ii.h \ + gr_sub_ss.h \ + gr_unpacked_to_packed_bb.h \ + gr_unpacked_to_packed_ii.h \ + gr_unpacked_to_packed_ss.h \ + gr_vector_sink_b.h \ + gr_vector_sink_c.h \ + gr_vector_sink_f.h \ + gr_vector_sink_i.h \ + gr_vector_sink_s.h \ + gr_vector_source_b.h \ + gr_vector_source_c.h \ + gr_vector_source_f.h \ + gr_vector_source_i.h \ + gr_vector_source_s.h + +GENERATED_I = \ + gr_add_cc.i \ + gr_add_const_cc.i \ + gr_add_const_ff.i \ + gr_add_const_ii.i \ + gr_add_const_sf.i \ + gr_add_const_ss.i \ + gr_add_const_vcc.i \ + gr_add_const_vff.i \ + gr_add_const_vii.i \ + gr_add_const_vss.i \ + gr_add_ff.i \ + gr_add_ii.i \ + gr_add_ss.i \ + gr_add_vcc.i \ + gr_add_vff.i \ + gr_add_vii.i \ + gr_add_vss.i \ + gr_chunks_to_symbols_bc.i \ + gr_chunks_to_symbols_bf.i \ + gr_chunks_to_symbols_ic.i \ + gr_chunks_to_symbols_if.i \ + gr_chunks_to_symbols_sc.i \ + gr_chunks_to_symbols_sf.i \ + gr_divide_cc.i \ + gr_divide_ff.i \ + gr_divide_ii.i \ + gr_divide_ss.i \ + gr_multiply_cc.i \ + gr_multiply_const_cc.i \ + gr_multiply_const_ff.i \ + gr_multiply_const_ii.i \ + gr_multiply_const_ss.i \ + gr_multiply_const_vcc.i \ + gr_multiply_const_vff.i \ + gr_multiply_const_vii.i \ + gr_multiply_const_vss.i \ + gr_multiply_ff.i \ + gr_multiply_ii.i \ + gr_multiply_ss.i \ + gr_multiply_vcc.i \ + gr_multiply_vff.i \ + gr_multiply_vii.i \ + gr_multiply_vss.i \ + gr_mute_cc.i \ + gr_mute_ff.i \ + gr_mute_ii.i \ + gr_mute_ss.i \ + gr_noise_source_c.i \ + gr_noise_source_f.i \ + gr_noise_source_i.i \ + gr_noise_source_s.i \ + gr_packed_to_unpacked_bb.i \ + gr_packed_to_unpacked_ii.i \ + gr_packed_to_unpacked_ss.i \ + gr_sig_source_c.i \ + gr_sig_source_f.i \ + gr_sig_source_i.i \ + gr_sig_source_s.i \ + gr_sub_cc.i \ + gr_sub_ff.i \ + gr_sub_ii.i \ + gr_sub_ss.i \ + gr_unpacked_to_packed_bb.i \ + gr_unpacked_to_packed_ii.i \ + gr_unpacked_to_packed_ss.i \ + gr_vector_sink_b.i \ + gr_vector_sink_c.i \ + gr_vector_sink_f.i \ + gr_vector_sink_i.i \ + gr_vector_sink_s.i \ + gr_vector_source_b.i \ + gr_vector_source_c.i \ + gr_vector_source_f.i \ + gr_vector_source_i.i \ + gr_vector_source_s.i + +GENERATED_CC = \ + gr_add_cc.cc \ + gr_add_const_cc.cc \ + gr_add_const_ff.cc \ + gr_add_const_ii.cc \ + gr_add_const_sf.cc \ + gr_add_const_ss.cc \ + gr_add_const_vcc.cc \ + gr_add_const_vff.cc \ + gr_add_const_vii.cc \ + gr_add_const_vss.cc \ + gr_add_ff.cc \ + gr_add_ii.cc \ + gr_add_ss.cc \ + gr_add_vcc.cc \ + gr_add_vff.cc \ + gr_add_vii.cc \ + gr_add_vss.cc \ + gr_chunks_to_symbols_bc.cc \ + gr_chunks_to_symbols_bf.cc \ + gr_chunks_to_symbols_ic.cc \ + gr_chunks_to_symbols_if.cc \ + gr_chunks_to_symbols_sc.cc \ + gr_chunks_to_symbols_sf.cc \ + gr_divide_cc.cc \ + gr_divide_ff.cc \ + gr_divide_ii.cc \ + gr_divide_ss.cc \ + gr_multiply_cc.cc \ + gr_multiply_const_cc.cc \ + gr_multiply_const_ff.cc \ + gr_multiply_const_ii.cc \ + gr_multiply_const_ss.cc \ + gr_multiply_const_vcc.cc \ + gr_multiply_const_vff.cc \ + gr_multiply_const_vii.cc \ + gr_multiply_const_vss.cc \ + gr_multiply_ff.cc \ + gr_multiply_ii.cc \ + gr_multiply_ss.cc \ + gr_multiply_vcc.cc \ + gr_multiply_vff.cc \ + gr_multiply_vii.cc \ + gr_multiply_vss.cc \ + gr_mute_cc.cc \ + gr_mute_ff.cc \ + gr_mute_ii.cc \ + gr_mute_ss.cc \ + gr_noise_source_c.cc \ + gr_noise_source_f.cc \ + gr_noise_source_i.cc \ + gr_noise_source_s.cc \ + gr_packed_to_unpacked_bb.cc \ + gr_packed_to_unpacked_ii.cc \ + gr_packed_to_unpacked_ss.cc \ + gr_sig_source_c.cc \ + gr_sig_source_f.cc \ + gr_sig_source_i.cc \ + gr_sig_source_s.cc \ + gr_sub_cc.cc \ + gr_sub_ff.cc \ + gr_sub_ii.cc \ + gr_sub_ss.cc \ + gr_unpacked_to_packed_bb.cc \ + gr_unpacked_to_packed_ii.cc \ + gr_unpacked_to_packed_ss.cc \ + gr_vector_sink_b.cc \ + gr_vector_sink_c.cc \ + gr_vector_sink_f.cc \ + gr_vector_sink_i.cc \ + gr_vector_sink_s.cc \ + gr_vector_source_b.cc \ + gr_vector_source_c.cc \ + gr_vector_source_f.cc \ + gr_vector_source_i.cc \ + gr_vector_source_s.cc + diff --git a/gnuradio-core/src/lib/general/generate_all.py b/gnuradio-core/src/lib/gengen/generate_all.py similarity index 97% rename from gnuradio-core/src/lib/general/generate_all.py rename to gnuradio-core/src/lib/gengen/generate_all.py index ccb0ab65..191924c4 100755 --- a/gnuradio-core/src/lib/general/generate_all.py +++ b/gnuradio-core/src/lib/gengen/generate_all.py @@ -26,7 +26,7 @@ import generate_common def generate_all (): generate_common.generate () - output_glue ('general') + output_glue ('gengen') if __name__ == '__main__': diff --git a/gnuradio-core/src/lib/general/generate_common.py b/gnuradio-core/src/lib/gengen/generate_common.py similarity index 100% rename from gnuradio-core/src/lib/general/generate_common.py rename to gnuradio-core/src/lib/gengen/generate_common.py diff --git a/gnuradio-core/src/lib/gengen/gengen.i b/gnuradio-core/src/lib/gengen/gengen.i new file mode 100644 index 00000000..4047e430 --- /dev/null +++ b/gnuradio-core/src/lib/gengen/gengen.i @@ -0,0 +1,9 @@ +%{ +#include "gr_endianness.h" +#include "gr_sig_source_waveform.h" +%} + +%include "gr_endianness.i" +%include "gr_sig_source_waveform.h" + +%include "gengen_generated.i" diff --git a/gnuradio-core/src/lib/gengen/gengen_generated.i b/gnuradio-core/src/lib/gengen/gengen_generated.i new file mode 100644 index 00000000..a41f30a3 --- /dev/null +++ b/gnuradio-core/src/lib/gengen/gengen_generated.i @@ -0,0 +1,156 @@ +// +// This file is machine generated. All edits will be overwritten +// +%{ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +%} + +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include diff --git a/gnuradio-core/src/lib/general/gr_add_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_add_XX.cc.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_add_XX.cc.t rename to gnuradio-core/src/lib/gengen/gr_add_XX.cc.t diff --git a/gnuradio-core/src/lib/general/gr_add_XX.h.t b/gnuradio-core/src/lib/gengen/gr_add_XX.h.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_add_XX.h.t rename to gnuradio-core/src/lib/gengen/gr_add_XX.h.t diff --git a/gnuradio-core/src/lib/general/gr_add_XX.i.t b/gnuradio-core/src/lib/gengen/gr_add_XX.i.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_add_XX.i.t rename to gnuradio-core/src/lib/gengen/gr_add_XX.i.t diff --git a/gnuradio-core/src/lib/general/gr_add_const_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_add_const_XX.cc.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_add_const_XX.cc.t rename to gnuradio-core/src/lib/gengen/gr_add_const_XX.cc.t diff --git a/gnuradio-core/src/lib/general/gr_add_const_XX.h.t b/gnuradio-core/src/lib/gengen/gr_add_const_XX.h.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_add_const_XX.h.t rename to gnuradio-core/src/lib/gengen/gr_add_const_XX.h.t diff --git a/gnuradio-core/src/lib/general/gr_add_const_XX.i.t b/gnuradio-core/src/lib/gengen/gr_add_const_XX.i.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_add_const_XX.i.t rename to gnuradio-core/src/lib/gengen/gr_add_const_XX.i.t diff --git a/gnuradio-core/src/lib/general/gr_add_const_vXX.cc.t b/gnuradio-core/src/lib/gengen/gr_add_const_vXX.cc.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_add_const_vXX.cc.t rename to gnuradio-core/src/lib/gengen/gr_add_const_vXX.cc.t diff --git a/gnuradio-core/src/lib/general/gr_add_const_vXX.h.t b/gnuradio-core/src/lib/gengen/gr_add_const_vXX.h.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_add_const_vXX.h.t rename to gnuradio-core/src/lib/gengen/gr_add_const_vXX.h.t diff --git a/gnuradio-core/src/lib/general/gr_add_const_vXX.i.t b/gnuradio-core/src/lib/gengen/gr_add_const_vXX.i.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_add_const_vXX.i.t rename to gnuradio-core/src/lib/gengen/gr_add_const_vXX.i.t diff --git a/gnuradio-core/src/lib/general/gr_add_vXX.cc.t b/gnuradio-core/src/lib/gengen/gr_add_vXX.cc.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_add_vXX.cc.t rename to gnuradio-core/src/lib/gengen/gr_add_vXX.cc.t diff --git a/gnuradio-core/src/lib/general/gr_add_vXX.h.t b/gnuradio-core/src/lib/gengen/gr_add_vXX.h.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_add_vXX.h.t rename to gnuradio-core/src/lib/gengen/gr_add_vXX.h.t diff --git a/gnuradio-core/src/lib/general/gr_add_vXX.i.t b/gnuradio-core/src/lib/gengen/gr_add_vXX.i.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_add_vXX.i.t rename to gnuradio-core/src/lib/gengen/gr_add_vXX.i.t diff --git a/gnuradio-core/src/lib/general/gr_chunks_to_symbols_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_chunks_to_symbols_XX.cc.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_chunks_to_symbols_XX.cc.t rename to gnuradio-core/src/lib/gengen/gr_chunks_to_symbols_XX.cc.t diff --git a/gnuradio-core/src/lib/general/gr_chunks_to_symbols_XX.h.t b/gnuradio-core/src/lib/gengen/gr_chunks_to_symbols_XX.h.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_chunks_to_symbols_XX.h.t rename to gnuradio-core/src/lib/gengen/gr_chunks_to_symbols_XX.h.t diff --git a/gnuradio-core/src/lib/general/gr_chunks_to_symbols_XX.i.t b/gnuradio-core/src/lib/gengen/gr_chunks_to_symbols_XX.i.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_chunks_to_symbols_XX.i.t rename to gnuradio-core/src/lib/gengen/gr_chunks_to_symbols_XX.i.t diff --git a/gnuradio-core/src/lib/general/gr_divide_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_divide_XX.cc.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_divide_XX.cc.t rename to gnuradio-core/src/lib/gengen/gr_divide_XX.cc.t diff --git a/gnuradio-core/src/lib/general/gr_divide_XX.h.t b/gnuradio-core/src/lib/gengen/gr_divide_XX.h.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_divide_XX.h.t rename to gnuradio-core/src/lib/gengen/gr_divide_XX.h.t diff --git a/gnuradio-core/src/lib/general/gr_divide_XX.i.t b/gnuradio-core/src/lib/gengen/gr_divide_XX.i.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_divide_XX.i.t rename to gnuradio-core/src/lib/gengen/gr_divide_XX.i.t diff --git a/gnuradio-core/src/lib/general/gr_endianness.h b/gnuradio-core/src/lib/gengen/gr_endianness.h similarity index 100% rename from gnuradio-core/src/lib/general/gr_endianness.h rename to gnuradio-core/src/lib/gengen/gr_endianness.h diff --git a/gnuradio-core/src/lib/general/gr_endianness.i b/gnuradio-core/src/lib/gengen/gr_endianness.i similarity index 100% rename from gnuradio-core/src/lib/general/gr_endianness.i rename to gnuradio-core/src/lib/gengen/gr_endianness.i diff --git a/gnuradio-core/src/lib/general/gr_multiply_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_multiply_XX.cc.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_multiply_XX.cc.t rename to gnuradio-core/src/lib/gengen/gr_multiply_XX.cc.t diff --git a/gnuradio-core/src/lib/general/gr_multiply_XX.h.t b/gnuradio-core/src/lib/gengen/gr_multiply_XX.h.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_multiply_XX.h.t rename to gnuradio-core/src/lib/gengen/gr_multiply_XX.h.t diff --git a/gnuradio-core/src/lib/general/gr_multiply_XX.i.t b/gnuradio-core/src/lib/gengen/gr_multiply_XX.i.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_multiply_XX.i.t rename to gnuradio-core/src/lib/gengen/gr_multiply_XX.i.t diff --git a/gnuradio-core/src/lib/general/gr_multiply_const_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_multiply_const_XX.cc.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_multiply_const_XX.cc.t rename to gnuradio-core/src/lib/gengen/gr_multiply_const_XX.cc.t diff --git a/gnuradio-core/src/lib/general/gr_multiply_const_XX.h.t b/gnuradio-core/src/lib/gengen/gr_multiply_const_XX.h.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_multiply_const_XX.h.t rename to gnuradio-core/src/lib/gengen/gr_multiply_const_XX.h.t diff --git a/gnuradio-core/src/lib/general/gr_multiply_const_XX.i.t b/gnuradio-core/src/lib/gengen/gr_multiply_const_XX.i.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_multiply_const_XX.i.t rename to gnuradio-core/src/lib/gengen/gr_multiply_const_XX.i.t diff --git a/gnuradio-core/src/lib/general/gr_multiply_const_vXX.cc.t b/gnuradio-core/src/lib/gengen/gr_multiply_const_vXX.cc.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_multiply_const_vXX.cc.t rename to gnuradio-core/src/lib/gengen/gr_multiply_const_vXX.cc.t diff --git a/gnuradio-core/src/lib/general/gr_multiply_const_vXX.h.t b/gnuradio-core/src/lib/gengen/gr_multiply_const_vXX.h.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_multiply_const_vXX.h.t rename to gnuradio-core/src/lib/gengen/gr_multiply_const_vXX.h.t diff --git a/gnuradio-core/src/lib/general/gr_multiply_const_vXX.i.t b/gnuradio-core/src/lib/gengen/gr_multiply_const_vXX.i.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_multiply_const_vXX.i.t rename to gnuradio-core/src/lib/gengen/gr_multiply_const_vXX.i.t diff --git a/gnuradio-core/src/lib/general/gr_multiply_vXX.cc.t b/gnuradio-core/src/lib/gengen/gr_multiply_vXX.cc.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_multiply_vXX.cc.t rename to gnuradio-core/src/lib/gengen/gr_multiply_vXX.cc.t diff --git a/gnuradio-core/src/lib/general/gr_multiply_vXX.h.t b/gnuradio-core/src/lib/gengen/gr_multiply_vXX.h.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_multiply_vXX.h.t rename to gnuradio-core/src/lib/gengen/gr_multiply_vXX.h.t diff --git a/gnuradio-core/src/lib/general/gr_multiply_vXX.i.t b/gnuradio-core/src/lib/gengen/gr_multiply_vXX.i.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_multiply_vXX.i.t rename to gnuradio-core/src/lib/gengen/gr_multiply_vXX.i.t diff --git a/gnuradio-core/src/lib/general/gr_mute_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_mute_XX.cc.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_mute_XX.cc.t rename to gnuradio-core/src/lib/gengen/gr_mute_XX.cc.t diff --git a/gnuradio-core/src/lib/general/gr_mute_XX.h.t b/gnuradio-core/src/lib/gengen/gr_mute_XX.h.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_mute_XX.h.t rename to gnuradio-core/src/lib/gengen/gr_mute_XX.h.t diff --git a/gnuradio-core/src/lib/general/gr_mute_XX.i.t b/gnuradio-core/src/lib/gengen/gr_mute_XX.i.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_mute_XX.i.t rename to gnuradio-core/src/lib/gengen/gr_mute_XX.i.t diff --git a/gnuradio-core/src/lib/general/gr_noise_source_X.cc.t b/gnuradio-core/src/lib/gengen/gr_noise_source_X.cc.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_noise_source_X.cc.t rename to gnuradio-core/src/lib/gengen/gr_noise_source_X.cc.t diff --git a/gnuradio-core/src/lib/general/gr_noise_source_X.h.t b/gnuradio-core/src/lib/gengen/gr_noise_source_X.h.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_noise_source_X.h.t rename to gnuradio-core/src/lib/gengen/gr_noise_source_X.h.t diff --git a/gnuradio-core/src/lib/general/gr_noise_source_X.i.t b/gnuradio-core/src/lib/gengen/gr_noise_source_X.i.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_noise_source_X.i.t rename to gnuradio-core/src/lib/gengen/gr_noise_source_X.i.t diff --git a/gnuradio-core/src/lib/general/gr_packed_to_unpacked_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_packed_to_unpacked_XX.cc.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_packed_to_unpacked_XX.cc.t rename to gnuradio-core/src/lib/gengen/gr_packed_to_unpacked_XX.cc.t diff --git a/gnuradio-core/src/lib/general/gr_packed_to_unpacked_XX.h.t b/gnuradio-core/src/lib/gengen/gr_packed_to_unpacked_XX.h.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_packed_to_unpacked_XX.h.t rename to gnuradio-core/src/lib/gengen/gr_packed_to_unpacked_XX.h.t diff --git a/gnuradio-core/src/lib/general/gr_packed_to_unpacked_XX.i.t b/gnuradio-core/src/lib/gengen/gr_packed_to_unpacked_XX.i.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_packed_to_unpacked_XX.i.t rename to gnuradio-core/src/lib/gengen/gr_packed_to_unpacked_XX.i.t diff --git a/gnuradio-core/src/lib/general/gr_sig_source_X.cc.t b/gnuradio-core/src/lib/gengen/gr_sig_source_X.cc.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_sig_source_X.cc.t rename to gnuradio-core/src/lib/gengen/gr_sig_source_X.cc.t diff --git a/gnuradio-core/src/lib/general/gr_sig_source_X.h.t b/gnuradio-core/src/lib/gengen/gr_sig_source_X.h.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_sig_source_X.h.t rename to gnuradio-core/src/lib/gengen/gr_sig_source_X.h.t diff --git a/gnuradio-core/src/lib/general/gr_sig_source_X.i.t b/gnuradio-core/src/lib/gengen/gr_sig_source_X.i.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_sig_source_X.i.t rename to gnuradio-core/src/lib/gengen/gr_sig_source_X.i.t diff --git a/gnuradio-core/src/lib/general/gr_sig_source_waveform.h b/gnuradio-core/src/lib/gengen/gr_sig_source_waveform.h similarity index 100% rename from gnuradio-core/src/lib/general/gr_sig_source_waveform.h rename to gnuradio-core/src/lib/gengen/gr_sig_source_waveform.h diff --git a/gnuradio-core/src/lib/general/gr_sub_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_sub_XX.cc.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_sub_XX.cc.t rename to gnuradio-core/src/lib/gengen/gr_sub_XX.cc.t diff --git a/gnuradio-core/src/lib/general/gr_sub_XX.h.t b/gnuradio-core/src/lib/gengen/gr_sub_XX.h.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_sub_XX.h.t rename to gnuradio-core/src/lib/gengen/gr_sub_XX.h.t diff --git a/gnuradio-core/src/lib/general/gr_sub_XX.i.t b/gnuradio-core/src/lib/gengen/gr_sub_XX.i.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_sub_XX.i.t rename to gnuradio-core/src/lib/gengen/gr_sub_XX.i.t diff --git a/gnuradio-core/src/lib/general/gr_unpacked_to_packed_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_unpacked_to_packed_XX.cc.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_unpacked_to_packed_XX.cc.t rename to gnuradio-core/src/lib/gengen/gr_unpacked_to_packed_XX.cc.t diff --git a/gnuradio-core/src/lib/general/gr_unpacked_to_packed_XX.h.t b/gnuradio-core/src/lib/gengen/gr_unpacked_to_packed_XX.h.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_unpacked_to_packed_XX.h.t rename to gnuradio-core/src/lib/gengen/gr_unpacked_to_packed_XX.h.t diff --git a/gnuradio-core/src/lib/general/gr_unpacked_to_packed_XX.i.t b/gnuradio-core/src/lib/gengen/gr_unpacked_to_packed_XX.i.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_unpacked_to_packed_XX.i.t rename to gnuradio-core/src/lib/gengen/gr_unpacked_to_packed_XX.i.t diff --git a/gnuradio-core/src/lib/general/gr_vector_sink_X.cc.t b/gnuradio-core/src/lib/gengen/gr_vector_sink_X.cc.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_vector_sink_X.cc.t rename to gnuradio-core/src/lib/gengen/gr_vector_sink_X.cc.t diff --git a/gnuradio-core/src/lib/general/gr_vector_sink_X.h.t b/gnuradio-core/src/lib/gengen/gr_vector_sink_X.h.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_vector_sink_X.h.t rename to gnuradio-core/src/lib/gengen/gr_vector_sink_X.h.t diff --git a/gnuradio-core/src/lib/general/gr_vector_sink_X.i.t b/gnuradio-core/src/lib/gengen/gr_vector_sink_X.i.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_vector_sink_X.i.t rename to gnuradio-core/src/lib/gengen/gr_vector_sink_X.i.t diff --git a/gnuradio-core/src/lib/general/gr_vector_source_X.cc.t b/gnuradio-core/src/lib/gengen/gr_vector_source_X.cc.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_vector_source_X.cc.t rename to gnuradio-core/src/lib/gengen/gr_vector_source_X.cc.t diff --git a/gnuradio-core/src/lib/general/gr_vector_source_X.h.t b/gnuradio-core/src/lib/gengen/gr_vector_source_X.h.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_vector_source_X.h.t rename to gnuradio-core/src/lib/gengen/gr_vector_source_X.h.t diff --git a/gnuradio-core/src/lib/general/gr_vector_source_X.i.t b/gnuradio-core/src/lib/gengen/gr_vector_source_X.i.t similarity index 100% rename from gnuradio-core/src/lib/general/gr_vector_source_X.i.t rename to gnuradio-core/src/lib/gengen/gr_vector_source_X.i.t diff --git a/gnuradio-core/src/lib/runtime/Makefile.am b/gnuradio-core/src/lib/runtime/Makefile.am index 47ae07a6..91d3c144 100644 --- a/gnuradio-core/src/lib/runtime/Makefile.am +++ b/gnuradio-core/src/lib/runtime/Makefile.am @@ -51,6 +51,9 @@ libruntime_la_SOURCES = \ gr_runtime.cc \ gr_runtime_impl.cc \ gr_single_threaded_scheduler.cc \ + gr_sync_block.cc \ + gr_sync_decimator.cc \ + gr_sync_interpolator.cc \ gr_tmp_path.cc \ gr_vmcircbuf.cc \ gr_vmcircbuf_mmap_shm_open.cc \ @@ -92,6 +95,9 @@ grinclude_HEADERS = \ gr_runtime_types.h \ gr_select_handler.h \ gr_single_threaded_scheduler.h \ + gr_sync_block.h \ + gr_sync_decimator.h \ + gr_sync_interpolator.h \ gr_timer.h \ gr_tmp_path.h \ gr_types.h \ @@ -125,5 +131,8 @@ swiginclude_HEADERS = \ gr_runtime.i \ gr_simple_flowgraph.i \ gr_single_threaded_scheduler.i \ + gr_sync_block.i \ + gr_sync_decimator.i \ + gr_sync_interpolator.i \ gr_swig_block_magic.i \ runtime.i diff --git a/gnuradio-core/src/lib/general/gr_sync_block.cc b/gnuradio-core/src/lib/runtime/gr_sync_block.cc similarity index 100% rename from gnuradio-core/src/lib/general/gr_sync_block.cc rename to gnuradio-core/src/lib/runtime/gr_sync_block.cc diff --git a/gnuradio-core/src/lib/general/gr_sync_block.h b/gnuradio-core/src/lib/runtime/gr_sync_block.h similarity index 100% rename from gnuradio-core/src/lib/general/gr_sync_block.h rename to gnuradio-core/src/lib/runtime/gr_sync_block.h diff --git a/gnuradio-core/src/lib/general/gr_sync_block.i b/gnuradio-core/src/lib/runtime/gr_sync_block.i similarity index 100% rename from gnuradio-core/src/lib/general/gr_sync_block.i rename to gnuradio-core/src/lib/runtime/gr_sync_block.i diff --git a/gnuradio-core/src/lib/general/gr_sync_decimator.cc b/gnuradio-core/src/lib/runtime/gr_sync_decimator.cc similarity index 100% rename from gnuradio-core/src/lib/general/gr_sync_decimator.cc rename to gnuradio-core/src/lib/runtime/gr_sync_decimator.cc diff --git a/gnuradio-core/src/lib/general/gr_sync_decimator.h b/gnuradio-core/src/lib/runtime/gr_sync_decimator.h similarity index 100% rename from gnuradio-core/src/lib/general/gr_sync_decimator.h rename to gnuradio-core/src/lib/runtime/gr_sync_decimator.h diff --git a/gnuradio-core/src/lib/general/gr_sync_decimator.i b/gnuradio-core/src/lib/runtime/gr_sync_decimator.i similarity index 100% rename from gnuradio-core/src/lib/general/gr_sync_decimator.i rename to gnuradio-core/src/lib/runtime/gr_sync_decimator.i diff --git a/gnuradio-core/src/lib/general/gr_sync_interpolator.cc b/gnuradio-core/src/lib/runtime/gr_sync_interpolator.cc similarity index 100% rename from gnuradio-core/src/lib/general/gr_sync_interpolator.cc rename to gnuradio-core/src/lib/runtime/gr_sync_interpolator.cc diff --git a/gnuradio-core/src/lib/general/gr_sync_interpolator.h b/gnuradio-core/src/lib/runtime/gr_sync_interpolator.h similarity index 100% rename from gnuradio-core/src/lib/general/gr_sync_interpolator.h rename to gnuradio-core/src/lib/runtime/gr_sync_interpolator.h diff --git a/gnuradio-core/src/lib/general/gr_sync_interpolator.i b/gnuradio-core/src/lib/runtime/gr_sync_interpolator.i similarity index 100% rename from gnuradio-core/src/lib/general/gr_sync_interpolator.i rename to gnuradio-core/src/lib/runtime/gr_sync_interpolator.i diff --git a/gnuradio-core/src/lib/runtime/runtime.i b/gnuradio-core/src/lib/runtime/runtime.i index 8e6c01f9..cab33863 100644 --- a/gnuradio-core/src/lib/runtime/runtime.i +++ b/gnuradio-core/src/lib/runtime/runtime.i @@ -36,6 +36,9 @@ #include #include #include +#include +#include +#include %} %include @@ -54,3 +57,6 @@ %include %include %include +%include +%include +%include diff --git a/gnuradio-core/src/lib/swig/Makefile.am b/gnuradio-core/src/lib/swig/Makefile.am index 590b07b8..6bb2ca81 100644 --- a/gnuradio-core/src/lib/swig/Makefile.am +++ b/gnuradio-core/src/lib/swig/Makefile.am @@ -1,5 +1,5 @@ # -# Copyright 2001,2003,2004,2005 Free Software Foundation, Inc. +# Copyright 2001,2003,2004,2005,2006,2007 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -37,62 +37,238 @@ EXTRA_DIST = gen-swig-bug-fix LOCAL_IFILES = \ gnuradio.i \ - shared_ptr.i + shared_ptr.i \ + sw_general.i \ + sw_gengen.i \ + sw_filter.i \ + sw_io.i + ALL_IFILES = \ $(LOCAL_IFILES) + + +# ---------------------------------------------------------------- +# We've split the previously monstrous gnuradio_swig_python into +# 5 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! + BUILT_SOURCES = \ - gnuradio_swig_python.cc \ - gnuradio_swig_python.py \ - gnuradio_swig_python.h \ + gnuradio_swig_py_runtime.cc \ + gnuradio_swig_py_runtime.py \ + gnuradio_swig_py_runtime.h \ + gnuradio_swig_py_general.cc \ + gnuradio_swig_py_general.py \ + gnuradio_swig_py_general.h \ + gnuradio_swig_py_gengen.cc \ + gnuradio_swig_py_gengen.py \ + gnuradio_swig_py_gengen.h \ + gnuradio_swig_py_filter.cc \ + gnuradio_swig_py_filter.py \ + gnuradio_swig_py_filter.h \ + gnuradio_swig_py_io.cc \ + gnuradio_swig_py_io.py \ + gnuradio_swig_py_io.h \ gnuradio_swig_bug_workaround.h + +SWIGPYTHONARGS = $(SWIGPYTHONFLAGS) $(INCLUDES) + +# ---------------------------------------------------------------- +# We break this up into 5 libraries... + +grgrlib_LTLIBRARIES = \ + _gnuradio_swig_py_runtime.la \ + _gnuradio_swig_py_general.la \ + _gnuradio_swig_py_gengen.la \ + _gnuradio_swig_py_filter.la \ + _gnuradio_swig_py_io.la + + grgrpython_PYTHON = \ - gnuradio_swig_python.py + gnuradio_swig_python.py \ + gnuradio_swig_py_runtime.py \ + gnuradio_swig_py_general.py \ + gnuradio_swig_py_gengen.py \ + gnuradio_swig_py_filter.py \ + gnuradio_swig_py_io.py -SWIGPYTHONARGS = $(SWIGPYTHONFLAGS) $(INCLUDES) +# This results in the code being compiled with -O1 instead of -g -O2 + +_gnuradio_swig_py_runtime_la_CXXFLAGS = @swig_CXXFLAGS@ +_gnuradio_swig_py_general_la_CXXFLAGS = @swig_CXXFLAGS@ +_gnuradio_swig_py_gengen_la_CXXFLAGS = @swig_CXXFLAGS@ +_gnuradio_swig_py_filter_la_CXXFLAGS = @swig_CXXFLAGS@ +_gnuradio_swig_py_io_la_CXXFLAGS = @swig_CXXFLAGS@ # ---------------------------------------------------------------- -# _gnuradio_swig_python contains all the glue that implements -# the gnuradio.gr python package +# Part 1: gnuradio.i -> gnuradio_swig_py_runtime +# +# We continue to call this gnuradio.i to avoid having to touch +# lots of code in other modules -grgrlib_LTLIBRARIES = \ - _gnuradio_swig_python.la +_gnuradio_swig_py_runtime_la_SOURCES = \ + gnuradio_swig_py_runtime.cc -_gnuradio_swig_python_la_SOURCES = \ - gnuradio_swig_python.cc +_gnuradio_swig_py_runtime_la_LIBADD = \ + $(top_builddir)/gnuradio-core/src/lib/libgnuradio-core.la \ + $(PYTHON_LDFLAGS) \ + -lstdc++ + +_gnuradio_swig_py_runtime_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -_gnuradio_swig_python_la_LIBADD = \ + +# KLUDGE: Force runtime include of gnuradio_swig_py_runtime.d dependency file. +# This is not guaranteed to be portable, but will probably work. +# If it works, we have accurate dependencies for our swig stuff, which is good. +@am__include@ @am__quote@./gnuradio_swig_py_runtime.d@am__quote@ + +gnuradio_swig_py_runtime.py gnuradio_swig_py_runtime.h: gnuradio_swig_py_runtime.cc + +gnuradio_swig_py_runtime.cc : gnuradio.i + if $(SWIG) $(SWIGPYTHONARGS) -MMD -MF gnuradio_swig_py_runtime.Td -module gnuradio_swig_py_runtime -o gnuradio_swig_py_runtime.cc gnuradio.i ;\ + then if test $(host_os) = mingw32; \ + then sed 's,\\\\,/,g' gnuradio_swig_py_runtime.d; rm -f gnuradio_swig_py_runtime.Td; \ + else mv -f gnuradio_swig_py_runtime.Td gnuradio_swig_py_runtime.d; fi \ + else rm -f gnuradio_swig_py_runtime.Td; exit 1; fi + + +# ---------------------------------------------------------------- +# Part 2: sw_general.i -> gnuradio_swig_py_general +# + +_gnuradio_swig_py_general_la_SOURCES = \ + gnuradio_swig_py_general.cc + + +_gnuradio_swig_py_general_la_LIBADD = \ $(top_builddir)/gnuradio-core/src/lib/libgnuradio-core.la \ - $(PYTHON_LDFLAGS) \ + $(PYTHON_LDFLAGS) \ -lstdc++ -_gnuradio_swig_python_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) +_gnuradio_swig_py_general_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -# KLUDGE: Force runtime include of gnuradio_swig_python.d dependency file. +# KLUDGE: Force general include of gnuradio_swig_py_general.d dependency file. # This is not guaranteed to be portable, but will probably work. # If it works, we have accurate dependencies for our swig stuff, which is good. -@am__include@ @am__quote@./gnuradio_swig_python.d@am__quote@ +@am__include@ @am__quote@./gnuradio_swig_py_general.d@am__quote@ -gnuradio_swig_python.py gnuradio_swig_python.h: gnuradio_swig_python.cc +gnuradio_swig_py_general.py gnuradio_swig_py_general.h: gnuradio_swig_py_general.cc -gnuradio_swig_python.cc : gnuradio.i - if $(SWIG) $(SWIGPYTHONARGS) -MMD -MF gnuradio_swig_python.Td -module gnuradio_swig_python -o gnuradio_swig_python.cc gnuradio.i ;\ +gnuradio_swig_py_general.cc : sw_general.i + if $(SWIG) $(SWIGPYTHONARGS) -MMD -MF gnuradio_swig_py_general.Td -module gnuradio_swig_py_general -o gnuradio_swig_py_general.cc sw_general.i ;\ then if test $(host_os) = mingw32; \ - then sed 's,\\\\,/,g' gnuradio_swig_python.d; rm -f gnuradio_swig_python.Td; \ - else mv -f gnuradio_swig_python.Td gnuradio_swig_python.d; fi \ - else rm -f gnuradio_swig_python.Td; exit 1; fi + then sed 's,\\\\,/,g' gnuradio_swig_py_general.d; rm -f gnuradio_swig_py_general.Td; \ + else mv -f gnuradio_swig_py_general.Td gnuradio_swig_py_general.d; fi \ + else rm -f gnuradio_swig_py_general.Td; exit 1; fi + + +# ---------------------------------------------------------------- +# Part 3: sw_gengen.i -> gnuradio_swig_py_gengen +# + +_gnuradio_swig_py_gengen_la_SOURCES = \ + gnuradio_swig_py_gengen.cc + + +_gnuradio_swig_py_gengen_la_LIBADD = \ + $(top_builddir)/gnuradio-core/src/lib/libgnuradio-core.la \ + $(PYTHON_LDFLAGS) \ + -lstdc++ + +_gnuradio_swig_py_gengen_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -gnuradio_swig_bug_workaround.h : gnuradio_swig_python.cc $(srcdir)/gen-swig-bug-fix - $(srcdir)/gen-swig-bug-fix gnuradio_swig_python.cc $@ +# KLUDGE: Force gengen include of gnuradio_swig_py_gengen.d dependency file. +# This is not guaranteed to be portable, but will probably work. +# If it works, we have accurate dependencies for our swig stuff, which is good. +@am__include@ @am__quote@./gnuradio_swig_py_gengen.d@am__quote@ + +gnuradio_swig_py_gengen.py gnuradio_swig_py_gengen.h: gnuradio_swig_py_gengen.cc + +gnuradio_swig_py_gengen.cc : sw_gengen.i + if $(SWIG) $(SWIGPYTHONARGS) -MMD -MF gnuradio_swig_py_gengen.Td -module gnuradio_swig_py_gengen -o gnuradio_swig_py_gengen.cc sw_gengen.i ;\ + then if test $(host_os) = mingw32; \ + then sed 's,\\\\,/,g' gnuradio_swig_py_gengen.d; rm -f gnuradio_swig_py_gengen.Td; \ + else mv -f gnuradio_swig_py_gengen.Td gnuradio_swig_py_gengen.d; fi \ + else rm -f gnuradio_swig_py_gengen.Td; exit 1; fi + + +# ---------------------------------------------------------------- +# Part 4: sw_filter.i -> gnuradio_swig_py_filter +# + +_gnuradio_swig_py_filter_la_SOURCES = \ + gnuradio_swig_py_filter.cc + + +_gnuradio_swig_py_filter_la_LIBADD = \ + $(top_builddir)/gnuradio-core/src/lib/libgnuradio-core.la \ + $(PYTHON_LDFLAGS) \ + -lstdc++ + +_gnuradio_swig_py_filter_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) + + +# KLUDGE: Force filter include of gnuradio_swig_py_filter.d dependency file. +# This is not guaranteed to be portable, but will probably work. +# If it works, we have accurate dependencies for our swig stuff, which is good. +@am__include@ @am__quote@./gnuradio_swig_py_filter.d@am__quote@ + +gnuradio_swig_py_filter.py gnuradio_swig_py_filter.h: gnuradio_swig_py_filter.cc + +gnuradio_swig_py_filter.cc : sw_filter.i + if $(SWIG) $(SWIGPYTHONARGS) -MMD -MF gnuradio_swig_py_filter.Td -module gnuradio_swig_py_filter -o gnuradio_swig_py_filter.cc sw_filter.i ;\ + then if test $(host_os) = mingw32; \ + then sed 's,\\\\,/,g' gnuradio_swig_py_filter.d; rm -f gnuradio_swig_py_filter.Td; \ + else mv -f gnuradio_swig_py_filter.Td gnuradio_swig_py_filter.d; fi \ + else rm -f gnuradio_swig_py_filter.Td; exit 1; fi + + +# ---------------------------------------------------------------- +# Part 5: sw_io.i -> gnuradio_swig_py_io +# + +_gnuradio_swig_py_io_la_SOURCES = \ + gnuradio_swig_py_io.cc + + +_gnuradio_swig_py_io_la_LIBADD = \ + $(top_builddir)/gnuradio-core/src/lib/libgnuradio-core.la \ + $(PYTHON_LDFLAGS) \ + -lstdc++ + +_gnuradio_swig_py_io_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) + + +# KLUDGE: Force io include of gnuradio_swig_py_io.d dependency file. +# This is not guaranteed to be portable, but will probably work. +# If it works, we have accurate dependencies for our swig stuff, which is good. +@am__include@ @am__quote@./gnuradio_swig_py_io.d@am__quote@ + +gnuradio_swig_py_io.py gnuradio_swig_py_io.h: gnuradio_swig_py_io.cc + +gnuradio_swig_py_io.cc : sw_io.i + if $(SWIG) $(SWIGPYTHONARGS) -MMD -MF gnuradio_swig_py_io.Td -module gnuradio_swig_py_io -o gnuradio_swig_py_io.cc sw_io.i ;\ + then if test $(host_os) = mingw32; \ + then sed 's,\\\\,/,g' gnuradio_swig_py_io.d; rm -f gnuradio_swig_py_io.Td; \ + else mv -f gnuradio_swig_py_io.Td gnuradio_swig_py_io.d; fi \ + else rm -f gnuradio_swig_py_io.Td; exit 1; fi + + +# ---------------------------------------------------------------- +# FIXME As of swig 1.3.31, this still seems to be required... +gnuradio_swig_bug_workaround.h : gnuradio_swig_py_runtime.cc $(srcdir)/gen-swig-bug-fix + $(srcdir)/gen-swig-bug-fix gnuradio_swig_py_runtime.cc $@ # ---------------------------------------------------------------- @@ -111,4 +287,9 @@ swiginclude_HEADERS = \ MOSTLYCLEANFILES = \ $(BUILT_SOURCES) *~ *.pyc -DISTCLEANFILES = gnuradio_swig_python.d +DISTCLEANFILES = \ + gnuradio_swig_py_runtime.d \ + gnuradio_swig_py_general.d \ + gnuradio_swig_py_gengen.d \ + gnuradio_swig_py_filter.d \ + gnuradio_swig_py_io.d diff --git a/gnuradio-core/src/lib/swig/gnuradio.i b/gnuradio-core/src/lib/swig/gnuradio.i index 5475e173..706ba8a6 100644 --- a/gnuradio-core/src/lib/swig/gnuradio.i +++ b/gnuradio-core/src/lib/swig/gnuradio.i @@ -27,8 +27,7 @@ #ifndef SWIGIMPORTED -// we set the module name on the command line (not any more) -%module(directors="1") gnuradio_swig_python +%module(directors="1") gnuradio_swig_py_runtime #endif //////////////////////////////////////////////////////////////////////// @@ -75,9 +74,9 @@ namespace std { //////////////////////////////////////////////////////////////////////// %include -%include -%include -%include + // %include + // %include + // %include // %include diff --git a/gnuradio-core/src/lib/swig/gnuradio_swig_python.py b/gnuradio-core/src/lib/swig/gnuradio_swig_python.py new file mode 100644 index 00000000..2bac0942 --- /dev/null +++ b/gnuradio-core/src/lib/swig/gnuradio_swig_python.py @@ -0,0 +1,27 @@ +# +# Copyright 2006 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 2, 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 this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# + +# This file implements the old gnuradio_swig_python namespace + +from gnuradio_swig_py_runtime import * +from gnuradio_swig_py_general import * +from gnuradio_swig_py_gengen import * +from gnuradio_swig_py_filter import * +from gnuradio_swig_py_io import * diff --git a/gnuradio-core/src/lib/swig/sw_filter.i b/gnuradio-core/src/lib/swig/sw_filter.i new file mode 100644 index 00000000..336f9c60 --- /dev/null +++ b/gnuradio-core/src/lib/swig/sw_filter.i @@ -0,0 +1,36 @@ +/* -*- c++ -*- */ +/* + * Copyright 2006 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 Filter Public License as published by + * the Free Software Foundation; either version 2, 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 Filter Public License for more details. + * + * You should have received a copy of the GNU Filter Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef SWIGIMPORTED +%module(directors="1") gnuradio_swig_py_filter +#endif + + +%feature("autodoc", "1"); // generate python docstrings + +%include "exception.i" +%import "gnuradio.i" // the common stuff + +%{ +#include "gnuradio_swig_bug_workaround.h" // mandatory bug fix +%} + +%include "filter.i" diff --git a/gnuradio-core/src/lib/swig/sw_general.i b/gnuradio-core/src/lib/swig/sw_general.i new file mode 100644 index 00000000..06b164d5 --- /dev/null +++ b/gnuradio-core/src/lib/swig/sw_general.i @@ -0,0 +1,36 @@ +/* -*- c++ -*- */ +/* + * Copyright 2006 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 2, 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 this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef SWIGIMPORTED +%module(directors="1") gnuradio_swig_py_general +#endif + + +%feature("autodoc", "1"); // generate python docstrings + +%include "exception.i" +%import "gnuradio.i" // the common stuff + +%{ +#include "gnuradio_swig_bug_workaround.h" // mandatory bug fix +%} + +%include "general.i" diff --git a/gnuradio-core/src/lib/swig/sw_gengen.i b/gnuradio-core/src/lib/swig/sw_gengen.i new file mode 100644 index 00000000..a88b45df --- /dev/null +++ b/gnuradio-core/src/lib/swig/sw_gengen.i @@ -0,0 +1,36 @@ +/* -*- c++ -*- */ +/* + * Copyright 2006 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 2, 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 this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef SWIGIMPORTED +%module(directors="1") gnuradio_swig_py_gengen +#endif + + +%feature("autodoc", "1"); // generate python docstrings + +%include "exception.i" +%import "gnuradio.i" // the common stuff + +%{ +#include "gnuradio_swig_bug_workaround.h" // mandatory bug fix +%} + +%include "gengen.i" diff --git a/gnuradio-core/src/lib/swig/sw_io.i b/gnuradio-core/src/lib/swig/sw_io.i new file mode 100644 index 00000000..1733e679 --- /dev/null +++ b/gnuradio-core/src/lib/swig/sw_io.i @@ -0,0 +1,36 @@ +/* -*- c++ -*- */ +/* + * Copyright 2006 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 Io Public License as published by + * the Free Software Foundation; either version 2, 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 Io Public License for more details. + * + * You should have received a copy of the GNU Io Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef SWIGIMPORTED +%module(directors="1") gnuradio_swig_py_io +#endif + + +%feature("autodoc", "1"); // generate python docstrings + +%include "exception.i" +%import "gnuradio.i" // the common stuff + +%{ +#include "gnuradio_swig_bug_workaround.h" // mandatory bug fix +%} + +%include "io.i" diff --git a/gnuradio-examples/python/usrp/Makefile.am b/gnuradio-examples/python/usrp/Makefile.am index 5a8a346a..1b7f8133 100644 --- a/gnuradio-examples/python/usrp/Makefile.am +++ b/gnuradio-examples/python/usrp/Makefile.am @@ -44,6 +44,7 @@ EXTRA_DIST = \ usrp_rx_cfile.py \ usrp_rx_nogui.py \ usrp_siggen.py \ + usrp_spectrum_sense.py \ usrp_tv_rcv_nogui.py \ usrp_tv_rcv.py \ usrp_wfm_rcv2_nogui.py \ diff --git a/gr-error-correcting-codes/src/lib/libecc/Makefile.am b/gr-error-correcting-codes/src/lib/libecc/Makefile.am index 7b1348da..3c44464d 100644 --- a/gr-error-correcting-codes/src/lib/libecc/Makefile.am +++ b/gr-error-correcting-codes/src/lib/libecc/Makefile.am @@ -54,5 +54,3 @@ libecc_la_LIBADD = \ -lstdc++ MOSTLYCLEANFILES = *.loT *~ - -CONFIG_CLEAN_FILES = *.in diff --git a/gr-error-correcting-codes/src/lib/libecc/mld/Makefile.am b/gr-error-correcting-codes/src/lib/libecc/mld/Makefile.am index 85b9724e..3420d558 100644 --- a/gr-error-correcting-codes/src/lib/libecc/mld/Makefile.am +++ b/gr-error-correcting-codes/src/lib/libecc/mld/Makefile.am @@ -33,4 +33,3 @@ noinst_HEADERS = \ MOSTLYCLEANFILES = *.loT *~ -CONFIG_CLEAN_FILES = *.in diff --git a/run_tests.sh.in b/run_tests.sh.in index 39b35d87..4e7d69e4 100644 --- a/run_tests.sh.in +++ b/run_tests.sh.in @@ -17,6 +17,9 @@ mypydir=$1/src:$1/src/python grswigdir=@abs_top_builddir@/gnuradio-core/src/lib/swig grswigdir=$grswigdir:$grswigdir/.libs +# Where to find core's hand generated swig glue +grswigsrcdir=@abs_top_srcdir@/gnuradio-core/src/lib/swig + # Where to find core's python modules grpydir=@abs_top_srcdir@/gnuradio-core/src/python @@ -25,7 +28,7 @@ grlibdir=@abs_top_builddir@/gnuradio-core/src/lib grlibdir=$grlibdir:$grlibdir/.libs # Construct search path for python modules -PYTHONPATH="$mylibdir:$mysrcdir:$mypydir:$grswigdir:$grpydir:$PYTHONPATH" +PYTHONPATH="$mylibdir:$mysrcdir:$mypydir:$grswigdir:$grswigsrcdir:$grpydir:$PYTHONPATH" export PYTHONPATH # For OS/X -- 2.30.2