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