Reland "Force Chromium deps on the WebRTC component."
This is a reland of 53e157d25ce78ba6cd8625b0b655b46f8e1b0a91 The issue has been fixed in https://chromium-review.googlesource.com/c/chromium/src/+/1917204. Original change's description: > Force Chromium deps on the WebRTC component. > > This CL adds a visibility check to the rtc_* GN templates in order > to force Chromium to depend only on publicly visible targets from > //third_party/webrtc_overrides and not from //third_party/webrtc. > > This is required in order to ensure that the Chromium's component > builds continues to work correctly without introducing direct > dependency paths on WebRTC that would statically link it in multiple > shared libraries. > > Bug: webrtc:9419 > Change-Id: Ib89f4fc571512f99678ee4f61696b316374346d9 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154344 > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> > Reviewed-by: Dirk Pranke <dpranke@chromium.org> > Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#29806} TBR: kwiberg@webrtc.org Bug: webrtc:9419 Change-Id: I7123d1b44ddbc23b11d9fa25aa39aa420359e33d Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/159922 Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#29816}
This commit is contained in:

committed by
Commit Bot

parent
9f99175710
commit
92dd35d035
@ -39,6 +39,15 @@ rtc_library("task_queue_test") {
|
||||
|
||||
check_includes = false # no-presubmit-check TODO(bugs.webrtc.org/9419)
|
||||
if (build_with_chromium) {
|
||||
visibility = []
|
||||
visibility = webrtc_default_visibility
|
||||
visibility += [
|
||||
# This is the only Chromium target that can depend on this. The reason
|
||||
# behind this is the fact that this is a 'testonly' target and as such
|
||||
# it cannot be part of the WebRTC component.
|
||||
"//third_party/blink/renderer/platform:blink_platform_unittests_sources",
|
||||
]
|
||||
|
||||
# Don't depend on WebRTC code outside of webrtc_overrides:webrtc_component
|
||||
# because this will break the WebRTC component build in Chromium.
|
||||
deps = [
|
||||
|
30
webrtc.gni
30
webrtc.gni
@ -471,6 +471,21 @@ template("rtc_source_set") {
|
||||
}
|
||||
}
|
||||
|
||||
# Chromium should only depend on the WebRTC component in order to
|
||||
# avoid to statically link WebRTC in a component build.
|
||||
if (build_with_chromium) {
|
||||
publicly_visible = false
|
||||
foreach(v, visibility) {
|
||||
if (v == "*") {
|
||||
publicly_visible = true
|
||||
}
|
||||
}
|
||||
if (publicly_visible) {
|
||||
visibility = []
|
||||
visibility = webrtc_default_visibility
|
||||
}
|
||||
}
|
||||
|
||||
if (!defined(testonly) || !testonly) {
|
||||
configs += rtc_prod_configs
|
||||
}
|
||||
@ -643,6 +658,21 @@ template("rtc_library") {
|
||||
}
|
||||
}
|
||||
|
||||
# Chromium should only depend on the WebRTC component in order to
|
||||
# avoid to statically link WebRTC in a component build.
|
||||
if (build_with_chromium) {
|
||||
publicly_visible = false
|
||||
foreach(v, visibility) {
|
||||
if (v == "*") {
|
||||
publicly_visible = true
|
||||
}
|
||||
}
|
||||
if (publicly_visible) {
|
||||
visibility = []
|
||||
visibility = webrtc_default_visibility
|
||||
}
|
||||
}
|
||||
|
||||
if (!defined(testonly) || !testonly) {
|
||||
configs += rtc_prod_configs
|
||||
}
|
||||
|
Reference in New Issue
Block a user