From 6635484c1391d76648d4602b589eb0c348bfcd74 Mon Sep 17 00:00:00 2001 From: Steven Knight Date: Sat, 28 Nov 2009 06:17:41 +0000 Subject: Fix get_host_target()'s use of platform.machine() on Python versions before 2.6, when it always returns a null string. --- src/engine/SCons/Tool/MSCommon/vc.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/engine/SCons/Tool/MSCommon/vc.py b/src/engine/SCons/Tool/MSCommon/vc.py index 7ccb207..ac6e9b3 100644 --- a/src/engine/SCons/Tool/MSCommon/vc.py +++ b/src/engine/SCons/Tool/MSCommon/vc.py @@ -88,6 +88,11 @@ def get_host_target(env): host_platform = env.get('HOST_ARCH') if not host_platform: host_platform = platform.machine() + # TODO(2.5): the native Python platform.machine() function returns + # '' on all Python versions before 2.6, after which it also uses + # PROCESSOR_ARCHITECTURE. + if not host_platform: + host_platform = os.environ.get('PROCESSOR_ARCHITECTURE', '') target_platform = env.get('TARGET_ARCH') if not target_platform: target_platform = host_platform @@ -95,7 +100,8 @@ def get_host_target(env): try: host = _ARCH_TO_CANONICAL[host_platform] except KeyError, e: - raise ValueError("Unrecognized host architecture %s" % host_platform) + msg = "Unrecognized host architecture %s" + raise ValueError(msg % repr(host_platform)) try: target = _ARCH_TO_CANONICAL[target_platform] -- cgit v0.12