diff options
Diffstat (limited to 'mesonbuild')
-rw-r--r-- | mesonbuild/compilers/c.py | 2 | ||||
-rw-r--r-- | mesonbuild/dependencies/dev.py | 3 | ||||
-rw-r--r-- | mesonbuild/environment.py | 19 |
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): |