summaryrefslogtreecommitdiff
path: root/CC/EXPRESSIONS
diff options
context:
space:
mode:
Diffstat (limited to 'CC/EXPRESSIONS')
-rw-r--r--CC/EXPRESSIONS135
1 files changed, 119 insertions, 16 deletions
diff --git a/CC/EXPRESSIONS b/CC/EXPRESSIONS
index f2259b6..0e1e4b9 100644
--- a/CC/EXPRESSIONS
+++ b/CC/EXPRESSIONS
@@ -212,11 +212,13 @@
}
}
}
-, "debug-srcs":
- { "doc": ["Collect debug dependencies (sources) from given target_fields"]
- , "vars": ["deps-fieldnames", "deps-transition"]
+, "debug-deps":
+ { "doc":
+ ["Collect debug dependencies (sources/headers) from given target_fields"]
+ , "vars": ["deps-provider", "deps-fieldnames", "deps-transition"]
, "vars_doc":
- { "deps-fieldnames":
+ { "deps-provider": ["Name of provider to use (debug-srcs/debug-hdrs)."]
+ , "deps-fieldnames":
["List of target_field names to collect dependencies from."]
, "deps-transition":
["The optional configuration transition for the targets."]
@@ -235,7 +237,7 @@
, "$1":
{ "type": "let*"
, "bindings":
- [ ["provider", "debug-srcs"]
+ [ ["provider", {"type": "var", "name": "deps-provider"}]
, ["transition", {"type": "var", "name": "deps-transition"}]
, ["default", {"type": "empty_map"}]
]
@@ -1193,7 +1195,7 @@
, "cflags-files-deps": "cflags-files-deps"
, "ldflags-files-deps": "ldflags-files-deps"
, "lib artifact": "lib artifact"
- , "debug-srcs": "debug-srcs"
+ , "debug-deps": "debug-deps"
}
, "expression":
{ "type": "let*"
@@ -1245,8 +1247,29 @@
, "then":
{ "type": "map_union"
, "$1":
- [ {"type": "CALL_EXPRESSION", "name": "debug-srcs"}
+ [ { "type": "let*"
+ , "bindings": [["deps-provider", "debug-srcs"]]
+ , "body": {"type": "CALL_EXPRESSION", "name": "debug-deps"}
+ }
, {"type": "var", "name": "srcs"}
+ , {"type": "var", "name": "private-hdrs"}
+ , {"type": "var", "name": "hdrs"}
+ ]
+ }
+ , "else": {"type": "empty_map"}
+ }
+ ]
+ , [ "debug-hdrs"
+ , { "type": "if"
+ , "cond": {"type": "var", "name": "DEBUG"}
+ , "then":
+ { "type": "map_union"
+ , "$1":
+ [ { "type": "let*"
+ , "bindings": [["deps-provider", "debug-hdrs"]]
+ , "body": {"type": "CALL_EXPRESSION", "name": "debug-deps"}
+ }
+ , {"type": "var", "name": "hdrs"}
]
}
, "else": {"type": "empty_map"}
@@ -1293,6 +1316,7 @@
, "run-libs-args"
, "package"
, "debug-srcs"
+ , "debug-hdrs"
]
}
, { "type": "var"
@@ -1548,7 +1572,7 @@
, "cflags-files-deps": "cflags-files-deps"
, "ldflags-files-deps": "ldflags-files-deps"
, "shared artifact": "shared artifact"
- , "debug-srcs": "debug-srcs"
+ , "debug-deps": "debug-deps"
}
, "expression":
{ "type": "let*"
@@ -1595,8 +1619,29 @@
, "then":
{ "type": "map_union"
, "$1":
- [ {"type": "CALL_EXPRESSION", "name": "debug-srcs"}
+ [ { "type": "let*"
+ , "bindings": [["deps-provider", "debug-srcs"]]
+ , "body": {"type": "CALL_EXPRESSION", "name": "debug-deps"}
+ }
, {"type": "var", "name": "srcs"}
+ , {"type": "var", "name": "private-hdrs"}
+ , {"type": "var", "name": "hdrs"}
+ ]
+ }
+ , "else": {"type": "empty_map"}
+ }
+ ]
+ , [ "debug-hdrs"
+ , { "type": "if"
+ , "cond": {"type": "var", "name": "DEBUG"}
+ , "then":
+ { "type": "map_union"
+ , "$1":
+ [ { "type": "let*"
+ , "bindings": [["deps-provider", "debug-hdrs"]]
+ , "body": {"type": "CALL_EXPRESSION", "name": "debug-deps"}
+ }
+ , {"type": "var", "name": "hdrs"}
]
}
, "else": {"type": "empty_map"}
@@ -1683,6 +1728,7 @@
, "run-libs-args"
, "package"
, "debug-srcs"
+ , "debug-hdrs"
]
}
, { "type": "var"
@@ -1828,7 +1874,7 @@
, "cflags-files-deps": "cflags-files-deps"
, "ldflags-files-deps": "ldflags-files-deps"
, "object artifacts": "object artifacts"
- , "debug-srcs": "debug-srcs"
+ , "debug-deps": "debug-deps"
}
, "expression":
{ "type": "let*"
@@ -1880,8 +1926,29 @@
, "then":
{ "type": "map_union"
, "$1":
- [ {"type": "CALL_EXPRESSION", "name": "debug-srcs"}
+ [ { "type": "let*"
+ , "bindings": [["deps-provider", "debug-srcs"]]
+ , "body": {"type": "CALL_EXPRESSION", "name": "debug-deps"}
+ }
, {"type": "var", "name": "srcs"}
+ , {"type": "var", "name": "private-hdrs"}
+ , {"type": "var", "name": "hdrs"}
+ ]
+ }
+ , "else": {"type": "empty_map"}
+ }
+ ]
+ , [ "debug-hdrs"
+ , { "type": "if"
+ , "cond": {"type": "var", "name": "DEBUG"}
+ , "then":
+ { "type": "map_union"
+ , "$1":
+ [ { "type": "let*"
+ , "bindings": [["deps-provider", "debug-hdrs"]]
+ , "body": {"type": "CALL_EXPRESSION", "name": "debug-deps"}
+ }
+ , {"type": "var", "name": "hdrs"}
]
}
, "else": {"type": "empty_map"}
@@ -1928,6 +1995,7 @@
, "run-libs-args"
, "package"
, "debug-srcs"
+ , "debug-hdrs"
]
}
, { "type": "var"
@@ -2152,7 +2220,7 @@
, "cflags-files-deps": "cflags-files-deps"
, "ldflags-files-deps": "ldflags-files-deps"
, "binary": "bin artifact"
- , "debug-srcs": "debug-srcs"
+ , "debug-deps": "debug-deps"
}
, "expression":
{ "type": "let*"
@@ -2196,19 +2264,36 @@
, "then":
{ "type": "map_union"
, "$1":
- [ {"type": "CALL_EXPRESSION", "name": "debug-srcs"}
+ [ { "type": "let*"
+ , "bindings": [["deps-provider", "debug-srcs"]]
+ , "body": {"type": "CALL_EXPRESSION", "name": "debug-deps"}
+ }
, {"type": "var", "name": "srcs"}
+ , {"type": "var", "name": "private-hdrs"}
]
}
, "else": {"type": "empty_map"}
}
]
+ , [ "debug-hdrs"
+ , { "type": "if"
+ , "cond": {"type": "var", "name": "DEBUG"}
+ , "then":
+ { "type": "let*"
+ , "bindings": [["deps-provider", "debug-hdrs"]]
+ , "body": {"type": "CALL_EXPRESSION", "name": "debug-deps"}
+ }
+ , "else": {"type": "empty_map"}
+ }
+ ]
]
, "body":
{ "type": "RESULT"
, "artifacts": {"type": "CALL_EXPRESSION", "name": "binary"}
, "provides":
- {"type": "env", "vars": ["run-libs", "package", "debug-srcs"]}
+ { "type": "env"
+ , "vars": ["run-libs", "package", "debug-srcs", "debug-hdrs"]
+ }
}
}
}
@@ -2277,6 +2362,18 @@
}
}
]
+ , [ "debug-hdrs"
+ , { "type": "if"
+ , "cond": {"type": "var", "name": "skip-debug-stage"}
+ , "then": {"type": "empty_map"}
+ , "else":
+ { "type": "DEP_PROVIDES"
+ , "dep": {"type": "var", "name": "target"}
+ , "provider": "debug-hdrs"
+ , "default": {"type": "empty_map"}
+ }
+ }
+ ]
]
, "body":
{ "type": "if"
@@ -2432,7 +2529,13 @@
}
, { "type": "to_subdir"
, "subdir": "include"
- , "$1": {"type": "var", "name": "headers"}
+ , "$1":
+ { "type": "map_union"
+ , "$1":
+ [ {"type": "var", "name": "headers"}
+ , {"type": "var", "name": "debug-hdrs"}
+ ]
+ }
}
, { "type": "to_subdir"
, "subdir": "lib"
@@ -2445,7 +2548,7 @@
, "$1": {"type": "var", "name": "pkg-config"}
}
, { "type": "to_subdir"
- , "subdir": "debug-src"
+ , "subdir": "work"
, "$1": {"type": "var", "name": "debug-srcs"}
}
]