summaryrefslogtreecommitdiff
path: root/rules/CC
diff options
context:
space:
mode:
Diffstat (limited to 'rules/CC')
-rw-r--r--rules/CC/EXPRESSIONS12
-rw-r--r--rules/CC/RULES18
-rw-r--r--rules/CC/foreign/RULES18
-rw-r--r--rules/CC/foreign/cmake/EXPRESSIONS19
-rw-r--r--rules/CC/foreign/make/EXPRESSIONS19
-rw-r--r--rules/CC/foreign/shell/EXPRESSIONS25
-rw-r--r--rules/CC/pkgconfig/RULES35
-rw-r--r--rules/CC/proto/RULES18
-rw-r--r--rules/CC/test/EXPRESSIONS17
9 files changed, 68 insertions, 113 deletions
diff --git a/rules/CC/EXPRESSIONS b/rules/CC/EXPRESSIONS
index fe6f9cb..c616dfa 100644
--- a/rules/CC/EXPRESSIONS
+++ b/rules/CC/EXPRESSIONS
@@ -2829,16 +2829,8 @@
}
]
}
- , "cmd":
- [ "sh"
- , "-c"
- , { "type": "join"
- , "$1":
- [ "cd work && "
- , {"type": "join_cmd", "$1": {"type": "var", "name": "cmd"}}
- ]
- }
- ]
+ , "cmd": {"type": "var", "name": "cmd"}
+ , "cwd": "work"
, "env": {"type": "var", "name": "ENV"}
}
]
diff --git a/rules/CC/RULES b/rules/CC/RULES
index 51b2578..6c07275 100644
--- a/rules/CC/RULES
+++ b/rules/CC/RULES
@@ -99,7 +99,6 @@
, "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"
@@ -182,17 +181,14 @@
]
, ["provider", "PATH"]
, [ "PATH"
- , { "type": "++"
+ , { "type": "nub_left"
, "$1":
- [ {"type": "var", "name": "PATH"}
- , {"type": "CALL_EXPRESSION", "name": "base-provides-++"}
- ]
- }
- ]
- , [ "PATH"
- , { "type": "let*"
- , "bindings": [["list", {"type": "var", "name": "PATH"}]]
- , "body": {"type": "CALL_EXPRESSION", "name": "nub_left"}
+ { "type": "++"
+ , "$1":
+ [ {"type": "var", "name": "PATH"}
+ , {"type": "CALL_EXPRESSION", "name": "base-provides-++"}
+ ]
+ }
}
]
, ["provider", "ENV"]
diff --git a/rules/CC/foreign/RULES b/rules/CC/foreign/RULES
index 935d477..e6463f8 100644
--- a/rules/CC/foreign/RULES
+++ b/rules/CC/foreign/RULES
@@ -31,7 +31,6 @@
, "base-provides-++": ["./", "..", "defaults-base-provides-++"]
, "base-provides-list": ["./", "..", "defaults-base-provides-list"]
, "artifacts_list": ["./", "../..", "field_artifacts_list"]
- , "nub_left": ["", "nub_left"]
, "for host": ["transitions", "for host"]
}
, "config_transitions":
@@ -60,17 +59,14 @@
]
, ["provider", "PATH"]
, [ "PATH"
- , { "type": "++"
+ , { "type": "nub_left"
, "$1":
- [ {"type": "var", "name": "PATH"}
- , {"type": "CALL_EXPRESSION", "name": "base-provides-++"}
- ]
- }
- ]
- , [ "PATH"
- , { "type": "let*"
- , "bindings": [["list", {"type": "var", "name": "PATH"}]]
- , "body": {"type": "CALL_EXPRESSION", "name": "nub_left"}
+ { "type": "++"
+ , "$1":
+ [ {"type": "var", "name": "PATH"}
+ , {"type": "CALL_EXPRESSION", "name": "base-provides-++"}
+ ]
+ }
}
]
, ["provider", "ENV"]
diff --git a/rules/CC/foreign/cmake/EXPRESSIONS b/rules/CC/foreign/cmake/EXPRESSIONS
index c8f6dc1..a36725b 100644
--- a/rules/CC/foreign/cmake/EXPRESSIONS
+++ b/rules/CC/foreign/cmake/EXPRESSIONS
@@ -28,7 +28,6 @@
]
, "imports":
{ "artifacts": ["", "field_artifacts"]
- , "nub_left": ["", "nub_left"]
, "flags-cc": ["CC", "flags-cc"]
, "flags-cxx": ["CC", "flags-cxx"]
, "compiler-cc": ["CC", "compiler-cc"]
@@ -228,18 +227,14 @@
, { "type": "join"
, "separator": ":"
, "$1":
- { "type": "let*"
- , "bindings":
- [ [ "list"
- , { "type": "++"
- , "$1":
- [ {"type": "CALL_EXPRESSION", "name": "foreign-PATH"}
- , {"type": "CALL_EXPRESSION", "name": "default-PATH"}
- ]
- }
+ { "type": "nub_left"
+ , "$1":
+ { "type": "++"
+ , "$1":
+ [ {"type": "CALL_EXPRESSION", "name": "foreign-PATH"}
+ , {"type": "CALL_EXPRESSION", "name": "default-PATH"}
]
- ]
- , "body": {"type": "CALL_EXPRESSION", "name": "nub_left"}
+ }
}
}
]
diff --git a/rules/CC/foreign/make/EXPRESSIONS b/rules/CC/foreign/make/EXPRESSIONS
index 1707104..68aa728 100644
--- a/rules/CC/foreign/make/EXPRESSIONS
+++ b/rules/CC/foreign/make/EXPRESSIONS
@@ -30,7 +30,6 @@
]
, "imports":
{ "artifacts": ["", "field_artifacts"]
- , "nub_left": ["", "nub_left"]
, "flags-cc": ["CC", "flags-cc"]
, "flags-cxx": ["CC", "flags-cxx"]
, "compiler-cc": ["CC", "compiler-cc"]
@@ -205,18 +204,14 @@
, { "type": "join"
, "separator": ":"
, "$1":
- { "type": "let*"
- , "bindings":
- [ [ "list"
- , { "type": "++"
- , "$1":
- [ {"type": "CALL_EXPRESSION", "name": "foreign-PATH"}
- , {"type": "CALL_EXPRESSION", "name": "default-PATH"}
- ]
- }
+ { "type": "nub_left"
+ , "$1":
+ { "type": "++"
+ , "$1":
+ [ {"type": "CALL_EXPRESSION", "name": "foreign-PATH"}
+ , {"type": "CALL_EXPRESSION", "name": "default-PATH"}
]
- ]
- , "body": {"type": "CALL_EXPRESSION", "name": "nub_left"}
+ }
}
}
]
diff --git a/rules/CC/foreign/shell/EXPRESSIONS b/rules/CC/foreign/shell/EXPRESSIONS
index a1dcd0c..a37d315 100644
--- a/rules/CC/foreign/shell/EXPRESSIONS
+++ b/rules/CC/foreign/shell/EXPRESSIONS
@@ -22,7 +22,6 @@
]
, "imports":
{ "artifacts": ["", "field_artifacts"]
- , "nub_left": ["", "nub_left"]
, "flags-cc": ["CC", "flags-cc"]
, "flags-cxx": ["CC", "flags-cxx"]
, "compiler-cc": ["CC", "compiler-cc"]
@@ -194,22 +193,18 @@
, { "type": "join"
, "separator": ":"
, "$1":
- { "type": "let*"
- , "bindings":
- [ [ "list"
- , { "type": "++"
- , "$1":
- [ {"type": "CALL_EXPRESSION", "name": "foreign-PATH"}
- , {"type": "CALL_EXPRESSION", "name": "default-PATH"}
- , { "type": "let*"
- , "bindings": [["fieldname", "shell defaults"]]
- , "body": {"type": "CALL_EXPRESSION", "name": "sh-PATH"}
- }
- ]
+ { "type": "nub_left"
+ , "$1":
+ { "type": "++"
+ , "$1":
+ [ {"type": "CALL_EXPRESSION", "name": "foreign-PATH"}
+ , {"type": "CALL_EXPRESSION", "name": "default-PATH"}
+ , { "type": "let*"
+ , "bindings": [["fieldname", "shell defaults"]]
+ , "body": {"type": "CALL_EXPRESSION", "name": "sh-PATH"}
}
]
- ]
- , "body": {"type": "CALL_EXPRESSION", "name": "nub_left"}
+ }
}
}
]
diff --git a/rules/CC/pkgconfig/RULES b/rules/CC/pkgconfig/RULES
index 363136f..f72fdf6 100644
--- a/rules/CC/pkgconfig/RULES
+++ b/rules/CC/pkgconfig/RULES
@@ -14,7 +14,6 @@
, "imports":
{ "base-provides": ["./", "..", "defaults-base-provides"]
, "base-provides-++": ["./", "..", "defaults-base-provides-++"]
- , "nub_left": ["", "nub_left"]
}
, "expression":
{ "type": "let*"
@@ -31,33 +30,27 @@
, ["PATH", {"type": "FIELD", "name": "PATH"}]
, ["provider", "PATH"]
, [ "PATH"
- , { "type": "++"
+ , { "type": "nub_left"
, "$1":
- [ {"type": "var", "name": "PATH"}
- , {"type": "CALL_EXPRESSION", "name": "base-provides-++"}
- ]
- }
- ]
- , [ "PATH"
- , { "type": "let*"
- , "bindings": [["list", {"type": "var", "name": "PATH"}]]
- , "body": {"type": "CALL_EXPRESSION", "name": "nub_left"}
+ { "type": "++"
+ , "$1":
+ [ {"type": "var", "name": "PATH"}
+ , {"type": "CALL_EXPRESSION", "name": "base-provides-++"}
+ ]
+ }
}
]
, ["PKG_CONFIG_PATH", {"type": "FIELD", "name": "PKG_CONFIG_PATH"}]
, ["provider", "PKG_CONFIG_PATH"]
, [ "PKG_CONFIG_PATH"
- , { "type": "++"
+ , { "type": "nub_left"
, "$1":
- [ {"type": "var", "name": "PKG_CONFIG_PATH"}
- , {"type": "CALL_EXPRESSION", "name": "base-provides-++"}
- ]
- }
- ]
- , [ "PKG_CONFIG_PATH"
- , { "type": "let*"
- , "bindings": [["list", {"type": "var", "name": "PKG_CONFIG_PATH"}]]
- , "body": {"type": "CALL_EXPRESSION", "name": "nub_left"}
+ { "type": "++"
+ , "$1":
+ [ {"type": "var", "name": "PKG_CONFIG_PATH"}
+ , {"type": "CALL_EXPRESSION", "name": "base-provides-++"}
+ ]
+ }
}
]
]
diff --git a/rules/CC/proto/RULES b/rules/CC/proto/RULES
index 6fb0f40..e7a2f46 100644
--- a/rules/CC/proto/RULES
+++ b/rules/CC/proto/RULES
@@ -83,7 +83,6 @@
, "base-provides-++": ["./", "..", "defaults-base-provides-++"]
, "base-provides-list": ["./", "..", "defaults-base-provides-list"]
, "artifacts_list": ["", "field_artifacts_list"]
- , "nub_left": ["", "nub_left"]
, "compile-deps": ["CC", "compile-deps"]
, "compile-args-deps": ["CC", "compile-args-deps"]
, "link-deps": ["CC", "link-deps"]
@@ -139,17 +138,14 @@
]
, ["provider", "PATH"]
, [ "PATH"
- , { "type": "++"
+ , { "type": "nub_left"
, "$1":
- [ {"type": "var", "name": "PATH"}
- , {"type": "CALL_EXPRESSION", "name": "base-provides-++"}
- ]
- }
- ]
- , [ "PATH"
- , { "type": "let*"
- , "bindings": [["list", {"type": "var", "name": "PATH"}]]
- , "body": {"type": "CALL_EXPRESSION", "name": "nub_left"}
+ { "type": "++"
+ , "$1":
+ [ {"type": "var", "name": "PATH"}
+ , {"type": "CALL_EXPRESSION", "name": "base-provides-++"}
+ ]
+ }
}
]
, ["provider", "ENV"]
diff --git a/rules/CC/test/EXPRESSIONS b/rules/CC/test/EXPRESSIONS
index b12b80d..1389bbc 100644
--- a/rules/CC/test/EXPRESSIONS
+++ b/rules/CC/test/EXPRESSIONS
@@ -377,19 +377,16 @@
}
]
, [ "artifacts"
- , { "type": "map_union"
+ , { "type": "`"
, "$1":
- [ { "type": "singleton_map"
- , "key": "pwd"
- , "value": {"type": "BLOB", "data": "/summary"}
- }
- , {"type": "var", "name": "summary"}
- , { "type": "singleton_map"
- , "key": "work"
- , "value":
+ { "pwd":
+ {"type": ",", "$1": {"type": "BLOB", "data": "/summary"}}
+ , "work":
+ { "type": ","
+ , "$1":
{"type": "TREE", "$1": {"type": "var", "name": "attempts"}}
}
- ]
+ }
}
]
, [ "runfiles"