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

Side by Side Diff: webrtc/sdk/sdk.gyp

Issue 1903663002: Build dynamic iOS SDK. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 4 years, 8 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
(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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698