diff options
author | Oliver Reiche <oliver.reiche@huawei.com> | 2023-11-16 16:41:38 +0100 |
---|---|---|
committer | Oliver Reiche <oliver.reiche@huawei.com> | 2023-11-20 16:01:56 +0100 |
commit | 7f72f33c498ba39f5f4900642b63ec6e89c471e6 (patch) | |
tree | 5e54e249640337422fc4b87d0213ee72a427320c /CC/EXPRESSIONS | |
parent | 16d5cf721477348c77b7735160d257fbd522323f (diff) | |
download | rules-cc-7f72f33c498ba39f5f4900642b63ec6e89c471e6.tar.gz |
defaults: Fix flag inheritance
... which should accumulate values from all base targets
unless the flag type (CFLAGS, CXXFLAGS, or LDFLAGS) is
explicity overwritten by the inheritor.
Diffstat (limited to 'CC/EXPRESSIONS')
-rw-r--r-- | CC/EXPRESSIONS | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/CC/EXPRESSIONS b/CC/EXPRESSIONS index 1f57fcd..c4a3e34 100644 --- a/CC/EXPRESSIONS +++ b/CC/EXPRESSIONS @@ -153,6 +153,19 @@ , "body": {"type": "CALL_EXPRESSION", "name": "provider_list"} } } +, "defaults-base-provides-++": + { "doc": ["Query flattend list of providers from 'base' targets"] + , "vars": ["provider", "default"] + , "vars_doc": + { "provider": ["The name of the provider in the provides map."] + , "default": ["The default if provider is missing (default: [])."] + } + , "imports": {"base-provides-list": "defaults-base-provides-list"} + , "expression": + { "type": "++" + , "$1": {"type": "CALL_EXPRESSION", "name": "base-provides-list"} + } + } , "defaults-base-provides": { "doc": ["Query provider from 'base' targets (last wins)"] , "vars": ["provider", "default"] |