[Xcb] Native win32 port - working (i think :) )

Jeetu Golani jeetu.golani at gmail.com
Fri Apr 18 21:52:42 PDT 2008

Hi guys,

As I've been discussing on this list, I've been working on a win32 port of XCB 
which I think works fairly decently right now. I've thrown it test code from 
the tutorial and those work.

I've been using MinGW on linux and so far I'm statically linking my test code 
with the xcb object files and testing. I've run the autogen script within 
linux to get the environment to a base system from where I've gone on making 
changes. This basically converts all of the XML files into the required C 

I've had to make changes within xcb_conn.c, xcb_utils.c, xcb_in.c and 
xcb_out.c to support win32.

What I would like to do now is to have the Makefile make a DLL - I've never 
used MinGW for this and my knowledge of autotools is rudimentary at 
best....any pointers would be appreciated.

I also need to understand certain segments a little better, namely:

- The XCB tree consists of the directories libXau,  libXdmcp, libxcb, 
proto,pthread-stubs, util, x11proto. I'm using code from libXau and libxcb 
but am not using code from any of the other directories. Should I be?? For 
e.g. I'm using pthread-win32 and so far the code doesn't seem to have 
demanded need for stubs.c (within pthread-stubs).

- I noticed code within libXau with preprocessor directives for things like 
Xthreads, etc. So far i'm not defining anything so this code is probably 
inactive.....what's the right configuration for win32 with the correct 

- MinGW needed the X headers within it's include directory which I supplied 
directly by copying the X headers there (ugly). I think the x11proto make 
mechanism should do that automatically...however I'm not too sure of this and 
how to go abouts making the necessary changes there.

- What is libXdmcp? I don't seem to be using any of it's code. Should i be? 
What're the defines that would enable it?

Basically I've made changes within the core XCB mechanism but I'm not sure of 
how it all should fit in together, the correct defines, making the DLL, 
setting up the autotools mechanism......and a basic understanding of what the 
hell should i do now ;) hahaha

Any help would be appreciated.

Bye for now

More information about the Xcb mailing list