Hi folks, It's been a while and I'm preparing to drop a patch bomb ;-) so I thought this is a good time to give you all an update on the effort to port Qpid to Windows.
It's gone pretty well, but ended up needing some refactoring of the AsynchIO stuff - trying to wedge Windows overlapped I/O into the trunk scheme was just too twisted and would cause problems forever. There's some refactoring of the AsynchAcceptor stuff still adviseable but not yet done. With that, the client and common pieces are building on Windows, basically. The Windows "shared library" aka a DLL requires specifications of whether symbols are imported or exported. Thus, when building, for example, common, all the class names have to be specified as "export" to make them available to library users (such as client and broker). Conversely, when trying to build against common, the classes have to be marked as "import". I've added the necessary stuff to the common library (and the code generator) to do this. I still have to do it for the client and broker libraries, but it's getting difficult to manage the changes against a moving target on trunk, so here's my plan. I'm updating my trunk on Linux and integrating my changes there and am working to get a clean build and test there, and will then submit the patched and new files via Jira. Hopefully, that can be integrated to get a stake in the ground, and then I and others who've expressed interest in working on the Windows port can jump in and finish adding dll import/export specs and get some real testing underway on Windows. How does that sound? Thanks, -Steve
