← Back to team overview

drizzle-discuss team mailing list archive

Re: Drizzle on MS windows


We took the native MS compile approach when we ported InfiniDB from
Linux to Windows. We chose to use boost as much as possible to provide a
portability layer. When we could not use boost we used the preprocessor
and wrote platform-specific code. Surprisingly, there was not that much
to do. One thing we did was to write a portability library (called
'libwinport.lib') that contains Windows versions of Linux functions that
seemed easier to port rather than #ifdef around. There's not that many
functions in it (one of them is poll()).

I can't tell you that this was the best approach, but it does seem to do
what we needed.

You can see our port library at

-----Original Message-----
From: drizzle-discuss-bounces+rdempsey=calpont.com@xxxxxxxxxxxxxxxxxxx
] On Behalf Of Monty Taylor
Sent: Saturday, July 17, 2010 2:30 PM
To: Jobin Augustine
Cc: drizzle-discuss Discuss
Subject: Re: [Drizzle-discuss] Drizzle on MS windows

On 07/17/2010 02:03 PM, Jobin Augustine wrote:
> Thank you Monty,
> Thats a great news.
> Just curious, why this changes not yet merged.
> already have a setup of MinGW on windows.
> I shall work on that in the coming week.

Cause it doens't fully work yet. And I'm lazy. And a bad person.

But mostly because of the doesn't work yet thing.

>     I had some work done in the libdrizzle code which had it almost
>     compiling natively with mingw. The only part that didn't work was
>     poll() call, which doesn't exist on Windows. I think a single
>     around poll() to use WSAPoll instead on windows isn't terrible.
>     than that, there were a few places where we need to #include
>     I'm not worried about linking cygwin.dll. I see cygwin as mainly a
>     source-target for people already using cygwin... not really as a
way to
>     ship a binary version of libdrizzle.
>     But check out lp:~mordred/libdrizzle/mingwport
>     It doesn't work yet, but gives you an idea of where I was going.
You can
>     either do it in a mingw setup on windows, or you can cross-compile
>     linux (if you have mingw and mingw-pthreads installed) by doing:
>     ./configure --build=x86_64-unknown-linux-gnu
>     Monty

Mailing list: https://launchpad.net/~drizzle-discuss
Post to     : drizzle-discuss@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help   : https://help.launchpad.net/ListHelp