summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Cristian Sarbu <paul.cristian.sarbu@huawei.com>2025-03-20 14:58:17 +0100
committerPaul Cristian Sarbu <paul.cristian.sarbu@huawei.com>2025-04-23 13:05:10 +0200
commit3e0d1255cdf428fb4b7d2381fb82f8db0a0e8bf3 (patch)
treeb0af34fab7614517cabc3b2a87ae789cc24b1907
parent5b7031c42ad40d462f1652e4565efcca434a5f61 (diff)
downloadrules-cc-3e0d1255cdf428fb4b7d2381fb82f8db0a0e8bf3.tar.gz
rules CC: Use the -g flag as fallback in debug mode...
...if no flags are otherwise configured (by toolchain or rule-specific configuration variables).
-rw-r--r--CC/EXPRESSIONS28
-rw-r--r--CC/RULES10
2 files changed, 32 insertions, 6 deletions
diff --git a/CC/EXPRESSIONS b/CC/EXPRESSIONS
index c52b209..2911c34 100644
--- a/CC/EXPRESSIONS
+++ b/CC/EXPRESSIONS
@@ -819,6 +819,7 @@
, "CXXFLAGS"
, "ADD_CFLAGS"
, "ADD_CXXFLAGS"
+ , "DEBUG"
, "pure C"
, "srcs"
, "hdrs"
@@ -1189,15 +1190,32 @@
, "CXXFLAGS"
, "ADD_CFLAGS"
, "ADD_CXXFLAGS"
+ , "DEBUG"
, "pure C"
, "defaults-transition"
]
, "imports": {"flags-cc": "flags-cc", "flags-cxx": "flags-cxx"}
, "expression":
- { "type": "if"
- , "cond": {"type": "var", "name": "pure C"}
- , "then": {"type": "CALL_EXPRESSION", "name": "flags-cc"}
- , "else": {"type": "CALL_EXPRESSION", "name": "flags-cxx"}
+ { "type": "let*"
+ , "bindings":
+ [ [ "flags"
+ , { "type": "if"
+ , "cond": {"type": "var", "name": "pure C"}
+ , "then": {"type": "CALL_EXPRESSION", "name": "flags-cc"}
+ , "else": {"type": "CALL_EXPRESSION", "name": "flags-cxx"}
+ }
+ ]
+ ]
+ , "body":
+ { "type": "if"
+ , "cond": {"type": "var", "name": "flags"}
+ , "then": {"type": "var", "name": "flags"}
+ , "else":
+ { "type": "if"
+ , "cond": {"type": "var", "name": "DEBUG"}
+ , "then": ["-g"]
+ }
+ }
}
}
, "lib artifact":
@@ -1210,6 +1228,7 @@
, "ADD_CXXFLAGS"
, "AR"
, "ENV"
+ , "DEBUG"
, "name"
, "pure C"
, "srcs"
@@ -1590,6 +1609,7 @@
, "ADD_CFLAGS"
, "ADD_CXXFLAGS"
, "ENV"
+ , "DEBUG"
, "name"
, "pure C"
, "srcs"
diff --git a/CC/RULES b/CC/RULES
index eddf0b7..c618467 100644
--- a/CC/RULES
+++ b/CC/RULES
@@ -552,7 +552,10 @@
, "If None, the respective value from [\"CC\", \"defaults\"] will be taken."
]
, "ENV": ["The environment for any action generated."]
- , "DEBUG": ["Compute the debug-stage, needed for local debugging."]
+ , "DEBUG":
+ [ "Compute the debug-stage, needed for local debugging."
+ , "If no compile flags are otherwise configured, [\"-g\"] will be taken."
+ ]
, "LINT":
[ "Also provide nodes describing compile actions and header files;"
, "those can be used by lint rules (doing also the config transition)"
@@ -752,7 +755,10 @@
, "taken from the [\"CC\", \"defaults\"] target"
]
, "ENV": ["The environment for any action generated."]
- , "DEBUG": ["Compute the debug-stage, needed for local debugging."]
+ , "DEBUG":
+ [ "Compute the debug-stage, needed for local debugging."
+ , "If no compile flags are otherwise configured, [\"-g\"] will be taken."
+ ]
, "LINT":
[ "Also provide nodes describing compile actions and header files;"
, "those can be used by lint rules (doing also the config transition)"