incubator-lucy-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marvin Humphrey <>
Subject Re: [Lucy] Target platforms
Date Wed, 02 Dec 2009 02:05:48 GMT
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...

... 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

View raw message