Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(248)

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

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