[Xcb] Status of XCB and howto begin

Bernardo Innocenti 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.

>>  https://bugs.freedesktop.org/show_bug.cgi?id=2607
> 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
> tree.

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.
\X/  http://www.develer.com/

More information about the Xcb mailing list