[Scons-users] scons: windows architecture mapping tables

Mats Wichmann mats at wichmann.us
Tue May 7 10:27:07 EDT 2019


By accident I again ended up seeing the architecture tables for
Windows/Visual Studio.  I had made some changes in the past guessing at
support for newer things (arm appeared a while ago, and 64-bit arm in, I
think VS2017).  They are out of sync, but I don't really know what I'm
doing here, and don't know if that actually breaks anything. I'm just
here from inspection, not through chasing a known problem. Hoping
someone else knows this stuff better and has comments.

There are actually three tables (unless there are more I have missed).


src/engine/SCons/Tool/MSCommon/arch.py  and
src/engine/SCons/Platform/win32.py

have identically named facilities, and ArchDefinition class and a
SupportedArchitectureList and SupportedArchitectureMap

not sure it's a great idea for there to be two copies of the same thing,
as they can get out of sync - in fact, they are out of sync. Both use
"x86_64" as the name for that architecture; the former includes "arm",
the latter does not; neither includes "aarch64" for 64-bit ARM.

src/engine/SCons/Tool/MSCommon/vc.py

has an _ARCH_TO_CANONCIAL dict which defines the canoncial name "amd64"
instead of "x86_64" - I know this is what Microsoft likes to call it;
does it matter that the other two use "x86_64", or is that the "scons
name" for the architecture?   That dict does define both arm and aarch64.



More information about the Scons-users mailing list