diff options
author | Klaus Aehlig <klaus.aehlig@huawei.com> | 2024-05-22 10:40:28 +0200 |
---|---|---|
committer | Klaus Aehlig <klaus.aehlig@huawei.com> | 2024-05-22 17:15:41 +0200 |
commit | 4537ee61fc503d6471946f26966095a029f1303c (patch) | |
tree | 82433eff07db2215f4f76f44ff0d8395078c78b9 /CC/foreign/cmake/RULES | |
parent | ecb8968a0f7bd8927c51ce04ad7ffa124d165018 (diff) | |
download | rules-cc-4537ee61fc503d6471946f26966095a029f1303c.tar.gz |
CC/foreign: support shell toolchain
Diffstat (limited to 'CC/foreign/cmake/RULES')
-rw-r--r-- | CC/foreign/cmake/RULES | 59 |
1 files changed, 55 insertions, 4 deletions
diff --git a/CC/foreign/cmake/RULES b/CC/foreign/cmake/RULES index 166e2d6..b7fd406 100644 --- a/CC/foreign/cmake/RULES +++ b/CC/foreign/cmake/RULES @@ -39,6 +39,7 @@ , "implicit": { "defaults": [["CC", "defaults"]] , "foreign-defaults": [["CC/foreign", "defaults"]] + , "shell defaults": [["shell", "defaults"]] , "expand_exec": [["./", "..", "expand_exec"]] } , "field_doc": @@ -158,6 +159,8 @@ , "cmake-build": "cmake-build" , "strip-prefix": ["./", "..", "strip-prefix"] , "for host": ["transitions", "for host"] + , "map_provider": ["", "field_map_provider"] + , "sh": ["shell", "sh"] } , "config_transitions": { "defaults": @@ -224,10 +227,33 @@ , [ "full_install_dir" , {"type": "CALL_EXPRESSION", "name": "cmake-build"} ] + , ["TOOLCHAIN_DIR", "toolchain"] + , [ "shell TOOLCHAIN" + , { "type": "let*" + , "bindings": + [ ["fieldname", "shell defaults"] + , ["provider", "TOOLCHAIN"] + , ["default", {"type": "empty_map"}] + ] + , "body": {"type": "CALL_EXPRESSION", "name": "map_provider"} + } + ] + , [ "sh" + , { "type": "let*" + , "bindings": [["fieldname", "shell defaults"]] + , "body": {"type": "CALL_EXPRESSION", "name": "sh"} + } + ] , [ "install_dir" , { "type": "ACTION" - , "inputs": {"type": "var", "name": "full_install_dir"} - , "cmd": ["/bin/sh", "-c", ":"] + , "inputs": + { "type": "map_union" + , "$1": + [ {"type": "var", "name": "shell TOOLCHAIN"} + , {"type": "var", "name": "full_install_dir"} + ] + } + , "cmd": [{"type": "var", "name": "sh"}, "-c", ":"] , "outs": {"type": "var", "name": "installed_out_files"} , "out_dirs": {"type": "var", "name": "installed_out_dirs"} } @@ -318,6 +344,7 @@ , "implicit": { "defaults": [["CC", "defaults"]] , "foreign-defaults": [["CC/foreign", "defaults"]] + , "shell defaults": [["shell", "defaults"]] , "config_reader": [["CC", "prebuilt/read_pkgconfig.py"]] , "expand_exec": [["./", "..", "expand_exec"]] } @@ -479,6 +506,8 @@ , "prebuilt result": ["CC/prebuilt", "prebuilt result"] , "install-deps": ["CC", "install-with-deps stage"] , "for host": ["transitions", "for host"] + , "map_provider": ["", "field_map_provider"] + , "sh": ["shell", "sh"] } , "config_transitions": { "defaults": @@ -633,10 +662,32 @@ , [ "full_install_dir" , {"type": "CALL_EXPRESSION", "name": "cmake-build"} ] + , [ "shell TOOLCHAIN" + , { "type": "let*" + , "bindings": + [ ["fieldname", "shell defaults"] + , ["provider", "TOOLCHAIN"] + , ["default", {"type": "empty_map"}] + ] + , "body": {"type": "CALL_EXPRESSION", "name": "map_provider"} + } + ] + , [ "sh" + , { "type": "let*" + , "bindings": [["fieldname", "shell defaults"]] + , "body": {"type": "CALL_EXPRESSION", "name": "sh"} + } + ] , [ "install_dir" , { "type": "ACTION" - , "inputs": {"type": "var", "name": "full_install_dir"} - , "cmd": ["/bin/sh", "-c", ":"] + , "inputs": + { "type": "map_union" + , "$1": + [ {"type": "var", "name": "shell TOOLCHAIN"} + , {"type": "var", "name": "full_install_dir"} + ] + } + , "cmd": [{"type": "var", "name": "sh"}, "-c", ":"] , "outs": {"type": "var", "name": "installed_files"} , "out_dirs": {"type": "var", "name": "installed_dirs"} } |