aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2018-10-21 23:49:34 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2018-10-25 19:44:16 +0300
commit0a217f40d717a1a0c2c7207ca494d314faba5106 (patch)
tree4fb6e2b47073322842a7a26972b0b203c70bc677 /mesonbuild
parent2256e6314b610b8f6645d0c5384536001ddeccf9 (diff)
downloadmeson-0a217f40d717a1a0c2c7207ca494d314faba5106.zip
meson-0a217f40d717a1a0c2c7207ca494d314faba5106.tar.gz
meson-0a217f40d717a1a0c2c7207ca494d314faba5106.tar.bz2
Detect powerpc processors on FreeBSD. Closes #4397.
Diffstat (limited to 'mesonbuild')
-rw-r--r--mesonbuild/environment.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
index 101d386..c1a3654 100644
--- a/mesonbuild/environment.py
+++ b/mesonbuild/environment.py
@@ -211,6 +211,19 @@ def detect_cpu_family(compilers):
return 'arm'
if trial.startswith('ppc64'):
return 'ppc64'
+ if trial == 'powerpc':
+ # FreeBSD calls both ppc and ppc64 "powerpc".
+ # https://github.com/mesonbuild/meson/issues/4397
+ try:
+ p, stdo, _ = Popen_safe(['uname', '-p'])
+ except (FileNotFoundError, PermissionError):
+ # Not much to go on here.
+ if sys.maxsize > 2**32:
+ return 'ppc64'
+ return 'ppc'
+ if 'powerpc64' in stdo:
+ return 'ppc64'
+ return 'ppc'
if trial in ('amd64', 'x64'):
trial = 'x86_64'
if trial == 'x86_64':