OLD | NEW |
| (Empty) |
1 # Copyright (c) 2012 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 'conditions': [ | |
10 ['OS=="linux" or OS=="win"', { | |
11 'targets': [ | |
12 { | |
13 'target_name': 'relayserver', | |
14 'type': 'executable', | |
15 'dependencies': [ | |
16 '<(webrtc_root)/base/base.gyp:rtc_base_approved', | |
17 '<(webrtc_root)/pc/pc.gyp:rtc_pc', | |
18 ], | |
19 'sources': [ | |
20 'examples/relayserver/relayserver_main.cc', | |
21 ], | |
22 }, # target relayserver | |
23 { | |
24 'target_name': 'stunserver', | |
25 'type': 'executable', | |
26 'dependencies': [ | |
27 '<(webrtc_root)/base/base.gyp:rtc_base_approved', | |
28 '<(webrtc_root)/pc/pc.gyp:rtc_pc', | |
29 ], | |
30 'sources': [ | |
31 'examples/stunserver/stunserver_main.cc', | |
32 ], | |
33 }, # target stunserver | |
34 { | |
35 'target_name': 'turnserver', | |
36 'type': 'executable', | |
37 'dependencies': [ | |
38 '<(webrtc_root)/base/base.gyp:rtc_base_approved', | |
39 '<(webrtc_root)/pc/pc.gyp:rtc_pc', | |
40 ], | |
41 'sources': [ | |
42 'examples/turnserver/turnserver_main.cc', | |
43 ], | |
44 }, # target turnserver | |
45 { | |
46 'target_name': 'peerconnection_server', | |
47 'type': 'executable', | |
48 'sources': [ | |
49 'examples/peerconnection/server/data_socket.cc', | |
50 'examples/peerconnection/server/data_socket.h', | |
51 'examples/peerconnection/server/main.cc', | |
52 'examples/peerconnection/server/peer_channel.cc', | |
53 'examples/peerconnection/server/peer_channel.h', | |
54 'examples/peerconnection/server/utils.cc', | |
55 'examples/peerconnection/server/utils.h', | |
56 ], | |
57 'dependencies': [ | |
58 '<(webrtc_root)/base/base.gyp:rtc_base_approved', | |
59 '<(webrtc_root)/common.gyp:webrtc_common', | |
60 '<(webrtc_root)/tools/internal_tools.gyp:command_line_parser', | |
61 ], | |
62 # TODO(ronghuawu): crbug.com/167187 fix size_t to int truncations. | |
63 'msvs_disabled_warnings': [ 4309, ], | |
64 }, # target peerconnection_server | |
65 { | |
66 'target_name': 'peerconnection_client', | |
67 'type': 'executable', | |
68 'sources': [ | |
69 'examples/peerconnection/client/conductor.cc', | |
70 'examples/peerconnection/client/conductor.h', | |
71 'examples/peerconnection/client/defaults.cc', | |
72 'examples/peerconnection/client/defaults.h', | |
73 'examples/peerconnection/client/peer_connection_client.cc', | |
74 'examples/peerconnection/client/peer_connection_client.h', | |
75 ], | |
76 'dependencies': [ | |
77 'api/api.gyp:libjingle_peerconnection', | |
78 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:field_trial_defa
ult', | |
79 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:metrics_default'
, | |
80 ], | |
81 'conditions': [ | |
82 ['build_json==1', { | |
83 'dependencies': [ | |
84 '<(DEPTH)/third_party/jsoncpp/jsoncpp.gyp:jsoncpp', | |
85 ], | |
86 }], | |
87 # TODO(ronghuawu): Move these files to a win/ directory then they | |
88 # can be excluded automatically. | |
89 ['OS=="win"', { | |
90 'sources': [ | |
91 'examples/peerconnection/client/flagdefs.h', | |
92 'examples/peerconnection/client/main.cc', | |
93 'examples/peerconnection/client/main_wnd.cc', | |
94 'examples/peerconnection/client/main_wnd.h', | |
95 ], | |
96 'msvs_settings': { | |
97 'VCLinkerTool': { | |
98 'SubSystem': '2', # Windows | |
99 }, | |
100 }, | |
101 }], # OS=="win" | |
102 ['OS=="win" and clang==1', { | |
103 'msvs_settings': { | |
104 'VCCLCompilerTool': { | |
105 'AdditionalOptions': [ | |
106 # Disable warnings failing when compiling with Clang on Wind
ows. | |
107 # https://bugs.chromium.org/p/webrtc/issues/detail?id=5366 | |
108 '-Wno-reorder', | |
109 '-Wno-unused-function', | |
110 ], | |
111 }, | |
112 }, | |
113 }], # OS=="win" and clang==1 | |
114 ['OS=="linux"', { | |
115 'sources': [ | |
116 'examples/peerconnection/client/linux/main.cc', | |
117 'examples/peerconnection/client/linux/main_wnd.cc', | |
118 'examples/peerconnection/client/linux/main_wnd.h', | |
119 ], | |
120 'cflags': [ | |
121 '<!@(pkg-config --cflags glib-2.0 gobject-2.0 gtk+-2.0)', | |
122 ], | |
123 'link_settings': { | |
124 'ldflags': [ | |
125 '<!@(pkg-config --libs-only-L --libs-only-other glib-2.0' | |
126 ' gobject-2.0 gthread-2.0 gtk+-2.0)', | |
127 ], | |
128 'libraries': [ | |
129 '<!@(pkg-config --libs-only-l glib-2.0 gobject-2.0' | |
130 ' gthread-2.0 gtk+-2.0)', | |
131 '-lX11', | |
132 '-lXcomposite', | |
133 '-lXext', | |
134 '-lXrender', | |
135 ], | |
136 }, | |
137 }], # OS=="linux" | |
138 ['OS=="linux" and target_arch=="ia32"', { | |
139 'cflags': [ | |
140 '-Wno-sentinel', | |
141 ], | |
142 }], # OS=="linux" and target_arch=="ia32" | |
143 ], # conditions | |
144 }, # target peerconnection_client | |
145 ], # targets | |
146 }], # OS=="linux" or OS=="win" | |
147 | |
148 ['OS=="ios" or (OS=="mac" and target_arch!="ia32")', { | |
149 'targets': [ | |
150 { | |
151 'target_name': 'apprtc_common', | |
152 'type': 'static_library', | |
153 'dependencies': [ | |
154 '<(webrtc_root)/sdk/sdk.gyp:rtc_sdk_common_objc', | |
155 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:field_trial_defa
ult', | |
156 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:metrics_default'
, | |
157 ], | |
158 'sources': [ | |
159 'examples/objc/AppRTCMobile/common/ARDUtilities.h', | |
160 'examples/objc/AppRTCMobile/common/ARDUtilities.m', | |
161 ], | |
162 'include_dirs': [ | |
163 'examples/objc/AppRTCMobile/common', | |
164 ], | |
165 'direct_dependent_settings': { | |
166 'include_dirs': [ | |
167 'examples/objc/AppRTCMobile/common', | |
168 ], | |
169 }, | |
170 'conditions': [ | |
171 ['OS=="ios"', { | |
172 'xcode_settings': { | |
173 'WARNING_CFLAGS': [ | |
174 # Suppress compiler warnings about deprecated that triggered | |
175 # when moving from ios_deployment_target 7.0 to 9.0. | |
176 # See webrtc:5549 for more details. | |
177 '-Wno-deprecated-declarations', | |
178 ], | |
179 }, | |
180 }], | |
181 ['OS=="mac"', { | |
182 'xcode_settings': { | |
183 'MACOSX_DEPLOYMENT_TARGET' : '10.8', | |
184 }, | |
185 }], | |
186 ], | |
187 'xcode_settings': { | |
188 'CLANG_ENABLE_OBJC_ARC': 'YES', | |
189 }, | |
190 'link_settings': { | |
191 'xcode_settings': { | |
192 'OTHER_LDFLAGS': [ | |
193 '-framework QuartzCore', | |
194 ], | |
195 }, | |
196 }, | |
197 }, | |
198 { | |
199 'target_name': 'apprtc_signaling', | |
200 'type': 'static_library', | |
201 'dependencies': [ | |
202 '<(webrtc_root)/sdk/sdk.gyp:rtc_sdk_peerconnection_objc', | |
203 'apprtc_common', | |
204 'socketrocket', | |
205 ], | |
206 'sources': [ | |
207 'examples/objc/AppRTCMobile/ARDAppClient.h', | |
208 'examples/objc/AppRTCMobile/ARDAppClient.m', | |
209 'examples/objc/AppRTCMobile/ARDAppClient+Internal.h', | |
210 'examples/objc/AppRTCMobile/ARDAppEngineClient.h', | |
211 'examples/objc/AppRTCMobile/ARDAppEngineClient.m', | |
212 'examples/objc/AppRTCMobile/ARDBitrateTracker.h', | |
213 'examples/objc/AppRTCMobile/ARDBitrateTracker.m', | |
214 'examples/objc/AppRTCMobile/ARDCEODTURNClient.h', | |
215 'examples/objc/AppRTCMobile/ARDCEODTURNClient.m', | |
216 'examples/objc/AppRTCMobile/ARDJoinResponse.h', | |
217 'examples/objc/AppRTCMobile/ARDJoinResponse.m', | |
218 'examples/objc/AppRTCMobile/ARDJoinResponse+Internal.h', | |
219 'examples/objc/AppRTCMobile/ARDMessageResponse.h', | |
220 'examples/objc/AppRTCMobile/ARDMessageResponse.m', | |
221 'examples/objc/AppRTCMobile/ARDMessageResponse+Internal.h', | |
222 'examples/objc/AppRTCMobile/ARDRoomServerClient.h', | |
223 'examples/objc/AppRTCMobile/ARDSDPUtils.h', | |
224 'examples/objc/AppRTCMobile/ARDSDPUtils.m', | |
225 'examples/objc/AppRTCMobile/ARDSignalingChannel.h', | |
226 'examples/objc/AppRTCMobile/ARDSignalingMessage.h', | |
227 'examples/objc/AppRTCMobile/ARDSignalingMessage.m', | |
228 'examples/objc/AppRTCMobile/ARDStatsBuilder.h', | |
229 'examples/objc/AppRTCMobile/ARDStatsBuilder.m', | |
230 'examples/objc/AppRTCMobile/ARDTURNClient.h', | |
231 'examples/objc/AppRTCMobile/ARDWebSocketChannel.h', | |
232 'examples/objc/AppRTCMobile/ARDWebSocketChannel.m', | |
233 'examples/objc/AppRTCMobile/RTCIceCandidate+JSON.h', | |
234 'examples/objc/AppRTCMobile/RTCIceCandidate+JSON.m', | |
235 'examples/objc/AppRTCMobile/RTCIceServer+JSON.h', | |
236 'examples/objc/AppRTCMobile/RTCIceServer+JSON.m', | |
237 'examples/objc/AppRTCMobile/RTCMediaConstraints+JSON.h', | |
238 'examples/objc/AppRTCMobile/RTCMediaConstraints+JSON.m', | |
239 'examples/objc/AppRTCMobile/RTCSessionDescription+JSON.h', | |
240 'examples/objc/AppRTCMobile/RTCSessionDescription+JSON.m', | |
241 ], | |
242 'include_dirs': [ | |
243 'examples/objc/AppRTCMobile', | |
244 ], | |
245 'direct_dependent_settings': { | |
246 'include_dirs': [ | |
247 'examples/objc/AppRTCMobile', | |
248 ], | |
249 }, | |
250 'export_dependent_settings': [ | |
251 '<(webrtc_root)/sdk/sdk.gyp:rtc_sdk_peerconnection_objc', | |
252 ], | |
253 'conditions': [ | |
254 ['OS=="ios"', { | |
255 'xcode_settings': { | |
256 'WARNING_CFLAGS': [ | |
257 # Suppress compiler warnings about deprecated that triggered | |
258 # when moving from ios_deployment_target 7.0 to 9.0. | |
259 # See webrtc:5549 for more details. | |
260 '-Wno-deprecated-declarations', | |
261 ], | |
262 }, | |
263 }], | |
264 ['OS=="mac"', { | |
265 'xcode_settings': { | |
266 'MACOSX_DEPLOYMENT_TARGET' : '10.8', | |
267 }, | |
268 }], | |
269 ], | |
270 'xcode_settings': { | |
271 'CLANG_ENABLE_OBJC_ARC': 'YES', | |
272 }, | |
273 }, | |
274 { | |
275 'target_name': 'AppRTCMobile', | |
276 'type': 'executable', | |
277 'product_name': 'AppRTCMobile', | |
278 'mac_bundle': 1, | |
279 'dependencies': [ | |
280 'apprtc_common', | |
281 'apprtc_signaling', | |
282 ], | |
283 'conditions': [ | |
284 ['OS=="ios"', { | |
285 'mac_bundle_resources': [ | |
286 'examples/objc/AppRTCMobile/ios/resources/Roboto-Regular.ttf', | |
287 'examples/objc/AppRTCMobile/ios/resources/iPhone5@2x.png', | |
288 'examples/objc/AppRTCMobile/ios/resources/iPhone6@2x.png', | |
289 'examples/objc/AppRTCMobile/ios/resources/iPhone6p@3x.png', | |
290 'examples/objc/AppRTCMobile/ios/resources/ic_call_end_black_24dp
.png', | |
291 'examples/objc/AppRTCMobile/ios/resources/ic_call_end_black_24dp
@2x.png', | |
292 'examples/objc/AppRTCMobile/ios/resources/ic_clear_black_24dp.pn
g', | |
293 'examples/objc/AppRTCMobile/ios/resources/ic_clear_black_24dp@2x
.png', | |
294 'examples/objc/AppRTCMobile/ios/resources/ic_surround_sound_blac
k_24dp.png', | |
295 'examples/objc/AppRTCMobile/ios/resources/ic_surround_sound_blac
k_24dp@2x.png', | |
296 'examples/objc/AppRTCMobile/ios/resources/ic_switch_video_black_
24dp.png', | |
297 'examples/objc/AppRTCMobile/ios/resources/ic_switch_video_black_
24dp@2x.png', | |
298 'examples/objc/AppRTCMobile/ios/resources/mozart.mp3', | |
299 'examples/objc/Icon.png', | |
300 ], | |
301 'sources': [ | |
302 'examples/objc/AppRTCMobile/ios/ARDAppDelegate.h', | |
303 'examples/objc/AppRTCMobile/ios/ARDAppDelegate.m', | |
304 'examples/objc/AppRTCMobile/ios/ARDMainView.h', | |
305 'examples/objc/AppRTCMobile/ios/ARDMainView.m', | |
306 'examples/objc/AppRTCMobile/ios/ARDMainViewController.h', | |
307 'examples/objc/AppRTCMobile/ios/ARDMainViewController.m', | |
308 'examples/objc/AppRTCMobile/ios/ARDStatsView.h', | |
309 'examples/objc/AppRTCMobile/ios/ARDStatsView.m', | |
310 'examples/objc/AppRTCMobile/ios/ARDVideoCallView.h', | |
311 'examples/objc/AppRTCMobile/ios/ARDVideoCallView.m', | |
312 'examples/objc/AppRTCMobile/ios/ARDVideoCallViewController.h', | |
313 'examples/objc/AppRTCMobile/ios/ARDVideoCallViewController.m', | |
314 'examples/objc/AppRTCMobile/ios/AppRTCMobile-Prefix.pch', | |
315 'examples/objc/AppRTCMobile/ios/UIImage+ARDUtilities.h', | |
316 'examples/objc/AppRTCMobile/ios/UIImage+ARDUtilities.m', | |
317 'examples/objc/AppRTCMobile/ios/main.m', | |
318 ], | |
319 'xcode_settings': { | |
320 'INFOPLIST_FILE': 'examples/objc/AppRTCMobile/ios/Info.plist', | |
321 'WARNING_CFLAGS': [ | |
322 # Suppress compiler warnings about deprecated that triggered | |
323 # when moving from ios_deployment_target 7.0 to 9.0. | |
324 # See webrtc:5549 for more details. | |
325 '-Wno-deprecated-declarations', | |
326 ], | |
327 }, | |
328 }], | |
329 ['OS=="mac"', { | |
330 'sources': [ | |
331 'examples/objc/AppRTCMobile/mac/APPRTCAppDelegate.h', | |
332 'examples/objc/AppRTCMobile/mac/APPRTCAppDelegate.m', | |
333 'examples/objc/AppRTCMobile/mac/APPRTCViewController.h', | |
334 'examples/objc/AppRTCMobile/mac/APPRTCViewController.m', | |
335 'examples/objc/AppRTCMobile/mac/main.m', | |
336 ], | |
337 'xcode_settings': { | |
338 'CLANG_WARN_OBJC_MISSING_PROPERTY_SYNTHESIS': 'NO', | |
339 'INFOPLIST_FILE': 'examples/objc/AppRTCMobile/mac/Info.plist', | |
340 'MACOSX_DEPLOYMENT_TARGET' : '10.8', | |
341 'OTHER_LDFLAGS': [ | |
342 '-framework AVFoundation', | |
343 ], | |
344 }, | |
345 }], | |
346 ['target_arch=="ia32"', { | |
347 'dependencies' : [ | |
348 '<(DEPTH)/testing/iossim/iossim.gyp:iossim#host', | |
349 ], | |
350 }], | |
351 ], | |
352 'xcode_settings': { | |
353 'CLANG_ENABLE_OBJC_ARC': 'YES', | |
354 }, | |
355 }, # target AppRTCMobile | |
356 { | |
357 # TODO(tkchin): move this into the real third party location and | |
358 # have it mirrored on chrome infra. | |
359 'target_name': 'socketrocket', | |
360 'type': 'static_library', | |
361 'sources': [ | |
362 'examples/objc/AppRTCMobile/third_party/SocketRocket/SRWebSocket.h', | |
363 'examples/objc/AppRTCMobile/third_party/SocketRocket/SRWebSocket.m', | |
364 ], | |
365 'conditions': [ | |
366 ['OS=="mac"', { | |
367 'xcode_settings': { | |
368 # SocketRocket autosynthesizes some properties. Disable the | |
369 # warning so we can compile successfully. | |
370 'CLANG_WARN_OBJC_MISSING_PROPERTY_SYNTHESIS': 'NO', | |
371 'MACOSX_DEPLOYMENT_TARGET' : '10.8', | |
372 # SRWebSocket.m uses code with partial availability. | |
373 # https://code.google.com/p/webrtc/issues/detail?id=4695 | |
374 'WARNING_CFLAGS!': [ | |
375 '-Wpartial-availability', | |
376 ], | |
377 }, | |
378 }], | |
379 ], | |
380 'direct_dependent_settings': { | |
381 'include_dirs': [ | |
382 'examples/objc/AppRTCMobile/third_party/SocketRocket', | |
383 ], | |
384 }, | |
385 'xcode_settings': { | |
386 'CLANG_ENABLE_OBJC_ARC': 'YES', | |
387 'WARNING_CFLAGS': [ | |
388 '-Wno-deprecated-declarations', | |
389 '-Wno-nonnull', | |
390 # Hide the warning for SecRandomCopyBytes(), till we update | |
391 # to upstream. | |
392 # https://bugs.chromium.org/p/webrtc/issues/detail?id=6396 | |
393 '-Wno-unused-result', | |
394 ], | |
395 }, | |
396 'link_settings': { | |
397 'xcode_settings': { | |
398 'OTHER_LDFLAGS': [ | |
399 '-framework CFNetwork', | |
400 '-licucore', | |
401 ], | |
402 }, | |
403 } | |
404 }, # target socketrocket | |
405 ], # targets | |
406 }], # OS=="ios" or (OS=="mac" and target_arch!="ia32") | |
407 | |
408 ['OS=="android"', { | |
409 'targets': [ | |
410 { | |
411 'target_name': 'AppRTCMobile', | |
412 'type': 'none', | |
413 'dependencies': [ | |
414 'api/api_java.gyp:libjingle_peerconnection_java', | |
415 ], | |
416 'variables': { | |
417 'apk_name': 'AppRTCMobile', | |
418 'java_in_dir': 'examples/androidapp', | |
419 'has_java_resources': 1, | |
420 'resource_dir': 'examples/androidapp/res', | |
421 'R_package': 'org.appspot.apprtc', | |
422 'R_package_relpath': 'org/appspot/apprtc', | |
423 'input_jars_paths': [ | |
424 'examples/androidapp/third_party/autobanh/lib/autobanh.jar', | |
425 ], | |
426 'library_dexed_jars_paths': [ | |
427 'examples/androidapp/third_party/autobanh/lib/autobanh.jar', | |
428 ], | |
429 'native_lib_target': 'libjingle_peerconnection_so', | |
430 'add_to_dependents_classpaths':1, | |
431 }, | |
432 'includes': [ '../build/java_apk.gypi' ], | |
433 }, # target AppRTCMobile | |
434 | |
435 { | |
436 # AppRTCMobile creates a .jar as a side effect. Any java targets | |
437 # that need that .jar in their classpath should depend on this target, | |
438 # AppRTCMobile_apk. Dependents of AppRTCMobile_apk receive its | |
439 # jar path in the variable 'apk_output_jar_path'. | |
440 # This target should only be used by targets which instrument | |
441 # AppRTCMobile_apk. | |
442 'target_name': 'AppRTCMobile_apk', | |
443 'type': 'none', | |
444 'dependencies': [ | |
445 'AppRTCMobile', | |
446 ], | |
447 'includes': [ '../build/apk_fake_jar.gypi' ], | |
448 }, # target AppRTCMobile_apk | |
449 | |
450 { | |
451 'target_name': 'AppRTCMobileTest', | |
452 'type': 'none', | |
453 'dependencies': [ | |
454 'AppRTCMobile_apk', | |
455 ], | |
456 'variables': { | |
457 'apk_name': 'AppRTCMobileTest', | |
458 'java_in_dir': 'examples/androidtests', | |
459 'is_test_apk': 1, | |
460 'test_type': 'instrumentation', | |
461 'test_runner_path': '<(DEPTH)/webrtc/build/android/test_runner.py', | |
462 }, | |
463 'includes': [ | |
464 '../build/java_apk.gypi', | |
465 '../build/android/test_runner.gypi', | |
466 ], | |
467 }, | |
468 { | |
469 'target_name': 'stun_prober', | |
470 'type': 'executable', | |
471 'dependencies': [ | |
472 'p2p:libstunprober', | |
473 'p2p:rtc_p2p' | |
474 ], | |
475 'sources': [ | |
476 'examples/stunprober/main.cc', | |
477 ], | |
478 }, | |
479 ], # targets | |
480 }], # OS=="android" | |
481 ], | |
482 } | |
OLD | NEW |