summaryrefslogtreecommitdiff
path: root/gr-fcd/swig
diff options
context:
space:
mode:
authorJohnathan Corgan <jcorgan@corganenterprises.com>2012-03-08 16:53:03 -0800
committerJohnathan Corgan <jcorgan@corganenterprises.com>2012-03-09 11:02:35 -0800
commit15b215a42472c478a8b45e1be293de3eca6d2ee9 (patch)
treeed3fd1322dc72eb2e12a9214028b6cd1f6346da0 /gr-fcd/swig
parent7361ce25f30ddfcc7538fec4a8b4cb9044201a03 (diff)
fcd: convert out-of-tree autotools build to in-tree
This still needs doc directory conversion to new documentation system.
Diffstat (limited to 'gr-fcd/swig')
-rw-r--r--gr-fcd/swig/Makefile.am57
-rw-r--r--gr-fcd/swig/Makefile.swig.gen42
-rw-r--r--gr-fcd/swig/fcd_swig.i25
-rw-r--r--gr-fcd/swig/run_guile_tests.in14
4 files changed, 122 insertions, 16 deletions
diff --git a/gr-fcd/swig/Makefile.am b/gr-fcd/swig/Makefile.am
index e490968944..db20e587b6 100644
--- a/gr-fcd/swig/Makefile.am
+++ b/gr-fcd/swig/Makefile.am
@@ -1,5 +1,5 @@
#
-# Copyright 2004,2005,2006,2008,2009,2010 Free Software Foundation, Inc.
+# Copyright 2012 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -22,28 +22,59 @@
include $(top_srcdir)/Makefile.common
include $(top_srcdir)/Makefile.swig
+TESTS =
+EXTRA_DIST += $(nobase_guile_DATA)
-AM_CPPFLAGS += -I$(top_srcdir)/lib
+noinst_GUILE = fcd.test
-###################################
-# SWIG interfaces and libraries
+if GUILE
+nobase_guile_DATA = gnuradio/fcd_swig.scm
+endif
+
+
+AM_CPPFLAGS = \
+ -I$(top_srcdir)/gr-fcd/lib \
+ -I$(top_srcdir)/gr-audio/include \
+ $(STD_DEFINES_AND_INCLUDES) \
+ $(PYTHON_CPPFLAGS) \
+ $(WITH_INCLUDES)
+
+# ----------------------------------------------------------------
+# The SWIG library
+# TESTS = run_tests
+
+TOP_SWIG_DOC_IFILES = \
+ fcd_swig_doc.i
TOP_SWIG_IFILES = \
- fcd_swig.i
+ $(TOP_SWIG_DOC_IFILES) \
+ fcd_swig.i
+
+BUILT_SOURCES += \
+ $(TOP_SWIG_DOC_IFILES)
+
+EXTRA_DIST += \
+ $(TOP_SWIG_DOC_IFILES)
+
+$(TOP_SWIG_DOC_IFILES):
+ `echo "" > $@`
# Install so that they end up available as:
-# import fcd
+# import gnuradio.fcd
# This ends up at:
-# ${prefix}/lib/python${python_version}/site-packages/$(modname)
-fcd_swig_pythondir_category = $(modname)
+# ${prefix}/lib/python${python_version}/site-packages/gnuradio/fcd
+fcd_swig_pythondir_category = \
+ gnuradio/fcd
# additional libraries for linking with the SWIG-generated library
fcd_swig_la_swig_libadd = \
- $(top_builddir)/lib/libgnuradio-fcd.la
+ $(top_builddir)/gr-fcd/lib/libgnuradio-fcd.la
# additional SWIG files to be installed
-fcd_swiginclude_headers = \
- fcd_source_c.i
-
+fcd_swig_swiginclude_headers = \
+ fcd_source_c.i \
+ $(TOP_SWIG_DOC_IFILES)
-EXTRA_DIST = $(fcd_swiginclude_headers)
+if GUILE
+TESTS += run_guile_tests
+endif
diff --git a/gr-fcd/swig/Makefile.swig.gen b/gr-fcd/swig/Makefile.swig.gen
index 70752bf9be..849e1ea52d 100644
--- a/gr-fcd/swig/Makefile.swig.gen
+++ b/gr-fcd/swig/Makefile.swig.gen
@@ -33,11 +33,20 @@
## this has to be done in the including Makefile.am -before-
## Makefile.swig is included.
-fcd_swig_pythondir_category ?= fcd_swig
+fcd_swig_pythondir_category ?= gnuradio/fcd_swig
fcd_swig_pylibdir_category ?= $(fcd_swig_pythondir_category)
fcd_swig_pythondir = $(pythondir)/$(fcd_swig_pythondir_category)
fcd_swig_pylibdir = $(pyexecdir)/$(fcd_swig_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.
+fcd_swig_scmlibdir = $(libdir)
+
+# The scm files for the guile modules get installed where ever guile
+# is installed, usually /usr/share/guile/site/fcd_swig
+# FIXME: determince whether these should be installed with gnuradio.
+fcd_swig_scmdir = $(guiledir)
## SWIG headers are always installed into the same directory.
@@ -96,12 +105,41 @@ _fcd_swig_la_CXXFLAGS = \
$(fcd_swig_la_swig_cxxflags)
python/fcd_swig.cc: fcd_swig.py
-fcd_swig.py: fcd_swig.i
+fcd_swig.py: fcd_swig.i
# Include the python dependencies for this file
-include python/fcd_swig.d
endif # end of if python
+if GUILE
+
+fcd_swig_scmlib_LTLIBRARIES = \
+ libguile-gnuradio-fcd_swig.la
+libguile_gnuradio_fcd_swig_la_SOURCES = \
+ guile/fcd_swig.cc \
+ $(fcd_swig_la_swig_sources)
+nobase_fcd_swig_scm_DATA = \
+ gnuradio/fcd_swig.scm \
+ gnuradio/fcd_swig-primitive.scm
+libguile_gnuradio_fcd_swig_la_LIBADD = \
+ $(STD_SWIG_LA_LIB_ADD) \
+ $(fcd_swig_la_swig_libadd)
+libguile_gnuradio_fcd_swig_la_LDFLAGS = \
+ $(STD_SWIG_LA_LD_FLAGS) \
+ $(fcd_swig_la_swig_ldflags)
+libguile_gnuradio_fcd_swig_la_CXXFLAGS = \
+ $(STD_SWIG_CXX_FLAGS) \
+ -I$(top_builddir) \
+ $(fcd_swig_la_swig_cxxflags)
+
+guile/fcd_swig.cc: gnuradio/fcd_swig.scm
+gnuradio/fcd_swig.scm: fcd_swig.i
+gnuradio/fcd_swig-primitive.scm: gnuradio/fcd_swig.scm
+
+# Include the guile dependencies for this file
+-include guile/fcd_swig.d
+
+endif # end of GUILE
diff --git a/gr-fcd/swig/fcd_swig.i b/gr-fcd/swig/fcd_swig.i
index 8b240fc357..a565fb895d 100644
--- a/gr-fcd/swig/fcd_swig.i
+++ b/gr-fcd/swig/fcd_swig.i
@@ -1,6 +1,29 @@
/* -*- c++ -*- */
+/*
+ * Copyright 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 "gnuradio.i" // the common stuff
+%include "gnuradio.i"
+
+//load generated python docstrings
+%include "fcd_swig_doc.i"
%{
#include "fcd_source_c.h"
diff --git a/gr-fcd/swig/run_guile_tests.in b/gr-fcd/swig/run_guile_tests.in
new file mode 100644
index 0000000000..5d08b0dd53
--- /dev/null
+++ b/gr-fcd/swig/run_guile_tests.in
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+. @top_builddir@/setup_guile_test_env
+
+# 1st argument is absolute path to hand coded guile source directory
+# 2nd argument is absolute path to component C++ shared library build directory
+# 3nd argument is absolute path to component SWIG build directory
+
+add_local_paths \
+ @srcdir@ \
+ @abs_builddir@ \
+ @abs_builddir@
+
+@GUILE@ -e main -c '(use-modules (gnuradio test-suite guile-test))' -t @srcdir@