aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild')
-rw-r--r--mesonbuild/compilers/c.py2
-rw-r--r--mesonbuild/dependencies/dev.py3
-rw-r--r--mesonbuild/environment.py19
3 files changed, 15 insertions, 9 deletions
diff --git a/mesonbuild/compilers/c.py b/mesonbuild/compilers/c.py
index b523d40..8b46804 100644
--- a/mesonbuild/compilers/c.py
+++ b/mesonbuild/compilers/c.py
@@ -896,7 +896,7 @@ class CCompiler(Compiler):
prefixes = ['lib', '']
# Library suffixes and prefixes
if for_darwin(env.is_cross_build(), env):
- shlibext = ['dylib']
+ shlibext = ['dylib', 'so']
elif for_windows(env.is_cross_build(), env):
# FIXME: .lib files can be import or static so we should read the
# file, figure out which one it is, and reject the wrong kind.
diff --git a/mesonbuild/dependencies/dev.py b/mesonbuild/dependencies/dev.py
index 1e7c3e8..47beb4e 100644
--- a/mesonbuild/dependencies/dev.py
+++ b/mesonbuild/dependencies/dev.py
@@ -310,6 +310,7 @@ class LLVMDependency(ConfigToolDependency):
if not matches:
if self.required:
raise
+ self.is_found = False
return
self.link_args = self.get_config_value(['--ldflags'], 'link_args')
@@ -326,6 +327,8 @@ class LLVMDependency(ConfigToolDependency):
except DependencyException:
if self.required:
raise
+ self.is_found = False
+ return
link_args = ['--link-static', '--system-libs'] if self.static else ['--link-shared']
self.link_args = self.get_config_value(
diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
index e872ba7..83a2f40 100644
--- a/mesonbuild/environment.py
+++ b/mesonbuild/environment.py
@@ -1052,12 +1052,6 @@ class CrossBuildInfo:
except Exception:
raise EnvironmentException('Malformed value in cross file variable %s.' % entry)
- if entry == 'cpu_family' and res not in known_cpu_families:
- mlog.warning('Unknown CPU family %s, please report this at https://github.com/mesonbuild/meson/issues/new' % value)
-
- if entry == 'endian' and res not in ('little', 'big'):
- mlog.warning('Unknown endian %s in cross file' % res)
-
if self.ok_type(res):
self.config[s][entry] = res
elif isinstance(res, list):
@@ -1143,11 +1137,20 @@ class MachineInfo:
raise EnvironmentException(
'Machine info is currently {}\n'.format(literal) +
'but is missing {}.'.format(minimum_literal - set(literal)))
+
+ cpu_family = literal['cpu_family']
+ if cpu_family not in known_cpu_families:
+ mlog.warning('Unknown CPU family %s, please report this at https://github.com/mesonbuild/meson/issues/new' % cpu_family)
+
+ endian = literal['endian']
+ if endian not in ('little', 'big'):
+ mlog.warning('Unknown endian %s' % endian)
+
return MachineInfo(
literal['system'],
- literal['cpu_family'],
+ cpu_family,
literal['cpu'],
- literal['endian'])
+ endian)
class MachineInfos:
def __init__(self):