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 | 02411c104132c45f8e7f0592a3b23b500a7d26fb (patch) | |
tree | 792c8146047a8099a870fddd4197176a5fbee8c4 | |
parent | fdcbb226b312460701b073c820ed9ec64151b50f (diff) | |
download | rules-cc-02411c104132c45f8e7f0592a3b23b500a7d26fb.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-- | rules/CC/EXPRESSIONS | 85 |
1 files changed, 61 insertions, 24 deletions
diff --git a/rules/CC/EXPRESSIONS b/rules/CC/EXPRESSIONS index b3b07fe..4cff761 100644 --- a/rules/CC/EXPRESSIONS +++ b/rules/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"} + } + } + } + ] } } } |