diff --git a/webrtc.gni b/webrtc.gni index 66ed8434ff..fe5e6a0d71 100644 --- a/webrtc.gni +++ b/webrtc.gni @@ -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" ] + } + } } }