diff options
author | Mirko Bonadei <mbonadei@webrtc.org> | 2019-10-17 21:32:04 +0200 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-10-17 21:17:18 +0000 |
commit | 86d053c2db6ed25e4854c307d563999298dda2e5 (patch) | |
tree | 170909a876f1443e0cec6defac0ac5ea5f4cbc56 /logging | |
parent | e8b962bd3c9775b2859f908004263dbc8840629a (diff) | |
download | webrtc-86d053c2db6ed25e4854c307d563999298dda2e5.tar.gz |
Use source_sets in component builds and static_library in release builds.
Static libraries don't guarantee that an exported symbol gets linked
into a shared library (and in order to support Chromium's component
build mode, WebRTC needs to be linked as a shared library).
Source sets always pass all the object files to the linker.
On the flip side, source_sets link more object files in release builds
and to avoid this, this CL introduces a the GN template "rtc_library" that
expands to static_library during release builds and to source_set during
component builds.
See: https://gn.googlesource.com/gn/+/master/docs/reference.md#func_source_set
Bug: webrtc:9419
Change-Id: I4667e820c2b3fcec417becbd2034acc13e4f04fe
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157168
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#29525}
Diffstat (limited to 'logging')
-rw-r--r-- | logging/BUILD.gn | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/logging/BUILD.gn b/logging/BUILD.gn index 079cd3ac5a..eb52c73ec8 100644 --- a/logging/BUILD.gn +++ b/logging/BUILD.gn @@ -36,7 +36,7 @@ rtc_source_set("rtc_event_log_api") { ] } -rtc_source_set("rtc_stream_config") { +rtc_library("rtc_stream_config") { sources = [ "rtc_event_log/rtc_stream_config.cc", "rtc_event_log/rtc_stream_config.h", @@ -48,7 +48,7 @@ rtc_source_set("rtc_stream_config") { ] } -rtc_source_set("rtc_event_pacing") { +rtc_library("rtc_event_pacing") { sources = [ "rtc_event_log/events/rtc_event_alr_state.cc", "rtc_event_log/events/rtc_event_alr_state.h", @@ -61,7 +61,7 @@ rtc_source_set("rtc_event_pacing") { ] } -rtc_source_set("rtc_event_audio") { +rtc_library("rtc_event_audio") { sources = [ "rtc_event_log/events/rtc_event_audio_network_adaptation.cc", "rtc_event_log/events/rtc_event_audio_network_adaptation.h", @@ -83,7 +83,7 @@ rtc_source_set("rtc_event_audio") { ] } -rtc_source_set("rtc_event_bwe") { +rtc_library("rtc_event_bwe") { sources = [ "rtc_event_log/events/rtc_event_bwe_update_delay_based.cc", "rtc_event_log/events/rtc_event_bwe_update_delay_based.h", @@ -110,7 +110,7 @@ rtc_source_set("rtc_event_bwe") { ] } -rtc_source_set("rtc_event_generic_packet_events") { +rtc_library("rtc_event_generic_packet_events") { visibility = [ "*" ] sources = [ "rtc_event_log/events/rtc_event_generic_ack_received.cc", @@ -128,7 +128,7 @@ rtc_source_set("rtc_event_generic_packet_events") { ] } -rtc_source_set("rtc_event_rtp_rtcp") { +rtc_library("rtc_event_rtp_rtcp") { sources = [ "rtc_event_log/events/rtc_event_rtcp_packet_incoming.cc", "rtc_event_log/events/rtc_event_rtcp_packet_incoming.h", @@ -151,7 +151,7 @@ rtc_source_set("rtc_event_rtp_rtcp") { ] } -rtc_source_set("rtc_event_video") { +rtc_library("rtc_event_video") { sources = [ "rtc_event_log/events/rtc_event_video_receive_stream_config.cc", "rtc_event_log/events/rtc_event_video_receive_stream_config.h", @@ -170,7 +170,7 @@ rtc_source_set("rtc_event_video") { # TODO(eladalon): Break down into (1) encoder and (2) decoder; we don't need # the decoder code in the WebRTC library, only in unit tests and tools. -rtc_static_library("rtc_event_log_impl_encoder") { +rtc_library("rtc_event_log_impl_encoder") { sources = [ "rtc_event_log/encoder/blob_encoding.cc", "rtc_event_log/encoder/blob_encoding.h", @@ -235,7 +235,7 @@ rtc_source_set("rtc_event_log_impl_output") { } if (rtc_enable_protobuf) { - rtc_source_set("rtc_event_log_impl") { + rtc_library("rtc_event_log_impl") { visibility = [ "../api/rtc_event_log:rtc_event_log_factory" ] sources = [ "rtc_event_log/rtc_event_log_impl.cc", @@ -258,7 +258,7 @@ if (rtc_enable_protobuf) { } } -rtc_source_set("fake_rtc_event_log") { +rtc_library("fake_rtc_event_log") { testonly = true sources = [ "rtc_event_log/fake_rtc_event_log.cc", @@ -292,7 +292,7 @@ if (rtc_enable_protobuf) { proto_out_dir = "logging/rtc_event_log" } - rtc_static_library("rtc_event_log_parser") { + rtc_library("rtc_event_log_parser") { visibility = [ "*" ] sources = [ "rtc_event_log/logged_events.cc", @@ -335,7 +335,7 @@ if (rtc_enable_protobuf) { } if (rtc_include_tests) { - rtc_source_set("rtc_event_log_tests") { + rtc_library("rtc_event_log_tests") { testonly = true assert(rtc_enable_protobuf) defines = [ "ENABLE_RTC_EVENT_LOG" ] @@ -412,7 +412,7 @@ if (rtc_enable_protobuf) { } } -rtc_source_set("ice_log") { +rtc_library("ice_log") { sources = [ "rtc_event_log/events/rtc_event_dtls_transport_state.cc", "rtc_event_log/events/rtc_event_dtls_transport_state.h", @@ -436,7 +436,7 @@ rtc_source_set("ice_log") { } if (rtc_include_tests) { - rtc_source_set("mocks") { + rtc_library("mocks") { testonly = true sources = [ "rtc_event_log/mock/mock_rtc_event_log.cc", |