On Mon, Nov 18, 2013 at 8:51 AM, Ben Pfaff <b...@nicira.com> wrote:
> On Mon, Nov 18, 2013 at 08:42:12AM -0800, Gurucharan Shetty wrote:
>> On Mon, Nov 18, 2013 at 8:30 AM, Ben Pfaff <b...@nicira.com> wrote:
>> > On Mon, Nov 18, 2013 at 07:43:28AM -0800, Gurucharan Shetty wrote:
>> >> windefs.h will be included inside config.h. Since config.h
>> >> should ideally be included by all the header files, windefs.h
>> >> will automatically be included while compiling on windows.
>> >> The file is eventually expected to have some typedefs
>> >> and #defines to make code compile on windows.
>> >>
>> >> Signed-off-by: Gurucharan Shetty <gshe...@nicira.com>
>> >
>> > I have mixed feelings about this because it starts to mix platform and
>> > compiler dependencies.  If one were to use GCC (from mingw) as the
>> > compiler, then the "typedef char bool;" would not help, it would
>> > actually prevent compiling.  In fact, I'm not sure how it helps with
>> > MSVC, since presumably that compiler doesn't have <stdbool.h> and will
>> > complain when we try to include it?
>>
>> The way the windows port (which is a work in progress) is structured
>> right now in an internal repo is
>> to have the following headers in include/windows. Most of the files
>> are empty to prevent compiler complaints. I guess, it also helps to
>> prevent multiple #if WIN32 in the .c files of the upstream repo.
>
> That's reasonable in some cases, I agree.  But in this particular case I
> think it would be better to simply create a stdbool.h that implements
> what C99 wants in that header (which is "bool" and "true" and "false"
> and another macro).  I think that, if we can implement individual
> headers in a straightforward way, then it is generally better to do that
> than to throw everything into a single header that is auto-included via
> config.h.

Okay. I will abandon this patch till a later time when it may actually
be needed.
>
> ...
>
>> Now, without those header files and some changes in the .c files, any
>> of the patches that I supplied in this patch series won't successfully
>> compile using the visual c++ compiler. My idea was mainly to send in
>> patches that does not hurt the compilation in any other platforms
>> (i.e., linux or freebsd) and also prep the structure of the upstream
>> repo so that other code can move in.
>>
>> Do you feel that individual patches for the windows port should
>> compile when using the visual c++ compiler.
>>
>> Also, as you mentioned, if we use gcc in mingw, that will be a
>> problem. Do you have a nicer idea?
>
> Well, do you have an opinion whether the port should support Windows as
> a platform or specifically Windows-on-MSVC as a platform?  I haven't
> been sure what the exact goal is; if it's only to support MSVC, then
> worrying about GCC is moot and I'll stop doing that.

I haven't thought about the larger picture about support for gcc. I
guess, it does not hurt to make the port such that it will work both
on 'gcc' and 'visual c++'. But if it gets uglier and harder, may be we
can take a call later.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to