OLD | NEW |
| (Empty) |
1 # | |
2 # Copyright 2012 The WebRTC Project Authors. All rights reserved. | |
3 # | |
4 # Use of this source code is governed by a BSD-style license | |
5 # that can be found in the LICENSE file in the root of the source | |
6 # tree. An additional intellectual property rights grant can be found | |
7 # in the file PATENTS. All contributing project authors may | |
8 # be found in the AUTHORS file in the root of the source tree. | |
9 | |
10 { | |
11 'includes': [ | |
12 '../talk/build/common.gypi', | |
13 ], | |
14 'targets': [ | |
15 { | |
16 'target_name': 'relayserver', | |
17 'type': 'executable', | |
18 'dependencies': [ | |
19 '../talk/libjingle.gyp:libjingle', | |
20 '../talk/libjingle.gyp:libjingle_p2p', | |
21 ], | |
22 'sources': [ | |
23 'examples/relayserver/relayserver_main.cc', | |
24 ], | |
25 }, # target relayserver | |
26 { | |
27 'target_name': 'stunserver', | |
28 'type': 'executable', | |
29 'dependencies': [ | |
30 '../talk/libjingle.gyp:libjingle', | |
31 '../talk/libjingle.gyp:libjingle_p2p', | |
32 ], | |
33 'sources': [ | |
34 'examples/stunserver/stunserver_main.cc', | |
35 ], | |
36 }, # target stunserver | |
37 { | |
38 'target_name': 'turnserver', | |
39 'type': 'executable', | |
40 'dependencies': [ | |
41 '../talk/libjingle.gyp:libjingle', | |
42 '../talk/libjingle.gyp:libjingle_p2p', | |
43 ], | |
44 'sources': [ | |
45 'examples/turnserver/turnserver_main.cc', | |
46 ], | |
47 }, # target turnserver | |
48 { | |
49 'target_name': 'peerconnection_server', | |
50 'type': 'executable', | |
51 'sources': [ | |
52 'examples/peerconnection/server/data_socket.cc', | |
53 'examples/peerconnection/server/data_socket.h', | |
54 'examples/peerconnection/server/main.cc', | |
55 'examples/peerconnection/server/peer_channel.cc', | |
56 'examples/peerconnection/server/peer_channel.h', | |
57 'examples/peerconnection/server/utils.cc', | |
58 'examples/peerconnection/server/utils.h', | |
59 ], | |
60 'dependencies': [ | |
61 '<(webrtc_root)/common.gyp:webrtc_common', | |
62 '../talk/libjingle.gyp:libjingle', | |
63 ], | |
64 # TODO(ronghuawu): crbug.com/167187 fix size_t to int truncations. | |
65 'msvs_disabled_warnings': [ 4309, ], | |
66 }, # target peerconnection_server | |
67 ], | |
68 'conditions': [ | |
69 ['OS=="linux" or OS=="win"', { | |
70 'targets': [ | |
71 { | |
72 'target_name': 'peerconnection_client', | |
73 'type': 'executable', | |
74 'sources': [ | |
75 'examples/peerconnection/client/conductor.cc', | |
76 'examples/peerconnection/client/conductor.h', | |
77 'examples/peerconnection/client/defaults.cc', | |
78 'examples/peerconnection/client/defaults.h', | |
79 'examples/peerconnection/client/peer_connection_client.cc', | |
80 'examples/peerconnection/client/peer_connection_client.h', | |
81 ], | |
82 'dependencies': [ | |
83 '../talk/libjingle.gyp:libjingle_peerconnection', | |
84 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:field_trial_defa
ult', | |
85 '<@(libjingle_tests_additional_deps)', | |
86 ], | |
87 'conditions': [ | |
88 ['build_json==1', { | |
89 'dependencies': [ | |
90 '<(DEPTH)/third_party/jsoncpp/jsoncpp.gyp:jsoncpp', | |
91 ], | |
92 }], | |
93 # TODO(ronghuawu): Move these files to a win/ directory then they | |
94 # can be excluded automatically. | |
95 ['OS=="win"', { | |
96 'sources': [ | |
97 'examples/peerconnection/client/flagdefs.h', | |
98 'examples/peerconnection/client/main.cc', | |
99 'examples/peerconnection/client/main_wnd.cc', | |
100 'examples/peerconnection/client/main_wnd.h', | |
101 ], | |
102 'msvs_settings': { | |
103 'VCLinkerTool': { | |
104 'SubSystem': '2', # Windows | |
105 }, | |
106 }, | |
107 }], # OS=="win" | |
108 ['OS=="linux"', { | |
109 'sources': [ | |
110 'examples/peerconnection/client/linux/main.cc', | |
111 'examples/peerconnection/client/linux/main_wnd.cc', | |
112 'examples/peerconnection/client/linux/main_wnd.h', | |
113 ], | |
114 'cflags': [ | |
115 '<!@(pkg-config --cflags glib-2.0 gobject-2.0 gtk+-2.0)', | |
116 ], | |
117 'link_settings': { | |
118 'ldflags': [ | |
119 '<!@(pkg-config --libs-only-L --libs-only-other glib-2.0' | |
120 ' gobject-2.0 gthread-2.0 gtk+-2.0)', | |
121 ], | |
122 'libraries': [ | |
123 '<!@(pkg-config --libs-only-l glib-2.0 gobject-2.0' | |
124 ' gthread-2.0 gtk+-2.0)', | |
125 '-lX11', | |
126 '-lXcomposite', | |
127 '-lXext', | |
128 '-lXrender', | |
129 ], | |
130 }, | |
131 }], # OS=="linux" | |
132 ], # conditions | |
133 }, # target peerconnection_client | |
134 ], # targets | |
135 }], # OS=="linux" or OS=="win" | |
136 | |
137 ['OS=="ios" or (OS=="mac" and target_arch!="ia32" and mac_sdk>="10.8")', { | |
138 'targets': [ | |
139 { | |
140 'target_name': 'apprtc_common', | |
141 'type': 'static_library', | |
142 'dependencies': [ | |
143 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:field_trial_defa
ult', | |
144 '../talk/libjingle.gyp:libjingle_peerconnection_objc', | |
145 ], | |
146 'sources': [ | |
147 'examples/objc/AppRTCDemo/common/ARDUtilities.h', | |
148 'examples/objc/AppRTCDemo/common/ARDUtilities.m', | |
149 ], | |
150 'include_dirs': [ | |
151 'examples/objc/AppRTCDemo/common', | |
152 ], | |
153 'direct_dependent_settings': { | |
154 'include_dirs': [ | |
155 'examples/objc/AppRTCDemo/common', | |
156 ], | |
157 }, | |
158 'conditions': [ | |
159 ['OS=="mac"', { | |
160 'xcode_settings': { | |
161 'MACOSX_DEPLOYMENT_TARGET' : '10.8', | |
162 }, | |
163 }], | |
164 ], | |
165 'link_settings': { | |
166 'xcode_settings': { | |
167 'OTHER_LDFLAGS': [ | |
168 '-framework QuartzCore', | |
169 ], | |
170 }, | |
171 }, | |
172 }, | |
173 { | |
174 'target_name': 'apprtc_signaling', | |
175 'type': 'static_library', | |
176 'dependencies': [ | |
177 'apprtc_common', | |
178 '../talk/libjingle.gyp:libjingle_peerconnection_objc', | |
179 'socketrocket', | |
180 ], | |
181 'sources': [ | |
182 'examples/objc/AppRTCDemo/ARDAppClient.h', | |
183 'examples/objc/AppRTCDemo/ARDAppClient.m', | |
184 'examples/objc/AppRTCDemo/ARDAppClient+Internal.h', | |
185 'examples/objc/AppRTCDemo/ARDAppEngineClient.h', | |
186 'examples/objc/AppRTCDemo/ARDAppEngineClient.m', | |
187 'examples/objc/AppRTCDemo/ARDBitrateTracker.h', | |
188 'examples/objc/AppRTCDemo/ARDBitrateTracker.m', | |
189 'examples/objc/AppRTCDemo/ARDCEODTURNClient.h', | |
190 'examples/objc/AppRTCDemo/ARDCEODTURNClient.m', | |
191 'examples/objc/AppRTCDemo/ARDJoinResponse.h', | |
192 'examples/objc/AppRTCDemo/ARDJoinResponse.m', | |
193 'examples/objc/AppRTCDemo/ARDJoinResponse+Internal.h', | |
194 'examples/objc/AppRTCDemo/ARDMessageResponse.h', | |
195 'examples/objc/AppRTCDemo/ARDMessageResponse.m', | |
196 'examples/objc/AppRTCDemo/ARDMessageResponse+Internal.h', | |
197 'examples/objc/AppRTCDemo/ARDRoomServerClient.h', | |
198 'examples/objc/AppRTCDemo/ARDSDPUtils.h', | |
199 'examples/objc/AppRTCDemo/ARDSDPUtils.m', | |
200 'examples/objc/AppRTCDemo/ARDSignalingChannel.h', | |
201 'examples/objc/AppRTCDemo/ARDSignalingMessage.h', | |
202 'examples/objc/AppRTCDemo/ARDSignalingMessage.m', | |
203 'examples/objc/AppRTCDemo/ARDStatsBuilder.h', | |
204 'examples/objc/AppRTCDemo/ARDStatsBuilder.m', | |
205 'examples/objc/AppRTCDemo/ARDTURNClient.h', | |
206 'examples/objc/AppRTCDemo/ARDWebSocketChannel.h', | |
207 'examples/objc/AppRTCDemo/ARDWebSocketChannel.m', | |
208 'examples/objc/AppRTCDemo/RTCICECandidate+JSON.h', | |
209 'examples/objc/AppRTCDemo/RTCICECandidate+JSON.m', | |
210 'examples/objc/AppRTCDemo/RTCICEServer+JSON.h', | |
211 'examples/objc/AppRTCDemo/RTCICEServer+JSON.m', | |
212 'examples/objc/AppRTCDemo/RTCMediaConstraints+JSON.h', | |
213 'examples/objc/AppRTCDemo/RTCMediaConstraints+JSON.m', | |
214 'examples/objc/AppRTCDemo/RTCSessionDescription+JSON.h', | |
215 'examples/objc/AppRTCDemo/RTCSessionDescription+JSON.m', | |
216 ], | |
217 'include_dirs': [ | |
218 'examples/objc/AppRTCDemo', | |
219 ], | |
220 'direct_dependent_settings': { | |
221 'include_dirs': [ | |
222 'examples/objc/AppRTCDemo', | |
223 ], | |
224 }, | |
225 'export_dependent_settings': [ | |
226 '../talk/libjingle.gyp:libjingle_peerconnection_objc', | |
227 ], | |
228 'conditions': [ | |
229 ['OS=="mac"', { | |
230 'xcode_settings': { | |
231 'MACOSX_DEPLOYMENT_TARGET' : '10.8', | |
232 }, | |
233 }], | |
234 ], | |
235 }, | |
236 { | |
237 'target_name': 'AppRTCDemo', | |
238 'type': 'executable', | |
239 'product_name': 'AppRTCDemo', | |
240 'mac_bundle': 1, | |
241 'dependencies': [ | |
242 'apprtc_common', | |
243 'apprtc_signaling', | |
244 ], | |
245 'conditions': [ | |
246 ['OS=="ios"', { | |
247 'mac_bundle_resources': [ | |
248 'examples/objc/AppRTCDemo/ios/resources/iPhone5@2x.png', | |
249 'examples/objc/AppRTCDemo/ios/resources/iPhone6@2x.png', | |
250 'examples/objc/AppRTCDemo/ios/resources/iPhone6p@3x.png', | |
251 'examples/objc/AppRTCDemo/ios/resources/Roboto-Regular.ttf', | |
252 'examples/objc/AppRTCDemo/ios/resources/ic_call_end_black_24dp.p
ng', | |
253 'examples/objc/AppRTCDemo/ios/resources/ic_call_end_black_24dp@2
x.png', | |
254 'examples/objc/AppRTCDemo/ios/resources/ic_clear_black_24dp.png'
, | |
255 'examples/objc/AppRTCDemo/ios/resources/ic_clear_black_24dp@2x.p
ng', | |
256 'examples/objc/AppRTCDemo/ios/resources/ic_switch_video_black_24
dp.png', | |
257 'examples/objc/AppRTCDemo/ios/resources/ic_switch_video_black_24
dp@2x.png', | |
258 'examples/objc/Icon.png', | |
259 ], | |
260 'sources': [ | |
261 'examples/objc/AppRTCDemo/ios/ARDAppDelegate.h', | |
262 'examples/objc/AppRTCDemo/ios/ARDAppDelegate.m', | |
263 'examples/objc/AppRTCDemo/ios/ARDMainView.h', | |
264 'examples/objc/AppRTCDemo/ios/ARDMainView.m', | |
265 'examples/objc/AppRTCDemo/ios/ARDMainViewController.h', | |
266 'examples/objc/AppRTCDemo/ios/ARDMainViewController.m', | |
267 'examples/objc/AppRTCDemo/ios/ARDStatsView.h', | |
268 'examples/objc/AppRTCDemo/ios/ARDStatsView.m', | |
269 'examples/objc/AppRTCDemo/ios/ARDVideoCallView.h', | |
270 'examples/objc/AppRTCDemo/ios/ARDVideoCallView.m', | |
271 'examples/objc/AppRTCDemo/ios/ARDVideoCallViewController.h', | |
272 'examples/objc/AppRTCDemo/ios/ARDVideoCallViewController.m', | |
273 'examples/objc/AppRTCDemo/ios/AppRTCDemo-Prefix.pch', | |
274 'examples/objc/AppRTCDemo/ios/UIImage+ARDUtilities.h', | |
275 'examples/objc/AppRTCDemo/ios/UIImage+ARDUtilities.m', | |
276 'examples/objc/AppRTCDemo/ios/main.m', | |
277 ], | |
278 'xcode_settings': { | |
279 'INFOPLIST_FILE': 'examples/objc/AppRTCDemo/ios/Info.plist', | |
280 }, | |
281 }], | |
282 ['OS=="mac"', { | |
283 'sources': [ | |
284 'examples/objc/AppRTCDemo/mac/APPRTCAppDelegate.h', | |
285 'examples/objc/AppRTCDemo/mac/APPRTCAppDelegate.m', | |
286 'examples/objc/AppRTCDemo/mac/APPRTCViewController.h', | |
287 'examples/objc/AppRTCDemo/mac/APPRTCViewController.m', | |
288 'examples/objc/AppRTCDemo/mac/main.m', | |
289 ], | |
290 'xcode_settings': { | |
291 'CLANG_WARN_OBJC_MISSING_PROPERTY_SYNTHESIS': 'NO', | |
292 'INFOPLIST_FILE': 'examples/objc/AppRTCDemo/mac/Info.plist', | |
293 'MACOSX_DEPLOYMENT_TARGET' : '10.8', | |
294 'OTHER_LDFLAGS': [ | |
295 '-framework AVFoundation', | |
296 ], | |
297 }, | |
298 }], | |
299 ['target_arch=="ia32"', { | |
300 'dependencies' : [ | |
301 '<(DEPTH)/testing/iossim/iossim.gyp:iossim#host', | |
302 ], | |
303 }], | |
304 ], | |
305 }, # target AppRTCDemo | |
306 { | |
307 # TODO(tkchin): move this into the real third party location and | |
308 # have it mirrored on chrome infra. | |
309 'target_name': 'socketrocket', | |
310 'type': 'static_library', | |
311 'sources': [ | |
312 'examples/objc/AppRTCDemo/third_party/SocketRocket/SRWebSocket.h', | |
313 'examples/objc/AppRTCDemo/third_party/SocketRocket/SRWebSocket.m', | |
314 ], | |
315 'conditions': [ | |
316 ['OS=="mac"', { | |
317 'xcode_settings': { | |
318 # SocketRocket autosynthesizes some properties. Disable the | |
319 # warning so we can compile successfully. | |
320 'CLANG_WARN_OBJC_MISSING_PROPERTY_SYNTHESIS': 'NO', | |
321 'MACOSX_DEPLOYMENT_TARGET' : '10.8', | |
322 # SRWebSocket.m uses code with partial availability. | |
323 # https://code.google.com/p/webrtc/issues/detail?id=4695 | |
324 'WARNING_CFLAGS!': ['-Wpartial-availability'], | |
325 }, | |
326 }], | |
327 ], | |
328 'direct_dependent_settings': { | |
329 'include_dirs': [ | |
330 'examples/objc/AppRTCDemo/third_party/SocketRocket', | |
331 ], | |
332 }, | |
333 'xcode_settings': { | |
334 'CLANG_ENABLE_OBJC_ARC': 'YES', | |
335 'WARNING_CFLAGS': [ | |
336 '-Wno-deprecated-declarations', | |
337 ], | |
338 }, | |
339 'link_settings': { | |
340 'xcode_settings': { | |
341 'OTHER_LDFLAGS': [ | |
342 '-framework CFNetwork', | |
343 '-licucore', | |
344 ], | |
345 }, | |
346 } | |
347 }, # target socketrocket | |
348 ], # targets | |
349 }], # OS=="ios" or (OS=="mac" and target_arch!="ia32" and mac_sdk>="10.8") | |
350 | |
351 ['OS=="android"', { | |
352 'targets': [ | |
353 { | |
354 'target_name': 'AppRTCDemo', | |
355 'type': 'none', | |
356 'dependencies': [ | |
357 '../talk/libjingle.gyp:libjingle_peerconnection_java', | |
358 ], | |
359 'variables': { | |
360 'apk_name': 'AppRTCDemo', | |
361 'java_in_dir': 'examples/androidapp', | |
362 'has_java_resources': 1, | |
363 'resource_dir': 'examples/androidapp/res', | |
364 'R_package': 'org.appspot.apprtc', | |
365 'R_package_relpath': 'org/appspot/apprtc', | |
366 'input_jars_paths': [ | |
367 'examples/androidapp/third_party/autobanh/autobanh.jar', | |
368 ], | |
369 'library_dexed_jars_paths': [ | |
370 'examples/androidapp/third_party/autobanh/autobanh.jar', | |
371 ], | |
372 'native_lib_target': 'libjingle_peerconnection_so', | |
373 'add_to_dependents_classpaths':1, | |
374 }, | |
375 'includes': [ '../build/java_apk.gypi' ], | |
376 }, # target AppRTCDemo | |
377 | |
378 { | |
379 # AppRTCDemo creates a .jar as a side effect. Any java targets | |
380 # that need that .jar in their classpath should depend on this target, | |
381 # AppRTCDemo_apk. Dependents of AppRTCDemo_apk receive its | |
382 # jar path in the variable 'apk_output_jar_path'. | |
383 # This target should only be used by targets which instrument | |
384 # AppRTCDemo_apk. | |
385 'target_name': 'AppRTCDemo_apk', | |
386 'type': 'none', | |
387 'dependencies': [ | |
388 'AppRTCDemo', | |
389 ], | |
390 'includes': [ '../build/apk_fake_jar.gypi' ], | |
391 }, # target AppRTCDemo_apk | |
392 | |
393 { | |
394 'target_name': 'AppRTCDemoTest', | |
395 'type': 'none', | |
396 'dependencies': [ | |
397 'AppRTCDemo_apk', | |
398 ], | |
399 'variables': { | |
400 'apk_name': 'AppRTCDemoTest', | |
401 'java_in_dir': 'examples/androidtests', | |
402 'is_test_apk': 1, | |
403 }, | |
404 'includes': [ '../build/java_apk.gypi' ], | |
405 }, | |
406 ], # targets | |
407 }], # OS=="android" | |
408 ], | |
409 } | |
OLD | NEW |