
Hi Andrew
2009/12/6 Andrew Coppin
On Windows, it is usual to distribute everything as compiled binaries. (Indeed, for most commercial software, the sources simply aren't available at all.) And users get a binary program and binary DLLs or whatever. Developers get a binary DLL and whatever header files or import libraries are necessary to use it.
Indeed, but the Haskell libraries you want to use are in source form, no? Being a Haskell developer you're at least one step out of the usual, and most of the libraries are coming from developers on Unix so they can't be expected to package things for Windows.
If I'm understanding this correctly, John is saying that GCC requires a different form of import library before you can access a DLL. For binary-only DLLs, this presumably won't be available. Hence the (abnormal) requirement to build the whole library from source, rather than just drop in a DLL and be done with it.
John mentioned pexports in another message. I'd never come across it before - it would seem to improve the situation significantly, certainly for libraries that are more easily compilable with MSVCC like PortAudio, Shiva OpenVG, or where you have a reasonable DLL distributed like SDL. Best wishes Stephen