(GSoC) Compiling and loading gEDA/gschem plugin [was: Re: gsoc - gnucap project]

"[email protected]" <[email protected]>
Newsgroups gmane.comp.gnu.gnucap.devel
Message-ID <CABYfvgCS5rrjNYLx9ZuApKOSy79pLNsVHc2d21rO7CHWRWw9Pg@mail.gmail.com>
On Tue, Aug 7, 2012 at 8:53 PM, al davis <[email protected]> wrote:

> I downloaded your files, and compiled with this Makefile:
> ===========================
> all: geda.so d_net.so lang_geda.so d_place.so
>
> geda.so: d_net.cc lang_geda.cc
>         g++ -I ./include  -shared -fPIC -o geda.so d_net.cc lang_geda.cc d_place.cc
>
> d_net.so: d_net.cc
>         g++ -I ./include  -shared -fPIC -o d_net.so d_net.cc
>
> d_place.so: d_place.cc
>          g++ -I ./include  -shared -fPIC -o d_place.so d_place.cc
>
> lang_geda.so: lang_geda.cc
>          g++ -I ./include  -shared -fPIC -o lang_geda.so lang_geda.cc
> ===========================
>
> One compile error .. lang_geda.cc:156 .. I put "GEDA_DATA" in quotes,
> which I know is wrong, but it compiled.

A macro is required to check whether gEDA is installed and get the
symbols directory.
compile lang_geda.cc using the following

g++ -DHAVE_GEDA -shared -fPIC -o lang_geda.so lang_geda.cc
$(pkg-config --cflags gtk+-2.0)

and then loading in gnucap
gnucap> load ./lang_geda.so

Checking for gEDA installation and getting the path of symbols
directory is done by Felix[1] and I think it is good to do it this way
rather than tag along the symbols folder in gnucap (that was naive).

"make lang_geda.o" also should work but I can't load it as a plugin. I get

gnucap> load ./lang_geda.o
load ./lang_geda.o
     ^ ? ./lang_geda.o: only ET_DYN and ET_EXEC can be loaded

I think makefile doesn't compile with -shared flag and hence the issue.


[1]: http://lists.gnu.org/archive/html/gnucap-devel/2012-07/msg00001.html

--
Savant Krishna | Junior Undergraduate | Electrical Engineering | IIT Bombay
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.