On Sat, Nov 28, 2009 at 08:41:53PM -0600, Peter Karman wrote: > FWIW, we make Win32 DLLs and .exe available for each Swish-e release by > cross-compiling with mingw32 on debian-based systems (I do it on ubuntu):
I don't think this could work for us because of the memory mapping requirement. The version of FSFileHandle I'm about to submit uses MapViewOfFile from windows.h directly. To the best of my knowledge, MinGW doesn't provide sys/mman.h... http://lists.freedesktop.org/archives/fontconfig/2006-January/001919.html ... and we need either one or the other of those headers. However, I am curious about MinGW in a different regard. Since Lucy currently compiles on both GCC and MSVC, we shouldn't have any trouble compiling with MinGW on Windows directly -- no need to cross-compile. I believe you can specify which C runtime DLL to link against with MinGW, right? So it would be possible to prepare binaries which link against MSVCRT.DLL rather than e.g. MSVCR80.DLL. That's very important, since every Windows box already has MSCVRT.DLL on it, but many do *not* have later versions. With KinoSearch, I haven't had to worry about such things because I've made sure that it adhered to strict C89 syntax -- and since KS has been so easy to compile, others have always been able to build the necessary packages without much assistance from me. If we're going to make Lucy harder to compile, we'll have to start worrying about such issues ourselves. > That said, I'm happy to support Marvin's desire for MSVC a compatibility > target (esp since I haven't had to write any relevant code! ;) ). So long as there's someone willing to step up and write the required Charmonizer code and limited OS-specific stuff, Lucy developers working mainly within trunk/core don't have to bear too heavy a burden. Marvin Humphrey
