incubator-lucy-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nathan Kurz <>
Subject Re: Target platforms
Date Fri, 27 Nov 2009 20:51:07 GMT
On Fri, Nov 27, 2009 at 11:23 AM, Marvin Humphrey
<> wrote:
>> Making MSVC a first class citizen would be fine if you think the return is
>> there.
> No, as far as I'm concerned MSVC is a compatibility target.
> I think it's important for our users to provide wide portability, and that
> means supporting MSVC.  E.g. I want somebody's platform-portable wiki project
> or MVC framework to be able to integrate Lucy without hesitation.

If the goal is limited to this, would it would to target GCC and
release binary DLL's?  This seems like it would be a significant
simplification. Am I right to presume that there is way to produce
shared libraries with GCC that can be linked to from MSVC?  Are many
of these wiki projects actually likely to include full source for

> MSVC has a couple important C89 limitations: it can't handle
> declaration-after-statement, and it can't handle variadic macros.
> Pure C89 is impossible anyway, because we need directory manipulation and c89
> doesn't specify that.

If we don't take the easy way out above, would a 'by any means
necessary' clause allow us to compile in C++ for MSVC?  I'm not a
user, but a quick web search suggests this would avoid most of the
problems.  It would probably create some of its own problems, but
perhaps they can be dealt with.

>> Requiring C99 might create a natural boundary between legacy and 'modern'.
> Except that nobody actually implements all of C99, so we'd have a nice bright
> dividing line with everybody on one side.  :)

You're right.  My biases were showing through.  What I really meant
was "that subset of C99 that would make our lives easier and the code
clearer".   I'd throw '//' style comments, variadic macros, and
declarations anywhere you want into this mix.  None are necessary, but
all make things a little easier.


View raw message