| # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| { |
| 'includes': [ |
| '../../build/win_precompile.gypi', |
| ], |
| 'variables': { |
| 'enabled_libjingle_device_manager%': 0, |
| 'libjingle_additional_deps%': [], |
| 'libjingle_peerconnection_additional_deps%': [], |
| 'libjingle_source%': "source", |
| 'libpeer_target_type%': 'static_library', |
| 'webrtc_p2p': "../webrtc/p2p", |
| 'webrtc_xmpp': "../webrtc/libjingle/xmpp", |
| }, |
| # Most of these settings have been split according to their scope into |
| # :jingle_unexported_configs, :jingle_direct_dependent_configs, |
| # :jingle_all_dependent_configs in the GN build. |
| 'target_defaults': { |
| 'defines': [ |
| 'EXPAT_RELATIVE_PATH', |
| 'FEATURE_ENABLE_SSL', |
| 'GTEST_RELATIVE_PATH', |
| 'HAVE_SRTP', |
| 'HAVE_WEBRTC_VIDEO', |
| 'HAVE_WEBRTC_VOICE', |
| 'LOGGING_INSIDE_WEBRTC', |
| 'NO_MAIN_THREAD_WRAPPING', |
| 'NO_SOUND_SYSTEM', |
| 'SRTP_RELATIVE_PATH', |
| 'USE_WEBRTC_DEV_BRANCH', |
| 'ENABLE_EXTERNAL_AUTH', |
| 'WEBRTC_CHROMIUM_BUILD', |
| ], |
| 'configurations': { |
| 'Debug': { |
| 'defines': [ |
| # TODO(sergeyu): Fix libjingle to use NDEBUG instead of |
| # _DEBUG and remove this define. See below as well. |
| '_DEBUG', |
| ], |
| } |
| }, |
| 'include_dirs': [ |
| './overrides', |
| '../../third_party/webrtc/overrides', |
| './<(libjingle_source)', |
| '../..', |
| '../../testing/gtest/include', |
| '../../third_party', |
| '../../third_party/libyuv/include', |
| '../../third_party/usrsctp', |
| ], |
| # These dependencies have been translated into :jingle_deps in the GN build. |
| 'dependencies': [ |
| '<(DEPTH)/base/base.gyp:base', |
| '<(DEPTH)/net/net.gyp:net', |
| '<(DEPTH)/third_party/expat/expat.gyp:expat', |
| ], |
| 'export_dependent_settings': [ |
| '<(DEPTH)/third_party/expat/expat.gyp:expat', |
| ], |
| 'direct_dependent_settings': { |
| 'include_dirs': [ |
| '../../third_party/webrtc/overrides', |
| './overrides', |
| './<(libjingle_source)', |
| '../..', |
| '../../testing/gtest/include', |
| '../../third_party', |
| ], |
| 'defines': [ |
| 'FEATURE_ENABLE_SSL', |
| 'FEATURE_ENABLE_VOICEMAIL', |
| 'EXPAT_RELATIVE_PATH', |
| 'GTEST_RELATIVE_PATH', |
| 'NO_MAIN_THREAD_WRAPPING', |
| 'NO_SOUND_SYSTEM', |
| ], |
| 'conditions': [ |
| ['OS=="win"', { |
| 'link_settings': { |
| 'libraries': [ |
| '-lsecur32.lib', |
| '-lcrypt32.lib', |
| '-liphlpapi.lib', |
| ], |
| }, |
| }], |
| ['OS=="win"', { |
| 'include_dirs': [ |
| '../third_party/platformsdk_win7/files/Include', |
| ], |
| 'defines': [ |
| '_CRT_SECURE_NO_WARNINGS', # Suppres warnings about _vsnprinf |
| ], |
| # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. |
| 'msvs_disabled_warnings': [ 4267 ], |
| }], |
| ['OS=="linux"', { |
| 'defines': [ |
| 'LINUX', |
| 'WEBRTC_LINUX', |
| ], |
| }], |
| ['OS=="mac"', { |
| 'defines': [ |
| 'OSX', |
| 'WEBRTC_MAC', |
| ], |
| }], |
| ['OS=="ios"', { |
| 'defines': [ |
| 'IOS', |
| 'WEBRTC_MAC', |
| 'WEBRTC_IOS', |
| ], |
| }], |
| ['OS=="win"', { |
| 'defines': [ |
| 'WEBRTC_WIN', |
| ], |
| }], |
| ['OS=="android"', { |
| 'defines': [ |
| 'ANDROID', |
| ], |
| }], |
| ['os_posix==1', { |
| 'defines': [ |
| 'POSIX', |
| 'WEBRTC_POSIX', |
| ], |
| }], |
| ['os_bsd==1', { |
| 'defines': [ |
| 'BSD', |
| ], |
| }], |
| ['OS=="openbsd"', { |
| 'defines': [ |
| 'OPENBSD', |
| ], |
| }], |
| ['OS=="freebsd"', { |
| 'defines': [ |
| 'FREEBSD', |
| ], |
| }], |
| ['chromeos==1', { |
| 'defines': [ |
| 'CHROMEOS', |
| ], |
| }], |
| ], |
| }, |
| 'all_dependent_settings': { |
| 'configurations': { |
| 'Debug': { |
| 'defines': [ |
| # TODO(sergeyu): Fix libjingle to use NDEBUG instead of _DEBUG and |
| # remove this define. See above and GN file as well. |
| '_DEBUG', |
| ], |
| } |
| }, |
| }, |
| 'variables': { |
| 'clang_warning_flags_unset': [ |
| # Don't warn about string->bool used in asserts. |
| '-Wstring-conversion', |
| ], |
| }, |
| 'conditions': [ |
| ['"<(libpeer_target_type)"=="static_library"', { |
| 'defines': [ 'LIBPEERCONNECTION_LIB=1' ], |
| }], |
| ['use_openssl==1', { |
| 'defines': [ |
| 'SSL_USE_OPENSSL', |
| 'HAVE_OPENSSL_SSL_H', |
| ], |
| 'dependencies': [ |
| '../../third_party/boringssl/boringssl.gyp:boringssl', |
| ], |
| }, { |
| 'defines': [ |
| 'SSL_USE_NSS', |
| 'HAVE_NSS_SSL_H', |
| 'SSL_USE_NSS_RNG', |
| ], |
| 'conditions': [ |
| ['os_posix == 1 and OS != "mac" and OS != "ios" and OS != "android"', { |
| 'dependencies': [ |
| '<(DEPTH)/build/linux/system.gyp:ssl', |
| ], |
| }], |
| ['OS == "mac" or OS == "ios" or OS == "win"', { |
| 'dependencies': [ |
| '<(DEPTH)/net/third_party/nss/ssl.gyp:libssl', |
| '<(DEPTH)/third_party/nss/nss.gyp:nspr', |
| '<(DEPTH)/third_party/nss/nss.gyp:nss', |
| ], |
| }], |
| ], |
| }], |
| ['OS=="win"', { |
| 'include_dirs': [ |
| '../third_party/platformsdk_win7/files/Include', |
| ], |
| 'conditions' : [ |
| ['target_arch == "ia32"', { |
| 'defines': [ |
| '_USE_32BIT_TIME_T', |
| ], |
| }], |
| ], |
| }], |
| ['OS=="linux"', { |
| 'defines': [ |
| 'LINUX', |
| 'WEBRTC_LINUX', |
| ], |
| }], |
| ['OS=="mac"', { |
| 'defines': [ |
| 'OSX', |
| 'WEBRTC_MAC', |
| ], |
| }], |
| ['OS=="win"', { |
| 'defines': [ |
| 'WEBRTC_WIN', |
| ], |
| }], |
| ['OS=="ios"', { |
| 'defines': [ |
| 'IOS', |
| 'WEBRTC_MAC', |
| 'WEBRTC_IOS', |
| ], |
| }], |
| ['os_posix == 1', { |
| 'defines': [ |
| 'POSIX', |
| 'WEBRTC_POSIX', |
| ], |
| }], |
| ['os_bsd==1', { |
| 'defines': [ |
| 'BSD', |
| ], |
| }], |
| ['OS=="openbsd"', { |
| 'defines': [ |
| 'OPENBSD', |
| ], |
| }], |
| ['OS=="freebsd"', { |
| 'defines': [ |
| 'FREEBSD', |
| ], |
| }], |
| ], |
| }, |
| 'targets': [ |
| # GN version: //third_party/libjingle |
| { |
| 'target_name': 'libjingle', |
| 'type': 'static_library', |
| 'includes': [ 'libjingle_common.gypi' ], |
| 'sources!' : [ |
| # Compiled as part of libjingle_p2p_constants. |
| '<(webrtc_p2p)/base/constants.cc', |
| '<(webrtc_p2p)/base/constants.h', |
| ], |
| 'dependencies': [ |
| '<(DEPTH)/third_party/webrtc/base/base.gyp:rtc_base', |
| '<(DEPTH)/third_party/webrtc/libjingle/xmllite/xmllite.gyp:rtc_xmllite', |
| 'libjingle_p2p_constants', |
| '<@(libjingle_additional_deps)', |
| ], |
| }, # target libjingle |
| # This has to be is a separate project due to a bug in MSVS 2008 and the |
| # current toolset on android. The problem is that we have two files named |
| # "constants.cc" and MSVS/android doesn't handle this properly. |
| # GYP currently has guards to catch this, so if you want to remove it, |
| # run GYP and if GYP has removed the validation check, then we can assume |
| # that the toolchains have been fixed (we currently use VS2010 and later, |
| # so VS2008 isn't a concern anymore). |
| # |
| # GN version: //third_party/libjingle:libjingle_p2p_constants |
| { |
| 'target_name': 'libjingle_p2p_constants', |
| 'type': 'static_library', |
| 'sources': [ |
| '<(webrtc_p2p)/base/constants.cc', |
| '<(webrtc_p2p)/base/constants.h', |
| ], |
| }, # target libjingle_p2p_constants |
| # GN version: //third_party/libjingle:peerconnection_server |
| { |
| 'target_name': 'peerconnection_server', |
| 'type': 'executable', |
| 'sources': [ |
| '<(libjingle_source)/talk/examples/peerconnection/server/data_socket.cc', |
| '<(libjingle_source)/talk/examples/peerconnection/server/data_socket.h', |
| '<(libjingle_source)/talk/examples/peerconnection/server/main.cc', |
| '<(libjingle_source)/talk/examples/peerconnection/server/peer_channel.cc', |
| '<(libjingle_source)/talk/examples/peerconnection/server/peer_channel.h', |
| '<(libjingle_source)/talk/examples/peerconnection/server/utils.cc', |
| '<(libjingle_source)/talk/examples/peerconnection/server/utils.h', |
| ], |
| 'include_dirs': [ |
| '<(libjingle_source)', |
| ], |
| 'dependencies': [ |
| 'libjingle', |
| ], |
| # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. |
| 'msvs_disabled_warnings': [ 4309, ], |
| }, # target peerconnection_server |
| ], |
| 'conditions': [ |
| ['enable_webrtc==1', { |
| 'targets': [ |
| { |
| # GN version: //third_party/libjingle:libjingle_webrtc_common |
| 'target_name': 'libjingle_webrtc_common', |
| 'type': 'static_library', |
| 'all_dependent_settings': { |
| 'conditions': [ |
| ['"<(libpeer_target_type)"=="static_library"', { |
| 'defines': [ 'LIBPEERCONNECTION_LIB=1' ], |
| }], |
| ], |
| }, |
| 'sources': [ |
| 'overrides/talk/media/webrtc/webrtcexport.h', |
| |
| '<(libjingle_source)/talk/app/webrtc/audiotrack.cc', |
| '<(libjingle_source)/talk/app/webrtc/audiotrack.h', |
| '<(libjingle_source)/talk/app/webrtc/audiotrackrenderer.cc', |
| '<(libjingle_source)/talk/app/webrtc/audiotrackrenderer.h', |
| '<(libjingle_source)/talk/app/webrtc/datachannel.cc', |
| '<(libjingle_source)/talk/app/webrtc/datachannel.h', |
| '<(libjingle_source)/talk/app/webrtc/dtlsidentityservice.cc', |
| '<(libjingle_source)/talk/app/webrtc/dtlsidentityservice.h', |
| '<(libjingle_source)/talk/app/webrtc/dtlsidentitystore.cc', |
| '<(libjingle_source)/talk/app/webrtc/dtlsidentitystore.h', |
| '<(libjingle_source)/talk/app/webrtc/dtmfsender.cc', |
| '<(libjingle_source)/talk/app/webrtc/dtmfsender.h', |
| '<(libjingle_source)/talk/app/webrtc/jsep.h', |
| '<(libjingle_source)/talk/app/webrtc/jsepicecandidate.cc', |
| '<(libjingle_source)/talk/app/webrtc/jsepicecandidate.h', |
| '<(libjingle_source)/talk/app/webrtc/jsepsessiondescription.cc', |
| '<(libjingle_source)/talk/app/webrtc/jsepsessiondescription.h', |
| '<(libjingle_source)/talk/app/webrtc/localaudiosource.cc', |
| '<(libjingle_source)/talk/app/webrtc/localaudiosource.h', |
| '<(libjingle_source)/talk/app/webrtc/mediaconstraintsinterface.cc', |
| '<(libjingle_source)/talk/app/webrtc/mediaconstraintsinterface.h', |
| '<(libjingle_source)/talk/app/webrtc/mediastream.cc', |
| '<(libjingle_source)/talk/app/webrtc/mediastream.h', |
| '<(libjingle_source)/talk/app/webrtc/mediastreamhandler.cc', |
| '<(libjingle_source)/talk/app/webrtc/mediastreamhandler.h', |
| '<(libjingle_source)/talk/app/webrtc/mediastreaminterface.h', |
| '<(libjingle_source)/talk/app/webrtc/mediastreamprovider.h', |
| '<(libjingle_source)/talk/app/webrtc/mediastreamproxy.h', |
| '<(libjingle_source)/talk/app/webrtc/mediastreamsignaling.cc', |
| '<(libjingle_source)/talk/app/webrtc/mediastreamsignaling.h', |
| '<(libjingle_source)/talk/app/webrtc/mediastreamtrack.h', |
| '<(libjingle_source)/talk/app/webrtc/mediastreamtrackproxy.h', |
| '<(libjingle_source)/talk/app/webrtc/notifier.h', |
| '<(libjingle_source)/talk/app/webrtc/peerconnection.cc', |
| '<(libjingle_source)/talk/app/webrtc/peerconnection.h', |
| '<(libjingle_source)/talk/app/webrtc/peerconnectionfactory.cc', |
| '<(libjingle_source)/talk/app/webrtc/peerconnectionfactory.h', |
| '<(libjingle_source)/talk/app/webrtc/peerconnectioninterface.h', |
| '<(libjingle_source)/talk/app/webrtc/portallocatorfactory.cc', |
| '<(libjingle_source)/talk/app/webrtc/portallocatorfactory.h', |
| '<(libjingle_source)/talk/app/webrtc/remoteaudiosource.cc', |
| '<(libjingle_source)/talk/app/webrtc/remoteaudiosource.h', |
| '<(libjingle_source)/talk/app/webrtc/remotevideocapturer.cc', |
| '<(libjingle_source)/talk/app/webrtc/remotevideocapturer.h', |
| '<(libjingle_source)/talk/app/webrtc/sctputils.cc', |
| '<(libjingle_source)/talk/app/webrtc/sctputils.h', |
| '<(libjingle_source)/talk/app/webrtc/statscollector.cc', |
| '<(libjingle_source)/talk/app/webrtc/statscollector.h', |
| '<(libjingle_source)/talk/app/webrtc/statstypes.cc', |
| '<(libjingle_source)/talk/app/webrtc/statstypes.h', |
| '<(libjingle_source)/talk/app/webrtc/streamcollection.h', |
| '<(libjingle_source)/talk/app/webrtc/umametrics.h', |
| '<(libjingle_source)/talk/app/webrtc/videosource.cc', |
| '<(libjingle_source)/talk/app/webrtc/videosource.h', |
| '<(libjingle_source)/talk/app/webrtc/videosourceinterface.h', |
| '<(libjingle_source)/talk/app/webrtc/videosourceproxy.h', |
| '<(libjingle_source)/talk/app/webrtc/videotrack.cc', |
| '<(libjingle_source)/talk/app/webrtc/videotrack.h', |
| '<(libjingle_source)/talk/app/webrtc/videotrackrenderers.cc', |
| '<(libjingle_source)/talk/app/webrtc/videotrackrenderers.h', |
| '<(libjingle_source)/talk/app/webrtc/webrtcsdp.cc', |
| '<(libjingle_source)/talk/app/webrtc/webrtcsdp.h', |
| '<(libjingle_source)/talk/app/webrtc/webrtcsession.cc', |
| '<(libjingle_source)/talk/app/webrtc/webrtcsession.h', |
| '<(libjingle_source)/talk/app/webrtc/webrtcsessiondescriptionfactory.cc', |
| '<(libjingle_source)/talk/app/webrtc/webrtcsessiondescriptionfactory.h', |
| '<(libjingle_source)/talk/media/base/audiorenderer.h', |
| '<(libjingle_source)/talk/media/base/capturemanager.cc', |
| '<(libjingle_source)/talk/media/base/capturemanager.h', |
| '<(libjingle_source)/talk/media/base/capturerenderadapter.cc', |
| '<(libjingle_source)/talk/media/base/capturerenderadapter.h', |
| '<(libjingle_source)/talk/media/base/codec.cc', |
| '<(libjingle_source)/talk/media/base/codec.h', |
| '<(libjingle_source)/talk/media/base/constants.cc', |
| '<(libjingle_source)/talk/media/base/constants.h', |
| '<(libjingle_source)/talk/media/base/cryptoparams.h', |
| '<(libjingle_source)/talk/media/base/filemediaengine.cc', |
| '<(libjingle_source)/talk/media/base/filemediaengine.h', |
| '<(libjingle_source)/talk/media/base/hybriddataengine.h', |
| '<(libjingle_source)/talk/media/base/mediachannel.h', |
| '<(libjingle_source)/talk/media/base/mediaengine.cc', |
| '<(libjingle_source)/talk/media/base/mediaengine.h', |
| '<(libjingle_source)/talk/media/base/rtpdataengine.cc', |
| '<(libjingle_source)/talk/media/base/rtpdataengine.h', |
| '<(libjingle_source)/talk/media/base/rtpdump.cc', |
| '<(libjingle_source)/talk/media/base/rtpdump.h', |
| '<(libjingle_source)/talk/media/base/rtputils.cc', |
| '<(libjingle_source)/talk/media/base/rtputils.h', |
| '<(libjingle_source)/talk/media/base/streamparams.cc', |
| '<(libjingle_source)/talk/media/base/streamparams.h', |
| '<(libjingle_source)/talk/media/base/videoadapter.cc', |
| '<(libjingle_source)/talk/media/base/videoadapter.h', |
| '<(libjingle_source)/talk/media/base/videocapturer.cc', |
| '<(libjingle_source)/talk/media/base/videocapturer.h', |
| '<(libjingle_source)/talk/media/base/videocommon.cc', |
| '<(libjingle_source)/talk/media/base/videocommon.h', |
| '<(libjingle_source)/talk/media/base/videoframe.cc', |
| '<(libjingle_source)/talk/media/base/videoframe.h', |
| '<(libjingle_source)/talk/media/base/videoframefactory.cc', |
| '<(libjingle_source)/talk/media/base/videoframefactory.h', |
| '<(libjingle_source)/talk/media/devices/dummydevicemanager.cc', |
| '<(libjingle_source)/talk/media/devices/dummydevicemanager.h', |
| '<(libjingle_source)/talk/media/devices/filevideocapturer.cc', |
| '<(libjingle_source)/talk/media/devices/filevideocapturer.h', |
| '<(libjingle_source)/talk/media/webrtc/webrtccommon.h', |
| '<(libjingle_source)/talk/media/webrtc/webrtcpassthroughrender.cc', |
| '<(libjingle_source)/talk/media/webrtc/webrtcpassthroughrender.h', |
| '<(libjingle_source)/talk/media/webrtc/webrtcvideocapturer.cc', |
| '<(libjingle_source)/talk/media/webrtc/webrtcvideocapturer.h', |
| '<(libjingle_source)/talk/media/webrtc/webrtcvideoframe.cc', |
| '<(libjingle_source)/talk/media/webrtc/webrtcvideoframe.h', |
| '<(libjingle_source)/talk/media/webrtc/webrtcvideoframefactory.cc', |
| '<(libjingle_source)/talk/media/webrtc/webrtcvideoframefactory.h', |
| '<(libjingle_source)/talk/media/webrtc/webrtcvie.h', |
| '<(libjingle_source)/talk/media/webrtc/webrtcvoe.h', |
| '<(libjingle_source)/talk/session/media/audiomonitor.cc', |
| '<(libjingle_source)/talk/session/media/audiomonitor.h', |
| '<(libjingle_source)/talk/session/media/bundlefilter.cc', |
| '<(libjingle_source)/talk/session/media/bundlefilter.h', |
| '<(libjingle_source)/talk/session/media/channel.cc', |
| '<(libjingle_source)/talk/session/media/channel.h', |
| '<(libjingle_source)/talk/session/media/channelmanager.cc', |
| '<(libjingle_source)/talk/session/media/channelmanager.h', |
| '<(libjingle_source)/talk/session/media/currentspeakermonitor.cc', |
| '<(libjingle_source)/talk/session/media/currentspeakermonitor.h', |
| '<(libjingle_source)/talk/session/media/externalhmac.cc', |
| '<(libjingle_source)/talk/session/media/externalhmac.h', |
| '<(libjingle_source)/talk/session/media/mediamonitor.cc', |
| '<(libjingle_source)/talk/session/media/mediamonitor.h', |
| '<(libjingle_source)/talk/session/media/mediasession.cc', |
| '<(libjingle_source)/talk/session/media/mediasession.h', |
| '<(libjingle_source)/talk/session/media/mediasink.h', |
| '<(libjingle_source)/talk/session/media/rtcpmuxfilter.cc', |
| '<(libjingle_source)/talk/session/media/rtcpmuxfilter.h', |
| '<(libjingle_source)/talk/session/media/soundclip.cc', |
| '<(libjingle_source)/talk/session/media/soundclip.h', |
| '<(libjingle_source)/talk/session/media/srtpfilter.cc', |
| '<(libjingle_source)/talk/session/media/srtpfilter.h', |
| '<(libjingle_source)/talk/session/media/typingmonitor.cc', |
| '<(libjingle_source)/talk/session/media/typingmonitor.h', |
| '<(libjingle_source)/talk/session/media/voicechannel.h', |
| ], |
| 'conditions': [ |
| # TODO(mallinath) - Enable SCTP for iOS. |
| ['OS!="ios"', { |
| 'defines': [ |
| 'HAVE_SCTP', |
| ], |
| 'sources': [ |
| '<(libjingle_source)/talk/media/sctp/sctpdataengine.cc', |
| '<(libjingle_source)/talk/media/sctp/sctpdataengine.h', |
| ], |
| 'dependencies': [ |
| '<(DEPTH)/third_party/usrsctp/usrsctp.gyp:usrsctplib', |
| ], |
| }], |
| ['enabled_libjingle_device_manager==1', { |
| 'sources!': [ |
| '<(libjingle_source)/talk/media/devices/dummydevicemanager.cc', |
| '<(libjingle_source)/talk/media/devices/dummydevicemanager.h', |
| ], |
| 'sources': [ |
| '<(libjingle_source)/talk/media/devices/devicemanager.cc', |
| '<(libjingle_source)/talk/media/devices/devicemanager.h', |
| ], |
| 'conditions': [ |
| ['OS=="win"', { |
| 'sources': [ |
| '<(libjingle_source)/talk/media/devices/win32deviceinfo.cc', |
| '<(libjingle_source)/talk/media/devices/win32devicemanager.cc', |
| '<(libjingle_source)/talk/media/devices/win32devicemanager.h', |
| ], |
| }], |
| ['OS=="linux"', { |
| 'sources': [ |
| '<(libjingle_source)/talk/media/devices/libudevsymboltable.cc', |
| '<(libjingle_source)/talk/media/devices/libudevsymboltable.h', |
| '<(libjingle_source)/talk/media/devices/linuxdeviceinfo.cc', |
| '<(libjingle_source)/talk/media/devices/linuxdevicemanager.cc', |
| '<(libjingle_source)/talk/media/devices/linuxdevicemanager.h', |
| '<(libjingle_source)/talk/media/devices/v4llookup.cc', |
| '<(libjingle_source)/talk/media/devices/v4llookup.h', |
| ], |
| }], |
| ['OS=="mac"', { |
| 'sources': [ |
| '<(libjingle_source)/talk/media/devices/macdeviceinfo.cc', |
| '<(libjingle_source)/talk/media/devices/macdevicemanager.cc', |
| '<(libjingle_source)/talk/media/devices/macdevicemanager.h', |
| '<(libjingle_source)/talk/media/devices/macdevicemanagermm.mm', |
| ], |
| 'xcode_settings': { |
| 'WARNING_CFLAGS': [ |
| # Suppres warnings about using deprecated functions in |
| # macdevicemanager.cc. |
| '-Wno-deprecated-declarations', |
| ], |
| }, |
| }], |
| ], |
| }], |
| ], |
| 'dependencies': [ |
| '<(DEPTH)/third_party/libsrtp/libsrtp.gyp:libsrtp', |
| '<(DEPTH)/third_party/webrtc/modules/modules.gyp:media_file', |
| '<(DEPTH)/third_party/webrtc/modules/modules.gyp:video_capture', |
| '<(DEPTH)/third_party/webrtc/modules/modules.gyp:video_render', |
| 'libjingle', |
| ], |
| }, # target libjingle_webrtc_common |
| { |
| # GN version: //third_party/libjingle:libjingle_webrtc |
| 'target_name': 'libjingle_webrtc', |
| 'type': 'static_library', |
| 'sources': [ |
| 'overrides/init_webrtc.cc', |
| 'overrides/init_webrtc.h', |
| ], |
| 'dependencies': [ |
| 'libjingle_webrtc_common', |
| ], |
| 'conditions': [ |
| ['libpeer_target_type=="static_library"', { |
| 'dependencies': [ |
| '<(DEPTH)/third_party/webrtc/modules/modules.gyp:audio_processing', |
| ], |
| }], |
| ], |
| }, |
| { |
| # GN version: //third_party/libjingle:libpeerconnection |
| 'target_name': 'libpeerconnection', |
| 'type': '<(libpeer_target_type)', |
| 'sources': [ |
| # Note: sources list duplicated in GN build. |
| '<(libjingle_source)/talk/media/webrtc/simulcast.cc', |
| '<(libjingle_source)/talk/media/webrtc/simulcast.h', |
| '<(libjingle_source)/talk/media/webrtc/webrtcmediaengine.cc', |
| '<(libjingle_source)/talk/media/webrtc/webrtcmediaengine.h', |
| '<(libjingle_source)/talk/media/webrtc/webrtcvideoengine.cc', |
| '<(libjingle_source)/talk/media/webrtc/webrtcvideoengine.h', |
| '<(libjingle_source)/talk/media/webrtc/webrtcvideoengine2.cc', |
| '<(libjingle_source)/talk/media/webrtc/webrtcvideoengine2.h', |
| '<(libjingle_source)/talk/media/webrtc/webrtcvoiceengine.cc', |
| '<(libjingle_source)/talk/media/webrtc/webrtcvoiceengine.h', |
| ], |
| 'dependencies': [ |
| '<(DEPTH)/third_party/webrtc/voice_engine/voice_engine.gyp:voice_engine', |
| '<(DEPTH)/third_party/webrtc/webrtc.gyp:webrtc', |
| '<@(libjingle_peerconnection_additional_deps)', |
| 'libjingle_webrtc_common', |
| ], |
| 'conditions': [ |
| ['libpeer_target_type!="static_library"', { |
| 'sources': [ |
| 'overrides/initialize_module.cc', |
| ], |
| 'conditions': [ |
| ['OS!="mac" and OS!="android"', { |
| 'sources': [ |
| 'overrides/allocator_shim/allocator_proxy.cc', |
| ], |
| }], |
| ], |
| }], |
| ['"<(libpeer_target_type)"!="static_library"', { |
| # Used to control symbol export/import. |
| 'defines': [ 'LIBPEERCONNECTION_IMPLEMENTATION=1' ], |
| }], |
| ['OS=="win" and "<(libpeer_target_type)"!="static_library"', { |
| 'link_settings': { |
| 'libraries': [ |
| '-lsecur32.lib', |
| '-lcrypt32.lib', |
| '-liphlpapi.lib', |
| ], |
| }, |
| }], |
| ['OS!="win" and "<(libpeer_target_type)"!="static_library"', { |
| 'cflags': [ |
| # For compatibility with how we export symbols from this |
| # target on Windows. This also prevents the linker from |
| # picking up symbols from this target that should be linked |
| # in from other libjingle libs. |
| '-fvisibility=hidden', |
| ], |
| }], |
| ['OS=="mac" and libpeer_target_type!="static_library"', { |
| 'product_name': 'libpeerconnection', |
| }], |
| ['OS=="android" and "<(libpeer_target_type)"=="static_library"', { |
| 'standalone_static_library': 1, |
| }], |
| ['OS=="linux" and libpeer_target_type!="static_library"', { |
| # The installer and various tools depend on finding the .so |
| # in this directory and not lib.target as will otherwise be |
| # the case with make builds. |
| 'product_dir': '<(PRODUCT_DIR)/lib', |
| }], |
| ], |
| }, # target libpeerconnection |
| ], |
| }], |
| ], |
| } |