Change rtc_executable template to depend on absl_full when built with chromium

This would allow to remove abseil visibility exceptions for WebRTC targets built with chromium

Bug: None
Change-Id: I63c1052f3d5b626d51bfa7209445c317bea5f970
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/365160
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43215}
This commit is contained in:
Danil Chapovalov 2024-10-10 10:46:43 +02:00 committed by WebRTC LUCI CQ
parent b74268e0cf
commit 366f205d9b

View File

@ -957,6 +957,24 @@ template("rtc_executable") {
"//build/win:default_exe_manifest",
]
}
# Convert abseil dependencies to //third_party/abseil-cpp:absl_full when
# build_with_chromium=true so that webrtc targets won't need exceptions to
# depend on individual absl targets.
# Note that //third_party/abseil-cpp:absl_full build target includes flags,
# but //third_party/abseil-cpp:absl target - doesn't. That allows webrtc
# executables, but not libraries to use absl flags.
if (build_with_chromium && defined(deps)) {
absl_dependencies =
filter_labels_include(deps, [ "//third_party/abseil-cpp/*" ])
if (absl_dependencies != []) {
filtered_deps =
filter_labels_exclude(deps, [ "//third_party/abseil-cpp/*" ])
deps = []
deps = filtered_deps
deps += [ "//third_party/abseil-cpp:absl_full" ]
}
}
}
}