Chromium Code Reviews

Side by Side Diff: webrtc/sdk/BUILD.gn

Issue 2862543002: Split iOS sdk in to separate targets (Closed)
Patch Set: rebase and fix build Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff |
OLDNEW
1 # Copyright 2016 The WebRTC project authors. All Rights Reserved. 1 # Copyright 2016 The WebRTC project authors. All Rights Reserved.
2 # 2 #
3 # Use of this source code is governed by a BSD-style license 3 # Use of this source code is governed by a BSD-style license
4 # that can be found in the LICENSE file in the root of the source 4 # that can be found in the LICENSE file in the root of the source
5 # tree. An additional intellectual property rights grant can be found 5 # tree. An additional intellectual property rights grant can be found
6 # in the file PATENTS. All contributing project authors may 6 # in the file PATENTS. All contributing project authors may
7 # be found in the AUTHORS file in the root of the source tree. 7 # be found in the AUTHORS file in the root of the source tree.
8 8
9 import("../webrtc.gni") 9 import("../webrtc.gni")
10 if (is_ios) { 10 if (is_ios) {
11 import("//build/config/ios/rules.gni") 11 import("//build/config/ios/rules.gni")
12 } 12 }
13 13
14 declare_args() {
15 # Determine whether or not to include metal rendering
16 rtc_use_metal_rendering = is_mac || (is_ios && current_cpu == "arm64")
17 }
18
14 group("sdk") { 19 group("sdk") {
15 if (is_ios) { 20 if (is_ios) {
16 public_deps = [ 21 public_deps = [
17 ":rtc_sdk_framework_objc", 22 ":objc_framework",
18 ] 23 ]
19 } 24 }
20 } 25 }
21 26
22 if (is_ios || is_mac) { 27 if (is_ios || is_mac) {
23 config("rtc_sdk_common_objc_config") { 28 config("objc_common_config") {
24 include_dirs = [ 29 include_dirs = [
25 "objc/Framework/Classes", 30 "objc/Framework/Classes",
31 "objc/Framework/Classes/Audio",
32 "objc/Framework/Classes/Common",
33 "objc/Framework/Classes/Metal",
34 "objc/Framework/Classes/PeerConnection",
35 "objc/Framework/Classes/UI",
36 "objc/Framework/Classes/Video",
37 "objc/Framework/Classes/VideoToolbox",
26 "objc/Framework/Headers", 38 "objc/Framework/Headers",
27 ] 39 ]
28 } 40 }
29 41
30 rtc_static_library("rtc_sdk_common_objc") { 42 rtc_static_library("objc_common") {
31 sources = [ 43 sources = [
32 "objc/Framework/Classes/NSString+StdString.h", 44 "objc/Framework/Classes/Common/NSString+StdString.h",
33 "objc/Framework/Classes/NSString+StdString.mm", 45 "objc/Framework/Classes/Common/NSString+StdString.mm",
34 "objc/Framework/Classes/RTCDispatcher.m", 46 "objc/Framework/Classes/Common/RTCDispatcher+Private.h",
35 "objc/Framework/Classes/RTCFieldTrials.mm", 47 "objc/Framework/Classes/Common/RTCDispatcher.m",
36 "objc/Framework/Classes/RTCLogging.mm", 48 "objc/Framework/Classes/Common/RTCFieldTrials.mm",
37 "objc/Framework/Classes/RTCMetrics.mm", 49 "objc/Framework/Classes/Common/RTCLogging.mm",
38 "objc/Framework/Classes/RTCMetricsSampleInfo+Private.h", 50 "objc/Framework/Classes/Common/RTCUIApplication.h",
39 "objc/Framework/Classes/RTCMetricsSampleInfo.mm", 51 "objc/Framework/Classes/Common/RTCUIApplication.mm",
40 "objc/Framework/Classes/RTCSSLAdapter.mm", 52 "objc/Framework/Classes/Common/helpers.h",
41 "objc/Framework/Classes/RTCTracing.mm", 53 "objc/Framework/Classes/Common/helpers.mm",
42 "objc/Framework/Classes/helpers.h",
43 "objc/Framework/Classes/helpers.mm",
44 "objc/Framework/Headers/WebRTC/RTCDispatcher.h", 54 "objc/Framework/Headers/WebRTC/RTCDispatcher.h",
45 "objc/Framework/Headers/WebRTC/RTCFieldTrials.h", 55 "objc/Framework/Headers/WebRTC/RTCFieldTrials.h",
46 "objc/Framework/Headers/WebRTC/RTCLogging.h", 56 "objc/Framework/Headers/WebRTC/RTCLogging.h",
47 "objc/Framework/Headers/WebRTC/RTCMacros.h", 57 "objc/Framework/Headers/WebRTC/RTCMacros.h",
48 "objc/Framework/Headers/WebRTC/RTCMetrics.h",
49 "objc/Framework/Headers/WebRTC/RTCMetricsSampleInfo.h",
50 "objc/Framework/Headers/WebRTC/RTCSSLAdapter.h",
51 "objc/Framework/Headers/WebRTC/RTCTracing.h",
52 ] 58 ]
53 59
54 deps = [ 60 deps = [
55 "../base:rtc_base", 61 "../base:rtc_base",
56 ] 62 ]
57 configs += [ "..:common_objc" ] 63 configs += [ "..:common_objc" ]
58 64
59 public_configs = [ ":rtc_sdk_common_objc_config" ] 65 public_configs = [ ":objc_common_config" ]
60 66
61 if (is_ios) { 67 if (is_ios) {
62 sources += [ 68 sources += [
63 "objc/Framework/Classes/RTCCameraPreviewView.m", 69 "objc/Framework/Classes/Common/UIDevice+RTCDevice.mm",
64 "objc/Framework/Classes/RTCUIApplication.h",
65 "objc/Framework/Classes/RTCUIApplication.mm",
66 "objc/Framework/Classes/UIDevice+RTCDevice.mm",
67 "objc/Framework/Headers/WebRTC/RTCCameraPreviewView.h",
68 "objc/Framework/Headers/WebRTC/UIDevice+RTCDevice.h", 70 "objc/Framework/Headers/WebRTC/UIDevice+RTCDevice.h",
69 ] 71 ]
70 } 72 }
71 73
72 if (is_mac || (is_ios && current_cpu == "arm64")) {
73 sources += [
74 "objc/Framework/Classes/Metal/RTCMTLI420Renderer.h",
75 "objc/Framework/Classes/Metal/RTCMTLI420Renderer.mm",
76 "objc/Framework/Classes/Metal/RTCMTLRenderer+Private.h",
77 "objc/Framework/Classes/Metal/RTCMTLRenderer.h",
78 "objc/Framework/Classes/Metal/RTCMTLRenderer.mm",
79 ]
80 deps += [ "../api:video_frame_api" ]
81
82 if (is_ios) {
83 sources += [
84 "objc/Framework/Classes/Metal/RTCMTLNV12Renderer.h",
85 "objc/Framework/Classes/Metal/RTCMTLNV12Renderer.mm",
86 "objc/Framework/Classes/Metal/RTCMTLVideoView.m",
87 ]
88 }
89 if (is_mac) {
90 sources += [ "objc/Framework/Classes/Metal/RTCMTLNSVideoView.m" ]
91 }
92 }
93
94 libs = [ "AVFoundation.framework" ]
95 if (is_mac || (is_ios && current_cpu == "arm64")) {
96 libs += [
97 "CoreVideo.framework",
98 "Metal.framework",
99 "MetalKit.framework",
100 ]
101 }
102 if (!build_with_chromium) { 74 if (!build_with_chromium) {
103 sources += [ 75 sources += [
104 "objc/Framework/Classes/RTCFileLogger.mm", 76 "objc/Framework/Classes/Common/RTCFileLogger.mm",
105 "objc/Framework/Headers/WebRTC/RTCFileLogger.h", 77 "objc/Framework/Headers/WebRTC/RTCFileLogger.h",
106 ] 78 ]
107 } 79 }
108 } 80 }
109 81
110 rtc_static_library("rtc_sdk_peerconnection_objc") { 82 rtc_static_library("objc_video") {
111 sources = [ 83 sources = [
112 "objc/Framework/Classes/Metal/RTCMTLNV12Renderer.h", 84 "objc/Framework/Classes/Video/RTCAVFoundationVideoCapturerInternal.h",
113 "objc/Framework/Classes/RTCAVFoundationVideoCapturerInternal.h", 85 "objc/Framework/Classes/Video/RTCAVFoundationVideoCapturerInternal.mm",
114 "objc/Framework/Classes/RTCAVFoundationVideoCapturerInternal.mm", 86 "objc/Framework/Classes/Video/RTCI420Shader.mm",
115 "objc/Framework/Classes/RTCAVFoundationVideoSource+Private.h", 87 "objc/Framework/Classes/Video/RTCI420TextureCache.h",
116 "objc/Framework/Classes/RTCAVFoundationVideoSource.mm", 88 "objc/Framework/Classes/Video/RTCI420TextureCache.mm",
117 "objc/Framework/Classes/RTCAudioSource+Private.h", 89 "objc/Framework/Classes/Video/RTCOpenGLDefines.h",
118 "objc/Framework/Classes/RTCAudioSource.mm", 90 "objc/Framework/Classes/Video/RTCShader+Private.h",
119 "objc/Framework/Classes/RTCAudioTrack+Private.h", 91 "objc/Framework/Classes/Video/RTCShader.h",
120 "objc/Framework/Classes/RTCAudioTrack.mm", 92 "objc/Framework/Classes/Video/RTCShader.mm",
121 "objc/Framework/Classes/RTCCameraVideoCapturer.m", 93 "objc/Framework/Classes/Video/avfoundationformatmapper.h",
122 "objc/Framework/Classes/RTCConfiguration+Private.h", 94 "objc/Framework/Classes/Video/avfoundationformatmapper.mm",
123 "objc/Framework/Classes/RTCConfiguration.mm", 95 "objc/Framework/Classes/Video/avfoundationvideocapturer.h",
124 "objc/Framework/Classes/RTCDataChannel+Private.h", 96 "objc/Framework/Classes/Video/avfoundationvideocapturer.mm",
125 "objc/Framework/Classes/RTCDataChannel.mm", 97 "objc/Framework/Classes/Video/objcvideotracksource.h",
126 "objc/Framework/Classes/RTCDataChannelConfiguration+Private.h", 98 "objc/Framework/Classes/Video/objcvideotracksource.mm",
127 "objc/Framework/Classes/RTCDataChannelConfiguration.mm", 99 ]
128 "objc/Framework/Classes/RTCI420Shader.mm", 100 libs = []
129 "objc/Framework/Classes/RTCI420TextureCache.h", 101 if (is_ios) {
130 "objc/Framework/Classes/RTCI420TextureCache.mm", 102 sources += [
131 "objc/Framework/Classes/RTCIceCandidate+Private.h", 103 "objc/Framework/Classes/Video/RTCNV12TextureCache.h",
132 "objc/Framework/Classes/RTCIceCandidate.mm", 104 "objc/Framework/Classes/Video/RTCNV12TextureCache.m",
133 "objc/Framework/Classes/RTCIceServer+Private.h", 105 "objc/Framework/Classes/Video/RTCNativeNV12Shader.mm",
134 "objc/Framework/Classes/RTCIceServer.mm", 106 ]
135 "objc/Framework/Classes/RTCLegacyStatsReport+Private.h", 107 libs += [
136 "objc/Framework/Classes/RTCLegacyStatsReport.mm", 108 "GLKit.framework",
137 "objc/Framework/Classes/RTCMediaConstraints+Private.h", 109 "OpenGLES.framework",
138 "objc/Framework/Classes/RTCMediaConstraints.mm", 110 "QuartzCore.framework",
139 "objc/Framework/Classes/RTCMediaSource+Private.h", 111 ]
140 "objc/Framework/Classes/RTCMediaSource.mm", 112 } else if (is_mac) {
141 "objc/Framework/Classes/RTCMediaStream+Private.h", 113 sources += []
142 "objc/Framework/Classes/RTCMediaStream.mm", 114
143 "objc/Framework/Classes/RTCMediaStreamTrack+Private.h", 115 libs += [
144 "objc/Framework/Classes/RTCMediaStreamTrack.mm", 116 "CoreMedia.framework",
145 "objc/Framework/Classes/RTCOpenGLDefines.h", 117 "CoreVideo.framework",
146 "objc/Framework/Classes/RTCPeerConnection+DataChannel.mm", 118 "OpenGL.framework",
147 "objc/Framework/Classes/RTCPeerConnection+Private.h", 119 ]
148 "objc/Framework/Classes/RTCPeerConnection+Stats.mm", 120 }
149 "objc/Framework/Classes/RTCPeerConnection.mm", 121
150 "objc/Framework/Classes/RTCPeerConnectionFactory+Private.h", 122 deps = [
151 "objc/Framework/Classes/RTCPeerConnectionFactory.mm", 123 ":objc_common",
152 "objc/Framework/Classes/RTCRtpCodecParameters+Private.h", 124 ":objc_corevideoframebuffer",
153 "objc/Framework/Classes/RTCRtpCodecParameters.mm", 125 ":objc_videotoolbox",
154 "objc/Framework/Classes/RTCRtpEncodingParameters+Private.h", 126 "//webrtc/api:libjingle_peerconnection_api",
155 "objc/Framework/Classes/RTCRtpEncodingParameters.mm", 127 "//webrtc/base:rtc_base",
156 "objc/Framework/Classes/RTCRtpParameters+Private.h", 128 "//webrtc/common_video",
157 "objc/Framework/Classes/RTCRtpParameters.mm", 129 "//webrtc/media:rtc_media_base",
158 "objc/Framework/Classes/RTCRtpReceiver+Private.h", 130 ]
159 "objc/Framework/Classes/RTCRtpReceiver.mm", 131
160 "objc/Framework/Classes/RTCRtpSender+Private.h", 132 configs += [ "..:common_objc" ]
161 "objc/Framework/Classes/RTCRtpSender.mm", 133 if (!build_with_chromium && is_clang) {
162 "objc/Framework/Classes/RTCSessionDescription+Private.h", 134 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
163 "objc/Framework/Classes/RTCSessionDescription.mm", 135 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
164 "objc/Framework/Classes/RTCShader+Private.h", 136 }
165 "objc/Framework/Classes/RTCShader.h", 137 }
166 "objc/Framework/Classes/RTCShader.mm", 138
167 "objc/Framework/Classes/RTCVideoCapturer.m", 139 rtc_static_library("objc_ui") {
168 "objc/Framework/Classes/RTCVideoFrame+Private.h", 140 if (is_ios) {
169 "objc/Framework/Classes/RTCVideoFrame.mm", 141 sources = [
170 "objc/Framework/Classes/RTCVideoRendererAdapter+Private.h", 142 "objc/Framework/Classes/UI/RTCCameraPreviewView.m",
171 "objc/Framework/Classes/RTCVideoRendererAdapter.h", 143 "objc/Framework/Classes/UI/RTCEAGLVideoView.m",
172 "objc/Framework/Classes/RTCVideoRendererAdapter.mm", 144 "objc/Framework/Headers/WebRTC/RTCCameraPreviewView.h",
173 "objc/Framework/Classes/RTCVideoSource+Private.h", 145 "objc/Framework/Headers/WebRTC/RTCEAGLVideoView.h",
174 "objc/Framework/Classes/RTCVideoSource.mm", 146 ]
175 "objc/Framework/Classes/RTCVideoTrack+Private.h", 147 }
176 "objc/Framework/Classes/RTCVideoTrack.mm", 148 if (is_mac) {
177 "objc/Framework/Classes/avfoundationformatmapper.h", 149 sources = [
178 "objc/Framework/Classes/avfoundationformatmapper.mm", 150 "objc/Framework/Classes/UI/RTCNSGLVideoView.m",
179 "objc/Framework/Classes/avfoundationvideocapturer.h", 151 "objc/Framework/Headers/WebRTC/RTCNSGLVideoView.h",
180 "objc/Framework/Classes/avfoundationvideocapturer.mm", 152 ]
181 "objc/Framework/Classes/objcvideotracksource.h", 153 }
182 "objc/Framework/Classes/objcvideotracksource.mm", 154 configs += [ "..:common_objc" ]
183 "objc/Framework/Classes/videotoolboxvideocodecfactory.cc", 155 deps = [
184 "objc/Framework/Classes/videotoolboxvideocodecfactory.h", 156 ":objc_common",
157 ]
158 }
159
160 rtc_static_library("objc_metal") {
161 sources = [
162 "objc/Framework/Classes/Metal/RTCMTLI420Renderer.h",
163 "objc/Framework/Classes/Metal/RTCMTLI420Renderer.mm",
164 "objc/Framework/Classes/Metal/RTCMTLRenderer+Private.h",
165 "objc/Framework/Classes/Metal/RTCMTLRenderer.h",
166 "objc/Framework/Classes/Metal/RTCMTLRenderer.mm",
167 ]
168 if (is_ios) {
169 sources += [
170 "objc/Framework/Classes/Metal/RTCMTLNV12Renderer.h",
171 "objc/Framework/Classes/Metal/RTCMTLNV12Renderer.mm",
172 "objc/Framework/Classes/Metal/RTCMTLVideoView.m",
173 "objc/Framework/Headers/WebRTC/RTCMTLVideoView.h",
174 ]
175 }
176 if (is_mac) {
177 sources += [
178 "objc/Framework/Classes/Metal/RTCMTLNSVideoView.m",
179 "objc/Framework/Headers/WebRTC/RTCMTLNSVideoView.h",
180 ]
181 }
182 libs = [
183 "CoreVideo.framework",
184 "Metal.framework",
185 "MetalKit.framework",
186 ]
187 deps = [
188 ":objc_video",
189 "//webrtc/api:video_frame_api",
190 "//webrtc/base:rtc_base_approved",
191 ]
192 configs += [ "..:common_objc" ]
193 public_configs = [ ":objc_common_config" ]
194 }
195
196 rtc_static_library("objc_peerconnection") {
197 sources = [
198 "objc/Framework/Classes/PeerConnection/RTCAVFoundationVideoSource+Private. h",
199 "objc/Framework/Classes/PeerConnection/RTCAVFoundationVideoSource.mm",
200 "objc/Framework/Classes/PeerConnection/RTCAudioSource+Private.h",
201 "objc/Framework/Classes/PeerConnection/RTCAudioSource.mm",
202 "objc/Framework/Classes/PeerConnection/RTCAudioTrack+Private.h",
203 "objc/Framework/Classes/PeerConnection/RTCAudioTrack.mm",
204 "objc/Framework/Classes/PeerConnection/RTCCameraVideoCapturer.m",
205 "objc/Framework/Classes/PeerConnection/RTCConfiguration+Private.h",
206 "objc/Framework/Classes/PeerConnection/RTCConfiguration.mm",
207 "objc/Framework/Classes/PeerConnection/RTCDataChannel+Private.h",
208 "objc/Framework/Classes/PeerConnection/RTCDataChannel.mm",
209 "objc/Framework/Classes/PeerConnection/RTCDataChannelConfiguration+Private .h",
210 "objc/Framework/Classes/PeerConnection/RTCDataChannelConfiguration.mm",
211 "objc/Framework/Classes/PeerConnection/RTCIceCandidate+Private.h",
212 "objc/Framework/Classes/PeerConnection/RTCIceCandidate.mm",
213 "objc/Framework/Classes/PeerConnection/RTCIceServer+Private.h",
214 "objc/Framework/Classes/PeerConnection/RTCIceServer.mm",
215 "objc/Framework/Classes/PeerConnection/RTCLegacyStatsReport+Private.h",
216 "objc/Framework/Classes/PeerConnection/RTCLegacyStatsReport.mm",
217 "objc/Framework/Classes/PeerConnection/RTCMediaConstraints+Private.h",
218 "objc/Framework/Classes/PeerConnection/RTCMediaConstraints.mm",
219 "objc/Framework/Classes/PeerConnection/RTCMediaSource+Private.h",
220 "objc/Framework/Classes/PeerConnection/RTCMediaSource.mm",
221 "objc/Framework/Classes/PeerConnection/RTCMediaStream+Private.h",
222 "objc/Framework/Classes/PeerConnection/RTCMediaStream.mm",
223 "objc/Framework/Classes/PeerConnection/RTCMediaStreamTrack+Private.h",
224 "objc/Framework/Classes/PeerConnection/RTCMediaStreamTrack.mm",
225 "objc/Framework/Classes/PeerConnection/RTCMetrics.mm",
226 "objc/Framework/Classes/PeerConnection/RTCMetricsSampleInfo+Private.h",
227 "objc/Framework/Classes/PeerConnection/RTCMetricsSampleInfo.mm",
228 "objc/Framework/Classes/PeerConnection/RTCPeerConnection+DataChannel.mm",
229 "objc/Framework/Classes/PeerConnection/RTCPeerConnection+Private.h",
230 "objc/Framework/Classes/PeerConnection/RTCPeerConnection+Stats.mm",
231 "objc/Framework/Classes/PeerConnection/RTCPeerConnection.mm",
232 "objc/Framework/Classes/PeerConnection/RTCPeerConnectionFactory+Private.h" ,
233 "objc/Framework/Classes/PeerConnection/RTCPeerConnectionFactory.mm",
234 "objc/Framework/Classes/PeerConnection/RTCRtpCodecParameters+Private.h",
235 "objc/Framework/Classes/PeerConnection/RTCRtpCodecParameters.mm",
236 "objc/Framework/Classes/PeerConnection/RTCRtpEncodingParameters+Private.h" ,
237 "objc/Framework/Classes/PeerConnection/RTCRtpEncodingParameters.mm",
238 "objc/Framework/Classes/PeerConnection/RTCRtpParameters+Private.h",
239 "objc/Framework/Classes/PeerConnection/RTCRtpParameters.mm",
240 "objc/Framework/Classes/PeerConnection/RTCRtpReceiver+Private.h",
241 "objc/Framework/Classes/PeerConnection/RTCRtpReceiver.mm",
242 "objc/Framework/Classes/PeerConnection/RTCRtpSender+Private.h",
243 "objc/Framework/Classes/PeerConnection/RTCRtpSender.mm",
244 "objc/Framework/Classes/PeerConnection/RTCSSLAdapter.mm",
245 "objc/Framework/Classes/PeerConnection/RTCSessionDescription+Private.h",
246 "objc/Framework/Classes/PeerConnection/RTCSessionDescription.mm",
247 "objc/Framework/Classes/PeerConnection/RTCTracing.mm",
248 "objc/Framework/Classes/PeerConnection/RTCVideoCapturer.m",
249 "objc/Framework/Classes/PeerConnection/RTCVideoFrame+Private.h",
250 "objc/Framework/Classes/PeerConnection/RTCVideoFrame.mm",
251 "objc/Framework/Classes/PeerConnection/RTCVideoRendererAdapter+Private.h",
252 "objc/Framework/Classes/PeerConnection/RTCVideoRendererAdapter.h",
253 "objc/Framework/Classes/PeerConnection/RTCVideoRendererAdapter.mm",
254 "objc/Framework/Classes/PeerConnection/RTCVideoSource+Private.h",
255 "objc/Framework/Classes/PeerConnection/RTCVideoSource.mm",
256 "objc/Framework/Classes/PeerConnection/RTCVideoTrack+Private.h",
257 "objc/Framework/Classes/PeerConnection/RTCVideoTrack.mm",
185 "objc/Framework/Headers/WebRTC/RTCAVFoundationVideoSource.h", 258 "objc/Framework/Headers/WebRTC/RTCAVFoundationVideoSource.h",
186 "objc/Framework/Headers/WebRTC/RTCAudioSource.h", 259 "objc/Framework/Headers/WebRTC/RTCAudioSource.h",
187 "objc/Framework/Headers/WebRTC/RTCAudioTrack.h", 260 "objc/Framework/Headers/WebRTC/RTCAudioTrack.h",
188 "objc/Framework/Headers/WebRTC/RTCCameraVideoCapturer.h", 261 "objc/Framework/Headers/WebRTC/RTCCameraVideoCapturer.h",
189 "objc/Framework/Headers/WebRTC/RTCConfiguration.h", 262 "objc/Framework/Headers/WebRTC/RTCConfiguration.h",
190 "objc/Framework/Headers/WebRTC/RTCDataChannel.h", 263 "objc/Framework/Headers/WebRTC/RTCDataChannel.h",
191 "objc/Framework/Headers/WebRTC/RTCDataChannelConfiguration.h", 264 "objc/Framework/Headers/WebRTC/RTCDataChannelConfiguration.h",
192 "objc/Framework/Headers/WebRTC/RTCIceCandidate.h", 265 "objc/Framework/Headers/WebRTC/RTCIceCandidate.h",
193 "objc/Framework/Headers/WebRTC/RTCIceServer.h", 266 "objc/Framework/Headers/WebRTC/RTCIceServer.h",
194 "objc/Framework/Headers/WebRTC/RTCLegacyStatsReport.h", 267 "objc/Framework/Headers/WebRTC/RTCLegacyStatsReport.h",
195 "objc/Framework/Headers/WebRTC/RTCMediaConstraints.h", 268 "objc/Framework/Headers/WebRTC/RTCMediaConstraints.h",
196 "objc/Framework/Headers/WebRTC/RTCMediaSource.h", 269 "objc/Framework/Headers/WebRTC/RTCMediaSource.h",
197 "objc/Framework/Headers/WebRTC/RTCMediaStream.h", 270 "objc/Framework/Headers/WebRTC/RTCMediaStream.h",
198 "objc/Framework/Headers/WebRTC/RTCMediaStreamTrack.h", 271 "objc/Framework/Headers/WebRTC/RTCMediaStreamTrack.h",
272 "objc/Framework/Headers/WebRTC/RTCMetrics.h",
273 "objc/Framework/Headers/WebRTC/RTCMetricsSampleInfo.h",
199 "objc/Framework/Headers/WebRTC/RTCPeerConnection.h", 274 "objc/Framework/Headers/WebRTC/RTCPeerConnection.h",
200 "objc/Framework/Headers/WebRTC/RTCPeerConnectionFactory.h", 275 "objc/Framework/Headers/WebRTC/RTCPeerConnectionFactory.h",
201 "objc/Framework/Headers/WebRTC/RTCRtpCodecParameters.h", 276 "objc/Framework/Headers/WebRTC/RTCRtpCodecParameters.h",
202 "objc/Framework/Headers/WebRTC/RTCRtpEncodingParameters.h", 277 "objc/Framework/Headers/WebRTC/RTCRtpEncodingParameters.h",
203 "objc/Framework/Headers/WebRTC/RTCRtpParameters.h", 278 "objc/Framework/Headers/WebRTC/RTCRtpParameters.h",
204 "objc/Framework/Headers/WebRTC/RTCRtpReceiver.h", 279 "objc/Framework/Headers/WebRTC/RTCRtpReceiver.h",
205 "objc/Framework/Headers/WebRTC/RTCRtpSender.h", 280 "objc/Framework/Headers/WebRTC/RTCRtpSender.h",
281 "objc/Framework/Headers/WebRTC/RTCSSLAdapter.h",
206 "objc/Framework/Headers/WebRTC/RTCSessionDescription.h", 282 "objc/Framework/Headers/WebRTC/RTCSessionDescription.h",
283 "objc/Framework/Headers/WebRTC/RTCTracing.h",
207 "objc/Framework/Headers/WebRTC/RTCVideoCapturer.h", 284 "objc/Framework/Headers/WebRTC/RTCVideoCapturer.h",
208 "objc/Framework/Headers/WebRTC/RTCVideoFrame.h", 285 "objc/Framework/Headers/WebRTC/RTCVideoFrame.h",
209 "objc/Framework/Headers/WebRTC/RTCVideoRenderer.h", 286 "objc/Framework/Headers/WebRTC/RTCVideoRenderer.h",
210 "objc/Framework/Headers/WebRTC/RTCVideoSource.h", 287 "objc/Framework/Headers/WebRTC/RTCVideoSource.h",
211 "objc/Framework/Headers/WebRTC/RTCVideoTrack.h", 288 "objc/Framework/Headers/WebRTC/RTCVideoTrack.h",
212 ] 289 ]
213 290
214 deps = [ 291 libs = [ "AVFoundation.framework" ]
215 ":rtc_sdk_corevideoframebuffer",
216 ":webrtc_h264_video_toolbox",
217 "../api:video_frame_api",
218 "../base:rtc_base",
219 "../base:rtc_base_approved",
220 "../common_video",
221 "../media:rtc_media",
222 "../media:rtc_media_base",
223 "../system_wrappers",
224 ]
225 292
226 if (is_ios) { 293 if (is_ios) {
227 sources += [ 294 libs += [ "CoreGraphics.framework" ]
228 "objc/Framework/Classes/RTCEAGLVideoView.m",
229 "objc/Framework/Classes/RTCNV12TextureCache.h",
230 "objc/Framework/Classes/RTCNV12TextureCache.m",
231 "objc/Framework/Classes/RTCNativeNV12Shader.mm",
232 "objc/Framework/Headers/WebRTC/RTCEAGLVideoView.h",
233 ]
234 libs = [
235 "CoreGraphics.framework",
236 "GLKit.framework",
237 "OpenGLES.framework",
238 "QuartzCore.framework",
239 ]
240 }
241
242 if (is_mac) {
243 sources += [
244 "objc/Framework/Classes/RTCNSGLVideoView.m",
245 "objc/Framework/Headers/WebRTC/RTCMTLNSVideoView.h",
246 "objc/Framework/Headers/WebRTC/RTCNSGLVideoView.h",
247 ]
248 libs = [
249 "CoreVideo.framework",
250 "CoreMedia.framework",
251 "OpenGL.framework",
252 "Metal.framework",
253 "MetalKit.framework",
254 ]
255 } 295 }
256 296
257 configs += [ "..:common_objc" ] 297 configs += [ "..:common_objc" ]
258 298
259 public_configs = [ ":rtc_sdk_common_objc_config" ] 299 public_configs = [ ":objc_common_config" ]
260 300
261 if (!build_with_chromium && is_clang) { 301 if (!build_with_chromium && is_clang) {
262 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). 302 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
263 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] 303 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
264 } 304 }
265 305
266 libs += [ "AVFoundation.framework" ] 306 deps = [
307 ":objc_common",
308 ":objc_corevideoframebuffer",
309 ":objc_ui",
310 ":objc_video",
311 "../pc:libjingle_peerconnection",
312 "//webrtc/api:video_frame_api",
313 "//webrtc/base:rtc_base",
314 "//webrtc/media:rtc_media_base",
315 ]
267 316
268 deps += [ 317 if (rtc_use_metal_rendering) {
269 ":rtc_sdk_common_objc", 318 deps += [ ":objc_metal" ]
270 "../pc:libjingle_peerconnection", 319 }
271 ]
272 320
273 if (rtc_build_libyuv) { 321 if (rtc_build_libyuv) {
274 deps += [ "$rtc_libyuv_dir" ] 322 deps += [ "$rtc_libyuv_dir" ]
275 public_deps = [ 323 public_deps = [
276 "$rtc_libyuv_dir", 324 "$rtc_libyuv_dir",
277 ] 325 ]
278 } 326 }
279 } 327 }
280 328
281 if (rtc_include_tests) { 329 if (rtc_include_tests) {
282 rtc_source_set("rtc_sdk_peerconnection_objc_unittests") { 330 rtc_source_set("objc_peerconnection_unittests") {
daniela-webrtc 2017/05/12 11:43:12 Suggestion to rename this from `peerconnection_uni
kthelgason 2017/05/16 07:57:13 Thanks, agreed.
283 testonly = true 331 testonly = true
284 332
285 # Skip restricting visibility on mobile platforms since the tests on those 333 # Skip restricting visibility on mobile platforms since the tests on those
286 # gets additional generated targets which would require many lines here to 334 # gets additional generated targets which would require many lines here to
287 # cover (which would be confusing to read and hard to maintain). 335 # cover (which would be confusing to read and hard to maintain).
288 if (!is_android && !is_ios) { 336 if (!is_android && !is_ios) {
289 visibility = [ "//webrtc:rtc_unittests" ] 337 visibility = [ "//webrtc:rtc_unittests" ]
290 } 338 }
291 sources = [ 339 sources = [
292 "objc/Framework/UnitTests/RTCCameraVideoCapturerTests.mm", 340 "objc/Framework/UnitTests/RTCCameraVideoCapturerTests.mm",
293 "objc/Framework/UnitTests/RTCConfigurationTest.mm", 341 "objc/Framework/UnitTests/RTCConfigurationTest.mm",
294 "objc/Framework/UnitTests/RTCDataChannelConfigurationTest.mm", 342 "objc/Framework/UnitTests/RTCDataChannelConfigurationTest.mm",
295 "objc/Framework/UnitTests/RTCIceCandidateTest.mm", 343 "objc/Framework/UnitTests/RTCIceCandidateTest.mm",
296 "objc/Framework/UnitTests/RTCIceServerTest.mm", 344 "objc/Framework/UnitTests/RTCIceServerTest.mm",
297 "objc/Framework/UnitTests/RTCMediaConstraintsTest.mm", 345 "objc/Framework/UnitTests/RTCMediaConstraintsTest.mm",
298 "objc/Framework/UnitTests/RTCPeerConnectionTest.mm", 346 "objc/Framework/UnitTests/RTCPeerConnectionTest.mm",
299 "objc/Framework/UnitTests/RTCSessionDescriptionTest.mm", 347 "objc/Framework/UnitTests/RTCSessionDescriptionTest.mm",
300 "objc/Framework/UnitTests/avformatmappertests.mm", 348 "objc/Framework/UnitTests/avformatmappertests.mm",
301 ] 349 ]
302 if (is_ios) {
303 sources += [ "objc/Framework/UnitTests/RTCMTLVideoViewTests.mm" ]
304 if (current_cpu != "arm64") {
305 sources += [ "objc/Framework/Classes/Metal/RTCMTLVideoView.m" ]
306 }
307 }
308
309 # TODO(tkchin): Cleanup this warning.
310 cflags = [ "-Wno-objc-property-no-attribute" ]
311 350
312 # |-ObjC| flag needed to make sure category method implementations 351 # |-ObjC| flag needed to make sure category method implementations
313 # are included: 352 # are included:
314 # https://developer.apple.com/library/mac/qa/qa1490/_index.html 353 # https://developer.apple.com/library/mac/qa/qa1490/_index.html
315 ldflags = [ "-ObjC" ] 354 ldflags = [ "-ObjC" ]
316 355
317 defines = [ "GTEST_RELATIVE_PATH" ] 356 defines = [ "GTEST_RELATIVE_PATH" ]
318 deps = [ 357 deps = [
319 ":rtc_sdk_peerconnection_objc", 358 ":objc_peerconnection",
359 "..//system_wrappers:system_wrappers_default",
320 "../base:rtc_base_tests_utils", 360 "../base:rtc_base_tests_utils",
321 "//third_party/ocmock", 361 "//third_party/ocmock",
322 "//webrtc/system_wrappers:system_wrappers_default", 362 "//webrtc/system_wrappers:system_wrappers_default",
323 ] 363 ]
324 364
365 if (is_ios) {
366 sources += [ "objc/Framework/UnitTests/RTCMTLVideoViewTests.mm" ]
367 if (current_cpu == "x64") {
368 # Only include this file on simulator, as it's already
369 # included in device builds.
370 sources += [ "objc/Framework/Classes/Metal/RTCMTLVideoView.m" ]
371 }
372 }
373
325 if (!build_with_chromium && is_clang) { 374 if (!build_with_chromium && is_clang) {
326 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163) . 375 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163) .
327 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] 376 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
328 } 377 }
329 } 378 }
330 } 379 }
331 380
332 if (is_ios) { 381 if (is_ios) {
333 ios_framework_bundle("rtc_sdk_framework_objc") { 382 ios_framework_bundle("objc_framework") {
334 info_plist = "objc/Framework/Info.plist" 383 info_plist = "objc/Framework/Info.plist"
335 output_name = "WebRTC" 384 output_name = "WebRTC"
336 385
337 common_objc_headers = [ 386 common_objc_headers = [
338 "objc/Framework/Headers/WebRTC/RTCAVFoundationVideoSource.h", 387 "objc/Framework/Headers/WebRTC/RTCAVFoundationVideoSource.h",
339 "objc/Framework/Headers/WebRTC/RTCAudioSource.h",
340 "objc/Framework/Headers/WebRTC/RTCAudioTrack.h",
341 "objc/Framework/Headers/WebRTC/RTCCameraVideoCapturer.h",
342 "objc/Framework/Headers/WebRTC/RTCCameraPreviewView.h",
343 "objc/Framework/Headers/WebRTC/RTCConfiguration.h", 388 "objc/Framework/Headers/WebRTC/RTCConfiguration.h",
344 "objc/Framework/Headers/WebRTC/RTCDataChannel.h", 389 "objc/Framework/Headers/WebRTC/RTCDataChannel.h",
345 "objc/Framework/Headers/WebRTC/RTCDataChannelConfiguration.h", 390 "objc/Framework/Headers/WebRTC/RTCDataChannelConfiguration.h",
346 "objc/Framework/Headers/WebRTC/RTCDispatcher.h", 391 "objc/Framework/Headers/WebRTC/RTCDispatcher.h",
347 "objc/Framework/Headers/WebRTC/RTCEAGLVideoView.h", 392 "objc/Framework/Headers/WebRTC/RTCEAGLVideoView.h",
348 "objc/Framework/Headers/WebRTC/RTCFieldTrials.h", 393 "objc/Framework/Headers/WebRTC/RTCFieldTrials.h",
349 "objc/Framework/Headers/WebRTC/RTCIceCandidate.h", 394 "objc/Framework/Headers/WebRTC/RTCIceCandidate.h",
350 "objc/Framework/Headers/WebRTC/RTCIceServer.h", 395 "objc/Framework/Headers/WebRTC/RTCIceServer.h",
351 "objc/Framework/Headers/WebRTC/RTCLegacyStatsReport.h", 396 "objc/Framework/Headers/WebRTC/RTCLegacyStatsReport.h",
352 "objc/Framework/Headers/WebRTC/RTCLogging.h", 397 "objc/Framework/Headers/WebRTC/RTCLogging.h",
353 "objc/Framework/Headers/WebRTC/RTCMacros.h", 398 "objc/Framework/Headers/WebRTC/RTCMacros.h",
354 "objc/Framework/Headers/WebRTC/RTCMediaConstraints.h", 399 "objc/Framework/Headers/WebRTC/RTCMediaConstraints.h",
355 "objc/Framework/Headers/WebRTC/RTCMediaSource.h", 400 "objc/Framework/Headers/WebRTC/RTCMediaSource.h",
356 "objc/Framework/Headers/WebRTC/RTCMediaStream.h", 401 "objc/Framework/Headers/WebRTC/RTCMediaStream.h",
357 "objc/Framework/Headers/WebRTC/RTCMediaStreamTrack.h", 402 "objc/Framework/Headers/WebRTC/RTCMediaStreamTrack.h",
358 "objc/Framework/Headers/WebRTC/RTCMetrics.h", 403 "objc/Framework/Headers/WebRTC/RTCMetrics.h",
359 "objc/Framework/Headers/WebRTC/RTCMetricsSampleInfo.h", 404 "objc/Framework/Headers/WebRTC/RTCMetricsSampleInfo.h",
360 "objc/Framework/Headers/WebRTC/RTCMTLVideoView.h",
361 "objc/Framework/Headers/WebRTC/RTCPeerConnection.h", 405 "objc/Framework/Headers/WebRTC/RTCPeerConnection.h",
362 "objc/Framework/Headers/WebRTC/RTCPeerConnectionFactory.h", 406 "objc/Framework/Headers/WebRTC/RTCPeerConnectionFactory.h",
363 "objc/Framework/Headers/WebRTC/RTCRtpCodecParameters.h", 407 "objc/Framework/Headers/WebRTC/RTCRtpCodecParameters.h",
364 "objc/Framework/Headers/WebRTC/RTCRtpEncodingParameters.h", 408 "objc/Framework/Headers/WebRTC/RTCRtpEncodingParameters.h",
365 "objc/Framework/Headers/WebRTC/RTCRtpParameters.h", 409 "objc/Framework/Headers/WebRTC/RTCRtpParameters.h",
366 "objc/Framework/Headers/WebRTC/RTCRtpReceiver.h", 410 "objc/Framework/Headers/WebRTC/RTCRtpReceiver.h",
367 "objc/Framework/Headers/WebRTC/RTCRtpSender.h", 411 "objc/Framework/Headers/WebRTC/RTCRtpSender.h",
368 "objc/Framework/Headers/WebRTC/RTCSSLAdapter.h", 412 "objc/Framework/Headers/WebRTC/RTCSSLAdapter.h",
369 "objc/Framework/Headers/WebRTC/RTCSessionDescription.h", 413 "objc/Framework/Headers/WebRTC/RTCSessionDescription.h",
370 "objc/Framework/Headers/WebRTC/RTCTracing.h", 414 "objc/Framework/Headers/WebRTC/RTCTracing.h",
(...skipping 14 matching lines...)
385 public_headers += [ "objc/Framework/Headers/WebRTC/RTCFileLogger.h" ] 429 public_headers += [ "objc/Framework/Headers/WebRTC/RTCFileLogger.h" ]
386 } 430 }
387 431
388 ldflags = [ 432 ldflags = [
389 "-all_load", 433 "-all_load",
390 "-install_name", 434 "-install_name",
391 "@rpath/$output_name.framework/$output_name", 435 "@rpath/$output_name.framework/$output_name",
392 ] 436 ]
393 437
394 deps = [ 438 deps = [
395 ":rtc_sdk_peerconnection_objc", 439 ":objc_peerconnection",
440 "../base:rtc_base_approved",
396 "../system_wrappers:field_trial_default", 441 "../system_wrappers:field_trial_default",
397 "../system_wrappers:metrics_default", 442 "../system_wrappers:metrics_default",
398 ] 443 ]
399 444
400 libs = [ 445 libs = [
401 "AVFoundation.framework", 446 "AVFoundation.framework",
402 "AudioToolbox.framework",
403 "CoreGraphics.framework", 447 "CoreGraphics.framework",
404 "CoreMedia.framework", 448 "CoreMedia.framework",
405 "GLKit.framework", 449 "GLKit.framework",
406 "VideoToolbox.framework",
407 ] 450 ]
408 451
409 configs += [ "..:common_objc" ] 452 configs += [ "..:common_objc" ]
410 453
411 public_configs = [ ":rtc_sdk_common_objc_config" ] 454 public_configs = [ ":objc_common_config" ]
412 455
413 if (!build_with_chromium && is_clang) { 456 if (!build_with_chromium && is_clang) {
414 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163) 457 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163)
415 configs -= [ "//build/config/clang:find_bad_constructs" ] 458 configs -= [ "//build/config/clang:find_bad_constructs" ]
416 } 459 }
417 } 460 }
418 } 461 }
419 462
420 rtc_static_library("rtc_sdk_objc") { 463 rtc_static_library("rtc_sdk_objc") {
421 complete_static_lib = true 464 complete_static_lib = true
422 deps = [ 465 deps = [
423 ":rtc_sdk_peerconnection_objc", 466 ":objc_peerconnection",
424 "//webrtc/system_wrappers:field_trial_default", 467 "//webrtc/system_wrappers:field_trial_default",
425 "//webrtc/system_wrappers:metrics_default", 468 "//webrtc/system_wrappers:metrics_default",
426 ] 469 ]
427 } 470 }
428 471
429 rtc_static_library("rtc_sdk_corevideoframebuffer") { 472 rtc_static_library("objc_corevideoframebuffer") {
430 sources = [ 473 sources = [
431 "objc/Framework/Classes/corevideo_frame_buffer.cc", 474 "objc/Framework/Classes/Video/corevideo_frame_buffer.cc",
432 "objc/Framework/Classes/corevideo_frame_buffer.h", 475 "objc/Framework/Classes/Video/corevideo_frame_buffer.h",
433 ] 476 ]
434 477
435 deps = [ 478 deps = [
436 "../base:rtc_base_approved", 479 "../base:rtc_base_approved",
437 "../common_video", 480 "../common_video",
438 ] 481 ]
439 482
483 if (!build_with_chromium && is_clang) {
484 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
485 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
486 }
487
440 libs = [ "CoreVideo.framework" ] 488 libs = [ "CoreVideo.framework" ]
441 } 489 }
442 490
443 rtc_static_library("webrtc_h264_video_toolbox") { 491 rtc_static_library("objc_videotoolbox") {
444 sources = [ 492 sources = [
445 "objc/Framework/Classes/h264_video_toolbox_decoder.cc", 493 "objc/Framework/Classes/VideoToolbox/decoder.cc",
446 "objc/Framework/Classes/h264_video_toolbox_decoder.h", 494 "objc/Framework/Classes/VideoToolbox/decoder.h",
447 "objc/Framework/Classes/h264_video_toolbox_encoder.h", 495 "objc/Framework/Classes/VideoToolbox/encoder.h",
448 "objc/Framework/Classes/h264_video_toolbox_encoder.mm", 496 "objc/Framework/Classes/VideoToolbox/encoder.mm",
449 "objc/Framework/Classes/h264_video_toolbox_nalu.cc", 497 "objc/Framework/Classes/VideoToolbox/nalu_rewriter.cc",
450 "objc/Framework/Classes/h264_video_toolbox_nalu.h", 498 "objc/Framework/Classes/VideoToolbox/nalu_rewriter.h",
499 "objc/Framework/Classes/VideoToolbox/videocodecfactory.cc",
500 "objc/Framework/Classes/VideoToolbox/videocodecfactory.h",
451 ] 501 ]
452 502
453 configs += [ "//webrtc:common_objc" ] 503 configs += [ "//webrtc:common_objc" ]
454 504
455 deps = [ 505 deps = [
456 ":rtc_sdk_common_objc", 506 ":objc_common",
457 ":rtc_sdk_corevideoframebuffer", 507 ":objc_corevideoframebuffer",
458 "../api:video_frame_api",
459 "../base:rtc_base_approved", 508 "../base:rtc_base_approved",
460 "../common_video", 509 "//webrtc/common_video",
461 "../media:rtc_media_base", 510 "//webrtc/media:rtc_media",
462 "../modules:module_api", 511 "//webrtc/media:rtc_media_base",
463 "../modules/video_coding:video_coding_utility", 512 "//webrtc/modules:module_api",
464 "../modules/video_coding:webrtc_h264", 513 "//webrtc/modules/video_coding:video_coding_utility",
465 "../system_wrappers", 514 "//webrtc/modules/video_coding:webrtc_h264",
515 "//webrtc/system_wrappers",
466 ] 516 ]
467 517
468 libs = [ 518 libs = [
469 "CoreFoundation.framework", 519 "CoreFoundation.framework",
470 "CoreMedia.framework", 520 "CoreMedia.framework",
471 "CoreVideo.framework", 521 "CoreVideo.framework",
472 "VideoToolbox.framework", 522 "VideoToolbox.framework",
473 ] 523 ]
474 524
475 if (!build_with_chromium && is_clang) { 525 if (!build_with_chromium && is_clang) {
476 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). 526 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
477 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] 527 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
478 } 528 }
479 529
480 if (rtc_build_libyuv) { 530 if (rtc_build_libyuv) {
481 deps += [ "$rtc_libyuv_dir" ] 531 deps += [ "$rtc_libyuv_dir" ]
482 public_deps = [ 532 public_deps = [
483 "$rtc_libyuv_dir", 533 "$rtc_libyuv_dir",
484 ] 534 ]
485 } else { 535 } else {
486 # Need to add a directory normally exported by libyuv. 536 # Need to add a directory normally exported by libyuv.
487 include_dirs = [ "$rtc_libyuv_dir/include" ] 537 include_dirs = [ "$rtc_libyuv_dir/include" ]
488 } 538 }
489 } 539 }
490 } 540 }
OLDNEW
« no previous file with comments | « webrtc/modules/video_coding/codecs/test/videoprocessor_integrationtest.h ('k') | webrtc/sdk/objc/DEPS » ('j') | no next file with comments »

Powered by Google App Engine