aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mesonbuild/environment.py19
1 files changed, 14 insertions, 5 deletions
diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
index fa357d8..2ccd31e 100644
--- a/mesonbuild/environment.py
+++ b/mesonbuild/environment.py
@@ -252,13 +252,17 @@ def detect_cpu_family(compilers):
elif trial in ('amd64', 'x64'):
trial = 'x86_64'
- # On Linux (and maybe others) there can be any mixture of 32/64 bit
- # code in the kernel, Python, system etc. The only reliable way
- # to know is to check the compiler defines.
+ # On Linux (and maybe others) there can be any mixture of 32/64 bit code in
+ # the kernel, Python, system, 32-bit chroot on 64-bit host, etc. The only
+ # reliable way to know is to check the compiler defines.
if trial == 'x86_64':
if any_compiler_has_define(compilers, '__i386__'):
trial = 'x86'
- # Add more quirks here as bugs are reported.
+ elif trial == 'aarch64':
+ if any_compiler_has_define(compilers, '__arm__'):
+ trial = 'arm'
+ # Add more quirks here as bugs are reported. Keep in sync with detect_cpu()
+ # below.
if trial not in known_cpu_families:
mlog.warning('Unknown CPU family {!r}, please report this at '
@@ -278,10 +282,15 @@ def detect_cpu(compilers):
# Same check as above for cpu_family
if any_compiler_has_define(compilers, '__i386__'):
trial = 'i686' # All 64 bit cpus have at least this level of x86 support.
+ elif trial == 'aarch64':
+ # Same check as above for cpu_family
+ if any_compiler_has_define(compilers, '__arm__'):
+ trial = 'arm'
elif trial == 'e2k':
# Make more precise CPU detection for Elbrus platform.
trial = platform.processor().lower()
- # Add more quirks here as bugs are reported.
+ # Add more quirks here as bugs are reported. Keep in sync with
+ # detect_cpu_family() above.
return trial
def detect_system():