aboutsummaryrefslogtreecommitdiff
path: root/pw_build
diff options
context:
space:
mode:
authorTed Pudlik <tpudlik@google.com>2024-01-12 23:56:41 +0000
committerCQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com>2024-01-12 23:56:41 +0000
commit13739dabe1a3881323f40c0f555f2557c24c1c7a (patch)
tree5da0825c03151f0d7744e4c20fdbbd69b7b7d40e /pw_build
parent68af5d8f586dbaf68de8050d045f7ad7f1e015fc (diff)
downloadpigweed-13739dabe1a3881323f40c0f555f2557c24c1c7a.tar.gz
pw_build: Introduce default_link_extra_lib
Bug: b/234877642 Change-Id: I5c14ba98cab16673b29764c15bfc279cef11d19b Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186933 Reviewed-by: Armando Montanez <amontanez@google.com> Commit-Queue: Ted Pudlik <tpudlik@google.com>
Diffstat (limited to 'pw_build')
-rw-r--r--pw_build/BUILD.bazel13
-rw-r--r--pw_build/bazel.rst6
-rw-r--r--pw_build/pigweed.bzl6
3 files changed, 21 insertions, 4 deletions
diff --git a/pw_build/BUILD.bazel b/pw_build/BUILD.bazel
index 49fe41bce..ed701d706 100644
--- a/pw_build/BUILD.bazel
+++ b/pw_build/BUILD.bazel
@@ -119,3 +119,16 @@ cc_library(
name = "unspecified_backend",
target_compatible_with = ["@platforms//:incompatible"],
)
+
+# Additional libraries that all binaries using Pigweed should be linked against.
+#
+# This is analogous to GN's pw_build_LINK_DEPS. See
+# https://pigweed.dev/build_system.html#docs-build-system-bazel-link-extra-lib
+# for more details.
+cc_library(
+ name = "default_link_extra_lib",
+ deps = [
+ "//pw_log:backend_impl",
+ "//targets:pw_assert_backend_impl",
+ ],
+)
diff --git a/pw_build/bazel.rst b/pw_build/bazel.rst
index 5c222e70c..99c3754dd 100644
--- a/pw_build/bazel.rst
+++ b/pw_build/bazel.rst
@@ -340,6 +340,12 @@ This empty library is used as a placeholder for label flags that need to point
to a library of some kind, but don't actually need the dependency to amount to
anything.
+default_link_extra_lib
+^^^^^^^^^^^^^^^^^^^^^^
+This library groups together all libraries commonly required at link time by
+Pigweed modules. See :ref:`docs-build_system-bazel_link-extra-lib` for more
+details.
+
unspecified_backend
^^^^^^^^^^^^^^^^^^^
A special target used instead of a cc_library as the default condition in
diff --git a/pw_build/pigweed.bzl b/pw_build/pigweed.bzl
index 38059fddd..13472308b 100644
--- a/pw_build/pigweed.bzl
+++ b/pw_build/pigweed.bzl
@@ -36,13 +36,11 @@ def pw_cc_binary(**kwargs):
Args:
**kwargs: Passed to cc_binary.
"""
- kwargs["deps"] = kwargs.get("deps", [])
# TODO: b/234877642 - Remove this implicit dependency once we have a better
# way to handle the facades without introducing a circular dependency into
# the build.
- kwargs["deps"] = kwargs["deps"] + ["@pigweed//targets:pw_assert_backend_impl"]
- kwargs["deps"] = kwargs["deps"] + ["@pigweed//pw_log:backend_impl"]
+ kwargs["deps"] = kwargs.get("deps", []) + ["@pigweed//pw_build:default_link_extra_lib"]
native.cc_binary(**kwargs)
def pw_cc_test(**kwargs):
@@ -69,7 +67,7 @@ def pw_cc_test(**kwargs):
# TODO: b/234877642 - Remove this implicit dependency once we have a better
# way to handle the facades without introducing a circular dependency into
# the build.
- kwargs["deps"] = kwargs["deps"] + ["@pigweed//targets:pw_assert_backend_impl"]
+ kwargs["deps"] = kwargs["deps"] + ["@pigweed//pw_build:default_link_extra_lib"]
# Some tests may include FuzzTest, which includes headers that trigger
# warnings. This check must be done here and not in `add_defaults`, since