I'm forwarding Vadim's take on this. Short version (and I agree):
nothing is broken by having WIN32 defined, so it's probably best to
leave things as they are.
-------- Forwarded Message --------
From: Vadim Zeitlin <***@tt-solutions.com>
Date: Tue, 9 Mar 2010 00:45:10 +0100
That's not the issue. What I don't know is what to do with WIN32 in x86
builds -- either keep it (bad, because it somehow breaks x64 builds?)
No, it doesn't break them AFAIK but I just thought that it would be
inconsistent to define WIN32 but not WIN64 and I didn't think that we
needed to define the latter.
or remove it from both projects and makefiles (bad, because different
from native vcprojs)
Agreed, we really should create the projects as close to the native ones
or keep it in projects and remove from makefiles (bad,
because inconsistent between different ways of using VC -- IIRC you
disliked this in other situations)....
Yes, it's probably better to avoid this without any good reason.
Anyhow, AFAICS you can't create a new X64 project with MSVC (at least 9, I
didn't test 10 yet but as it uses MSBuild it's probably irrelevant to this
discussion anyhow). It always creates Win32 projects and then you can add
x64 platform to them but you must copy settings from win32 one when doing
it. And this means that it doesn't have WIN64 defined by default, only
the same usual WIN32. Of course, _WIN64 will be predefined by the compiler
in any case (and so will be _WIN32).
So finally I think that bakefile just shouldn't bother doing anything
special at all for msvs200xprj formats. It must keep WIN32 to be compatible
with native projects but it doesn't need to define WIN64 for this and there
doesn't seem any reason to do it anyhow. And then, for compatibility
between projects and makefiles, we don't need to define it for makefiles
Am I missing anything?
P.S. Please feel free to forward this to the ML if you think it can be