Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(451)

Unified Diff: build/detect_host_arch.py

Issue 151143002: Make gyp autodetection of host_arch work for 64-bit kernel and 32-bit userland (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « build/common.gypi ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/detect_host_arch.py
diff --git a/build/detect_host_arch.py b/build/detect_host_arch.py
new file mode 100755
index 0000000000000000000000000000000000000000..754a12e3f4a8c938e70941cf5c5c19671861d7eb
--- /dev/null
+++ b/build/detect_host_arch.py
@@ -0,0 +1,32 @@
+#!/usr/bin/env python
Marc-Antoine Ruel (Google) 2014/01/31 14:47:47 Please rename this script to make this clear this
Paweł Hajdan Jr. 2014/01/31 15:44:04 Done.
+# Copyright 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
Marc-Antoine Ruel (Google) 2014/01/31 14:47:47 """Outputs 'ia32' or 'x64' representing the userla
Paweł Hajdan Jr. 2014/01/31 15:44:04 There's more than bitness so I just wrote about CP
M-A Ruel 2014/01/31 16:04:58 What about arm64?
Paweł Hajdan Jr. 2014/01/31 16:08:35 It just mirrors the previous logic from gyp - anyo
+import platform
+import re
+import sys
+
Marc-Antoine Ruel (Google) 2014/01/31 14:47:47 2 lines
Paweł Hajdan Jr. 2014/01/31 15:44:04 Done.
+def main():
+ host_arch = platform.machine()
+
+ # Convert machine type to format recognized by gyp.
+ if re.match(r'i.86', host_arch) or host_arch == 'i86pc':
+ host_arch = 'ia32'
+ elif host_arch in ['x86_64', 'amd64']:
+ host_arch = 'x64'
+ elif host_arch.startswith('arm'):
+ host_arch = 'arm'
+
+ # platform.machine is based on running kernel. It's possible to use 64-bit
+ # kernel with 32-bit userland, e.g. to give linker slightly more memory.
+ # Distinguish between different userland bitness by querying
+ # the python binary.
+ if host_arch == 'x64' and platform.architecture()[0] == '32bit':
+ host_arch = 'ia32'
+
+ print host_arch
+ return 0
+
+if __name__ == '__main__':
+ sys.exit(main())
« no previous file with comments | « build/common.gypi ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698