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 /examples | |
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 'examples')
-rw-r--r-- | examples/BUILD.gn | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/examples/BUILD.gn b/examples/BUILD.gn index 0814dcfb15..7b69c2b85c 100644 --- a/examples/BUILD.gn +++ b/examples/BUILD.gn @@ -61,7 +61,7 @@ group("examples") { } } -rtc_source_set("read_auth_file") { +rtc_library("read_auth_file") { testonly = true sources = [ "turnserver/read_auth_file.cc", @@ -190,7 +190,7 @@ if (is_ios || (is_mac && target_cpu != "x86")) { include_dirs = [ "objc/AppRTCMobile/common" ] } - rtc_static_library("apprtc_common") { + rtc_library("apprtc_common") { testonly = true sources = [ "objc/AppRTCMobile/common/ARDUtilities.h", @@ -219,7 +219,7 @@ if (is_ios || (is_mac && target_cpu != "x86")) { ] } - rtc_static_library("apprtc_signaling") { + rtc_library("apprtc_signaling") { testonly = true sources = [ "objc/AppRTCMobile/ARDAppClient+Internal.h", @@ -284,7 +284,7 @@ if (is_ios || (is_mac && target_cpu != "x86")) { } if (is_ios) { - rtc_static_library("AppRTCMobile_lib") { + rtc_library("AppRTCMobile_lib") { # iOS must use WebRTC.framework which is dynamically linked. testonly = true sources = [ @@ -379,7 +379,7 @@ if (is_ios || (is_mac && target_cpu != "x86")) { ] } - rtc_static_library("AppRTCMobileBroadcastUpload_lib") { + rtc_library("AppRTCMobileBroadcastUpload_lib") { testonly = true sources = [ "objc/AppRTCMobile/ios/broadcast_extension/ARDBroadcastSampleHandler.h", @@ -453,7 +453,7 @@ if (is_ios || (is_mac && target_cpu != "x86")) { ] } - rtc_static_library("ObjCNativeAPIDemo_lib") { + rtc_library("ObjCNativeAPIDemo_lib") { testonly = true sources = [ "objcnativeapi/objc/NADAppDelegate.h", @@ -512,7 +512,7 @@ if (is_ios || (is_mac && target_cpu != "x86")) { } if (is_mac) { - rtc_static_library("AppRTCMobile_lib") { + rtc_library("AppRTCMobile_lib") { testonly = true sources = [ "objc/AppRTCMobile/mac/APPRTCAppDelegate.h", @@ -576,7 +576,7 @@ if (is_ios || (is_mac && target_cpu != "x86")) { ] } - rtc_static_library("socketrocket") { + rtc_library("socketrocket") { testonly = true sources = [ "objc/AppRTCMobile/third_party/SocketRocket/SRWebSocket.h", @@ -595,7 +595,7 @@ if (is_ios || (is_mac && target_cpu != "x86")) { if (rtc_include_tests) { # TODO(kthelgason): compile xctests on mac when chromium supports it. if (is_ios) { - rtc_source_set("apprtcmobile_test_sources") { + rtc_library("apprtcmobile_test_sources") { # iOS must use WebRTC.framework which is dynamically linked. testonly = true include_dirs = [ |