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/RTCSSLAdapter.mm', |
| 41 'objc/Framework/Classes/RTCTracing.mm', |
| 42 'objc/Framework/Headers/WebRTC/RTCDispatcher.h', |
| 43 'objc/Framework/Headers/WebRTC/RTCFieldTrials.h', |
| 44 'objc/Framework/Headers/WebRTC/RTCLogging.h', |
| 45 'objc/Framework/Headers/WebRTC/RTCMacros.h', |
| 46 'objc/Framework/Headers/WebRTC/RTCSSLAdapter.h', |
| 47 'objc/Framework/Headers/WebRTC/RTCTracing.h', |
| 48 ], |
| 49 'conditions': [ |
| 50 ['OS=="ios"', { |
| 51 'sources': [ |
| 52 'objc/Framework/Classes/RTCCameraPreviewView.m', |
| 53 'objc/Framework/Classes/RTCUIApplication.h', |
| 54 'objc/Framework/Classes/RTCUIApplication.mm', |
| 55 'objc/Framework/Headers/WebRTC/RTCCameraPreviewView.h', |
| 56 ], |
| 57 'link_settings': { |
| 58 'xcode_settings': { |
| 59 'OTHER_LDFLAGS': [ |
| 60 '-framework AVFoundation', |
| 61 ], |
| 62 }, |
| 63 }, |
| 64 }], # OS=="ios" |
| 65 ['build_with_chromium==0', { |
| 66 'sources': [ |
| 67 'objc/Framework/Classes/RTCFileLogger.mm', |
| 68 'objc/Framework/Headers/WebRTC/RTCFileLogger.h', |
| 69 ], |
| 70 }], |
| 71 ], |
| 72 }, |
| 73 { |
| 74 'target_name': 'rtc_sdk_peerconnection_objc', |
| 75 'type': 'static_library', |
| 76 'includes': [ '../build/objc_common.gypi' ], |
| 77 'dependencies': [ |
| 78 '<(webrtc_root)/api/api.gyp:libjingle_peerconnection', |
| 79 'rtc_sdk_common_objc', |
| 80 ], |
| 81 'include_dirs': [ |
| 82 'objc/Framework/Classes', |
| 83 'objc/Framework/Headers', |
| 84 ], |
| 85 'direct_dependent_settings': { |
| 86 'include_dirs': [ |
| 87 'objc/Framework/Classes', |
| 88 'objc/Framework/Headers', |
| 89 ], |
| 90 }, |
| 91 'link_settings': { |
| 92 'libraries': [ |
| 93 '-lstdc++', |
| 94 ], |
| 95 }, # link_settings |
| 96 'sources': [ |
| 97 'objc/Framework/Classes/RTCAudioTrack+Private.h', |
| 98 'objc/Framework/Classes/RTCAudioTrack.mm', |
| 99 'objc/Framework/Classes/RTCConfiguration+Private.h', |
| 100 'objc/Framework/Classes/RTCConfiguration.mm', |
| 101 'objc/Framework/Classes/RTCDataChannel+Private.h', |
| 102 'objc/Framework/Classes/RTCDataChannel.mm', |
| 103 'objc/Framework/Classes/RTCDataChannelConfiguration+Private.h', |
| 104 'objc/Framework/Classes/RTCDataChannelConfiguration.mm', |
| 105 'objc/Framework/Classes/RTCIceCandidate+Private.h', |
| 106 'objc/Framework/Classes/RTCIceCandidate.mm', |
| 107 'objc/Framework/Classes/RTCIceServer+Private.h', |
| 108 'objc/Framework/Classes/RTCIceServer.mm', |
| 109 'objc/Framework/Classes/RTCMediaConstraints+Private.h', |
| 110 'objc/Framework/Classes/RTCMediaConstraints.mm', |
| 111 'objc/Framework/Classes/RTCMediaStream+Private.h', |
| 112 'objc/Framework/Classes/RTCMediaStream.mm', |
| 113 'objc/Framework/Classes/RTCMediaStreamTrack+Private.h', |
| 114 'objc/Framework/Classes/RTCMediaStreamTrack.mm', |
| 115 'objc/Framework/Classes/RTCOpenGLVideoRenderer.h', |
| 116 'objc/Framework/Classes/RTCOpenGLVideoRenderer.mm', |
| 117 'objc/Framework/Classes/RTCPeerConnection+DataChannel.mm', |
| 118 'objc/Framework/Classes/RTCPeerConnection+Private.h', |
| 119 'objc/Framework/Classes/RTCPeerConnection+Stats.mm', |
| 120 'objc/Framework/Classes/RTCPeerConnection.mm', |
| 121 'objc/Framework/Classes/RTCPeerConnectionFactory+Private.h', |
| 122 'objc/Framework/Classes/RTCPeerConnectionFactory.mm', |
| 123 'objc/Framework/Classes/RTCRtpCodecParameters+Private.h', |
| 124 'objc/Framework/Classes/RTCRtpCodecParameters.mm', |
| 125 'objc/Framework/Classes/RTCRtpEncodingParameters+Private.h', |
| 126 'objc/Framework/Classes/RTCRtpEncodingParameters.mm', |
| 127 'objc/Framework/Classes/RTCRtpParameters+Private.h', |
| 128 'objc/Framework/Classes/RTCRtpParameters.mm', |
| 129 'objc/Framework/Classes/RTCRtpSender+Private.h', |
| 130 'objc/Framework/Classes/RTCRtpSender.mm', |
| 131 'objc/Framework/Classes/RTCSessionDescription+Private.h', |
| 132 'objc/Framework/Classes/RTCSessionDescription.mm', |
| 133 'objc/Framework/Classes/RTCStatsReport+Private.h', |
| 134 'objc/Framework/Classes/RTCStatsReport.mm', |
| 135 'objc/Framework/Classes/RTCVideoFrame+Private.h', |
| 136 'objc/Framework/Classes/RTCVideoFrame.mm', |
| 137 'objc/Framework/Classes/RTCVideoRendererAdapter+Private.h', |
| 138 'objc/Framework/Classes/RTCVideoRendererAdapter.h', |
| 139 'objc/Framework/Classes/RTCVideoRendererAdapter.mm', |
| 140 'objc/Framework/Classes/RTCVideoSource+Private.h', |
| 141 'objc/Framework/Classes/RTCVideoSource.mm', |
| 142 'objc/Framework/Classes/RTCVideoTrack+Private.h', |
| 143 'objc/Framework/Classes/RTCVideoTrack.mm', |
| 144 'objc/Framework/Headers/WebRTC/RTCAudioTrack.h', |
| 145 'objc/Framework/Headers/WebRTC/RTCConfiguration.h', |
| 146 'objc/Framework/Headers/WebRTC/RTCDataChannel.h', |
| 147 'objc/Framework/Headers/WebRTC/RTCDataChannelConfiguration.h', |
| 148 'objc/Framework/Headers/WebRTC/RTCIceCandidate.h', |
| 149 'objc/Framework/Headers/WebRTC/RTCIceServer.h', |
| 150 'objc/Framework/Headers/WebRTC/RTCMediaConstraints.h', |
| 151 'objc/Framework/Headers/WebRTC/RTCMediaStream.h', |
| 152 'objc/Framework/Headers/WebRTC/RTCMediaStreamTrack.h', |
| 153 'objc/Framework/Headers/WebRTC/RTCPeerConnection.h', |
| 154 'objc/Framework/Headers/WebRTC/RTCPeerConnectionFactory.h', |
| 155 'objc/Framework/Headers/WebRTC/RTCRtpCodecParameters.h', |
| 156 'objc/Framework/Headers/WebRTC/RTCRtpEncodingParameters.h', |
| 157 'objc/Framework/Headers/WebRTC/RTCRtpParameters.h', |
| 158 'objc/Framework/Headers/WebRTC/RTCRtpSender.h', |
| 159 'objc/Framework/Headers/WebRTC/RTCSessionDescription.h', |
| 160 'objc/Framework/Headers/WebRTC/RTCStatsReport.h', |
| 161 'objc/Framework/Headers/WebRTC/RTCVideoFrame.h', |
| 162 'objc/Framework/Headers/WebRTC/RTCVideoRenderer.h', |
| 163 'objc/Framework/Headers/WebRTC/RTCVideoSource.h', |
| 164 'objc/Framework/Headers/WebRTC/RTCVideoTrack.h', |
| 165 ], # sources |
| 166 'conditions': [ |
| 167 ['OS=="ios"', { |
| 168 'sources': [ |
| 169 'objc/Framework/Classes/RTCAVFoundationVideoSource+Private.h', |
| 170 'objc/Framework/Classes/RTCAVFoundationVideoSource.mm', |
| 171 'objc/Framework/Classes/RTCEAGLVideoView.m', |
| 172 'objc/Framework/Classes/avfoundationvideocapturer.h', |
| 173 'objc/Framework/Classes/avfoundationvideocapturer.mm', |
| 174 'objc/Framework/Headers/WebRTC/RTCAVFoundationVideoSource.h', |
| 175 'objc/Framework/Headers/WebRTC/RTCEAGLVideoView.h', |
| 176 ], |
| 177 'link_settings': { |
| 178 'xcode_settings': { |
| 179 'OTHER_LDFLAGS': [ |
| 180 '-framework CoreGraphics', |
| 181 '-framework GLKit', |
| 182 '-framework OpenGLES', |
| 183 '-framework QuartzCore', |
| 184 ], |
| 185 }, |
| 186 }, # link_settings |
| 187 }], # OS=="ios" |
| 188 ['OS=="mac"', { |
| 189 'sources': [ |
| 190 'objc/Framework/Classes/RTCNSGLVideoView.m', |
| 191 'objc/Framework/Headers/WebRTC/RTCNSGLVideoView.h', |
| 192 ], |
| 193 'link_settings': { |
| 194 'xcode_settings': { |
| 195 'OTHER_LDFLAGS': [ |
| 196 '-framework OpenGL', |
| 197 ], |
| 198 }, |
| 199 }, |
| 200 }], |
| 201 ], # conditions |
| 202 }, # rtc_sdk_peerconnection_objc |
| 203 { |
| 204 'target_name': 'rtc_sdk_framework_objc', |
| 205 'type': 'shared_library', |
| 206 'product_name': 'WebRTC', |
| 207 'mac_bundle': 1, |
| 208 'includes': [ '../build/objc_common.gypi' ], |
| 209 # Slightly hacky, but we need to re-declare files here that are C |
| 210 # interfaces because otherwise they will be dead-stripped during |
| 211 # linking (ObjC classes cannot be dead-stripped). We might consider |
| 212 # just only using ObjC interfaces. |
| 213 'sources': [ |
| 214 'objc/Framework/Classes/RTCFieldTrials.mm', |
| 215 'objc/Framework/Classes/RTCLogging.mm', |
| 216 'objc/Framework/Classes/RTCSSLAdapter.mm', |
| 217 'objc/Framework/Classes/RTCTracing.mm', |
| 218 'objc/Framework/Headers/WebRTC/RTCFieldTrials.h', |
| 219 'objc/Framework/Headers/WebRTC/RTCLogging.h', |
| 220 'objc/Framework/Headers/WebRTC/RTCSSLAdapter.h', |
| 221 'objc/Framework/Headers/WebRTC/RTCTracing.h', |
| 222 'objc/Framework/Headers/WebRTC/WebRTC.h', |
| 223 'objc/Framework/Modules/module.modulemap', |
| 224 ], |
| 225 'mac_framework_headers': [ |
| 226 '<!@(find -E objc/Framework/Headers -regex ".*(h)")', |
| 227 ], |
| 228 'dependencies': [ |
| 229 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:field_trial_defa
ult', |
| 230 'rtc_sdk_peerconnection_objc', |
| 231 ], |
| 232 'xcode_settings': { |
| 233 'CODE_SIGNING_REQUIRED': 'NO', |
| 234 'CODE_SIGN_IDENTITY': '', |
| 235 'DEFINES_MODULE': 'YES', |
| 236 'INFOPLIST_FILE': 'objc/Framework/Info.plist', |
| 237 'LD_DYLIB_INSTALL_NAME': '@rpath/WebRTC.framework/WebRTC', |
| 238 'MODULEMAP_FILE': '<(webrtc_root)/sdk/Framework/Modules/module.modul
emap', |
| 239 }, |
| 240 'link_settings': { |
| 241 'xcode_settings': { |
| 242 'OTHER_LDFLAGS': [ |
| 243 '-framework AVFoundation', |
| 244 '-framework AudioToolbox', |
| 245 '-framework CoreGraphics', |
| 246 '-framework CoreMedia', |
| 247 '-framework GLKit', |
| 248 '-framework VideoToolbox', |
| 249 ], |
| 250 }, |
| 251 }, # link_settings |
| 252 'conditions': [ |
| 253 # TODO(tkchin): Generate WebRTC.h based off of |
| 254 # mac_framework_headers instead of hard-coding. Ok for now since we |
| 255 # only really care about dynamic lib on iOS outside of chromium. |
| 256 ['OS!="mac"', { |
| 257 'mac_framework_headers!': [ |
| 258 'objc/Framework/Headers/WebRTC/RTCNSGLVideoView.h', |
| 259 ], |
| 260 }], |
| 261 ['build_with_chromium==1', { |
| 262 'mac_framework_headers!': [ |
| 263 'objc/Framework/Headers/WebRTC/RTCFileLogger.h', |
| 264 ], |
| 265 }], |
| 266 ], # conditions |
| 267 }, # rtc_sdk_framework_objc |
| 268 ], # targets |
| 269 }], # OS=="ios" or (OS=="mac" and mac_deployment_target=="10.7") |
| 270 ], |
| 271 } |
OLD | NEW |