Hi David,
David H. wrote:
I notice that the standard way to build a Win64 port is to use MinGW/ Cygwin. I am interested in a "native" Win64 port which makes the necessary calls directly, and I'm willing to create and maintain such a port, so long as I get support from the owners to maintain it with the main branch.
Thanks for the offer. More below...
I see that one of the requirements is to create a minimal diff. This is certainly understandable, but creating thread library portability entails touching every reference to pthreads in the codebase. Since pthreads and Windows threads have similar structure, it seems that we need only create a very thin abstraction layer and change the main codebase to use that instead (we could probably get away with macros to eliminate any abstraction penalty). Would this be an acceptable way to proceed?
I think the challenge in the past was memcached is C99 based, and the 'native' compilers on Windows don't support C99. This means, potentially, a bunch of conditional compilation, macros or reorganization to keep the code relatively clean.
Have you run into this kind of thing before and been able to do this with a thin layer as you recommend?
Also, do you have concerns with the MinGW approach? Since some time/effort has been put into that already, if there are concerns/issues I'm sure folks would like to hear about them.
Thanks! - Matt
