On Fri, Nov 27, 2009 at 11:23 AM, Marvin Humphrey <[email protected]> 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 Lucy? > 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. --nate
