diff options
author | Johnathan Corgan <jcorgan@corganenterprises.com> | 2012-03-08 16:53:03 -0800 |
---|---|---|
committer | Johnathan Corgan <jcorgan@corganenterprises.com> | 2012-03-09 11:02:35 -0800 |
commit | 15b215a42472c478a8b45e1be293de3eca6d2ee9 (patch) | |
tree | ed3fd1322dc72eb2e12a9214028b6cd1f6346da0 /gr-fcd/swig | |
parent | 7361ce25f30ddfcc7538fec4a8b4cb9044201a03 (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.am | 57 | ||||
-rw-r--r-- | gr-fcd/swig/Makefile.swig.gen | 42 | ||||
-rw-r--r-- | gr-fcd/swig/fcd_swig.i | 25 | ||||
-rw-r--r-- | gr-fcd/swig/run_guile_tests.in | 14 |
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@ |