Re: On the cost of libraries



On Mon, 3 Sep 2001, Daniel Veillard wrote:

> 
>   First I completely agree with the need to have an explicit
> declaration of symbols made extern.
> 
> On Sun, Sep 02, 2001 at 09:22:20PM -0400, Owen Taylor wrote:
> > The normal approach on windows is something on the order of:
> > 
> >  G_EXTERN void my_function_to_export ();
> > 
> > Rather ugly, but certainly explicit. 
> > 
> > (For the GTK+ libraries, we actually have separately maintained .defs
> > files to keep track of exports for the Windows port - which is in no
> > way good, and we need to get away from one way or the other.)
> 
>   Same for libxml/xslt they manually keep a ref file and I break
> it each time I add an new API entry point :-\

The unix situation is different in that you should keep a list of symbols
not to export. 

>   Also we had quite a bit of discussion about this and on Windows
> it seems just having a single EXTERN declaration wasn't completely
> sufficient (don't ask me why :-)
> 
>   All in all we need a solution to this problem, and we should have
> it implemented in Gnome2. I'm waiting for a candidate solution to propose
> to my Windows maintainer :-)
> 

Well, it should be possible to have a script that updated the symbol lists
based on nm output. It could be combined with something that compared that
output to what was published in a set of headers to discriminate between
'public symbol, mark global' and 'unknown symbol, mark local'. 

> Daniel
> 
> -- 
> Daniel Veillard      | Red Hat Network http://redhat.com/products/network/
> veillard redhat com  | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
> http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/
> 
> _______________________________________________
> gnome-hackers mailing list
> gnome-hackers gnome org
> http://mail.gnome.org/mailman/listinfo/gnome-hackers
> 
> 

	Sander

I haven't been vampired. You've been Weatherwaxed.






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]