From 8dc280d804bc49932f429955b27ff385054ddfa0 Mon Sep 17 00:00:00 2001 From: Mirko Bonadei Date: Fri, 19 Oct 2018 08:36:07 +0200 Subject: [PATCH] Make sure Chromium will pick the correct field_trial/metric impl. Chromium wants to pick its own field_trial and metrics implementation, and WebRTC has an escape hatch to let it remove the definition of these symbols. This obviously causes liker errors if Chromium will not pick the correct dependency (which cannot be forced by GN check since there is no header inclusion). Instead of hoping that the build target with the correct implementation will be added as a dependency somewhere in the build graph, this CL wants to explicitly add the dependency as close as possible to the headers, so if they are included and WebRTC is built as part of Chromium the correct implementation will be linked into the binary. Bug: webrtc:9631 Change-Id: I2d1cfe541726341adfdf81e14e036464aa003d4d Reviewed-on: https://webrtc-review.googlesource.com/c/107040 Reviewed-by: Karl Wiberg Commit-Queue: Mirko Bonadei Cr-Commit-Position: refs/heads/master@{#25269} --- system_wrappers/BUILD.gn | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/system_wrappers/BUILD.gn b/system_wrappers/BUILD.gn index 0f5dc140db..c22522450a 100644 --- a/system_wrappers/BUILD.gn +++ b/system_wrappers/BUILD.gn @@ -105,6 +105,11 @@ rtc_source_set("field_trial") { if (rtc_exclude_field_trial_default) { defines = [ "WEBRTC_EXCLUDE_FIELD_TRIAL_DEFAULT" ] } + if (build_with_chromium) { + deps = [ + "../../webrtc_overrides:field_trial", + ] + } } rtc_source_set("metrics") { @@ -123,6 +128,9 @@ rtc_source_set("metrics") { "../rtc_base:checks", "../rtc_base:rtc_base_approved", ] + if (build_with_chromium) { + deps += [ "../../webrtc_overrides:metrics" ] + } } if (is_android && !build_with_mozilla) {