[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
SV: [Discuss-gnuradio] Creating bindings to other langauges forGNURadio
From: |
Robert Varttinen |
Subject: |
SV: [Discuss-gnuradio] Creating bindings to other langauges forGNURadio |
Date: |
Sun, 13 Jan 2008 22:54:38 +0100 |
Thank you for your swift reply,
The language I am planning to experiment in is Java. Thanks for the input, I
think have a starting point now.
I'll post back any findings encountered.... and questions, of course. :-)
//Robert
P.S. Yes, I took a peek at the gnuradio-core and relaised, well, it's alot ....
however, I get to learn about Swig and I'm picking up bits and pieces of
Python. Always exciting learning a new language.
________________________________
Från: Eric Blossom [mailto:address@hidden
Skickat: sö 2008-01-13 22:33
Till: Robert Varttinen
Kopia: address@hidden
Ämne: Re: [Discuss-gnuradio] Creating bindings to other langauges forGNURadio
On Sun, Jan 13, 2008 at 09:39:20PM +0100, Robert Varttinen wrote:
>
> Hi all!
>
> I am experimenting with GNURadio and in particular trying to create
> a binding for another language for a module than
> Python. Unfortunately I am not that proficient, yet, with Swig and
> some of the other tools. After taking a peek at the make files, the
> Swig interface files, etc. it seems a bit of a hurdle to grasp at
> first. Could someone please provide a pointer to some of the entries
> in the files (.i, make-files and others?) of a module (small one) so
> I can work out the details for my experiments ...
Sorry, there really aren't any small ones[1]. For gnuradio-core, it all
gets pulled together in gnuradio-core/src/lib/swig. We build
5 separate modules that are logically a single entity. (We used to
build them as a single entity, but the 6MB of generated C++ code got a
bit too large for people with < 512MB to compile).
The first module to study is gnuradio.i which gets compiled into
gnuradio_swig_py_runtime.*. It contains the base of the inheritance
hierarchy.
You'll want to spend some quality time with the swig documentation.
The main things to study are the overview, C, C++ and Python chapters.
We don't do anything fancy with typemaps. We mostly avoid those
problems by designing our C++ interfaces to be "SWIG friendly".
What's your other language?
Let us know when you've got more questions :)
Eric
[1] Actually, there are a few small ones, but I don't think they'll
help you get going. You could look at gr-audio-alsa/src/audio_alsa.i,
but it has a dependency on gnuradio.i, so you're back to
gnuradio-core/src/lib/swig/gnuradio.i