[Xcb] Status of XCB and howto begin
bernie at develer.com
Wed Feb 8 14:55:39 PST 2006
Alan Coopersmith wrote:
> Bernardo Innocenti wrote:
>> Mesa already implements visibility portably for several
>> compilers. Maybe you could just copy the idea from there.
> Or just use the visibility defines already included in <X11/Xfuncproto.h>
> in Xorg 6.9 and later.
Oops, didn't notice they were already there. To accomodate MSVC
model, each library should have a distinct set of macros like these.
This is because functions need to be flagged "__declspec(dllexport)"
in the library declaring them and "__declspec(dllimport)" elsewhere.
> It probably never will be applied to Xorg CVS in it's current form,
> since it adds a second set of visibility defines, and only works with
> the now-frozen monolithic/imake tree, not the current modular/autotools
I know, I never found the time to update my patch.
> libX11 is also a very risky place to take away defined symbols,
> since there are so many existing applications and so much hackery that
> has occured in the past.
Very true. In fact, I had overlooked a few symbols looked up dynamically
by XLocale. I noticed only because programs using Xt such as xclock and
xcalc printed a warning.
The gain was also not that interesting: only 20-30% of the global
symbols were not meant to be public.
So we could just leave libX11 in peace and hope in a few years
it will be replaced by XCB for most applications.
// Bernardo Innocenti - Develer S.r.l., R&D dept.
More information about the Xcb