This changes most non-test related rtc_source_set targets to be rtc_static_library instead. Targets without any .cc files are excluded. This should bring back the build behavior we used to have with GYP (i.e. same symbols exported in the libjingle_peerconnection.a file, which are used by some downstream projects). After doing an Android build with these changes: $ nm --defined-only -g -C out/Release/lib.unstripped/libjingle_peerconnection_so.so | grep -i createpeerconnectionf 00077c51 T Java_org_webrtc_PeerConnectionFactory_nativeCreatePeerConnectionFactory $ nm --defined-only -g -C out/Release/obj/webrtc/api/libjingle_peerconnection.a | grep -i createpeerconnectionf 00000001 T webrtc::CreatePeerConnectionFactory(rtc::Thread*, rtc::Thread*, rtc::Thread*, webrtc::AudioDeviceModule*, cricket::WebRtcVideoEncoderFactory*, cricket::WebRtcVideoDecoderFactory*) 00000001 T webrtc::CreatePeerConnectionFactory() See https://chromium.googlesource.com/chromium/src/+/master/tools/gn/docs/cookbook.md#Note-on-static-libraries for more details on this. NOTICE: This should be further cleaned up in the future, to reduce binary bloat and unnecessary linking time. Right now it's more important to restore the desired build output though. BUG=webrtc:6410, chromium:630755 Review-Url: https://codereview.webrtc.org/2361623004 Cr-Commit-Position: refs/heads/master@{#14364}
Name: WebRTC URL: http://www.webrtc.org Version: 90 License: BSD License File: LICENSE Description: WebRTC provides real time voice and video processing functionality to enable the implementation of PeerConnection/MediaStream. Third party code used in this project is described in the file LICENSE_THIRD_PARTY.