OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 { | 5 { |
6 'includes': [ | 6 'includes': [ |
7 '../../build/win_precompile.gypi', | 7 '../../build/win_precompile.gypi', |
8 ], | 8 ], |
9 'variables': { | 9 'variables': { |
10 'enabled_libjingle_device_manager%': 0, | 10 'enabled_libjingle_device_manager%': 0, |
11 'libjingle_additional_deps%': [], | 11 'libjingle_additional_deps%': [], |
12 'libjingle_peerconnection_additional_deps%': [], | 12 'libjingle_peerconnection_additional_deps%': [], |
13 'libjingle_source%': "source", | 13 'libjingle_source%': "source", |
| 14 'libpeer_target_type%': 'static_library', |
14 'webrtc_p2p': "../webrtc/p2p", | 15 'webrtc_p2p': "../webrtc/p2p", |
15 'webrtc_xmpp': "../webrtc/libjingle/xmpp", | 16 'webrtc_xmpp': "../webrtc/libjingle/xmpp", |
16 }, | 17 }, |
17 # Most of these settings have been split according to their scope into | 18 # Most of these settings have been split according to their scope into |
18 # :jingle_unexported_configs, :jingle_direct_dependent_configs, | 19 # :jingle_unexported_configs, :jingle_direct_dependent_configs, |
19 # :jingle_all_dependent_configs in the GN build. | 20 # :jingle_all_dependent_configs in the GN build. |
20 'target_defaults': { | 21 'target_defaults': { |
21 'defines': [ | 22 'defines': [ |
22 'ENABLE_EXTERNAL_AUTH', | |
23 'EXPAT_RELATIVE_PATH', | 23 'EXPAT_RELATIVE_PATH', |
24 'FEATURE_ENABLE_SSL', | 24 'FEATURE_ENABLE_SSL', |
25 'GTEST_RELATIVE_PATH', | 25 'GTEST_RELATIVE_PATH', |
26 'HAVE_SRTP', | 26 'HAVE_SRTP', |
27 'HAVE_WEBRTC_VIDEO', | 27 'HAVE_WEBRTC_VIDEO', |
28 'HAVE_WEBRTC_VOICE', | 28 'HAVE_WEBRTC_VOICE', |
29 'LIBPEERCONNECTION_LIB=1', | |
30 'LOGGING_INSIDE_WEBRTC', | 29 'LOGGING_INSIDE_WEBRTC', |
31 'NO_MAIN_THREAD_WRAPPING', | 30 'NO_MAIN_THREAD_WRAPPING', |
32 'NO_SOUND_SYSTEM', | 31 'NO_SOUND_SYSTEM', |
33 'SRTP_RELATIVE_PATH', | 32 'SRTP_RELATIVE_PATH', |
34 'USE_WEBRTC_DEV_BRANCH', | 33 'USE_WEBRTC_DEV_BRANCH', |
| 34 'ENABLE_EXTERNAL_AUTH', |
35 'WEBRTC_CHROMIUM_BUILD', | 35 'WEBRTC_CHROMIUM_BUILD', |
36 ], | 36 ], |
37 'configurations': { | 37 'configurations': { |
38 'Debug': { | 38 'Debug': { |
39 'defines': [ | 39 'defines': [ |
40 # TODO(sergeyu): Fix libjingle to use NDEBUG instead of | 40 # TODO(sergeyu): Fix libjingle to use NDEBUG instead of |
41 # _DEBUG and remove this define. See below as well. | 41 # _DEBUG and remove this define. See below as well. |
42 '_DEBUG', | 42 '_DEBUG', |
43 ], | 43 ], |
44 } | 44 } |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
167 } | 167 } |
168 }, | 168 }, |
169 }, | 169 }, |
170 'variables': { | 170 'variables': { |
171 'clang_warning_flags_unset': [ | 171 'clang_warning_flags_unset': [ |
172 # Don't warn about string->bool used in asserts. | 172 # Don't warn about string->bool used in asserts. |
173 '-Wstring-conversion', | 173 '-Wstring-conversion', |
174 ], | 174 ], |
175 }, | 175 }, |
176 'conditions': [ | 176 'conditions': [ |
| 177 ['"<(libpeer_target_type)"=="static_library"', { |
| 178 'defines': [ 'LIBPEERCONNECTION_LIB=1' ], |
| 179 }], |
177 ['use_openssl==1', { | 180 ['use_openssl==1', { |
178 'defines': [ | 181 'defines': [ |
179 'SSL_USE_OPENSSL', | 182 'SSL_USE_OPENSSL', |
180 'HAVE_OPENSSL_SSL_H', | 183 'HAVE_OPENSSL_SSL_H', |
181 ], | 184 ], |
182 'dependencies': [ | 185 'dependencies': [ |
183 '../../third_party/boringssl/boringssl.gyp:boringssl', | 186 '../../third_party/boringssl/boringssl.gyp:boringssl', |
184 ], | 187 ], |
185 }, { | 188 }, { |
186 'defines': [ | 189 'defines': [ |
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
321 }, # target peerconnection_server | 324 }, # target peerconnection_server |
322 ], | 325 ], |
323 'conditions': [ | 326 'conditions': [ |
324 ['enable_webrtc==1', { | 327 ['enable_webrtc==1', { |
325 'targets': [ | 328 'targets': [ |
326 { | 329 { |
327 # GN version: //third_party/libjingle:libjingle_webrtc_common | 330 # GN version: //third_party/libjingle:libjingle_webrtc_common |
328 'target_name': 'libjingle_webrtc_common', | 331 'target_name': 'libjingle_webrtc_common', |
329 'type': 'static_library', | 332 'type': 'static_library', |
330 'all_dependent_settings': { | 333 'all_dependent_settings': { |
331 'defines': [ 'LIBPEERCONNECTION_LIB=1' ], | 334 'conditions': [ |
| 335 ['"<(libpeer_target_type)"=="static_library"', { |
| 336 'defines': [ 'LIBPEERCONNECTION_LIB=1' ], |
| 337 }], |
| 338 ], |
332 }, | 339 }, |
333 'sources': [ | 340 'sources': [ |
334 'overrides/talk/media/webrtc/webrtcexport.h', | 341 'overrides/talk/media/webrtc/webrtcexport.h', |
335 | 342 |
336 '<(libjingle_source)/talk/app/webrtc/audiotrack.cc', | 343 '<(libjingle_source)/talk/app/webrtc/audiotrack.cc', |
337 '<(libjingle_source)/talk/app/webrtc/audiotrack.h', | 344 '<(libjingle_source)/talk/app/webrtc/audiotrack.h', |
338 '<(libjingle_source)/talk/app/webrtc/audiotrackrenderer.cc', | 345 '<(libjingle_source)/talk/app/webrtc/audiotrackrenderer.cc', |
339 '<(libjingle_source)/talk/app/webrtc/audiotrackrenderer.h', | 346 '<(libjingle_source)/talk/app/webrtc/audiotrackrenderer.h', |
340 '<(libjingle_source)/talk/app/webrtc/datachannel.cc', | 347 '<(libjingle_source)/talk/app/webrtc/datachannel.cc', |
341 '<(libjingle_source)/talk/app/webrtc/datachannel.h', | 348 '<(libjingle_source)/talk/app/webrtc/datachannel.h', |
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
545 }, # target libjingle_webrtc_common | 552 }, # target libjingle_webrtc_common |
546 { | 553 { |
547 # GN version: //third_party/libjingle:libjingle_webrtc | 554 # GN version: //third_party/libjingle:libjingle_webrtc |
548 'target_name': 'libjingle_webrtc', | 555 'target_name': 'libjingle_webrtc', |
549 'type': 'static_library', | 556 'type': 'static_library', |
550 'sources': [ | 557 'sources': [ |
551 'overrides/init_webrtc.cc', | 558 'overrides/init_webrtc.cc', |
552 'overrides/init_webrtc.h', | 559 'overrides/init_webrtc.h', |
553 ], | 560 ], |
554 'dependencies': [ | 561 'dependencies': [ |
555 '<(DEPTH)/third_party/webrtc/modules/modules.gyp:audio_processing', | |
556 'libjingle_webrtc_common', | 562 'libjingle_webrtc_common', |
557 ], | 563 ], |
| 564 'conditions': [ |
| 565 ['libpeer_target_type=="static_library"', { |
| 566 'dependencies': [ |
| 567 '<(DEPTH)/third_party/webrtc/modules/modules.gyp:audio_processin
g', |
| 568 ], |
| 569 }], |
| 570 ], |
558 }, | 571 }, |
559 { | 572 { |
560 # GN version: //third_party/libjingle:libpeerconnection | 573 # GN version: //third_party/libjingle:libpeerconnection |
561 'target_name': 'libpeerconnection', | 574 'target_name': 'libpeerconnection', |
562 'type': 'static_library', | 575 'type': '<(libpeer_target_type)', |
563 'sources': [ | 576 'sources': [ |
564 # Note: sources list duplicated in GN build. | 577 # Note: sources list duplicated in GN build. |
565 '<(libjingle_source)/talk/media/webrtc/simulcast.cc', | 578 '<(libjingle_source)/talk/media/webrtc/simulcast.cc', |
566 '<(libjingle_source)/talk/media/webrtc/simulcast.h', | 579 '<(libjingle_source)/talk/media/webrtc/simulcast.h', |
567 '<(libjingle_source)/talk/media/webrtc/webrtcmediaengine.cc', | 580 '<(libjingle_source)/talk/media/webrtc/webrtcmediaengine.cc', |
568 '<(libjingle_source)/talk/media/webrtc/webrtcmediaengine.h', | 581 '<(libjingle_source)/talk/media/webrtc/webrtcmediaengine.h', |
569 '<(libjingle_source)/talk/media/webrtc/webrtcvideoengine.cc', | 582 '<(libjingle_source)/talk/media/webrtc/webrtcvideoengine.cc', |
570 '<(libjingle_source)/talk/media/webrtc/webrtcvideoengine.h', | 583 '<(libjingle_source)/talk/media/webrtc/webrtcvideoengine.h', |
571 '<(libjingle_source)/talk/media/webrtc/webrtcvideoengine2.cc', | 584 '<(libjingle_source)/talk/media/webrtc/webrtcvideoengine2.cc', |
572 '<(libjingle_source)/talk/media/webrtc/webrtcvideoengine2.h', | 585 '<(libjingle_source)/talk/media/webrtc/webrtcvideoengine2.h', |
573 '<(libjingle_source)/talk/media/webrtc/webrtcvoiceengine.cc', | 586 '<(libjingle_source)/talk/media/webrtc/webrtcvoiceengine.cc', |
574 '<(libjingle_source)/talk/media/webrtc/webrtcvoiceengine.h', | 587 '<(libjingle_source)/talk/media/webrtc/webrtcvoiceengine.h', |
575 ], | 588 ], |
576 'dependencies': [ | 589 'dependencies': [ |
577 '<(DEPTH)/third_party/webrtc/voice_engine/voice_engine.gyp:voice_eng
ine', | 590 '<(DEPTH)/third_party/webrtc/voice_engine/voice_engine.gyp:voice_eng
ine', |
578 '<(DEPTH)/third_party/webrtc/webrtc.gyp:webrtc', | 591 '<(DEPTH)/third_party/webrtc/webrtc.gyp:webrtc', |
579 '<@(libjingle_peerconnection_additional_deps)', | 592 '<@(libjingle_peerconnection_additional_deps)', |
580 'libjingle_webrtc_common', | 593 'libjingle_webrtc_common', |
581 ], | 594 ], |
582 'conditions': [ | 595 'conditions': [ |
583 ['OS=="android"', { | 596 ['libpeer_target_type!="static_library"', { |
| 597 'sources': [ |
| 598 'overrides/initialize_module.cc', |
| 599 ], |
| 600 'conditions': [ |
| 601 ['OS!="mac" and OS!="android"', { |
| 602 'sources': [ |
| 603 'overrides/allocator_shim/allocator_proxy.cc', |
| 604 ], |
| 605 }], |
| 606 ], |
| 607 }], |
| 608 ['"<(libpeer_target_type)"!="static_library"', { |
| 609 # Used to control symbol export/import. |
| 610 'defines': [ 'LIBPEERCONNECTION_IMPLEMENTATION=1' ], |
| 611 }], |
| 612 ['OS=="win" and "<(libpeer_target_type)"!="static_library"', { |
| 613 'link_settings': { |
| 614 'libraries': [ |
| 615 '-lsecur32.lib', |
| 616 '-lcrypt32.lib', |
| 617 '-liphlpapi.lib', |
| 618 ], |
| 619 }, |
| 620 }], |
| 621 ['OS!="win" and "<(libpeer_target_type)"!="static_library"', { |
| 622 'cflags': [ |
| 623 # For compatibility with how we export symbols from this |
| 624 # target on Windows. This also prevents the linker from |
| 625 # picking up symbols from this target that should be linked |
| 626 # in from other libjingle libs. |
| 627 '-fvisibility=hidden', |
| 628 ], |
| 629 }], |
| 630 ['OS=="mac" and libpeer_target_type!="static_library"', { |
| 631 'product_name': 'libpeerconnection', |
| 632 }], |
| 633 ['OS=="android" and "<(libpeer_target_type)"=="static_library"', { |
584 'standalone_static_library': 1, | 634 'standalone_static_library': 1, |
585 }], | 635 }], |
| 636 ['OS=="linux" and libpeer_target_type!="static_library"', { |
| 637 # The installer and various tools depend on finding the .so |
| 638 # in this directory and not lib.target as will otherwise be |
| 639 # the case with make builds. |
| 640 'product_dir': '<(PRODUCT_DIR)/lib', |
| 641 }], |
586 ], | 642 ], |
587 }, # target libpeerconnection | 643 }, # target libpeerconnection |
588 ], | 644 ], |
589 }], | 645 }], |
590 ], | 646 ], |
591 } | 647 } |
OLD | NEW |