summaryrefslogtreecommitdiff
path: root/gnuradio-core/src
diff options
context:
space:
mode:
Diffstat (limited to 'gnuradio-core/src')
-rw-r--r--gnuradio-core/src/lib/Makefile.am5
-rw-r--r--gnuradio-core/src/lib/swig/.gitignore1
-rw-r--r--gnuradio-core/src/lib/swig/Makefile.am13
-rw-r--r--gnuradio-core/src/lib/swig/Makefile.swig.gen204
-rw-r--r--gnuradio-core/src/lib/swig/gnuradio_swig_bug_workaround.h45
5 files changed, 189 insertions, 79 deletions
diff --git a/gnuradio-core/src/lib/Makefile.am b/gnuradio-core/src/lib/Makefile.am
index f3a3accdb2..1281b4aa62 100644
--- a/gnuradio-core/src/lib/Makefile.am
+++ b/gnuradio-core/src/lib/Makefile.am
@@ -24,10 +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 viterbi general gengen g72x reed-solomon io hier .
-if PYTHON
-SUBDIRS += swig
-endif
+SUBDIRS = missing runtime filter viterbi general gengen g72x reed-solomon io hier . swig
AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(CPPUNIT_INCLUDES) $(WITH_INCLUDES)
diff --git a/gnuradio-core/src/lib/swig/.gitignore b/gnuradio-core/src/lib/swig/.gitignore
index 35e9749482..a6f1456182 100644
--- a/gnuradio-core/src/lib/swig/.gitignore
+++ b/gnuradio-core/src/lib/swig/.gitignore
@@ -10,7 +10,6 @@
/swigrun.py
/swigrun_wrap.c
/Makefile.swigdeps.new
-/gnuradio_swig_bug_workaround.h
gnuradio_core_filter.cc
gnuradio_core_filter.d
gnuradio_core_filter.h
diff --git a/gnuradio-core/src/lib/swig/Makefile.am b/gnuradio-core/src/lib/swig/Makefile.am
index 16b5d677ee..95edf51810 100644
--- a/gnuradio-core/src/lib/swig/Makefile.am
+++ b/gnuradio-core/src/lib/swig/Makefile.am
@@ -57,12 +57,12 @@ nobase_swiginclude_HEADERS = \
guile/std_vector.i
-if PYTHON
AM_CPPFLAGS = -I$(srcdir) $(STD_DEFINES_AND_INCLUDES) $(PYTHON_CPPFLAGS) \
$(WITH_INCLUDES)
EXTRA_DIST = gen-swig-bug-fix
+if PYTHON
# special install for this top-level Python script which includes all
# of the split Python libraries.
ourpythondir = $(grpythondir)/gr
@@ -70,9 +70,8 @@ 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 $@
+# 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 $@
# C/C++ headers get installed in ${prefix}/include/gnuradio
grinclude_HEADERS = gnuradio_swig_bug_workaround.h
@@ -102,15 +101,13 @@ gnuradio_core_hier_la_swig_libadd = $(GNURADIO_CORE_LA)
# aren't by default when using Makefile.swig; order doesn't matter.
PYTHON_GEN = $(foreach HFILE,$(TOP_SWIG_IFILES), $(subst .i,.py,$(HFILE)))
swig_built_sources += $(PYTHON_GEN)
-endif # end of if python
+endif # end of if python
if GUILE
SWIG_GUILE_FLAGS += -DIN_GNURADIO_CORE
-#GUILE_GEN = $(foreach HFILE,$(TOP_SWIG_IFILES), $(patsubst %.i,%.scm,$(HFILE)))
GUILE_GEN = $(foreach HFILE,$(TOP_SWIG_IFILES), $(patsubst %.i,gnuradio/%.scm,$(HFILE)))
-# GUILE_GEN_STAMPS = $(filter %.scm,$(TOP_SWIG_IFILES))
swig_built_sources += $(GUILE_GEN)
-endif
+endif # end of if guile
# Do not distribute the output of SWIG
no_dist_files = $(swig_built_sources)
diff --git a/gnuradio-core/src/lib/swig/Makefile.swig.gen b/gnuradio-core/src/lib/swig/Makefile.swig.gen
index dc7a7b3bb6..160fc8fd82 100644
--- a/gnuradio-core/src/lib/swig/Makefile.swig.gen
+++ b/gnuradio-core/src/lib/swig/Makefile.swig.gen
@@ -79,6 +79,7 @@ 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
@@ -86,6 +87,10 @@ _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)
@@ -99,27 +104,34 @@ _gnuradio_core_runtime_la_CXXFLAGS = \
-I$(top_builddir) \
$(gnuradio_core_runtime_la_swig_cxxflags)
-gnuradio_core_runtime_python_PYTHON = \
- gnuradio_core_runtime.py \
- $(gnuradio_core_runtime_python)
-
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
-# end of PYTHON
+
+endif # end of if python
if GUILE
-gnuradio_core_runtime_scmlib_LTLIBRARIES = libguile-gnuradio_core_runtime.la
+
+gnuradio_core_runtime_scmlib_LTLIBRARIES = \
+ libguile-gnuradio_core_runtime.la
libguile_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_core_runtime_la_LIBADD = $(_gnuradio_core_runtime_la_LIBADD)
-libguile_gnuradio_core_runtime_la_LDFLAGS = $(_gnuradio_core_runtime_la_LDFLAGS)
-libguile_gnuradio_core_runtime_la_CXXFLAGS = $(_gnuradio_core_runtime_la_CXXFLAGS)
+nobase_gnuradio_core_runtime_scm_DATA = \
+ gnuradio/gnuradio_core_runtime.scm \
+ gnuradio/gnuradio_core_runtime-primitive.scm
+libguile_gnuradio_core_runtime_la_LIBADD = \
+ $(STD_SWIG_LA_LIB_ADD) \
+ $(gnuradio_core_runtime_la_swig_libadd)
+libguile_gnuradio_core_runtime_la_LDFLAGS = \
+ $(STD_SWIG_LA_LD_FLAGS) \
+ $(gnuradio_core_runtime_la_swig_ldflags)
+libguile_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
@@ -212,6 +224,7 @@ 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
@@ -219,6 +232,10 @@ _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)
@@ -232,27 +249,34 @@ _gnuradio_core_general_la_CXXFLAGS = \
-I$(top_builddir) \
$(gnuradio_core_general_la_swig_cxxflags)
-gnuradio_core_general_python_PYTHON = \
- gnuradio_core_general.py \
- $(gnuradio_core_general_python)
-
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
-# end of PYTHON
+
+endif # end of if python
if GUILE
-gnuradio_core_general_scmlib_LTLIBRARIES = libguile-gnuradio_core_general.la
+
+gnuradio_core_general_scmlib_LTLIBRARIES = \
+ libguile-gnuradio_core_general.la
libguile_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_core_general_la_LIBADD = $(_gnuradio_core_general_la_LIBADD)
-libguile_gnuradio_core_general_la_LDFLAGS = $(_gnuradio_core_general_la_LDFLAGS)
-libguile_gnuradio_core_general_la_CXXFLAGS = $(_gnuradio_core_general_la_CXXFLAGS)
+nobase_gnuradio_core_general_scm_DATA = \
+ gnuradio/gnuradio_core_general.scm \
+ gnuradio/gnuradio_core_general-primitive.scm
+libguile_gnuradio_core_general_la_LIBADD = \
+ $(STD_SWIG_LA_LIB_ADD) \
+ $(gnuradio_core_general_la_swig_libadd)
+libguile_gnuradio_core_general_la_LDFLAGS = \
+ $(STD_SWIG_LA_LD_FLAGS) \
+ $(gnuradio_core_general_la_swig_ldflags)
+libguile_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
@@ -345,6 +369,7 @@ 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
@@ -352,6 +377,10 @@ _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)
@@ -365,27 +394,34 @@ _gnuradio_core_gengen_la_CXXFLAGS = \
-I$(top_builddir) \
$(gnuradio_core_gengen_la_swig_cxxflags)
-gnuradio_core_gengen_python_PYTHON = \
- gnuradio_core_gengen.py \
- $(gnuradio_core_gengen_python)
-
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
-# end of PYTHON
+
+endif # end of if python
if GUILE
-gnuradio_core_gengen_scmlib_LTLIBRARIES = libguile-gnuradio_core_gengen.la
+
+gnuradio_core_gengen_scmlib_LTLIBRARIES = \
+ libguile-gnuradio_core_gengen.la
libguile_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_core_gengen_la_LIBADD = $(_gnuradio_core_gengen_la_LIBADD)
-libguile_gnuradio_core_gengen_la_LDFLAGS = $(_gnuradio_core_gengen_la_LDFLAGS)
-libguile_gnuradio_core_gengen_la_CXXFLAGS = $(_gnuradio_core_gengen_la_CXXFLAGS)
+nobase_gnuradio_core_gengen_scm_DATA = \
+ gnuradio/gnuradio_core_gengen.scm \
+ gnuradio/gnuradio_core_gengen-primitive.scm
+libguile_gnuradio_core_gengen_la_LIBADD = \
+ $(STD_SWIG_LA_LIB_ADD) \
+ $(gnuradio_core_gengen_la_swig_libadd)
+libguile_gnuradio_core_gengen_la_LDFLAGS = \
+ $(STD_SWIG_LA_LD_FLAGS) \
+ $(gnuradio_core_gengen_la_swig_ldflags)
+libguile_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
@@ -478,6 +514,7 @@ 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
@@ -485,6 +522,10 @@ _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)
@@ -498,27 +539,34 @@ _gnuradio_core_filter_la_CXXFLAGS = \
-I$(top_builddir) \
$(gnuradio_core_filter_la_swig_cxxflags)
-gnuradio_core_filter_python_PYTHON = \
- gnuradio_core_filter.py \
- $(gnuradio_core_filter_python)
-
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
-# end of PYTHON
+
+endif # end of if python
if GUILE
-gnuradio_core_filter_scmlib_LTLIBRARIES = libguile-gnuradio_core_filter.la
+
+gnuradio_core_filter_scmlib_LTLIBRARIES = \
+ libguile-gnuradio_core_filter.la
libguile_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_core_filter_la_LIBADD = $(_gnuradio_core_filter_la_LIBADD)
-libguile_gnuradio_core_filter_la_LDFLAGS = $(_gnuradio_core_filter_la_LDFLAGS)
-libguile_gnuradio_core_filter_la_CXXFLAGS = $(_gnuradio_core_filter_la_CXXFLAGS)
+nobase_gnuradio_core_filter_scm_DATA = \
+ gnuradio/gnuradio_core_filter.scm \
+ gnuradio/gnuradio_core_filter-primitive.scm
+libguile_gnuradio_core_filter_la_LIBADD = \
+ $(STD_SWIG_LA_LIB_ADD) \
+ $(gnuradio_core_filter_la_swig_libadd)
+libguile_gnuradio_core_filter_la_LDFLAGS = \
+ $(STD_SWIG_LA_LD_FLAGS) \
+ $(gnuradio_core_filter_la_swig_ldflags)
+libguile_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
@@ -611,6 +659,7 @@ 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
@@ -618,6 +667,10 @@ _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)
@@ -631,27 +684,34 @@ _gnuradio_core_io_la_CXXFLAGS = \
-I$(top_builddir) \
$(gnuradio_core_io_la_swig_cxxflags)
-gnuradio_core_io_python_PYTHON = \
- gnuradio_core_io.py \
- $(gnuradio_core_io_python)
-
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
-# end of PYTHON
+
+endif # end of if python
if GUILE
-gnuradio_core_io_scmlib_LTLIBRARIES = libguile-gnuradio_core_io.la
+
+gnuradio_core_io_scmlib_LTLIBRARIES = \
+ libguile-gnuradio_core_io.la
libguile_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_core_io_la_LIBADD = $(_gnuradio_core_io_la_LIBADD)
-libguile_gnuradio_core_io_la_LDFLAGS = $(_gnuradio_core_io_la_LDFLAGS)
-libguile_gnuradio_core_io_la_CXXFLAGS = $(_gnuradio_core_io_la_CXXFLAGS)
+nobase_gnuradio_core_io_scm_DATA = \
+ gnuradio/gnuradio_core_io.scm \
+ gnuradio/gnuradio_core_io-primitive.scm
+libguile_gnuradio_core_io_la_LIBADD = \
+ $(STD_SWIG_LA_LIB_ADD) \
+ $(gnuradio_core_io_la_swig_libadd)
+libguile_gnuradio_core_io_la_LDFLAGS = \
+ $(STD_SWIG_LA_LD_FLAGS) \
+ $(gnuradio_core_io_la_swig_ldflags)
+libguile_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
@@ -744,6 +804,7 @@ 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
@@ -751,6 +812,10 @@ _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)
@@ -764,27 +829,34 @@ _gnuradio_core_hier_la_CXXFLAGS = \
-I$(top_builddir) \
$(gnuradio_core_hier_la_swig_cxxflags)
-gnuradio_core_hier_python_PYTHON = \
- gnuradio_core_hier.py \
- $(gnuradio_core_hier_python)
-
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
-# end of PYTHON
+
+endif # end of if python
if GUILE
-gnuradio_core_hier_scmlib_LTLIBRARIES = libguile-gnuradio_core_hier.la
+
+gnuradio_core_hier_scmlib_LTLIBRARIES = \
+ libguile-gnuradio_core_hier.la
libguile_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_core_hier_la_LIBADD = $(_gnuradio_core_hier_la_LIBADD)
-libguile_gnuradio_core_hier_la_LDFLAGS = $(_gnuradio_core_hier_la_LDFLAGS)
-libguile_gnuradio_core_hier_la_CXXFLAGS = $(_gnuradio_core_hier_la_CXXFLAGS)
+nobase_gnuradio_core_hier_scm_DATA = \
+ gnuradio/gnuradio_core_hier.scm \
+ gnuradio/gnuradio_core_hier-primitive.scm
+libguile_gnuradio_core_hier_la_LIBADD = \
+ $(STD_SWIG_LA_LIB_ADD) \
+ $(gnuradio_core_hier_la_swig_libadd)
+libguile_gnuradio_core_hier_la_LDFLAGS = \
+ $(STD_SWIG_LA_LD_FLAGS) \
+ $(gnuradio_core_hier_la_swig_ldflags)
+libguile_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
diff --git a/gnuradio-core/src/lib/swig/gnuradio_swig_bug_workaround.h b/gnuradio-core/src/lib/swig/gnuradio_swig_bug_workaround.h
new file mode 100644
index 0000000000..8f7eea0bf3
--- /dev/null
+++ b/gnuradio-core/src/lib/swig/gnuradio_swig_bug_workaround.h
@@ -0,0 +1,45 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2004 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_GNURADIO_SWIG_BUG_WORKAROUND_H
+#define INCLUDED_GNURADIO_SWIG_BUG_WORKAROUND_H
+
+/*
+ * This include files works around a bug in SWIG 1.3.21 and 22
+ * where it fails to emit these declarations when doing
+ * %import "gnuradio.i"
+ */
+
+class gr_base_error_handler;
+class gr_basic_block;
+class gr_block;
+class gr_error_handler;
+class gr_file_error_handler;
+class gr_hier_block2;
+class gr_msg_handler;
+class gr_msg_queue;
+class gr_sync_block;
+class gr_sync_decimator;
+class gr_sync_interpolator;
+class gr_top_block;
+
+#endif /* INCLUDED_GNURADIO_SWIG_BUG_WORKAROUND_H */