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 <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25269}
This commit is contained in:
Mirko Bonadei 2018-10-19 08:36:07 +02:00 committed by Commit Bot
parent 1ddc5b63cc
commit 8dc280d804

View File

@ -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) {