diff options
author | Klaus Aehlig <klaus.aehlig@huawei.com> | 2024-08-09 12:53:13 +0200 |
---|---|---|
committer | Klaus Aehlig <klaus.aehlig@huawei.com> | 2024-08-09 15:14:18 +0200 |
commit | 3fd7341a8e1274f50d0c3f7e8933e026b0a76f09 (patch) | |
tree | 3253a8d3a3e6528c541d7f15ebc5ba89bc7fedb1 | |
parent | a11fa0fa8f2968d3923c41580da9a29102755569 (diff) | |
download | rules-cc-3fd7341a8e1274f50d0c3f7e8933e026b0a76f09.tar.gz |
compile-deps: include provided deps of components
... however not their runfiles, as those become the runfiles
of the resulting library.
-rw-r--r-- | CC/EXPRESSIONS | 85 |
1 files changed, 61 insertions, 24 deletions
diff --git a/CC/EXPRESSIONS b/CC/EXPRESSIONS index b3b07fe..4cff761 100644 --- a/CC/EXPRESSIONS +++ b/CC/EXPRESSIONS @@ -288,7 +288,12 @@ } , "compile-deps": { "doc": ["Collect compile dependencies (headers) from given target_fields"] - , "vars": ["deps-fieldnames", "deps-transition", "modified-transitions"] + , "vars": + [ "deps-fieldnames" + , "deps-transition" + , "modified-transitions" + , "component-fieldnames" + ] , "vars_doc": { "deps-fieldnames": ["List of target_field names to collect dependencies from."] @@ -306,35 +311,67 @@ , "$1": { "type": "++" , "$1": - { "type": "foreach" - , "var": "fieldname" - , "range": {"type": "var", "name": "deps-fieldnames"} - , "body": - { "type": "++" + [ { "type": "++" , "$1": - { "type": "let*" - , "bindings": - [ ["provider", "compile-deps"] - , [ "transition" - , { "type": "lookup" - , "map": - { "type": "var" - , "name": "modified-transitions" - , "default": {"type": "empty_map"} - } - , "key": {"type": "var", "name": "fieldname"} - , "default": {"type": "var", "name": "deps-transition"} + { "type": "foreach" + , "var": "fieldname" + , "range": + { "type": "++" + , "$1": + [ {"type": "var", "name": "deps-fieldnames"} + , { "type": "var" + , "name": "component-fieldnames" + , "default": [] } ] - , ["default", {"type": "empty_map"}] - ] + } , "body": - [ {"type": "CALL_EXPRESSION", "name": "provider_list"} - , {"type": "CALL_EXPRESSION", "name": "runfiles_list"} - ] + { "type": "let*" + , "bindings": + [ ["provider", "compile-deps"] + , [ "transition" + , { "type": "lookup" + , "map": + { "type": "var" + , "name": "modified-transitions" + , "default": {"type": "empty_map"} + } + , "key": {"type": "var", "name": "fieldname"} + , "default": {"type": "var", "name": "deps-transition"} + } + ] + , ["default", {"type": "empty_map"}] + ] + , "body": {"type": "CALL_EXPRESSION", "name": "provider_list"} + } } } - } + , { "type": "++" + , "$1": + { "type": "foreach" + , "var": "fieldname" + , "range": {"type": "var", "name": "deps-fieldnames"} + , "body": + { "type": "let*" + , "bindings": + [ [ "transition" + , { "type": "lookup" + , "map": + { "type": "var" + , "name": "modified-transitions" + , "default": {"type": "empty_map"} + } + , "key": {"type": "var", "name": "fieldname"} + , "default": {"type": "var", "name": "deps-transition"} + } + ] + , ["default", {"type": "empty_map"}] + ] + , "body": {"type": "CALL_EXPRESSION", "name": "runfiles_list"} + } + } + } + ] } } } |