From: Andrew Ross <andrewross@us...> - 2008-09-05 17:06:20
On Fri, Sep 05, 2008 at 08:38:08AM -0700, Alan Irwin wrote:
> Date: Fri, 5 Sep 2008 09:42:15 +0200
> From: Rafael Laboissiere <rafael@...>
> To: PLplot development list <Plplot-devel@...>
> Subject: Re: Exporting the right symbols in libplplot.so
> * Alan W. Irwin <irwin@...> [2008-09-04 16:17]:
> > According to that wiki, the advantages of limiting symbols that are exported
> > is smaller libraries and less loading latency.
> One important additional advantage is that you do not expose users to the
> internal symbols, otherwise they could be tempted to use them, which are
> outside the public API.
> > I would love to see that happen so I agree with Rafael this is well worth
> > doing. However, an alternative implementation would be to follow the
> > cookbook in the above wiki to extend what we currently do for windows in
> > include/pldll.h to handle the gcc case. The obvious advantage of this
> > approach is once include/pldll.h is changed it affects both current API and
> > future API so there is some benefit in terms of not having to maintain an
> > additional file such as included in Rafael's patch whenever we add to our
> > API.
> The separated file containing a list of symbols seems to be the simplest
> approach, but there are others too. See
1) I think this is a good idea and definitely worth pursuing.
2) How does this work with all the language bindings which are in
separate libraries? Some of these use internal functions, for example
the f77 bindings use plfcont. There is probably only a small set of
such functions but it does me we can't just automatically generate the
list from the API documentation.