This is the script that does the dirty work:

https://bitbucket.org/vbraun/libgap/src/e3a3adc06dd8/spkg/libGAPify.py

C doesn't have namespaces, its a C++ feature. Of course thats would be a 
good solution, but not for GAP which is written in (pre-ansi) C. Other good 
solutions are only exporting the functions that you know you need using 
__attribute__ visibility but that requires some foresight to what will be 
useful in the shared library ;-)





On Sunday, September 23, 2012 2:57:43 PM UTC+1, John Cremona wrote:
>
> About prefixing symbols:  is there an automatic way to do this or is 
> it a question of editing all source files (tedious and prone to 
> error)?  And how does it related to using namespaces? 
>
> John 
>
> On 23 September 2012 14:48, mmarco <mma...@unizar.es <javascript:>> 
> wrote: 
> > I am really excited about this. My vote would be a big +1. 
> > 
> > I guess that, at least for a (long) while, both gap interfaces will 
> > coexist, since lot of code deppends on the old pexpect one. But the 
> > speed difference is so big that i think it would be worth the effort 
> > of porting old code to the new interface. 
> > 
> > On 23 sep, 15:40, Volker Braun <vbraun.n...@gmail.com> wrote: 
> >> LibGAP (the C library interface to GAP) is finally usable and ready to 
> be 
> >> released into the wild! We will ship it as a separate spkg since 
> >>   * Upstream doesn't build a shared library 
> >>   * The build system is replaced by standard autotools 
> >>   * To avoid symbol collisions every gap function and global variable 
> is 
> >> renamed with a libGAP_ prefix 
> >>   * We add hooks to input/output, error handling, and the GAP memory 
> >> manager. 
> >> 
> >> Actually, prefixing the symbols in a library might be a good idea in 
> other 
> >> libraries that were not originally written with sharing in mind. If two 
> >> functions have the same name in two shared libraries, then (at least on 
> >> Linux) the first one wins which is almost certainly not what the second 
> >> library wants. LibGAP does the prefixing with a script using the python 
> ply 
> >> module to identify the globals. 
> >> 
> >> Per the usual rules, new spkgs need a vote so now is your chance to be 
> >> heard ;-) 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups "sage-devel" group. 
> > To post to this group, send email to 
> > sage-...@googlegroups.com<javascript:>. 
>
> > To unsubscribe from this group, send email to 
> sage-devel+...@googlegroups.com <javascript:>. 
> > Visit this group at http://groups.google.com/group/sage-devel?hl=en. 
> > 
> > 
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To post to this group, send email to sage-devel@googlegroups.com.
To unsubscribe from this group, send email to 
sage-devel+unsubscr...@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel?hl=en.


Reply via email to