On 8/19/07, Colin Finck mail@colinfinck.de wrote:
These changes were made to properly compile ReactOS under a Mac OS X host. They have nothing to do with MSVC or the Microsoft SDK headers.
Sorry I was not clear about what I meant in my rant and sounded bitchy
Mac OS X defines its own wchar_t type in "ctype.h". But it uses _WCHAR_T for reporting that the type has been defined and not _WCHAR_T_DEFINED like Windows does. This is why I needed to add a handling for _WCHAR_T in "winnt.h". But if "ctype.h" is now included before "winnt.h", these changes don't have any effect. This is why I changed the header order.
Of course, there might be other "solutions" to this problem (like adding all possible definitions that wchar_t has been defined into the Makefile), but this is the simplest one. And I see no reason not to do this for fixing this problem.
It makes anyone doing a diff have more stuff to have to workaround. There are constantly minor updates and fixes to the unicode tables in Wine because Microsoft did not just generate them from the uncode.org spec but added a bunch of stuff. Wine currently builds on OS X with the header order as it stands and figures out someway around it. I guess its using a define in the makefile for _WCHAR_T generated by configure or something. I have not looked so don't quote me on that. I don't really care if you want to change it to make it less of a hassle to build on OS X for ReactOS but its just going to break again next time someone syncs the unicode lib so its better if you can work around it in the makefile.