
I think there are some misapprehensions here:- many haskell packages binding to c libraries will compile with ghc without problems on windows - without cygwin, without mingw/msys system. Some such packages build "out of the box" on windows, like the zlib package which contains the c source for the c zlib library. GHC is able to compile and build this packages without any other c compiler/libraries/unix emulators etc because ghc itself contains part of the gcc c compiler tool chain and comes with all c standard headers, c++ headers and c/c++ runtime libraries. Other packages such as SDL package are relatively straightforward to build on windows - all that is required is to have an import library corresponding to your dll (or static lib) and the headers. You then update the library path field in the cabal file and include path. There is only one gotch-ya - you need to have a import library for the gcc tool chain (thats what ghc uses) i.e. a ".a" library and not the native windows ".LIB" import library. If you don't have ".a" import library but have the dll then the '.a' import library be built for any dll relativley easily. The correct '.a' import libraries and the libraries themselves for many standard unix/gnu packages can be found under the gnuwin32 project. Many unix libraries provide a windows build based on the mingw port of the gcc tool chain which will contain the correct import library. the bigest problem hamperring cleaner builds of haskell packages on windows is the lack of any standardised scheme for the installation of c-libraries and header files (and of course the availability of a suitable build of the library) Another problem hampering the install of haskell packages on windows is the use of the unix autoconf build system (./configure) , for which there is no substitute on windows other than cygwin and to lesser extent msys/mingw, this problem could be obviated by the provision of a standard win32 conf (forgetting about win64 for the moment) - package writters note!
Date: Sat, 5 Dec 2009 20:58:14 +0000 Subject: Re: [Haskell-cafe] Low Level Audio - Writing bytes to the sound card? From: stephen.tetley@gmail.com To: Haskell-Cafe@haskell.org CC:
Hi Andrew
2009/12/5 Andrew Coppin
: I don't think it should be necessary to install a Unix emulator just so that I can write Windows programs. Maybe others disagree.
...
I'm by no means an expert here, but isn't it usual for C libraries on Windows to be supplied as a compiled DLL and a header file for using it? I don't quite understand why you need a C compiler.
The thing is, all the bindings on Hackage (or at least something most likely above 95%) are to "Unix" C libraries so you need a C compiler and a Unix emulator to use them. I do have have some sympathy with your point though - it is possible to get things to compile once you have Cygwin, but deployment on any other machine Windows thereafter is 'challenging' to say the least.
Apparently there is some talk of removing OpenGL from the Haskell Platform. And if this happens, it'll be one more thing I can't use on Windows. :-(
I didn't realise until I looked today that OpenGL was in the Haskell Platform. If the proposal to remove it is from Sven Panne then fair enough, otherwise it would be a bit disappointing - it always "just worked" when it was part of GHCs extralibs...
Best wishes
Stephen _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
_________________________________________________________________ If It Exists, You'll Find it on SEEK Australia's #1 job site http://clk.atdmt.com/NMN/go/157639755/direct/01/