summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOliver Reiche <oliver.reiche@huawei.com>2022-12-06 12:06:55 +0100
committerOliver Reiche <oliver.reiche@huawei.com>2022-12-16 17:19:47 +0100
commitc4ff7d76b2ca73017d2d96923437de7a1d0aa71d (patch)
tree8072183da9297af8bee5b22d98ff86d20121f2b6
parent95284ec611a53ca9c7925aad4bbe3f6561de018a (diff)
downloadrules-cc-c4ff7d76b2ca73017d2d96923437de7a1d0aa71d.tar.gz
rules: Implement ldflags for (shared) libraries
-rw-r--r--CC/EXPRESSIONS17
-rw-r--r--CC/RULES7
2 files changed, 22 insertions, 2 deletions
diff --git a/CC/EXPRESSIONS b/CC/EXPRESSIONS
index 2998fa8..504e55a 100644
--- a/CC/EXPRESSIONS
+++ b/CC/EXPRESSIONS
@@ -681,6 +681,7 @@
, "private-hdrs"
, "cflags"
, "private-cflags"
+ , "ldflags"
, "private-ldflags"
, "stage"
, "extra-provides"
@@ -721,6 +722,7 @@
{ "type": "++"
, "$1":
[ {"type": "keys", "$1": {"type": "var", "name": "lib"}}
+ , {"type": "var", "name": "ldflags", "default": []}
, {"type": "var", "name": "private-ldflags", "default": []}
, {"type": "CALL_EXPRESSION", "name": "link-args-deps"}
]
@@ -936,6 +938,7 @@
, "private-hdrs"
, "cflags"
, "private-cflags"
+ , "ldflags"
, "private-ldflags"
, "soversion"
, "extra-provides"
@@ -977,7 +980,8 @@
, "$1":
{ "type": "++"
, "$1":
- [ {"type": "var", "name": "private-ldflags", "default": []}
+ [ {"type": "var", "name": "ldflags", "default": []}
+ , {"type": "var", "name": "private-ldflags", "default": []}
, {"type": "CALL_EXPRESSION", "name": "run-libs-args-deps"}
]
}
@@ -1008,7 +1012,16 @@
}
]
, [ "run-libs-args"
- , {"type": "keys", "$1": {"type": "var", "name": "lib"}}
+ , { "type": "nub_right"
+ , "$1":
+ { "type": "++"
+ , "$1":
+ [ {"type": "keys", "$1": {"type": "var", "name": "lib"}}
+ , {"type": "var", "name": "ldflags", "default": []}
+ , {"type": "CALL_EXPRESSION", "name": "run-libs-args-deps"}
+ ]
+ }
+ }
]
]
, "body":
diff --git a/CC/RULES b/CC/RULES
index 4d90adc..4bfae16 100644
--- a/CC/RULES
+++ b/CC/RULES
@@ -132,6 +132,7 @@
, "private-defines"
, "cflags"
, "private-cflags"
+ , "ldflags"
, "private-ldflags"
, "soversion"
]
@@ -181,6 +182,11 @@
["List of compile flags set for this target and its consumers."]
, "private-cflags":
["List of compile flags set for source files local to this target."]
+ , "ldflags":
+ [ "Additional linker flags for linking external libraries for this"
+ , "target and its consumers (not built by this tool, typically system"
+ , "libraries)."
+ ]
, "private-ldflags":
[ "Additional linker flags for linking external libraries (not built"
, "by this tool, typically system libraries)."
@@ -360,6 +366,7 @@
}
}
]
+ , ["ldflags", {"type": "FIELD", "name": "ldflags"}]
, ["private-ldflags", {"type": "FIELD", "name": "private-ldflags"}]
, ["soversion", {"type": "FIELD", "name": "soversion"}]
, [ "deps-transition"