| OLD | NEW |
| (Empty) |
| 1 # Copyright 2016 The WebRTC project authors. All Rights Reserved. | |
| 2 # | |
| 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 | |
| 5 # tree. An additional intellectual property rights grant can be found | |
| 6 # in the file PATENTS. All contributing project authors may | |
| 7 # be found in the AUTHORS file in the root of the source tree. | |
| 8 | |
| 9 { | |
| 10 'includes': [ | |
| 11 '../build/common.gypi', | |
| 12 'sdk.gypi', | |
| 13 ], | |
| 14 'conditions': [ | |
| 15 ['OS=="ios" or (OS=="mac" and mac_deployment_target=="10.7")', { | |
| 16 'targets': [ | |
| 17 { | |
| 18 'target_name': 'rtc_sdk_common_objc', | |
| 19 'type': 'static_library', | |
| 20 'includes': [ '../build/objc_common.gypi' ], | |
| 21 'dependencies': [ | |
| 22 '../base/base.gyp:rtc_base', | |
| 23 ], | |
| 24 'include_dirs': [ | |
| 25 'objc/Framework/Classes', | |
| 26 'objc/Framework/Headers', | |
| 27 ], | |
| 28 'direct_dependent_settings': { | |
| 29 'include_dirs': [ | |
| 30 'objc/Framework/Classes', | |
| 31 'objc/Framework/Headers', | |
| 32 ], | |
| 33 }, | |
| 34 'sources': [ | |
| 35 'objc/Framework/Classes/NSString+StdString.h', | |
| 36 'objc/Framework/Classes/NSString+StdString.mm', | |
| 37 'objc/Framework/Classes/RTCDispatcher.m', | |
| 38 'objc/Framework/Classes/RTCFieldTrials.mm', | |
| 39 'objc/Framework/Classes/RTCLogging.mm', | |
| 40 'objc/Framework/Classes/RTCMetrics.mm', | |
| 41 'objc/Framework/Classes/RTCMetricsSampleInfo+Private.h', | |
| 42 'objc/Framework/Classes/RTCMetricsSampleInfo.mm', | |
| 43 'objc/Framework/Classes/RTCSSLAdapter.mm', | |
| 44 'objc/Framework/Classes/RTCTracing.mm', | |
| 45 'objc/Framework/Headers/WebRTC/RTCDispatcher.h', | |
| 46 'objc/Framework/Headers/WebRTC/RTCFieldTrials.h', | |
| 47 'objc/Framework/Headers/WebRTC/RTCLogging.h', | |
| 48 'objc/Framework/Headers/WebRTC/RTCMacros.h', | |
| 49 'objc/Framework/Headers/WebRTC/RTCMetrics.h', | |
| 50 'objc/Framework/Headers/WebRTC/RTCMetricsSampleInfo.h', | |
| 51 'objc/Framework/Headers/WebRTC/RTCSSLAdapter.h', | |
| 52 'objc/Framework/Headers/WebRTC/RTCTracing.h', | |
| 53 ], | |
| 54 'conditions': [ | |
| 55 ['OS=="ios"', { | |
| 56 'sources': [ | |
| 57 'objc/Framework/Classes/RTCCameraPreviewView.m', | |
| 58 'objc/Framework/Classes/RTCUIApplication.h', | |
| 59 'objc/Framework/Classes/RTCUIApplication.mm', | |
| 60 'objc/Framework/Classes/UIDevice+RTCDevice.mm', | |
| 61 'objc/Framework/Headers/WebRTC/RTCCameraPreviewView.h', | |
| 62 'objc/Framework/Headers/WebRTC/UIDevice+RTCDevice.h', | |
| 63 ], | |
| 64 'dependencies': [ | |
| 65 'webrtc_h264_video_toolbox', | |
| 66 ], | |
| 67 'link_settings': { | |
| 68 'xcode_settings': { | |
| 69 'OTHER_LDFLAGS': [ | |
| 70 '-framework AVFoundation', | |
| 71 ], | |
| 72 }, | |
| 73 }, | |
| 74 }], # OS=="ios" | |
| 75 ['build_with_chromium==0', { | |
| 76 'sources': [ | |
| 77 'objc/Framework/Classes/RTCFileLogger.mm', | |
| 78 'objc/Framework/Headers/WebRTC/RTCFileLogger.h', | |
| 79 ], | |
| 80 }], | |
| 81 ], | |
| 82 }, | |
| 83 { | |
| 84 'target_name': 'rtc_sdk_peerconnection_objc', | |
| 85 'type': 'static_library', | |
| 86 'includes': [ '../build/objc_common.gypi' ], | |
| 87 'dependencies': [ | |
| 88 '<(webrtc_root)/api/api.gyp:libjingle_peerconnection', | |
| 89 'rtc_sdk_common_objc', | |
| 90 ], | |
| 91 'include_dirs': [ | |
| 92 'objc/Framework/Classes', | |
| 93 'objc/Framework/Headers', | |
| 94 ], | |
| 95 'direct_dependent_settings': { | |
| 96 'include_dirs': [ | |
| 97 'objc/Framework/Classes', | |
| 98 'objc/Framework/Headers', | |
| 99 ], | |
| 100 }, | |
| 101 'link_settings': { | |
| 102 'xcode_settings': { | |
| 103 'OTHER_LDFLAGS': [ | |
| 104 '-framework AVFoundation', | |
| 105 ], | |
| 106 }, | |
| 107 'libraries': [ | |
| 108 '-lstdc++', | |
| 109 ], | |
| 110 }, # link_settings | |
| 111 'sources': [ | |
| 112 'objc/Framework/Classes/RTCAVFoundationVideoSource+Private.h', | |
| 113 'objc/Framework/Classes/RTCAVFoundationVideoSource.mm', | |
| 114 'objc/Framework/Classes/RTCAudioSource+Private.h', | |
| 115 'objc/Framework/Classes/RTCAudioSource.mm', | |
| 116 'objc/Framework/Classes/RTCAudioTrack+Private.h', | |
| 117 'objc/Framework/Classes/RTCAudioTrack.mm', | |
| 118 'objc/Framework/Classes/RTCConfiguration+Private.h', | |
| 119 'objc/Framework/Classes/RTCConfiguration.mm', | |
| 120 'objc/Framework/Classes/RTCDataChannel+Private.h', | |
| 121 'objc/Framework/Classes/RTCDataChannel.mm', | |
| 122 'objc/Framework/Classes/RTCDataChannelConfiguration+Private.h', | |
| 123 'objc/Framework/Classes/RTCDataChannelConfiguration.mm', | |
| 124 'objc/Framework/Classes/RTCI420Shader.mm', | |
| 125 'objc/Framework/Classes/RTCIceCandidate+Private.h', | |
| 126 'objc/Framework/Classes/RTCIceCandidate.mm', | |
| 127 'objc/Framework/Classes/RTCIceServer+Private.h', | |
| 128 'objc/Framework/Classes/RTCIceServer.mm', | |
| 129 'objc/Framework/Classes/RTCLegacyStatsReport+Private.h', | |
| 130 'objc/Framework/Classes/RTCLegacyStatsReport.mm', | |
| 131 'objc/Framework/Classes/RTCMediaConstraints+Private.h', | |
| 132 'objc/Framework/Classes/RTCMediaConstraints.mm', | |
| 133 'objc/Framework/Classes/RTCMediaSource+Private.h', | |
| 134 'objc/Framework/Classes/RTCMediaSource.mm', | |
| 135 'objc/Framework/Classes/RTCMediaStream+Private.h', | |
| 136 'objc/Framework/Classes/RTCMediaStream.mm', | |
| 137 'objc/Framework/Classes/RTCMediaStreamTrack+Private.h', | |
| 138 'objc/Framework/Classes/RTCMediaStreamTrack.mm', | |
| 139 'objc/Framework/Classes/RTCOpenGLDefines.h', | |
| 140 'objc/Framework/Classes/RTCOpenGLVideoRenderer.h', | |
| 141 'objc/Framework/Classes/RTCOpenGLVideoRenderer.mm', | |
| 142 'objc/Framework/Classes/RTCPeerConnection+DataChannel.mm', | |
| 143 'objc/Framework/Classes/RTCPeerConnection+Private.h', | |
| 144 'objc/Framework/Classes/RTCPeerConnection+Stats.mm', | |
| 145 'objc/Framework/Classes/RTCPeerConnection.mm', | |
| 146 'objc/Framework/Classes/RTCPeerConnectionFactory+Private.h', | |
| 147 'objc/Framework/Classes/RTCPeerConnectionFactory.mm', | |
| 148 'objc/Framework/Classes/RTCRtpCodecParameters+Private.h', | |
| 149 'objc/Framework/Classes/RTCRtpCodecParameters.mm', | |
| 150 'objc/Framework/Classes/RTCRtpEncodingParameters+Private.h', | |
| 151 'objc/Framework/Classes/RTCRtpEncodingParameters.mm', | |
| 152 'objc/Framework/Classes/RTCRtpParameters+Private.h', | |
| 153 'objc/Framework/Classes/RTCRtpParameters.mm', | |
| 154 'objc/Framework/Classes/RTCRtpReceiver+Private.h', | |
| 155 'objc/Framework/Classes/RTCRtpReceiver.mm', | |
| 156 'objc/Framework/Classes/RTCRtpSender+Private.h', | |
| 157 'objc/Framework/Classes/RTCRtpSender.mm', | |
| 158 'objc/Framework/Classes/RTCSessionDescription+Private.h', | |
| 159 'objc/Framework/Classes/RTCSessionDescription.mm', | |
| 160 'objc/Framework/Classes/RTCShader+Private.h', | |
| 161 'objc/Framework/Classes/RTCShader.h', | |
| 162 'objc/Framework/Classes/RTCShader.mm', | |
| 163 'objc/Framework/Classes/RTCVideoFrame+Private.h', | |
| 164 'objc/Framework/Classes/RTCVideoFrame.mm', | |
| 165 'objc/Framework/Classes/RTCVideoRendererAdapter+Private.h', | |
| 166 'objc/Framework/Classes/RTCVideoRendererAdapter.h', | |
| 167 'objc/Framework/Classes/RTCVideoRendererAdapter.mm', | |
| 168 'objc/Framework/Classes/RTCVideoSource+Private.h', | |
| 169 'objc/Framework/Classes/RTCVideoSource.mm', | |
| 170 'objc/Framework/Classes/RTCVideoTrack+Private.h', | |
| 171 'objc/Framework/Classes/RTCVideoTrack.mm', | |
| 172 'objc/Framework/Classes/avfoundationvideocapturer.h', | |
| 173 'objc/Framework/Classes/avfoundationvideocapturer.mm', | |
| 174 'objc/Framework/Headers/WebRTC/RTCAVFoundationVideoSource.h', | |
| 175 'objc/Framework/Headers/WebRTC/RTCAudioSource.h', | |
| 176 'objc/Framework/Headers/WebRTC/RTCAudioTrack.h', | |
| 177 'objc/Framework/Headers/WebRTC/RTCConfiguration.h', | |
| 178 'objc/Framework/Headers/WebRTC/RTCDataChannel.h', | |
| 179 'objc/Framework/Headers/WebRTC/RTCDataChannelConfiguration.h', | |
| 180 'objc/Framework/Headers/WebRTC/RTCIceCandidate.h', | |
| 181 'objc/Framework/Headers/WebRTC/RTCIceServer.h', | |
| 182 'objc/Framework/Headers/WebRTC/RTCLegacyStatsReport.h', | |
| 183 'objc/Framework/Headers/WebRTC/RTCMediaConstraints.h', | |
| 184 'objc/Framework/Headers/WebRTC/RTCMediaSource.h', | |
| 185 'objc/Framework/Headers/WebRTC/RTCMediaStream.h', | |
| 186 'objc/Framework/Headers/WebRTC/RTCMediaStreamTrack.h', | |
| 187 'objc/Framework/Headers/WebRTC/RTCPeerConnection.h', | |
| 188 'objc/Framework/Headers/WebRTC/RTCPeerConnectionFactory.h', | |
| 189 'objc/Framework/Headers/WebRTC/RTCRtpCodecParameters.h', | |
| 190 'objc/Framework/Headers/WebRTC/RTCRtpEncodingParameters.h', | |
| 191 'objc/Framework/Headers/WebRTC/RTCRtpParameters.h', | |
| 192 'objc/Framework/Headers/WebRTC/RTCRtpReceiver.h', | |
| 193 'objc/Framework/Headers/WebRTC/RTCRtpSender.h', | |
| 194 'objc/Framework/Headers/WebRTC/RTCSessionDescription.h', | |
| 195 'objc/Framework/Headers/WebRTC/RTCVideoFrame.h', | |
| 196 'objc/Framework/Headers/WebRTC/RTCVideoRenderer.h', | |
| 197 'objc/Framework/Headers/WebRTC/RTCVideoSource.h', | |
| 198 'objc/Framework/Headers/WebRTC/RTCVideoTrack.h', | |
| 199 ], # sources | |
| 200 'conditions': [ | |
| 201 ['build_libyuv==1', { | |
| 202 'dependencies': ['<(DEPTH)/third_party/libyuv/libyuv.gyp:libyuv'], | |
| 203 }], | |
| 204 ['OS=="ios"', { | |
| 205 'sources': [ | |
| 206 'objc/Framework/Classes/RTCEAGLVideoView.m', | |
| 207 'objc/Framework/Classes/RTCNativeNV12Shader.mm', | |
| 208 'objc/Framework/Headers/WebRTC/RTCEAGLVideoView.h', | |
| 209 ], | |
| 210 'link_settings': { | |
| 211 'xcode_settings': { | |
| 212 'OTHER_LDFLAGS': [ | |
| 213 '-framework CoreGraphics', | |
| 214 '-framework GLKit', | |
| 215 '-framework OpenGLES', | |
| 216 '-framework QuartzCore', | |
| 217 ], | |
| 218 }, | |
| 219 }, # link_settings | |
| 220 }], # OS=="ios" | |
| 221 ['OS=="mac"', { | |
| 222 'sources': [ | |
| 223 'objc/Framework/Classes/RTCNSGLVideoView.m', | |
| 224 'objc/Framework/Headers/WebRTC/RTCNSGLVideoView.h', | |
| 225 ], | |
| 226 'link_settings': { | |
| 227 'xcode_settings': { | |
| 228 'OTHER_LDFLAGS': [ | |
| 229 '-framework CoreMedia', | |
| 230 '-framework OpenGL', | |
| 231 ], | |
| 232 }, | |
| 233 }, | |
| 234 }], | |
| 235 ], # conditions | |
| 236 }, # rtc_sdk_peerconnection_objc | |
| 237 { | |
| 238 'target_name': 'rtc_sdk_framework_objc', | |
| 239 'type': 'shared_library', | |
| 240 'product_name': 'WebRTC', | |
| 241 'mac_bundle': 1, | |
| 242 'includes': [ '../build/objc_common.gypi' ], | |
| 243 # Slightly hacky, but we need to re-declare files here that are C | |
| 244 # interfaces because otherwise they will be dead-stripped during | |
| 245 # linking (ObjC classes cannot be dead-stripped). We might consider | |
| 246 # just only using ObjC interfaces. | |
| 247 'sources': [ | |
| 248 'objc/Framework/Classes/RTCFieldTrials.mm', | |
| 249 'objc/Framework/Classes/RTCLogging.mm', | |
| 250 'objc/Framework/Classes/RTCMetrics.mm', | |
| 251 'objc/Framework/Classes/RTCSSLAdapter.mm', | |
| 252 'objc/Framework/Classes/RTCTracing.mm', | |
| 253 'objc/Framework/Headers/WebRTC/RTCFieldTrials.h', | |
| 254 'objc/Framework/Headers/WebRTC/RTCLogging.h', | |
| 255 'objc/Framework/Headers/WebRTC/RTCSSLAdapter.h', | |
| 256 'objc/Framework/Headers/WebRTC/RTCTracing.h', | |
| 257 'objc/Framework/Headers/WebRTC/WebRTC.h', | |
| 258 'objc/Framework/Modules/module.modulemap', | |
| 259 ], | |
| 260 'mac_framework_headers': [ | |
| 261 'objc/Framework/Headers/WebRTC/RTCAudioSource.h', | |
| 262 'objc/Framework/Headers/WebRTC/RTCAudioTrack.h', | |
| 263 'objc/Framework/Headers/WebRTC/RTCAVFoundationVideoSource.h', | |
| 264 'objc/Framework/Headers/WebRTC/RTCCameraPreviewView.h', | |
| 265 'objc/Framework/Headers/WebRTC/RTCConfiguration.h', | |
| 266 'objc/Framework/Headers/WebRTC/RTCDataChannel.h', | |
| 267 'objc/Framework/Headers/WebRTC/RTCDataChannelConfiguration.h', | |
| 268 'objc/Framework/Headers/WebRTC/RTCDispatcher.h', | |
| 269 'objc/Framework/Headers/WebRTC/RTCEAGLVideoView.h', | |
| 270 'objc/Framework/Headers/WebRTC/RTCFieldTrials.h', | |
| 271 'objc/Framework/Headers/WebRTC/RTCFileLogger.h', | |
| 272 'objc/Framework/Headers/WebRTC/RTCIceCandidate.h', | |
| 273 'objc/Framework/Headers/WebRTC/RTCIceServer.h', | |
| 274 'objc/Framework/Headers/WebRTC/RTCLegacyStatsReport.h', | |
| 275 'objc/Framework/Headers/WebRTC/RTCLogging.h', | |
| 276 'objc/Framework/Headers/WebRTC/RTCMacros.h', | |
| 277 'objc/Framework/Headers/WebRTC/RTCMediaConstraints.h', | |
| 278 'objc/Framework/Headers/WebRTC/RTCMediaSource.h', | |
| 279 'objc/Framework/Headers/WebRTC/RTCMediaStream.h', | |
| 280 'objc/Framework/Headers/WebRTC/RTCMediaStreamTrack.h', | |
| 281 'objc/Framework/Headers/WebRTC/RTCMetrics.h', | |
| 282 'objc/Framework/Headers/WebRTC/RTCMetricsSampleInfo.h', | |
| 283 'objc/Framework/Headers/WebRTC/RTCNSGLVideoView.h', | |
| 284 'objc/Framework/Headers/WebRTC/RTCPeerConnection.h', | |
| 285 'objc/Framework/Headers/WebRTC/RTCPeerConnectionFactory.h', | |
| 286 'objc/Framework/Headers/WebRTC/RTCRtpCodecParameters.h', | |
| 287 'objc/Framework/Headers/WebRTC/RTCRtpEncodingParameters.h', | |
| 288 'objc/Framework/Headers/WebRTC/RTCRtpParameters.h', | |
| 289 'objc/Framework/Headers/WebRTC/RTCRtpReceiver.h', | |
| 290 'objc/Framework/Headers/WebRTC/RTCRtpSender.h', | |
| 291 'objc/Framework/Headers/WebRTC/RTCSessionDescription.h', | |
| 292 'objc/Framework/Headers/WebRTC/RTCSSLAdapter.h', | |
| 293 'objc/Framework/Headers/WebRTC/RTCTracing.h', | |
| 294 'objc/Framework/Headers/WebRTC/RTCVideoFrame.h', | |
| 295 'objc/Framework/Headers/WebRTC/RTCVideoRenderer.h', | |
| 296 'objc/Framework/Headers/WebRTC/RTCVideoSource.h', | |
| 297 'objc/Framework/Headers/WebRTC/RTCVideoTrack.h', | |
| 298 'objc/Framework/Headers/WebRTC/UIDevice+RTCDevice.h', | |
| 299 'objc/Framework/Headers/WebRTC/WebRTC.h', | |
| 300 ], | |
| 301 'dependencies': [ | |
| 302 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:field_trial_defa
ult', | |
| 303 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:metrics_default'
, | |
| 304 'rtc_sdk_peerconnection_objc', | |
| 305 ], | |
| 306 'xcode_settings': { | |
| 307 'CODE_SIGNING_REQUIRED': 'NO', | |
| 308 'CODE_SIGN_IDENTITY': '', | |
| 309 'DEFINES_MODULE': 'YES', | |
| 310 'INFOPLIST_FILE': 'objc/Framework/Info.plist', | |
| 311 'LD_DYLIB_INSTALL_NAME': '@rpath/WebRTC.framework/WebRTC', | |
| 312 'MODULEMAP_FILE': '<(webrtc_root)/sdk/Framework/Modules/module.modul
emap', | |
| 313 }, | |
| 314 'link_settings': { | |
| 315 'xcode_settings': { | |
| 316 'OTHER_LDFLAGS': [ | |
| 317 '-framework AVFoundation', | |
| 318 '-framework AudioToolbox', | |
| 319 '-framework CoreGraphics', | |
| 320 '-framework CoreMedia', | |
| 321 '-framework GLKit', | |
| 322 '-framework VideoToolbox', | |
| 323 ], | |
| 324 }, | |
| 325 }, # link_settings | |
| 326 'conditions': [ | |
| 327 # TODO(tkchin): Generate WebRTC.h based off of | |
| 328 # mac_framework_headers instead of hard-coding. Ok for now since we | |
| 329 # only really care about dynamic lib on iOS outside of chromium. | |
| 330 ['OS!="mac"', { | |
| 331 'mac_framework_headers!': [ | |
| 332 'objc/Framework/Headers/WebRTC/RTCNSGLVideoView.h', | |
| 333 ], | |
| 334 }], | |
| 335 ['build_with_chromium==1', { | |
| 336 'mac_framework_headers!': [ | |
| 337 'objc/Framework/Headers/WebRTC/RTCFileLogger.h', | |
| 338 ], | |
| 339 }], | |
| 340 ], # conditions | |
| 341 }, # rtc_sdk_framework_objc | |
| 342 ], # targets | |
| 343 }], # OS=="ios" or (OS=="mac" and mac_deployment_target=="10.7") | |
| 344 ['OS=="ios"', { | |
| 345 'targets': [ | |
| 346 { | |
| 347 'target_name': 'webrtc_h264_video_toolbox', | |
| 348 'type': 'static_library', | |
| 349 'includes': [ '../build/objc_common.gypi' ], | |
| 350 'link_settings': { | |
| 351 'xcode_settings': { | |
| 352 'OTHER_LDFLAGS': [ | |
| 353 '-framework CoreFoundation', | |
| 354 '-framework CoreMedia', | |
| 355 '-framework CoreVideo', | |
| 356 '-framework VideoToolbox', | |
| 357 ], | |
| 358 }, | |
| 359 }, | |
| 360 'sources': [ | |
| 361 'objc/Framework/Classes/h264_video_toolbox_decoder.cc', | |
| 362 'objc/Framework/Classes/h264_video_toolbox_decoder.h', | |
| 363 'objc/Framework/Classes/h264_video_toolbox_encoder.h', | |
| 364 'objc/Framework/Classes/h264_video_toolbox_encoder.mm', | |
| 365 'objc/Framework/Classes/h264_video_toolbox_nalu.cc', | |
| 366 'objc/Framework/Classes/h264_video_toolbox_nalu.h', | |
| 367 'objc/Framework/Classes/videotoolboxvideocodecfactory.cc', | |
| 368 'objc/Framework/Classes/videotoolboxvideocodecfactory.h', | |
| 369 ], | |
| 370 'conditions': [ | |
| 371 ['build_libyuv==1', { | |
| 372 'dependencies': ['<(DEPTH)/third_party/libyuv/libyuv.gyp:libyuv'], | |
| 373 }], | |
| 374 ], | |
| 375 }, # webrtc_h264_video_toolbox | |
| 376 ], # targets | |
| 377 }], # OS=="ios" | |
| 378 ], | |
| 379 } | |
| OLD | NEW |