Return-Path: Delivered-To: apmail-lucene-lucy-dev-archive@minotaur.apache.org Received: (qmail 49038 invoked from network); 27 Nov 2009 20:51:37 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 27 Nov 2009 20:51:37 -0000 Received: (qmail 64684 invoked by uid 500); 27 Nov 2009 20:51:37 -0000 Delivered-To: apmail-lucene-lucy-dev-archive@lucene.apache.org Received: (qmail 64627 invoked by uid 500); 27 Nov 2009 20:51:37 -0000 Mailing-List: contact lucy-dev-help@lucene.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: lucy-dev@lucene.apache.org Delivered-To: mailing list lucy-dev@lucene.apache.org Received: (qmail 64617 invoked by uid 99); 27 Nov 2009 20:51:37 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 27 Nov 2009 20:51:37 +0000 X-ASF-Spam-Status: No, hits=1.2 required=10.0 tests=SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (nike.apache.org: local policy) Received: from [209.85.216.188] (HELO mail-px0-f188.google.com) (209.85.216.188) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 27 Nov 2009 20:51:29 +0000 Received: by pxi26 with SMTP id 26so1340280pxi.21 for ; Fri, 27 Nov 2009 12:51:07 -0800 (PST) MIME-Version: 1.0 Received: by 10.142.6.17 with SMTP id 17mr153048wff.257.1259355067256; Fri, 27 Nov 2009 12:51:07 -0800 (PST) In-Reply-To: <20091127192345.GF10004@rectangular.com> References: <4B0FEA31.8030902@peknet.com> <20091127174749.GC10004@rectangular.com> <65d3176c0911271021v2187cb6drf408df6eb84c19cf@mail.gmail.com> <20091127192345.GF10004@rectangular.com> Date: Fri, 27 Nov 2009 12:51:07 -0800 Message-ID: <65d3176c0911271251i865e09fhf3bd91dc8fef188a@mail.gmail.com> Subject: Re: Target platforms From: Nathan Kurz To: lucy-dev@lucene.apache.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org 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 tha= t > means supporting MSVC. =C2=A0E.g. I want somebody's platform-portable wik= i 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 br= ight > dividing line with everybody on one side. =C2=A0:) 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