From 86d053c2db6ed25e4854c307d563999298dda2e5 Mon Sep 17 00:00:00 2001 From: Mirko Bonadei Date: Thu, 17 Oct 2019 21:32:04 +0200 Subject: 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 Reviewed-by: Karl Wiberg Reviewed-by: Nico Weber Cr-Commit-Position: refs/heads/master@{#29525} --- p2p/BUILD.gn | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'p2p/BUILD.gn') diff --git a/p2p/BUILD.gn b/p2p/BUILD.gn index 913560d8b9..0b3d28c404 100644 --- a/p2p/BUILD.gn +++ b/p2p/BUILD.gn @@ -15,7 +15,7 @@ group("p2p") { ] } -rtc_source_set("stun_types") { +rtc_library("stun_types") { sources = [ "base/stun.cc", "base/stun.h", @@ -27,7 +27,7 @@ rtc_source_set("stun_types") { ] } -rtc_static_library("rtc_p2p") { +rtc_library("rtc_p2p") { visibility = [ "*" ] sources = [ "base/async_stun_tcp_socket.cc", @@ -126,7 +126,7 @@ rtc_static_library("rtc_p2p") { } if (rtc_include_tests) { - rtc_source_set("fake_ice_transport") { + rtc_library("fake_ice_transport") { testonly = true visibility = [ "*" ] sources = [ @@ -141,7 +141,7 @@ if (rtc_include_tests) { ] } - rtc_source_set("fake_port_allocator") { + rtc_library("fake_port_allocator") { testonly = true visibility = [ "*" ] sources = [ @@ -153,7 +153,7 @@ if (rtc_include_tests) { ] } - rtc_source_set("p2p_test_utils") { + rtc_library("p2p_test_utils") { testonly = true sources = [ "base/fake_dtls_transport.h", @@ -186,7 +186,7 @@ if (rtc_include_tests) { ] } - rtc_source_set("rtc_p2p_unittests") { + rtc_library("rtc_p2p_unittests") { testonly = true sources = [ @@ -241,7 +241,7 @@ if (rtc_include_tests) { } } -rtc_source_set("p2p_server_utils") { +rtc_library("p2p_server_utils") { testonly = true sources = [ "base/relay_server.cc", @@ -263,7 +263,7 @@ rtc_source_set("p2p_server_utils") { ] } -rtc_static_library("libstunprober") { +rtc_library("libstunprober") { visibility = [ "*" ] sources = [ "stunprober/stun_prober.cc", @@ -281,7 +281,7 @@ rtc_static_library("libstunprober") { } if (rtc_include_tests) { - rtc_source_set("libstunprober_unittests") { + rtc_library("libstunprober_unittests") { testonly = true sources = [ -- cgit v1.2.3