I was compiling the tests on MSVC (hence my patch), and the gdi32test wouldn't compile with the Wine headers (but would with MSVC's). The problem can be traced back to the absence of STRICT in windef.h. With the closure of bug #90 (compilation with -DSTRICT), I think it would make sense to define it in a header (windef.h seems logical), with an ifdef NO_STRICT provision (see the attached proposed patch). This would allow to remove all -DSTRICT on compilation command lines.
I await your comments on it.
Vincent
--- wine-20021206-1700/include/windef.h 2002-10-23 20:47:38.000000000 -0400 +++ wine-20021206-1700/include/windef.h 2002-12-07 16:34:02.000000000 -0500 @@ -28,6 +28,12 @@ #ifndef WINVER #define WINVER 0x0500 #endif + +#ifndef NO_STRICT +#ifndef STRICT +#define STRICT +#endif /* STRICT */ +#endif /* NO_STRICT */
#include "winnt.h"
On Sat, 7 Dec 2002, Vincent Béron wrote: [...]
I await your comments on it.
[...]
+#ifndef NO_STRICT +#ifndef STRICT +#define STRICT +#endif /* STRICT */ +#endif /* NO_STRICT */
I did not know this was in the Windows headers but it is. Thus I think it makes sense to add it to 'windef.h' (with a bit of indentation for the #ifdefs).
I suppose Winelib applications would need it. The only question is whether the Wine code should rely on it too: it's not very clean in that if you don't #inlude <windef.h> (directly or indirectly) then -DSTRICT is not turned on.
But I'm not sure Wine has files that don't include windef.h at some point since windef.h is relatively low level.