I've just committed some code that merges a big #ifdef WIN32 ... #else ... #endif block which was quite similar for both the windows and the non-windows parts. (Nevertheless it did contain different bugs/applied bug fixes...) It does work on Linux, but it probably breaks windows compilation as I do not have access to a windows compiler. At least PLUGIN_SUFFIX=\".dll\" is missing from the windows build system now.