This week my coding cave was surrounded by a mob of pitchfork and torch wielding Windows users, demanding their long-delayed netCDF-4 DLLs. I sent my laboratory assistant Igor out to try and placate the angry townspeople, and set to work on the DLLs.
The idea has been to generate the windows DLLs on my usual Linux power box, spock. This is done with the mingw32 cross compiler. Mingw32 is a minimalistic port of Linux to Windows, and it has the capability of building Windows DLLs. Cross-compiling to mingw32 means that I don't even do this on a Mingw32 system, I do it on a Fedora Linux system, and just tell the compiler that, instead of compiling to run on Fedora, instead compile to run on mingw32.
To cap it all off, the DLLs are then tested by compiling and running the test programs, using Wine, the windows emulator for Unix.
It's quite a setup, but worth it to be able to produce DLLs without maintaining a separate build system for Windows only!
Now the DLLs are being generated and passing tests with the daily snapshot release. Next step: better packaging of the results for windows users. To see the current results, search for "ming" on the snapshot test page.