diff options
author | Ted Pudlik <tpudlik@google.com> | 2024-01-12 23:56:41 +0000 |
---|---|---|
committer | CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2024-01-12 23:56:41 +0000 |
commit | 13739dabe1a3881323f40c0f555f2557c24c1c7a (patch) | |
tree | 5da0825c03151f0d7744e4c20fdbbd69b7b7d40e /pw_build | |
parent | 68af5d8f586dbaf68de8050d045f7ad7f1e015fc (diff) | |
download | pigweed-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.bazel | 13 | ||||
-rw-r--r-- | pw_build/bazel.rst | 6 | ||||
-rw-r--r-- | pw_build/pigweed.bzl | 6 |
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 |