diff options
author | John Ericson <git@JohnEricson.me> | 2018-10-06 00:53:02 -0400 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2018-10-14 20:20:06 +0300 |
commit | 4efb361d475871064057fd698dcd1b7ef5146332 (patch) | |
tree | 1cb3ebe717990f48ca30071d51655962c8419be1 /mesonbuild/environment.py | |
parent | 2d5e2142e9b129c12e77a66a969c21cb6493b981 (diff) | |
download | meson-4efb361d475871064057fd698dcd1b7ef5146332.zip meson-4efb361d475871064057fd698dcd1b7ef5146332.tar.gz meson-4efb361d475871064057fd698dcd1b7ef5146332.tar.bz2 |
Move some cross file parsing validition to MachineInfo
This is a domain-specific validation not tied to the surface syntax, so
it belongs here in the pipeline.
Diffstat (limited to 'mesonbuild/environment.py')
-rw-r--r-- | mesonbuild/environment.py | 19 |
1 files changed, 11 insertions, 8 deletions
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): |