OLD | NEW |
| (Empty) |
1 # Copyright (c) 2014 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': [ '../build/common.gypi', ], | |
11 'conditions': [ | |
12 ['os_posix==1 and OS!="mac" and OS!="ios"', { | |
13 'conditions': [ | |
14 ['sysroot!=""', { | |
15 'variables': { | |
16 'pkg-config': '../../../build/linux/pkg-config-wrapper "<(sysroot)"
"<(target_arch)"', | |
17 }, | |
18 }, { | |
19 'variables': { | |
20 'pkg-config': 'pkg-config' | |
21 }, | |
22 }], | |
23 ], | |
24 }], | |
25 ], | |
26 'targets': [ | |
27 { | |
28 # The subset of rtc_base approved for use outside of libjingle. | |
29 'target_name': 'rtc_base_approved', | |
30 'type': 'static_library', | |
31 'sources': [ | |
32 'arraysize.h', | |
33 'array_view.h', | |
34 'atomicops.h', | |
35 'bind.h', | |
36 'bitbuffer.cc', | |
37 'bitbuffer.h', | |
38 'buffer.h', | |
39 'bufferqueue.cc', | |
40 'bufferqueue.h', | |
41 'bytebuffer.cc', | |
42 'bytebuffer.h', | |
43 'byteorder.h', | |
44 'checks.cc', | |
45 'checks.h', | |
46 'constructormagic.h', | |
47 'copyonwritebuffer.cc', | |
48 'copyonwritebuffer.h', | |
49 'criticalsection.cc', | |
50 'criticalsection.h', | |
51 'deprecation.h', | |
52 'event.cc', | |
53 'event.h', | |
54 'event_tracer.cc', | |
55 'event_tracer.h', | |
56 'exp_filter.cc', | |
57 'exp_filter.h', | |
58 'file.cc', | |
59 'file.h', | |
60 'format_macros.h', | |
61 'function_view.h', | |
62 'ignore_wundef.h', | |
63 'location.h', | |
64 'location.cc', | |
65 'md5.cc', | |
66 'md5.h', | |
67 'md5digest.cc', | |
68 'md5digest.h', | |
69 'mod_ops.h', | |
70 'onetimeevent.h', | |
71 'optional.cc', | |
72 'optional.h', | |
73 'platform_file.cc', | |
74 'platform_file.h', | |
75 'platform_thread.cc', | |
76 'platform_thread.h', | |
77 'platform_thread_types.h', | |
78 'race_checker.cc', | |
79 'race_checker.h', | |
80 'random.cc', | |
81 'random.h', | |
82 'rate_statistics.cc', | |
83 'rate_statistics.h', | |
84 'rate_limiter.cc', | |
85 'rate_limiter.h', | |
86 'ratetracker.cc', | |
87 'ratetracker.h', | |
88 'refcount.h', | |
89 'safe_conversions.h', | |
90 'safe_conversions_impl.h', | |
91 'sanitizer.h', | |
92 'scoped_ref_ptr.h', | |
93 'stringencode.cc', | |
94 'stringencode.h', | |
95 'stringutils.cc', | |
96 'stringutils.h', | |
97 'swap_queue.h', | |
98 'systeminfo.cc', | |
99 'systeminfo.h', | |
100 'template_util.h', | |
101 'thread_annotations.h', | |
102 'thread_checker.h', | |
103 'thread_checker_impl.cc', | |
104 'thread_checker_impl.h', | |
105 'timestampaligner.cc', | |
106 'timestampaligner.h', | |
107 'timeutils.cc', | |
108 'timeutils.h', | |
109 'trace_event.h', | |
110 'type_traits.h', | |
111 ], | |
112 'conditions': [ | |
113 ['os_posix==1', { | |
114 'sources': [ | |
115 'file_posix.cc', | |
116 ], | |
117 }], | |
118 ['OS=="win"', { | |
119 'sources': [ | |
120 'file_win.cc', | |
121 ], | |
122 }], | |
123 ['build_with_chromium==1', { | |
124 'dependencies': [ | |
125 '<(DEPTH)/base/base.gyp:base', | |
126 ], | |
127 'include_dirs': [ | |
128 '../../webrtc_overrides', | |
129 ], | |
130 'sources': [ | |
131 '../../webrtc_overrides/webrtc/base/logging.cc', | |
132 '../../webrtc_overrides/webrtc/base/logging.h', | |
133 ], | |
134 }, { | |
135 'sources': [ | |
136 'logging.cc', | |
137 'logging.h', | |
138 'logging_mac.mm', | |
139 ], | |
140 }], | |
141 ['OS=="mac" and build_with_chromium==0', { | |
142 'all_dependent_settings': { | |
143 'xcode_settings': { | |
144 'OTHER_LDFLAGS': [ | |
145 # needed for logging_mac.mm | |
146 '-framework Foundation', | |
147 ], | |
148 }, | |
149 }, | |
150 }], # OS=="mac" and build_with_chromium==0 | |
151 ['OS=="android"', { | |
152 'link_settings': { | |
153 'libraries': [ | |
154 '-llog', | |
155 ], | |
156 }, | |
157 }], | |
158 ], | |
159 }, | |
160 { | |
161 'target_name': 'rtc_task_queue', | |
162 'type': 'static_library', | |
163 'dependencies': [ | |
164 'rtc_base_approved', | |
165 ], | |
166 'sources': [ | |
167 'sequenced_task_checker.h', | |
168 'sequenced_task_checker_impl.cc', | |
169 'sequenced_task_checker_impl.h', | |
170 'weak_ptr.cc', | |
171 'weak_ptr.h', | |
172 ], | |
173 'conditions': [ | |
174 ['build_with_chromium==1', { | |
175 'include_dirs': [ | |
176 '../../webrtc_overrides' | |
177 ], | |
178 'sources' : [ | |
179 '../../webrtc_overrides/webrtc/base/task_queue.cc', | |
180 '../../webrtc_overrides/webrtc/base/task_queue.h', | |
181 ] | |
182 } , { | |
183 # If not build for chromium, use our own implementation. | |
184 'sources' : [ | |
185 'task_queue.h', | |
186 'task_queue_posix.h', | |
187 ], | |
188 'conditions': [ | |
189 ['build_libevent==1', { | |
190 'dependencies': [ | |
191 '<(DEPTH)/base/third_party/libevent/libevent.gyp:libevent', | |
192 ], | |
193 }], | |
194 ['enable_libevent==1', { | |
195 'sources': [ | |
196 'task_queue_libevent.cc', | |
197 'task_queue_posix.cc', | |
198 ], | |
199 'defines': [ 'WEBRTC_BUILD_LIBEVENT' ], | |
200 'all_dependent_settings': { | |
201 'defines': [ 'WEBRTC_BUILD_LIBEVENT' ] | |
202 }, | |
203 }, { | |
204 # If not libevent, fall back to the other task queues. | |
205 'conditions': [ | |
206 ['OS=="mac" or OS=="ios"', { | |
207 'sources': [ | |
208 'task_queue_gcd.cc', | |
209 'task_queue_posix.cc', | |
210 ], | |
211 }], | |
212 ['OS=="win"', { | |
213 'sources': [ 'task_queue_win.cc' ], | |
214 }] | |
215 ], | |
216 }], | |
217 ] | |
218 }], | |
219 ], | |
220 }, | |
221 { | |
222 'target_name': 'rtc_base', | |
223 'type': 'static_library', | |
224 'dependencies': [ | |
225 '<(webrtc_root)/common.gyp:webrtc_common', | |
226 'rtc_base_approved', | |
227 ], | |
228 'export_dependent_settings': [ | |
229 'rtc_base_approved', | |
230 ], | |
231 'defines': [ | |
232 'FEATURE_ENABLE_SSL', | |
233 'SSL_USE_OPENSSL', | |
234 'HAVE_OPENSSL_SSL_H', | |
235 ], | |
236 'sources': [ | |
237 'applefilesystem.mm', | |
238 'asyncfile.cc', | |
239 'asyncfile.h', | |
240 'asyncinvoker.cc', | |
241 'asyncinvoker.h', | |
242 'asyncinvoker-inl.h', | |
243 'asyncpacketsocket.cc', | |
244 'asyncpacketsocket.h', | |
245 'asyncresolverinterface.cc', | |
246 'asyncresolverinterface.h', | |
247 'asyncsocket.cc', | |
248 'asyncsocket.h', | |
249 'asynctcpsocket.cc', | |
250 'asynctcpsocket.h', | |
251 'asyncudpsocket.cc', | |
252 'asyncudpsocket.h', | |
253 'autodetectproxy.cc', | |
254 'autodetectproxy.h', | |
255 'base64.cc', | |
256 'base64.h', | |
257 'common.cc', | |
258 'common.h', | |
259 'crc32.cc', | |
260 'crc32.h', | |
261 'cryptstring.cc', | |
262 'cryptstring.h', | |
263 'diskcache.cc', | |
264 'diskcache.h', | |
265 'filerotatingstream.cc', | |
266 'filerotatingstream.h', | |
267 'fileutils.cc', | |
268 'fileutils.h', | |
269 'firewallsocketserver.cc', | |
270 'firewallsocketserver.h', | |
271 'flags.cc', | |
272 'flags.h', | |
273 'gunit_prod.h', | |
274 'helpers.cc', | |
275 'helpers.h', | |
276 'httpbase.cc', | |
277 'httpbase.h', | |
278 'httpclient.cc', | |
279 'httpclient.h', | |
280 'httpcommon-inl.h', | |
281 'httpcommon.cc', | |
282 'httpcommon.h', | |
283 'httprequest.cc', | |
284 'httprequest.h', | |
285 'ipaddress.cc', | |
286 'ipaddress.h', | |
287 'linked_ptr.h', | |
288 'messagedigest.cc', | |
289 'messagedigest.h', | |
290 'messagehandler.cc', | |
291 'messagehandler.h', | |
292 'messagequeue.cc', | |
293 'messagequeue.h', | |
294 'nethelpers.cc', | |
295 'nethelpers.h', | |
296 'network.cc', | |
297 'network.h', | |
298 'networkmonitor.cc', | |
299 'networkmonitor.h', | |
300 'nullsocketserver.cc', | |
301 'nullsocketserver.h', | |
302 'openssl.h', | |
303 'openssladapter.cc', | |
304 'openssladapter.h', | |
305 'openssldigest.cc', | |
306 'openssldigest.h', | |
307 'opensslidentity.cc', | |
308 'opensslidentity.h', | |
309 'opensslstreamadapter.cc', | |
310 'opensslstreamadapter.h', | |
311 'pathutils.cc', | |
312 'pathutils.h', | |
313 'physicalsocketserver.cc', | |
314 'physicalsocketserver.h', | |
315 'proxydetect.cc', | |
316 'proxydetect.h', | |
317 'proxyinfo.cc', | |
318 'proxyinfo.h', | |
319 'ratelimiter.cc', | |
320 'ratelimiter.h', | |
321 'rtccertificate.cc', | |
322 'rtccertificate.h', | |
323 'rtccertificategenerator.cc', | |
324 'rtccertificategenerator.h', | |
325 'sha1.cc', | |
326 'sha1.h', | |
327 'sha1digest.cc', | |
328 'sha1digest.h', | |
329 'sharedexclusivelock.cc', | |
330 'sharedexclusivelock.h', | |
331 'signalthread.cc', | |
332 'signalthread.h', | |
333 'sigslot.cc', | |
334 'sigslot.h', | |
335 'sigslotrepeater.h', | |
336 'socket.h', | |
337 'socketadapters.cc', | |
338 'socketadapters.h', | |
339 'socketaddress.cc', | |
340 'socketaddress.h', | |
341 'socketaddresspair.cc', | |
342 'socketaddresspair.h', | |
343 'socketfactory.h', | |
344 'socketpool.cc', | |
345 'socketpool.h', | |
346 'socketserver.h', | |
347 'socketstream.cc', | |
348 'socketstream.h', | |
349 'ssladapter.cc', | |
350 'ssladapter.h', | |
351 'sslfingerprint.cc', | |
352 'sslfingerprint.h', | |
353 'sslidentity.cc', | |
354 'sslidentity.h', | |
355 'sslsocketfactory.cc', | |
356 'sslsocketfactory.h', | |
357 'sslstreamadapter.cc', | |
358 'sslstreamadapter.h', | |
359 'stream.cc', | |
360 'stream.h', | |
361 'task.cc', | |
362 'task.h', | |
363 'taskparent.cc', | |
364 'taskparent.h', | |
365 'taskrunner.cc', | |
366 'taskrunner.h', | |
367 'thread.cc', | |
368 'thread.h', | |
369 'urlencode.cc', | |
370 'urlencode.h', | |
371 ], | |
372 # TODO(henrike): issue 3307, make rtc_base build without disabling | |
373 # these flags. | |
374 'cflags!': [ | |
375 '-Wextra', | |
376 '-Wall', | |
377 ], | |
378 'direct_dependent_settings': { | |
379 'defines': [ | |
380 'FEATURE_ENABLE_SSL', | |
381 'SSL_USE_OPENSSL', | |
382 'HAVE_OPENSSL_SSL_H', | |
383 ], | |
384 }, | |
385 'conditions': [ | |
386 ['build_with_chromium==1', { | |
387 'include_dirs': [ | |
388 '../../webrtc_overrides', | |
389 '../../boringssl/src/include', | |
390 ], | |
391 'conditions': [ | |
392 ['OS=="win"', { | |
393 'sources': [ | |
394 '../../webrtc_overrides/webrtc/base/win32socketinit.cc', | |
395 ], | |
396 }], | |
397 ], | |
398 'defines': [ | |
399 'NO_MAIN_THREAD_WRAPPING', | |
400 ], | |
401 'direct_dependent_settings': { | |
402 'defines': [ | |
403 'NO_MAIN_THREAD_WRAPPING', | |
404 ], | |
405 }, | |
406 }, { | |
407 'sources': [ | |
408 'callback.h', | |
409 'fileutils_mock.h', | |
410 'httpserver.cc', | |
411 'httpserver.h', | |
412 'json.cc', | |
413 'json.h', | |
414 'logsinks.cc', | |
415 'logsinks.h', | |
416 'mathutils.h', | |
417 'natserver.cc', | |
418 'natserver.h', | |
419 'natsocketfactory.cc', | |
420 'natsocketfactory.h', | |
421 'nattypes.cc', | |
422 'nattypes.h', | |
423 'optionsfile.cc', | |
424 'optionsfile.h', | |
425 'proxyserver.cc', | |
426 'proxyserver.h', | |
427 'rollingaccumulator.h', | |
428 'scopedptrcollection.h', | |
429 'sslconfig.h', | |
430 'sslroots.h', | |
431 'testbase64.h', | |
432 'testclient.cc', | |
433 'testclient.h', | |
434 'transformadapter.cc', | |
435 'transformadapter.h', | |
436 'virtualsocketserver.cc', | |
437 'virtualsocketserver.h', | |
438 'window.h', | |
439 'windowpicker.h', | |
440 'windowpickerfactory.h', | |
441 ], | |
442 'conditions': [ | |
443 ['build_json==1', { | |
444 'dependencies': [ | |
445 '<(DEPTH)/third_party/jsoncpp/jsoncpp.gyp:jsoncpp', | |
446 ], | |
447 }, { | |
448 'include_dirs': [ | |
449 '<(json_root)', | |
450 ], | |
451 'defines': [ | |
452 # When defined changes the include path for json.h to where it | |
453 # is expected to be when building json outside of the standalone | |
454 # build. | |
455 'WEBRTC_EXTERNAL_JSON', | |
456 ], | |
457 }], | |
458 ['OS=="linux"', { | |
459 'sources': [ | |
460 'dbus.cc', | |
461 'dbus.h', | |
462 'libdbusglibsymboltable.cc', | |
463 'libdbusglibsymboltable.h', | |
464 'linuxfdwalk.c', | |
465 'linuxfdwalk.h', | |
466 ], | |
467 }], | |
468 ['os_posix==1', { | |
469 'sources': [ | |
470 'latebindingsymboltable.cc', | |
471 'latebindingsymboltable.h', | |
472 ], | |
473 }], | |
474 ['OS=="mac"', { | |
475 'sources': [ | |
476 'macwindowpicker.cc', | |
477 'macwindowpicker.h', | |
478 ], | |
479 }], | |
480 ['OS=="win"', { | |
481 'sources': [ | |
482 'diskcache_win32.cc', | |
483 'diskcache_win32.h', | |
484 'win32regkey.cc', | |
485 'win32regkey.h', | |
486 'win32socketinit.cc', | |
487 'win32socketinit.h', | |
488 'win32socketserver.cc', | |
489 'win32socketserver.h', | |
490 ], | |
491 }], | |
492 ['OS=="win" and clang==1', { | |
493 'msvs_settings': { | |
494 'VCCLCompilerTool': { | |
495 'AdditionalOptions': [ | |
496 # Disable warnings failing when compiling with Clang on Wind
ows. | |
497 # https://bugs.chromium.org/p/webrtc/issues/detail?id=5366 | |
498 '-Wno-sign-compare', | |
499 '-Wno-missing-braces', | |
500 ], | |
501 }, | |
502 }, | |
503 }], | |
504 ], # conditions | |
505 }], # build_with_chromium==0 | |
506 ['OS=="android"', { | |
507 'sources': [ | |
508 'ifaddrs-android.cc', | |
509 'ifaddrs-android.h', | |
510 ], | |
511 'link_settings': { | |
512 'libraries': [ | |
513 '-llog', | |
514 '-lGLESv2', | |
515 ], | |
516 }, | |
517 }], | |
518 ['(OS=="mac" or OS=="ios") and nacl_untrusted_build==0', { | |
519 'sources': [ | |
520 'maccocoathreadhelper.h', | |
521 'maccocoathreadhelper.mm', | |
522 'macconversion.cc', | |
523 'macconversion.h', | |
524 'macifaddrs_converter.cc', | |
525 'scoped_autorelease_pool.h', | |
526 'scoped_autorelease_pool.mm', | |
527 ], | |
528 }], | |
529 ['OS=="ios"', { | |
530 'all_dependent_settings': { | |
531 'xcode_settings': { | |
532 'OTHER_LDFLAGS': [ | |
533 '-framework CFNetwork', | |
534 '-framework Foundation', | |
535 '-framework Security', | |
536 '-framework SystemConfiguration', | |
537 '-framework UIKit', | |
538 ], | |
539 }, | |
540 }, | |
541 }], | |
542 ['use_x11==1', { | |
543 'sources': [ | |
544 'x11windowpicker.cc', | |
545 'x11windowpicker.h', | |
546 ], | |
547 'link_settings': { | |
548 'libraries': [ | |
549 '-ldl', | |
550 '-lrt', | |
551 '-lXext', | |
552 '-lX11', | |
553 '-lXcomposite', | |
554 '-lXrender', | |
555 ], | |
556 }, | |
557 }], | |
558 ['OS=="linux"', { | |
559 'link_settings': { | |
560 'libraries': [ | |
561 '-ldl', | |
562 '-lrt', | |
563 ], | |
564 }, | |
565 }], | |
566 ['OS=="mac"', { | |
567 'sources': [ | |
568 'macutils.cc', | |
569 'macutils.h', | |
570 ], | |
571 'all_dependent_settings': { | |
572 'link_settings': { | |
573 'xcode_settings': { | |
574 'OTHER_LDFLAGS': [ | |
575 '-framework Cocoa', | |
576 '-framework Foundation', | |
577 '-framework IOKit', | |
578 '-framework Security', | |
579 '-framework SystemConfiguration', | |
580 ], | |
581 }, | |
582 }, | |
583 }, | |
584 }], | |
585 ['OS=="win" and nacl_untrusted_build==0', { | |
586 'sources': [ | |
587 'win32.cc', | |
588 'win32.h', | |
589 'win32filesystem.cc', | |
590 'win32filesystem.h', | |
591 'win32securityerrors.cc', | |
592 'win32window.cc', | |
593 'win32window.h', | |
594 'win32windowpicker.cc', | |
595 'win32windowpicker.h', | |
596 'winping.cc', | |
597 'winping.h', | |
598 ], | |
599 'link_settings': { | |
600 'libraries': [ | |
601 '-lcrypt32.lib', | |
602 '-liphlpapi.lib', | |
603 '-lsecur32.lib', | |
604 ], | |
605 }, | |
606 # Suppress warnings about WIN32_LEAN_AND_MEAN. | |
607 'msvs_disabled_warnings': [4005, 4703], | |
608 'defines': [ | |
609 '_CRT_NONSTDC_NO_DEPRECATE', | |
610 ], | |
611 }], | |
612 ['os_posix==1', { | |
613 'sources': [ | |
614 'ifaddrs_converter.cc', | |
615 'ifaddrs_converter.h', | |
616 'unixfilesystem.cc', | |
617 'unixfilesystem.h', | |
618 ], | |
619 'configurations': { | |
620 'Debug_Base': { | |
621 'defines': [ | |
622 # Chromium's build/common.gypi defines this for all posix | |
623 # _except_ for ios & mac. We want it there as well, e.g. | |
624 # because ASSERT and friends trigger off of it. | |
625 '_DEBUG', | |
626 ], | |
627 }, | |
628 } | |
629 }], | |
630 ['OS=="linux" or OS=="android"', { | |
631 'sources': [ | |
632 'linux.cc', | |
633 'linux.h', | |
634 ], | |
635 }], | |
636 ['build_ssl==1', { | |
637 'dependencies': [ | |
638 '<(DEPTH)/third_party/boringssl/boringssl.gyp:boringssl', | |
639 ], | |
640 }, { | |
641 'include_dirs': [ | |
642 '<(ssl_root)', | |
643 ], | |
644 }], | |
645 ], | |
646 }, | |
647 { | |
648 'target_name': 'gtest_prod', | |
649 'type': 'static_library', | |
650 'sources': [ | |
651 'gtest_prod_util.h', | |
652 ], | |
653 }, | |
654 ], | |
655 } | |
OLD | NEW |