diff options
author | Xavier Claessens <xavier.claessens@collabora.com> | 2018-12-27 14:44:24 -0500 |
---|---|---|
committer | Xavier Claessens <xclaesse@gmail.com> | 2019-01-16 11:16:46 -0500 |
commit | a92b41fdcd0691c2efc8222be1cb8d3ea1c29aa7 (patch) | |
tree | 8e15ec40983ef01ddba72f8a034469ea47d4f86e /mesonbuild/dependencies/base.py | |
parent | 2f72d4db0921ec3ce7c4cd9803c7af9f4ac776cf (diff) | |
download | meson-a92b41fdcd0691c2efc8222be1cb8d3ea1c29aa7.zip meson-a92b41fdcd0691c2efc8222be1cb8d3ea1c29aa7.tar.gz meson-a92b41fdcd0691c2efc8222be1cb8d3ea1c29aa7.tar.bz2 |
dependencies: Remove version from cache key
We cannot have 2 different versions with all other kwargs being
identical. This simplifies a lot that code.
Diffstat (limited to 'mesonbuild/dependencies/base.py')
-rw-r--r-- | mesonbuild/dependencies/base.py | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/mesonbuild/dependencies/base.py b/mesonbuild/dependencies/base.py index 35237d0..e9f778b 100644 --- a/mesonbuild/dependencies/base.py +++ b/mesonbuild/dependencies/base.py @@ -1984,17 +1984,14 @@ class ExtraFrameworkDependency(ExternalDependency): def get_dep_identifier(name, kwargs, want_cross): - # Need immutable objects since the identifier will be used as a dict key - version_reqs = listify(kwargs.get('version', [])) - if isinstance(version_reqs, list): - version_reqs = frozenset(version_reqs) - identifier = (name, version_reqs, want_cross) + identifier = (name, want_cross) for key, value in kwargs.items(): - # 'version' is embedded above as the second element for easy access + # 'version' is irrelevant for caching; the caller must check version matches # 'native' is handled above with `want_cross` # 'required' is irrelevant for caching; the caller handles it separately # 'fallback' subprojects cannot be cached -- they must be initialized - if key in ('version', 'native', 'required', 'fallback',): + # 'default_options' is only used in fallback case + if key in ('version', 'native', 'required', 'fallback', 'default_options'): continue # All keyword arguments are strings, ints, or lists (or lists of lists) if isinstance(value, list): |