Revert "Revert "GN rtc_* templates: Set default visibility to webrtc_root + "/*"""
This reverts commit c73e1f437889d882cbf2987f7fb3a029a6150613.
Reason for revert:
The problem with failed deps in chrome content/renderer had already been fixed in https://webrtc-review.googlesource.com/c/src/+/38660
Original change's description:
> Revert "GN rtc_* templates: Set default visibility to webrtc_root + "/*""
>
> This reverts commit 588c548657b3ddf76e7b3f241263eef7f5799f16.
>
> Reason for revert:
>
> Breaks Chrome FYI:
>
> /b/c/b/Linux_Builder/src/buildtools/linux64/gn gen //out/Release --check
> -> returned 1
> ERROR at //build/split_static_library.gni:12:5: Dependency not allowed.
> static_library(target_name) {
> ^----------------------------
> The item //content/renderer:renderer
> can not depend on //third_party/webrtc/media:rtc_internal_video_codecs
> because it is not in //third_party/webrtc/media:rtc_internal_video_codecs's visibility list: [
> //third_party/webrtc/*
> //third_party/webrtc_overrides/*
> ]
>
> https://logs.chromium.org/v/?s=chromium%2Fbb%2Fchromium.webrtc.fyi%2FLinux_Builder%2F23560%2F%2B%2Frecipes%2Fsteps%2Fgenerate_build_files%2F0%2Fstdout
>
> Original change's description:
> > GN rtc_* templates: Set default visibility to webrtc_root + "/*"
> >
> > This means that by default, targets are visible to everything under
> > the WebRTC root, but not visible to anything else.
> >
> > API targets are manually tagged with visibility "*", so that targets
> > outside the WebRTC tree can see them.
> >
> > BUG=webrtc:8254
> >
> > Change-Id: Icdbee6e0d22d93240ff2fb530c8f9dc48e351509
> > Reviewed-on: https://webrtc-review.googlesource.com/24140
> > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#21548}
>
> TBR=mbonadei@webrtc.org,kwiberg@webrtc.org
>
> Change-Id: I06620ce3d6f67482935c22efa231dd6cab91625a
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:8254
> Reviewed-on: https://webrtc-review.googlesource.com/38760
> Reviewed-by: Per Kjellander <perkj@webrtc.org>
> Commit-Queue: Per Kjellander <perkj@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21555}
TBR=mbonadei@webrtc.org,kwiberg@webrtc.org,perkj@webrtc.org
Change-Id: I6f720078ce21bd172e0a6471bae8c4c011e4a657
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8254
Reviewed-on: https://webrtc-review.googlesource.com/38860
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21558}
diff --git a/api/BUILD.gn b/api/BUILD.gn
index 6ac235b..dcda369 100644
--- a/api/BUILD.gn
+++ b/api/BUILD.gn
@@ -13,12 +13,14 @@
}
group("api") {
+ visibility = [ "*" ]
public_deps = [
":libjingle_peerconnection_api",
]
}
rtc_source_set("call_api") {
+ visibility = [ "*" ]
sources = [
"call/audio_sink.h",
]
@@ -34,6 +36,7 @@
}
rtc_static_library("libjingle_peerconnection_api") {
+ visibility = [ "*" ]
cflags = []
sources = [
"candidate.cc",
@@ -114,6 +117,8 @@
}
rtc_source_set("peerconnection_and_implicit_call_api") {
+ visibility = [ "*" ]
+
# The peerconnectioninterface.h file pulls in call/callfactoryinterface.h
# and the entire call module with it. We need to either get rid of this
# dependency or pull most of call/ into the API. For now, silence the warnings
@@ -126,12 +131,14 @@
}
rtc_source_set("libjingle_logging_api") {
+ visibility = [ "*" ]
sources = [
"rtceventlogoutput.h",
]
}
rtc_source_set("ortc_api") {
+ visibility = [ "*" ]
sources = [
"ortc/mediadescription.cc",
"ortc/mediadescription.h",
@@ -164,6 +171,7 @@
}
rtc_source_set("rtc_stats_api") {
+ visibility = [ "*" ]
cflags = []
sources = [
"stats/rtcstats.h",
@@ -179,6 +187,7 @@
}
rtc_source_set("audio_mixer_api") {
+ visibility = [ "*" ]
sources = [
"audio/audio_mixer.h",
]
@@ -190,12 +199,14 @@
}
rtc_source_set("transport_api") {
+ visibility = [ "*" ]
sources = [
"call/transport.h",
]
}
rtc_source_set("video_frame_api") {
+ visibility = [ "*" ]
sources = [
"video/video_content_type.cc",
"video/video_content_type.h",
@@ -215,6 +226,7 @@
}
rtc_source_set("video_frame_api_i420") {
+ visibility = [ "*" ]
sources = [
"video/i420_buffer.cc",
"video/i420_buffer.h",
@@ -229,6 +241,7 @@
}
rtc_source_set("array_view") {
+ visibility = [ "*" ]
sources = [
"array_view.h",
]
@@ -239,6 +252,7 @@
}
rtc_source_set("optional") {
+ visibility = [ "*" ]
sources = [
"optional.cc",
"optional.h",
@@ -251,6 +265,7 @@
}
rtc_source_set("refcountedbase") {
+ visibility = [ "*" ]
sources = [
"refcountedbase.h",
]
@@ -260,6 +275,7 @@
}
rtc_source_set("libjingle_peerconnection_test_api") {
+ visibility = [ "*" ]
testonly = true
sources = [
"test/fakeconstraints.h",
diff --git a/api/audio_codecs/BUILD.gn b/api/audio_codecs/BUILD.gn
index 01dc124..f730260 100644
--- a/api/audio_codecs/BUILD.gn
+++ b/api/audio_codecs/BUILD.gn
@@ -13,6 +13,7 @@
}
rtc_source_set("audio_codecs_api") {
+ visibility = [ "*" ]
sources = [
"audio_decoder.cc",
"audio_decoder.h",
@@ -38,6 +39,7 @@
}
rtc_static_library("builtin_audio_decoder_factory") {
+ visibility = [ "*" ]
sources = [
"builtin_audio_decoder_factory.cc",
"builtin_audio_decoder_factory.h",
@@ -66,6 +68,7 @@
}
rtc_static_library("builtin_audio_encoder_factory") {
+ visibility = [ "*" ]
sources = [
"builtin_audio_encoder_factory.cc",
"builtin_audio_encoder_factory.h",
diff --git a/api/audio_codecs/L16/BUILD.gn b/api/audio_codecs/L16/BUILD.gn
index 8f06a8f..f047bf1 100644
--- a/api/audio_codecs/L16/BUILD.gn
+++ b/api/audio_codecs/L16/BUILD.gn
@@ -13,6 +13,7 @@
}
rtc_static_library("audio_encoder_L16") {
+ visibility = [ "*" ]
sources = [
"audio_encoder_L16.cc",
"audio_encoder_L16.h",
@@ -27,6 +28,7 @@
}
rtc_static_library("audio_decoder_L16") {
+ visibility = [ "*" ]
sources = [
"audio_decoder_L16.cc",
"audio_decoder_L16.h",
diff --git a/api/audio_codecs/g711/BUILD.gn b/api/audio_codecs/g711/BUILD.gn
index aa86490..b62c679 100644
--- a/api/audio_codecs/g711/BUILD.gn
+++ b/api/audio_codecs/g711/BUILD.gn
@@ -13,6 +13,7 @@
}
rtc_static_library("audio_encoder_g711") {
+ visibility = [ "*" ]
sources = [
"audio_encoder_g711.cc",
"audio_encoder_g711.h",
@@ -27,6 +28,7 @@
}
rtc_static_library("audio_decoder_g711") {
+ visibility = [ "*" ]
sources = [
"audio_decoder_g711.cc",
"audio_decoder_g711.h",
diff --git a/api/audio_codecs/g722/BUILD.gn b/api/audio_codecs/g722/BUILD.gn
index 5af7e5c..0d12195 100644
--- a/api/audio_codecs/g722/BUILD.gn
+++ b/api/audio_codecs/g722/BUILD.gn
@@ -13,12 +13,14 @@
}
rtc_source_set("audio_encoder_g722_config") {
+ visibility = [ "*" ]
sources = [
"audio_encoder_g722_config.h",
]
}
rtc_static_library("audio_encoder_g722") {
+ visibility = [ "*" ]
sources = [
"audio_encoder_g722.cc",
"audio_encoder_g722.h",
@@ -34,6 +36,7 @@
}
rtc_static_library("audio_decoder_g722") {
+ visibility = [ "*" ]
sources = [
"audio_decoder_g722.cc",
"audio_decoder_g722.h",
diff --git a/api/audio_codecs/ilbc/BUILD.gn b/api/audio_codecs/ilbc/BUILD.gn
index 0f5f80d..944d4eb 100644
--- a/api/audio_codecs/ilbc/BUILD.gn
+++ b/api/audio_codecs/ilbc/BUILD.gn
@@ -13,12 +13,14 @@
}
rtc_source_set("audio_encoder_ilbc_config") {
+ visibility = [ "*" ]
sources = [
"audio_encoder_ilbc_config.h",
]
}
rtc_static_library("audio_encoder_ilbc") {
+ visibility = [ "*" ]
sources = [
"audio_encoder_ilbc.cc",
"audio_encoder_ilbc.h",
@@ -34,6 +36,7 @@
}
rtc_static_library("audio_decoder_ilbc") {
+ visibility = [ "*" ]
sources = [
"audio_decoder_ilbc.cc",
"audio_decoder_ilbc.h",
diff --git a/api/audio_codecs/isac/BUILD.gn b/api/audio_codecs/isac/BUILD.gn
index 5bd477d..f63435c 100644
--- a/api/audio_codecs/isac/BUILD.gn
+++ b/api/audio_codecs/isac/BUILD.gn
@@ -18,6 +18,7 @@
# on cleverly chosen criteria.
rtc_source_set("audio_encoder_isac") {
+ visibility = [ "*" ]
public = [
"audio_encoder_isac.h",
]
@@ -34,6 +35,7 @@
}
rtc_source_set("audio_decoder_isac") {
+ visibility = [ "*" ]
public = [
"audio_decoder_isac.h",
]
@@ -65,6 +67,7 @@
}
rtc_static_library("audio_encoder_isac_fix") {
+ visibility = [ "*" ]
sources = [
"audio_encoder_isac_fix.cc",
"audio_encoder_isac_fix.h",
@@ -79,6 +82,7 @@
}
rtc_static_library("audio_decoder_isac_fix") {
+ visibility = [ "*" ]
sources = [
"audio_decoder_isac_fix.cc",
"audio_decoder_isac_fix.h",
@@ -93,6 +97,7 @@
}
rtc_static_library("audio_encoder_isac_float") {
+ visibility = [ "*" ]
sources = [
"audio_encoder_isac_float.cc",
"audio_encoder_isac_float.h",
@@ -107,6 +112,7 @@
}
rtc_static_library("audio_decoder_isac_float") {
+ visibility = [ "*" ]
sources = [
"audio_decoder_isac_float.cc",
"audio_decoder_isac_float.h",
diff --git a/api/audio_codecs/opus/BUILD.gn b/api/audio_codecs/opus/BUILD.gn
index 9d07c95..13a4b5d 100644
--- a/api/audio_codecs/opus/BUILD.gn
+++ b/api/audio_codecs/opus/BUILD.gn
@@ -13,6 +13,7 @@
}
rtc_static_library("audio_encoder_opus_config") {
+ visibility = [ "*" ]
sources = [
"audio_encoder_opus_config.cc",
"audio_encoder_opus_config.h",
@@ -30,6 +31,7 @@
}
rtc_source_set("audio_encoder_opus") {
+ visibility = [ "*" ]
public = [
"audio_encoder_opus.h",
]
@@ -50,6 +52,7 @@
}
rtc_static_library("audio_decoder_opus") {
+ visibility = [ "*" ]
sources = [
"audio_decoder_opus.cc",
"audio_decoder_opus.h",
diff --git a/api/video_codecs/BUILD.gn b/api/video_codecs/BUILD.gn
index 6f3623d..5da8980 100644
--- a/api/video_codecs/BUILD.gn
+++ b/api/video_codecs/BUILD.gn
@@ -13,6 +13,7 @@
}
rtc_source_set("video_codecs_api") {
+ visibility = [ "*" ]
sources = [
"sdp_video_format.h",
"video_decoder.h",
diff --git a/audio/utility/BUILD.gn b/audio/utility/BUILD.gn
index 4e01710..aa8445c 100644
--- a/audio/utility/BUILD.gn
+++ b/audio/utility/BUILD.gn
@@ -14,6 +14,7 @@
}
rtc_static_library("audio_frame_operations") {
+ visibility = [ "*" ]
sources = [
"audio_frame_operations.cc",
"audio_frame_operations.h",
diff --git a/call/BUILD.gn b/call/BUILD.gn
index 99de0c9..90460e7 100644
--- a/call/BUILD.gn
+++ b/call/BUILD.gn
@@ -54,6 +54,7 @@
}
rtc_source_set("rtp_receiver") {
+ visibility = [ "*" ]
sources = [
"rtcp_demuxer.cc",
"rtcp_demuxer.h",
diff --git a/common_audio/BUILD.gn b/common_audio/BUILD.gn
index 27287ec..34cdddc 100644
--- a/common_audio/BUILD.gn
+++ b/common_audio/BUILD.gn
@@ -107,7 +107,7 @@
}
rtc_source_set("mock_common_audio") {
- visibility += [ "*" ]
+ visibility += webrtc_default_visibility
testonly = true
sources = [
"mocks/mock_smoothing_filter.h",
@@ -263,14 +263,14 @@
}
rtc_source_set("fir_filter") {
- visibility += [ "*" ]
+ visibility += webrtc_default_visibility
sources = [
"fir_filter.h",
]
}
rtc_source_set("fir_filter_factory") {
- visibility += [ "*" ]
+ visibility += webrtc_default_visibility
sources = [
"fir_filter_c.cc",
"fir_filter_c.h",
@@ -398,7 +398,7 @@
if (rtc_include_tests) {
rtc_test("common_audio_unittests") {
- visibility += [ "*" ]
+ visibility += webrtc_default_visibility
testonly = true
sources = [
diff --git a/common_video/BUILD.gn b/common_video/BUILD.gn
index 68b102b..1c298fd 100644
--- a/common_video/BUILD.gn
+++ b/common_video/BUILD.gn
@@ -13,6 +13,8 @@
}
rtc_static_library("common_video") {
+ visibility = [ "*" ]
+
sources = [
"bitrate_adjuster.cc",
"h264/h264_bitstream_parser.cc",
diff --git a/logging/BUILD.gn b/logging/BUILD.gn
index e755b16..7ecb0fa 100644
--- a/logging/BUILD.gn
+++ b/logging/BUILD.gn
@@ -88,6 +88,7 @@
}
rtc_static_library("rtc_event_log_impl") {
+ visibility = [ "*" ]
sources = [
"rtc_event_log/encoder/rtc_event_log_encoder.h",
"rtc_event_log/encoder/rtc_event_log_encoder_legacy.cc",
diff --git a/media/BUILD.gn b/media/BUILD.gn
index 6379240..24d9c2e 100644
--- a/media/BUILD.gn
+++ b/media/BUILD.gn
@@ -33,6 +33,7 @@
}
rtc_source_set("rtc_h264_profile_id") {
+ visibility = [ "*" ]
sources = [
"base/h264_profile_level_id.cc",
"base/h264_profile_level_id.h",
@@ -52,6 +53,7 @@
}
rtc_static_library("rtc_media_base") {
+ visibility = [ "*" ]
defines = []
libs = []
deps = [
@@ -213,6 +215,7 @@
}
rtc_static_library("rtc_audio_video") {
+ visibility = [ "*" ]
defines = []
libs = []
deps = [
@@ -373,6 +376,7 @@
}
rtc_source_set("rtc_media") {
+ visibility = [ "*" ]
public_deps = [
":rtc_audio_video",
":rtc_data",
diff --git a/modules/BUILD.gn b/modules/BUILD.gn
index 1f93e99..b5de323 100644
--- a/modules/BUILD.gn
+++ b/modules/BUILD.gn
@@ -43,6 +43,7 @@
}
rtc_source_set("module_api") {
+ visibility = [ "*" ]
sources = [
"include/module.h",
"include/module_common_types.h",
diff --git a/modules/audio_coding/BUILD.gn b/modules/audio_coding/BUILD.gn
index 1d6a70c8..f9eea0c 100644
--- a/modules/audio_coding/BUILD.gn
+++ b/modules/audio_coding/BUILD.gn
@@ -40,7 +40,7 @@
]
rtc_static_library("audio_format_conversion") {
- visibility += [ "*" ]
+ visibility += webrtc_default_visibility
sources = [
"codecs/audio_format_conversion.cc",
"codecs/audio_format_conversion.h",
@@ -57,7 +57,7 @@
}
rtc_static_library("rent_a_codec") {
- visibility += [ "*" ]
+ visibility += webrtc_default_visibility
sources = [
"acm2/acm_codec_database.cc",
"acm2/acm_codec_database.h",
@@ -297,7 +297,7 @@
}
rtc_static_library("ilbc") {
- visibility += [ "*" ]
+ visibility += webrtc_default_visibility
sources = [
"codecs/ilbc/audio_decoder_ilbc.cc",
"codecs/ilbc/audio_decoder_ilbc.h",
@@ -823,7 +823,7 @@
}
rtc_static_library("webrtc_opus") {
- visibility += [ "*" ]
+ visibility += webrtc_default_visibility
sources = [
"codecs/opus/audio_decoder_opus.cc",
"codecs/opus/audio_decoder_opus.h",
@@ -884,7 +884,7 @@
if (rtc_enable_protobuf) {
proto_library("ana_debug_dump_proto") {
- visibility += [ "*" ]
+ visibility += webrtc_default_visibility
sources = [
"audio_network_adaptor/debug_dump.proto",
]
@@ -902,7 +902,7 @@
}
rtc_static_library("audio_network_adaptor_config") {
- visibility += [ "*" ]
+ visibility += webrtc_default_visibility
sources = [
"audio_network_adaptor/audio_network_adaptor_config.cc",
"audio_network_adaptor/include/audio_network_adaptor_config.h",
@@ -913,7 +913,7 @@
}
rtc_static_library("audio_network_adaptor") {
- visibility += [ "*" ]
+ visibility += webrtc_default_visibility
sources = [
"audio_network_adaptor/audio_network_adaptor_impl.cc",
"audio_network_adaptor/audio_network_adaptor_impl.h",
@@ -984,7 +984,7 @@
}
rtc_static_library("neteq") {
- visibility += [ "*" ]
+ visibility += webrtc_default_visibility
sources = [
"neteq/accelerate.cc",
"neteq/accelerate.h",
@@ -1082,7 +1082,7 @@
# that ultimately are built and run as a part of the Chromium ecosystem, which
# does not set the rtc_include_tests flag.
rtc_source_set("neteq_tools_minimal") {
- visibility += [ "*" ]
+ visibility += webrtc_default_visibility
sources = [
"neteq/tools/audio_sink.cc",
"neteq/tools/audio_sink.h",
@@ -1119,7 +1119,7 @@
}
rtc_source_set("neteq_test_tools") {
- visibility += [ "*" ]
+ visibility += webrtc_default_visibility
testonly = true
sources = [
"neteq/tools/audio_checksum.h",
@@ -1178,7 +1178,7 @@
}
rtc_source_set("neteq_tools") {
- visibility += [ "*" ]
+ visibility += webrtc_default_visibility
sources = [
"neteq/tools/fake_decode_from_file.cc",
"neteq/tools/fake_decode_from_file.h",
@@ -1214,7 +1214,7 @@
}
rtc_source_set("neteq_input_audio_tools") {
- visibility += [ "*" ]
+ visibility += webrtc_default_visibility
sources = [
"neteq/tools/input_audio_file.cc",
"neteq/tools/input_audio_file.h",
@@ -1275,7 +1275,7 @@
}
group("audio_coding_tests") {
- visibility += [ "*" ]
+ visibility += webrtc_default_visibility
testonly = true
public_deps = [
":acm_receive_test",
@@ -1310,7 +1310,7 @@
rtc_source_set("audio_coding_modules_tests") {
testonly = true
- visibility += [ "*" ]
+ visibility += webrtc_default_visibility
sources = [
"test/ACMTest.h",
@@ -1374,7 +1374,7 @@
rtc_source_set("audio_coding_perf_tests") {
testonly = true
- visibility += [ "*" ]
+ visibility += webrtc_default_visibility
sources = [
"codecs/opus/opus_complexity_unittest.cc",
@@ -2053,7 +2053,7 @@
rtc_source_set("audio_coding_unittests") {
testonly = true
- visibility += [ "*" ]
+ visibility += webrtc_default_visibility
sources = [
"acm2/acm_receiver_unittest.cc",
diff --git a/modules/audio_device/BUILD.gn b/modules/audio_device/BUILD.gn
index 3b70c07..eac2dc0 100644
--- a/modules/audio_device/BUILD.gn
+++ b/modules/audio_device/BUILD.gn
@@ -46,6 +46,7 @@
}
rtc_source_set("audio_device") {
+ visibility = [ "*" ]
public_deps = [
":audio_device_generic",
]
diff --git a/modules/audio_processing/BUILD.gn b/modules/audio_processing/BUILD.gn
index c5724e5..4de77c7 100644
--- a/modules/audio_processing/BUILD.gn
+++ b/modules/audio_processing/BUILD.gn
@@ -26,6 +26,7 @@
}
rtc_static_library("audio_processing") {
+ visibility = [ "*" ]
configs += [ ":apm_debug_dump" ]
sources = [
"aec/aec_resampler.cc",
@@ -290,6 +291,7 @@
}
rtc_source_set("audio_processing_statistics") {
+ visibility = [ "*" ]
sources = [
"include/audio_processing_statistics.cc",
"include/audio_processing_statistics.h",
@@ -781,6 +783,7 @@
}
rtc_source_set("audioproc_test_utils") {
+ visibility = [ "*" ]
testonly = true
sources = [
"test/audio_buffer_tools.cc",
diff --git a/modules/audio_processing/aec_dump/BUILD.gn b/modules/audio_processing/aec_dump/BUILD.gn
index 2e44509..aac4b0a 100644
--- a/modules/audio_processing/aec_dump/BUILD.gn
+++ b/modules/audio_processing/aec_dump/BUILD.gn
@@ -9,6 +9,7 @@
import("../../../webrtc.gni") # This contains def of 'rtc_enable_protobuf'
rtc_source_set("aec_dump") {
+ visibility = [ "*" ]
sources = [
"aec_dump_factory.h",
]
diff --git a/modules/bitrate_controller/BUILD.gn b/modules/bitrate_controller/BUILD.gn
index a791c33..165db62 100644
--- a/modules/bitrate_controller/BUILD.gn
+++ b/modules/bitrate_controller/BUILD.gn
@@ -9,6 +9,7 @@
import("../../webrtc.gni")
rtc_static_library("bitrate_controller") {
+ visibility = [ "*" ]
sources = [
"bitrate_controller_impl.cc",
"bitrate_controller_impl.h",
diff --git a/modules/congestion_controller/BUILD.gn b/modules/congestion_controller/BUILD.gn
index e2c79a0..46c3047 100644
--- a/modules/congestion_controller/BUILD.gn
+++ b/modules/congestion_controller/BUILD.gn
@@ -17,6 +17,7 @@
}
rtc_static_library("congestion_controller") {
+ visibility = [ "*" ]
configs += [ ":bwe_test_logging" ]
sources = [
"include/receive_side_congestion_controller.h",
diff --git a/modules/desktop_capture/BUILD.gn b/modules/desktop_capture/BUILD.gn
index fa414b7..04fef21 100644
--- a/modules/desktop_capture/BUILD.gn
+++ b/modules/desktop_capture/BUILD.gn
@@ -12,6 +12,7 @@
use_desktop_capture_differ_sse2 = current_cpu == "x86" || current_cpu == "x64"
rtc_static_library("primitives") {
+ visibility = [ "*" ]
sources = [
"desktop_capture_types.h",
"desktop_frame.cc",
@@ -159,6 +160,7 @@
}
rtc_source_set("desktop_capture") {
+ visibility = [ "*" ]
public_deps = [
":desktop_capture_generic",
]
diff --git a/modules/media_file/BUILD.gn b/modules/media_file/BUILD.gn
index 589b281..4fff59d 100644
--- a/modules/media_file/BUILD.gn
+++ b/modules/media_file/BUILD.gn
@@ -13,6 +13,7 @@
}
rtc_static_library("media_file") {
+ visibility = [ "*" ]
sources = [
"media_file.h",
"media_file_defines.h",
diff --git a/modules/remote_bitrate_estimator/BUILD.gn b/modules/remote_bitrate_estimator/BUILD.gn
index 0ca6b87..c57b498 100644
--- a/modules/remote_bitrate_estimator/BUILD.gn
+++ b/modules/remote_bitrate_estimator/BUILD.gn
@@ -9,6 +9,7 @@
import("../../webrtc.gni")
rtc_static_library("remote_bitrate_estimator") {
+ visibility = [ "*" ]
sources = [
"aimd_rate_control.cc",
"aimd_rate_control.h",
diff --git a/modules/rtp_rtcp/BUILD.gn b/modules/rtp_rtcp/BUILD.gn
index f07ff1a..bf94013 100644
--- a/modules/rtp_rtcp/BUILD.gn
+++ b/modules/rtp_rtcp/BUILD.gn
@@ -97,6 +97,7 @@
}
rtc_static_library("rtp_rtcp") {
+ visibility = [ "*" ]
sources = [
"include/flexfec_receiver.h",
"include/flexfec_sender.h",
@@ -230,6 +231,7 @@
}
rtc_source_set("rtcp_transceiver") {
+ visibility = [ "*" ]
public = [
"source/rtcp_transceiver.h",
"source/rtcp_transceiver_config.h",
diff --git a/modules/utility/BUILD.gn b/modules/utility/BUILD.gn
index e3de364..fbfa61e 100644
--- a/modules/utility/BUILD.gn
+++ b/modules/utility/BUILD.gn
@@ -9,6 +9,7 @@
import("../../webrtc.gni")
rtc_static_library("utility") {
+ visibility = [ "*" ]
sources = [
"include/audio_frame_operations.h",
"include/helpers_android.h",
@@ -45,6 +46,7 @@
rtc_source_set("mock_process_thread") {
testonly = true
+ visibility = [ "*" ]
sources = [
"include/mock/mock_process_thread.h",
]
diff --git a/modules/video_capture/BUILD.gn b/modules/video_capture/BUILD.gn
index 8df5205..6378564 100644
--- a/modules/video_capture/BUILD.gn
+++ b/modules/video_capture/BUILD.gn
@@ -47,6 +47,7 @@
}
rtc_static_library("video_capture") {
+ visibility = [ "*" ]
sources = [
"external/device_info_external.cc",
"external/video_capture_external.cc",
diff --git a/modules/video_coding/BUILD.gn b/modules/video_coding/BUILD.gn
index 2ca7f14..efd0f25 100644
--- a/modules/video_coding/BUILD.gn
+++ b/modules/video_coding/BUILD.gn
@@ -9,6 +9,7 @@
import("../../webrtc.gni")
rtc_static_library("video_coding") {
+ visibility = [ "*" ]
sources = [
"codec_database.cc",
"codec_database.h",
@@ -168,6 +169,7 @@
}
rtc_source_set("video_coding_utility") {
+ visibility = [ "*" ]
sources = [
"codecs/interface/video_codec_interface.h",
"codecs/interface/video_error_codes.h",
@@ -212,6 +214,7 @@
}
rtc_static_library("webrtc_h264") {
+ visibility = [ "*" ]
sources = [
"codecs/h264/h264.cc",
"codecs/h264/include/h264.h",
@@ -255,6 +258,7 @@
}
rtc_static_library("webrtc_i420") {
+ visibility = [ "*" ]
sources = [
"codecs/i420/i420.cc",
"codecs/i420/include/i420.h",
@@ -332,6 +336,7 @@
# This target includes the internal SW codec.
rtc_static_library("webrtc_vp8") {
+ visibility = [ "*" ]
sources = [
"codecs/vp8/default_temporal_layers.cc",
"codecs/vp8/default_temporal_layers.h",
@@ -376,6 +381,7 @@
}
rtc_static_library("webrtc_vp9") {
+ visibility = [ "*" ]
if (rtc_libvpx_build_vp9) {
sources = [
"codecs/vp9/include/vp9.h",
diff --git a/modules/video_processing/BUILD.gn b/modules/video_processing/BUILD.gn
index 4fd5e88..351e579 100644
--- a/modules/video_processing/BUILD.gn
+++ b/modules/video_processing/BUILD.gn
@@ -12,6 +12,7 @@
build_video_processing_sse2 = current_cpu == "x86" || current_cpu == "x64"
rtc_static_library("video_processing") {
+ visibility = [ "*" ]
sources = [
"util/denoiser_filter.cc",
"util/denoiser_filter_c.cc",
diff --git a/p2p/BUILD.gn b/p2p/BUILD.gn
index f9c75cf2..f72ce16 100644
--- a/p2p/BUILD.gn
+++ b/p2p/BUILD.gn
@@ -20,6 +20,7 @@
}
rtc_static_library("rtc_p2p") {
+ visibility = [ "*" ]
sources = [
"base/asyncstuntcpsocket.cc",
"base/asyncstuntcpsocket.h",
@@ -194,6 +195,7 @@
}
rtc_static_library("libstunprober") {
+ visibility = [ "*" ]
sources = [
"stunprober/stunprober.cc",
"stunprober/stunprober.h",
diff --git a/pc/BUILD.gn b/pc/BUILD.gn
index cd1a489..09fa2c2 100644
--- a/pc/BUILD.gn
+++ b/pc/BUILD.gn
@@ -26,6 +26,7 @@
}
rtc_static_library("rtc_pc_base") {
+ visibility = [ "*" ]
defines = []
sources = [
"audiomonitor.cc",
@@ -99,6 +100,7 @@
}
rtc_source_set("rtc_pc") {
+ visibility = [ "*" ]
deps = [
":rtc_pc_base",
"../media:rtc_audio_video",
@@ -115,6 +117,7 @@
}
rtc_static_library("peerconnection") {
+ visibility = [ "*" ]
cflags = []
sources = [
"audiotrack.cc",
@@ -237,6 +240,7 @@
}
rtc_source_set("libjingle_peerconnection") {
+ visibility = [ "*" ]
deps = [
":create_pc_factory",
":peerconnection",
diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn
index cc475f7..479f67f 100644
--- a/rtc_base/BUILD.gn
+++ b/rtc_base/BUILD.gn
@@ -64,6 +64,7 @@
}
source_set("protobuf_utils") {
+ visibility = [ "*" ]
sources = [
"protobuf_utils.h",
]
@@ -81,6 +82,7 @@
}
rtc_source_set("rtc_base_approved") {
+ visibility = [ "*" ]
public_deps = [
":rtc_base_approved_generic",
]
@@ -377,6 +379,7 @@
}
rtc_source_set("rtc_task_queue") {
+ visibility = [ "*" ]
deps = [
":rtc_base_approved",
]
@@ -405,6 +408,7 @@
}
rtc_source_set("rtc_task_queue_impl") {
+ visibility = [ "*" ]
deps = [
":checks",
":rtc_base_approved",
@@ -506,6 +510,7 @@
}
rtc_static_library("rtc_base") {
+ visibility = [ "*" ]
public_deps = [
":rtc_base_generic",
]
@@ -789,6 +794,7 @@
}
rtc_source_set("gtest_prod") {
+ visibility = [ "*" ]
sources = [
"gtest_prod_util.h",
]
@@ -984,6 +990,7 @@
}
rtc_source_set("rtc_task_queue_unittests") {
+ visibility = [ "*" ]
testonly = true
sources = [
diff --git a/rtc_tools/BUILD.gn b/rtc_tools/BUILD.gn
index 8a04b14..ac7e44d 100644
--- a/rtc_tools/BUILD.gn
+++ b/rtc_tools/BUILD.gn
@@ -71,6 +71,7 @@
}
rtc_executable("frame_analyzer") {
+ visibility = [ "*" ]
sources = [
"frame_analyzer/frame_analyzer.cc",
]
@@ -121,6 +122,7 @@
}
rtc_executable("rgba_to_i420_converter") {
+ visibility = [ "*" ]
sources = [
"converter/converter.cc",
"converter/converter.h",
diff --git a/sdk/BUILD.gn b/sdk/BUILD.gn
index 14d529a..ef243d0 100644
--- a/sdk/BUILD.gn
+++ b/sdk/BUILD.gn
@@ -212,6 +212,7 @@
}
rtc_static_library("ui_objc") {
+ visibility = [ "*" ]
if (is_ios) {
sources = [
"objc/Framework/Classes/UI/RTCCameraPreviewView.m",
@@ -273,6 +274,7 @@
}
rtc_static_library("peerconnection_objc") {
+ visibility = [ "*" ]
sources = [
"objc/Framework/Classes/PeerConnection/RTCAVFoundationVideoSource+Private.h",
"objc/Framework/Classes/PeerConnection/RTCAVFoundationVideoSource.mm",
@@ -370,6 +372,7 @@
# The applications which only use WebRTC DataChannel can depend on this
# target instead of rtc_sdk_objc.
rtc_static_library("peerconnectionfactory_no_media_objc") {
+ visibility = [ "*" ]
defines = [ "HAVE_NO_MEDIA" ]
sources = [
diff --git a/sdk/android/BUILD.gn b/sdk/android/BUILD.gn
index 366961d..9709714 100644
--- a/sdk/android/BUILD.gn
+++ b/sdk/android/BUILD.gn
@@ -63,6 +63,7 @@
}
rtc_source_set("base_jni") {
+ visibility = [ "*" ]
sources = [
"src/jni/androidhistogram.cc",
"src/jni/class_loader.cc",
@@ -441,6 +442,7 @@
}
rtc_static_library("libjingle_peerconnection_jni") {
+ visibility = [ "*" ]
public_deps = [
":audio_jni",
":base_jni",
@@ -460,6 +462,7 @@
}
rtc_static_library("libjingle_peerconnection_metrics_default_jni") {
+ visibility = [ "*" ]
sources = [
"src/jni/androidmetrics.cc",
]
diff --git a/stats/BUILD.gn b/stats/BUILD.gn
index 92cd1a9..92231ce 100644
--- a/stats/BUILD.gn
+++ b/stats/BUILD.gn
@@ -15,6 +15,7 @@
}
rtc_static_library("rtc_stats") {
+ visibility = [ "*" ]
cflags = []
sources = [
"rtcstats.cc",
@@ -29,6 +30,7 @@
}
rtc_source_set("rtc_stats_test_utils") {
+ visibility = [ "*" ]
cflags = []
sources = [
"test/rtcteststats.cc",
diff --git a/style-guide.md b/style-guide.md
index ca9bad2..d8fbaae 100644
--- a/style-guide.md
+++ b/style-guide.md
@@ -116,7 +116,7 @@
[gn]: https://chromium.googlesource.com/chromium/src/tools/gn/
[chr-gn-style]: https://chromium.googlesource.com/chromium/src/tools/gn/+/HEAD/docs/style_guide.md
-### WebRTC-specific GN templates
+### <a name="webrtc-gn-templates"></a>WebRTC-specific GN templates
Use the following [GN templates][gn-templ] to ensure that all
our [targets][gn-target] are built with the same configuration:
@@ -132,6 +132,23 @@
[gn-templ]: https://chromium.googlesource.com/chromium/src/tools/gn/+/HEAD/docs/language.md#Templates
[gn-target]: https://chromium.googlesource.com/chromium/src/tools/gn/+/HEAD/docs/language.md#Targets
+### Target visibility and the native API
+
+The [WebRTC-specific GN templates](#webrtc-gn-templates) declare build
+targets whose default `visibility` allows all other targets in the
+WebRTC tree (and no targets outside the tree) to depend on them.
+
+Prefer to restrict the visibility if possible:
+
+* If a target is used by only one or a tiny number of other targets,
+ prefer to list them explicitly: `visibility = [ ":foo", ":bar" ]`
+* If a target is used only by targets in the same `BUILD.gn` file:
+ `visibility = [ ":*" ]`.
+
+Setting `visibility = [ "*" ]` means that targets outside the WebRTC
+tree can depend on this target; use this only for build targets whose
+headers are part of the [native API](native-api.md).
+
### Conditional compilation with the C preprocessor
Avoid using the C preprocessor to conditionally enable or disable
diff --git a/system_wrappers/BUILD.gn b/system_wrappers/BUILD.gn
index f999e21..358137f 100644
--- a/system_wrappers/BUILD.gn
+++ b/system_wrappers/BUILD.gn
@@ -13,6 +13,7 @@
import("../webrtc.gni")
rtc_static_library("system_wrappers") {
+ visibility = [ "*" ]
sources = [
"include/aligned_array.h",
"include/aligned_malloc.h",
@@ -130,6 +131,7 @@
}
rtc_source_set("metrics_api") {
+ visibility = [ "*" ]
sources = [
"include/metrics.h",
]
@@ -141,6 +143,7 @@
}
rtc_source_set("field_trial_default") {
+ visibility = [ "*" ]
sources = [
"include/field_trial_default.h",
"source/field_trial_default.cc",
@@ -151,6 +154,7 @@
}
rtc_source_set("metrics_default") {
+ visibility = [ "*" ]
sources = [
"include/metrics_default.h",
"source/metrics_default.cc",
diff --git a/test/BUILD.gn b/test/BUILD.gn
index fe8a89e..00a7ae5 100644
--- a/test/BUILD.gn
+++ b/test/BUILD.gn
@@ -36,6 +36,7 @@
}
rtc_source_set("video_test_common") {
+ visibility = [ "*" ]
testonly = true
sources = [
"fake_texture_frame.cc",
@@ -105,6 +106,7 @@
}
rtc_source_set("field_trial") {
+ visibility = [ "*" ]
testonly = true
sources = [
"field_trial.cc",
@@ -119,6 +121,7 @@
}
rtc_source_set("perf_test") {
+ visibility = [ "*" ]
testonly = true
sources = [
"testsupport/perf_test.cc",
@@ -147,6 +150,7 @@
}
rtc_source_set("test_support") {
+ visibility = [ "*" ]
testonly = true
sources = [
@@ -196,6 +200,7 @@
if (rtc_include_tests) {
rtc_source_set("test_main") {
+ visibility = [ "*" ]
testonly = true
sources = [
"test_main.cc",
@@ -478,6 +483,7 @@
}
rtc_source_set("direct_transport") {
+ visibility = [ "*" ]
testonly = true
sources = [
"direct_transport.cc",
@@ -518,6 +524,7 @@
}
rtc_source_set("fake_audio_device") {
+ visibility = [ "*" ]
testonly = true
sources = [
"fake_audio_device.cc",
diff --git a/voice_engine/BUILD.gn b/voice_engine/BUILD.gn
index a10b792..bb9253f 100644
--- a/voice_engine/BUILD.gn
+++ b/voice_engine/BUILD.gn
@@ -104,7 +104,7 @@
if (rtc_include_tests) {
rtc_test("voice_engine_unittests") {
- visibility += [ "*" ]
+ visibility += webrtc_default_visibility
deps = [
":voice_engine",
"../api/audio_codecs:builtin_audio_decoder_factory",
diff --git a/webrtc.gni b/webrtc.gni
index b8ceb8e..ffa92d4 100644
--- a/webrtc.gni
+++ b/webrtc.gni
@@ -264,6 +264,13 @@
suppressed_configs = []
}
+webrtc_default_visibility = [ webrtc_root + "/*" ]
+if (build_with_chromium) {
+ # Allow Chromium's WebRTC overrides targets to bypass the regular
+ # visibility restrictions.
+ webrtc_default_visibility += [ webrtc_root + "/../webrtc_overrides/*" ]
+}
+
template("rtc_test") {
test(target_name) {
forward_variables_from(invoker,
@@ -304,6 +311,9 @@
"visibility",
])
forward_variables_from(invoker, [ "visibility" ])
+ if (!defined(visibility)) {
+ visibility = webrtc_default_visibility
+ }
configs += invoker.configs
configs -= rtc_remove_configs
configs -= invoker.suppressed_configs
@@ -326,6 +336,9 @@
"visibility",
])
forward_variables_from(invoker, [ "visibility" ])
+ if (!defined(visibility)) {
+ visibility = webrtc_default_visibility
+ }
configs += invoker.configs
configs -= rtc_remove_configs
configs -= invoker.suppressed_configs
@@ -352,6 +365,9 @@
"visibility",
])
forward_variables_from(invoker, [ "visibility" ])
+ if (!defined(visibility)) {
+ visibility = webrtc_default_visibility
+ }
configs += invoker.configs
configs -= rtc_remove_configs
configs -= invoker.suppressed_configs
@@ -373,6 +389,9 @@
"visibility",
])
forward_variables_from(invoker, [ "visibility" ])
+ if (!defined(visibility)) {
+ visibility = webrtc_default_visibility
+ }
configs += invoker.configs
configs -= rtc_remove_configs
configs -= invoker.suppressed_configs
@@ -400,6 +419,9 @@
"visibility",
])
forward_variables_from(invoker, [ "visibility" ])
+ if (!defined(visibility)) {
+ visibility = webrtc_default_visibility
+ }
configs += invoker.configs
configs -= rtc_remove_configs
configs -= invoker.suppressed_configs