"Evan Stade" estade@gmail.com writes:
I guess I wasn't clear what I meant by "support." The PSDK headers use C++. So if we allow C++ then C++ programs that are ported to Wine will expect those C++ constructs (namespaces, classes, "enum Status" = "typedef enum Status {} Status"). I can write code that supports the case where __cplusplus is defined, so it's something like "ifdef __cplusplus ... #else ... #endif" but that would require writing C++ code, which I thought was not allowed in Wine.
So do you want me to write C++ code into the headers, or just remove the #ifndef statements?
The headers should support C++ compilation, just like they do on Windows. They don't need to support C compilation where that's not supported on Windows. The exception is things that are required for the gdiplus implementation itself, since that one is in C; but it should only be a small subset of the full headers, and in most cases it can be handled by private definitions inside the gdiplus dll. Any divergence between our headers and the Windows one needs a very good reason.