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 /p2p/BUILD.gn | |
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 'p2p/BUILD.gn')
-rw-r--r-- | p2p/BUILD.gn | 18 |
1 files changed, 9 insertions, 9 deletions
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 = [ |