Hi: I looked into the possibility of cross-compiling qpid tools and the libraries to Windows, using our Fedora-MinGW cross-compiler. To that end I have been looking at the dependencies, and the build system of qpid itself.
Unfortunately it took longer than I expected to port the dependencies, so I'm out of time on this project for now ... But hopefully these notes should help anyone who wants to get restarted on this, or I might have time later to continue this. About Fedora MinGW ------------------ First of all, an introduction to the project: The Fedora MinGW project aims to bring a full-featured cross-compiler AND a rich set of cross-compiled libraries and development tools to Fedora. Our home page is here: http://fedoraproject.org/wiki/MinGW List of libraries we have ported so far (slightly out of date): http://www.annexia.org/fedora_mingw We want to encourage Unix devs to routinely cross-compile for Windows, so that they don't "break the build" for Windows, and can supply binaries to Windows users. For Fedora 11 (April or May 2009) our target is to have a Win32 cross-compiler and about 30-40 libraries, mainly C libraries. For Fedora 12 (end of 2009) we are looking at having Win64 and Darwin (Mac OS X) targets, and more libraries. For Fedora 13 and beyond (2010) we will expand the number of libraries. We are also backporting some libraries (on demand) to Red Hat Enterprise Linux 5 via EPEL, and to Fedora 10. We also maintain an external repository which has many more libraries (about 80 in total), but the rate at which we can get libraries approved for Fedora is relatively slow. Join the project by subscribing to our mailing list: https://admin.fedoraproject.org/mailman/listinfo/fedora-mingw QPid work --------- The dependencies that we had cross-compiled already: - C++ toolchain based on GCC 4.3, binutils 2.19.1 - boost (1.34) The dependencies that I have cross-compiled just for qpid: - NSPR [1] - NSS - Xerces-C (2.8.0) - XQilla (2.2.0) The dependencies we think we will need: - <uuid/uuid.h> "sublibrary" from e2fsprogs - corosync (?) - cmanlib (?) Dependencies we probably don't need: - libibverbs - librdmacm Problematic: - Cyrus SASL (we have tried to port this library before without success) We intend to use the existing autoconf build chain, since autoconf understands cross-compilation very well. However it appears we will need to modify it so that it compiles the Windows platform dependencies instead of the Linux/Unix ones. Rich. [1] Unfortunately there is a threading problem with the way this library has been compiled which means the Thread Local Storage declspec isn't honoured properly -- should be relatively easy to fix. -- Richard Jones, Emerging Technologies, Red Hat http://et.redhat.com/~rjones virt-top is 'top' for virtual machines. Tiny program with many powerful monitoring features, net stats, disk stats, logging, etc. http://et.redhat.com/~rjones/virt-top --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:[email protected]
