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]

Reply via email to