diff options
author | Klaus Aehlig <klaus.aehlig@huawei.com> | 2024-05-23 14:12:33 +0200 |
---|---|---|
committer | Klaus Aehlig <klaus.aehlig@huawei.com> | 2024-05-23 14:12:33 +0200 |
commit | 2c3c587e6cf68a727ab54e7e7afce629960d2c29 (patch) | |
tree | a3a09dd7a2a2030dd1b48d641f3a9e63b2bfaa57 | |
parent | b355f8ef08863c26286ada40bcc7ffd04c4b5dc8 (diff) | |
parent | 010692514a9bf01cd088902558e764965cc3c378 (diff) | |
download | rules-cc-2c3c587e6cf68a727ab54e7e7afce629960d2c29.tar.gz |
Merge subtree 'rules' into rules-cc
-rw-r--r-- | rules/CC/pkgconfig/EXPRESSIONS | 42 | ||||
-rw-r--r-- | rules/CC/pkgconfig/RULES | 5 |
2 files changed, 41 insertions, 6 deletions
diff --git a/rules/CC/pkgconfig/EXPRESSIONS b/rules/CC/pkgconfig/EXPRESSIONS index 9b865de..d4b923b 100644 --- a/rules/CC/pkgconfig/EXPRESSIONS +++ b/rules/CC/pkgconfig/EXPRESSIONS @@ -4,6 +4,9 @@ { "default-ENV": ["./", "..", "default-ENV"] , "default-PATH": ["./", "..", "default-PATH"] , "stage": ["", "stage_singleton_field"] + , "map_provider": ["", "field_map_provider"] + , "sh": ["shell", "sh"] + , "sh-PATH": ["shell", "PATH"] } , "expression": { "type": "let*" @@ -22,6 +25,12 @@ , "key": "PATH" } ] + , [ "sh-PATH" + , { "type": "let*" + , "bindings": [["fieldname", "shell defaults"]] + , "body": {"type": "CALL_EXPRESSION", "name": "sh-PATH"} + } + ] , [ "ENV" , { "type": "map_union" , "$1": @@ -35,6 +44,7 @@ { "type": "++" , "$1": [ {"type": "CALL_EXPRESSION", "name": "default-PATH"} + , {"type": "var", "name": "sh-PATH"} , { "type": "if" , "cond": {"type": "var", "name": "ENV_PATH"} , "then": [{"type": "var", "name": "ENV_PATH"}] @@ -46,6 +56,27 @@ ] } ] + , ["TOOLCHAIN_DIR", "toolchain"] + , [ "shell TOOLCHAIN" + , { "type": "to_subdir" + , "subdir": {"type": "var", "name": "TOOLCHAIN_DIR"} + , "$1": + { "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"} + } + ] , [ "cflags-filename" , {"type": "join", "$1": [{"type": "var", "name": "name"}, ".cflags"]} ] @@ -54,9 +85,9 @@ , "subdir": {"type": "var", "name": "stage"} , "$1": { "type": "ACTION" - , "inputs": {"type": "empty_map"} + , "inputs": {"type": "var", "name": "shell TOOLCHAIN"} , "cmd": - [ "/bin/sh" + [ {"type": "var", "name": "sh"} , "-c" , { "type": "join" , "separator": " " @@ -101,9 +132,9 @@ ] , [ "ldflags-files" , { "type": "ACTION" - , "inputs": {"type": "empty_map"} + , "inputs": {"type": "var", "name": "shell TOOLCHAIN"} , "cmd": - [ "/bin/sh" + [ {"type": "var", "name": "sh"} , "-c" , { "type": "join" , "separator": " " @@ -146,10 +177,11 @@ , "$1": [ {"type": "var", "name": "add_rpath"} , {"type": "var", "name": "ldflags-files"} + , {"type": "var", "name": "shell TOOLCHAIN"} ] } , "cmd": - [ "/bin/sh" + [ {"type": "var", "name": "sh"} , "-c" , { "type": "join" , "separator": " " diff --git a/rules/CC/pkgconfig/RULES b/rules/CC/pkgconfig/RULES index 1d3b613..f51d949 100644 --- a/rules/CC/pkgconfig/RULES +++ b/rules/CC/pkgconfig/RULES @@ -2,7 +2,10 @@ { "doc": ["A system library via pkg-config"] , "string_fields": ["name", "args", "stage"] , "implicit": - {"defaults": [["./", "..", "defaults"]], "add_rpath": ["add_rpath"]} + { "defaults": [["./", "..", "defaults"]] + , "shell defaults": [["shell", "defaults"]] + , "add_rpath": ["add_rpath"] + } , "config_vars": ["PKG_CONFIG_ARGS", "ENV"] , "field_doc": { "name": ["The pkg-config name of the library."] |