Movatterモバイル変換


[0]ホーム

URL:


Google Git
Sign in
chromium /chromium /src /refs/heads/main /. /build /detect_host_arch.py
blob: c9d47e9139fb5dd41b30b3b1208b9ebe7263316f [file] [log] [blame]
Takuto Ikuta3dab32e02023-01-12 18:52:00[diff] [blame]1#!/usr/bin/env python3
Avi Drissman73a09d12022-09-08 20:33:38[diff] [blame]2# Copyright 2014 The Chromium Authors
phajdan.jr@chromium.org25a967e2014-01-31 17:23:56[diff] [blame]3# Use of this source code is governed by a BSD-style license that can be
4# found in the LICENSE file.
5
6"""Outputs host CPU architecture in format recognized by gyp."""
7
Raul Tambre9e24293b2019-05-12 06:11:07[diff] [blame]8
phajdan.jr@chromium.org25a967e2014-01-31 17:23:56[diff] [blame]9import platform
10import re
11import sys
12
13
kaliamoorthi@chromium.orgd6bdd542014-07-09 12:06:21[diff] [blame]14defHostArch():
15"""Returns the host architecture with a predictable string."""
phajdan.jr@chromium.org25a967e2014-01-31 17:23:56[diff] [blame]16 host_arch= platform.machine()
17
18# Convert machine type to format recognized by gyp.
19if re.match(r'i.86', host_arch)or host_arch=='i86pc':
20 host_arch='ia32'
tsergeant9cc67cbe2016-09-29 03:28:24[diff] [blame]21elif host_archin['x86_64','amd64']:
phajdan.jr@chromium.org25a967e2014-01-31 17:23:56[diff] [blame]22 host_arch='x64'
23elif host_arch.startswith('arm'):
24 host_arch='arm'
Pierre Langloisf7b39312017-11-07 14:26:17[diff] [blame]25elif host_arch.startswith('aarch64'):
26 host_arch='arm64'
Wang Qingd25f7cc2018-09-05 06:01:04[diff] [blame]27elif host_arch.startswith('mips64'):
28 host_arch='mips64'
brendan.kirbya321aeb232016-06-15 15:48:03[diff] [blame]29elif host_arch.startswith('mips'):
30 host_arch='mips'
bjaideepd572de42016-09-30 02:07:45[diff] [blame]31elif host_arch.startswith('ppc'):
32 host_arch='ppc'
33elif host_arch.startswith('s390'):
34 host_arch='s390'
35
phajdan.jr@chromium.org25a967e2014-01-31 17:23:56[diff] [blame]36
37# platform.machine is based on running kernel. It's possible to use 64-bit
38# kernel with 32-bit userland, e.g. to give linker slightly more memory.
39# Distinguish between different userland bitness by querying
40# the python binary.
41if host_arch=='x64'and platform.architecture()[0]=='32bit':
42 host_arch='ia32'
Pierre Langloisf7b39312017-11-07 14:26:17[diff] [blame]43if host_arch=='arm64'and platform.architecture()[0]=='32bit':
44 host_arch='arm'
phajdan.jr@chromium.org25a967e2014-01-31 17:23:56[diff] [blame]45
bratell@opera.comd2f389242014-06-06 09:56:44[diff] [blame]46return host_arch
phajdan.jr@chromium.org25a967e2014-01-31 17:23:56[diff] [blame]47
kaliamoorthi@chromium.orgd6bdd542014-07-09 12:06:21[diff] [blame]48defDoMain(_):
49"""Hook to be called from gyp without starting a separate python
50 interpreter."""
51returnHostArch()
52
phajdan.jr@chromium.org25a967e2014-01-31 17:23:56[diff] [blame]53if __name__=='__main__':
Raul Tambre9e24293b2019-05-12 06:11:07[diff] [blame]54print(DoMain([]))

[8]ページ先頭

©2009-2025 Movatter.jp