diff options
Diffstat (limited to 'rules/CC/RULES')
-rw-r--r-- | rules/CC/RULES | 35 |
1 files changed, 20 insertions, 15 deletions
diff --git a/rules/CC/RULES b/rules/CC/RULES index 8af70beb..33b8520e 100644 --- a/rules/CC/RULES +++ b/rules/CC/RULES @@ -66,7 +66,7 @@ ] , "PATH": [ "Path for looking up the compilers. Individual paths are joined" - , "with \":\"." + , "with \":\". Specifying this field extends values from \"base\"." ] } , "config_vars": ["ARCH", "HOST_ARCH"] @@ -74,6 +74,7 @@ { "base-provides": "defaults-base-provides" , "base-provides-list": "defaults-base-provides-list" , "artifacts_list": ["./", "..", "field_artifacts_list"] + , "nub_left": ["", "nub_left"] , "compile-deps": "compile-deps" , "compile-args-deps": "compile-args-deps" , "link-deps": "link-deps" @@ -142,23 +143,26 @@ , "else": {"type": "CALL_EXPRESSION", "name": "base-provides"} } ] - , ["provider", "ENV"] - , ["default", {"type": "empty_map"}] - , [ "ENV" - , { "type": "if" - , "cond": {"type": "var", "name": "PATH"} - , "then": - { "type": "singleton_map" - , "key": "PATH" - , "value": - { "type": "join" - , "separator": ":" - , "$1": {"type": "var", "name": "PATH"} + , ["provider", "PATH"] + , [ "PATH" + , { "type": "++" + , "$1": + [ {"type": "var", "name": "PATH"} + , { "type": "++" + , "$1": {"type": "CALL_EXPRESSION", "name": "base-provides-list"} } - } - , "else": {"type": "CALL_EXPRESSION", "name": "base-provides"} + ] + } + ] + , [ "PATH" + , { "type": "let*" + , "bindings": [["list", {"type": "var", "name": "PATH"}]] + , "body": {"type": "CALL_EXPRESSION", "name": "nub_left"} } ] + , ["provider", "ENV"] + , ["default", {"type": "empty_map"}] + , ["ENV", {"type": "CALL_EXPRESSION", "name": "base-provides"}] , ["provider", "NON_SYSTEM_TOOLS"] , ["default", {"type": "empty_map"}] , [ "NON_SYSTEM_TOOLS" @@ -299,6 +303,7 @@ , "CXXFLAGS" , "LDFLAGS" , "AR" + , "PATH" , "ENV" , "TOOLCHAIN" , "NON_SYSTEM_TOOLS" |