| Index: third_party/libjingle/BUILD.gn
|
| diff --git a/third_party/libjingle/BUILD.gn b/third_party/libjingle/BUILD.gn
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..21d1b765ac14d6cbcd167a8cd42be6322ce95639
|
| --- /dev/null
|
| +++ b/third_party/libjingle/BUILD.gn
|
| @@ -0,0 +1,350 @@
|
| +# Copyright 2014 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.
|
| +
|
| +import("//build/config/crypto.gni")
|
| +
|
| +declare_args() {
|
| + libjingle_source = "source"
|
| + libpeer_target_type = "static_library"
|
| +}
|
| +
|
| +# From third_party/libjingle/libjingle.gyp's target_defaults.
|
| +config("jingle_unexported_configs") {
|
| + 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",
|
| + ]
|
| +
|
| + include_dirs = [
|
| + "overrides",
|
| + "../../third_party/webrtc/overrides",
|
| + "${libjingle_source}",
|
| + "../../testing/gtest/include",
|
| + "../../third_party",
|
| + "../../third_party/libyuv/include",
|
| + "../../third_party/usrsctp",
|
| + ]
|
| +
|
| + if ("${libpeer_target_type}" == "static_library") {
|
| + defines += [ "LIBPEERCONNECTION_LIB=1" ]
|
| + }
|
| +
|
| + if (is_win && cpu_arch == "x86") {
|
| + defines += [ "_USE_32BIT_TIME_T" ]
|
| + }
|
| +
|
| + if (use_openssl) {
|
| + defines += [
|
| + "SSL_USE_OPENSSL",
|
| + "HAVE_OPENSSL_SSL_H",
|
| + ]
|
| + } else {
|
| + defines += [
|
| + "SSL_USE_NSS",
|
| + "HAVE_NSS_SSL_H",
|
| + "SSL_USE_NSS_RNG",
|
| + ]
|
| + }
|
| +
|
| +}
|
| +
|
| +# From third_party/libjingle/libjingle.gyp's target_defaults.
|
| +config("jingle_direct_dependent_configs") {
|
| + 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",
|
| + ]
|
| + # TODO(GYP): Port is_win blocks.
|
| + if (is_linux) {
|
| + defines += [ "LINUX", "WEBRTC_LINUX" ]
|
| + }
|
| + if (is_mac) {
|
| + defines += [ "OSX", "WEBRTC_MAC" ]
|
| + }
|
| + if (is_ios) {
|
| + defines += [ "IOS", "WEBRTC_MAC", "WEBRTC_IOS" ]
|
| + }
|
| + if (is_win) {
|
| + defines += [ "WEBRTC_WIN" ]
|
| + }
|
| + if (is_android) {
|
| + defines += [ "ANDROID" ]
|
| + }
|
| + if (is_posix) {
|
| + defines += [ "POSIX", "WEBRTC_POSIX" ]
|
| + }
|
| + # TODO(GYP): Support these in GN.
|
| + # if (is_bsd) {
|
| + # defines += [ "BSD" ]
|
| + # }
|
| + # if (is_openbsd) {
|
| + # defines += [ "OPENBSD" ]
|
| + # }
|
| + # if (is_freebsd) {
|
| + # defines += [ "FREEBSD" ]
|
| + # }
|
| + if (is_chromeos) {
|
| + defines += [ "CHROMEOS" ]
|
| + }
|
| +}
|
| +
|
| +# From third_party/libjingle/libjingle.gyp's target_defaults.
|
| +config("jingle_all_dependent_configs") {
|
| + if (is_debug) {
|
| + # TODO(sergeyu): Fix libjingle to use NDEBUG instead of
|
| + # _DEBUG and remove this define. See GYP file as well.
|
| + defines = [ "_DEBUG" ]
|
| + }
|
| +}
|
| +
|
| +# From third_party/libjingle/libjingle.gyp's target_defaults.
|
| +group("jingle_deps") {
|
| + deps = [
|
| + "//base",
|
| + "//net",
|
| + "//third_party/expat",
|
| + "//crypto:platform",
|
| + ]
|
| + forward_dependent_configs_from = [
|
| + "//third_party/expat",
|
| + ]
|
| +}
|
| +
|
| +# GYP version: third_party/libjingle.gyp:libjingle
|
| +static_library("libjingle") {
|
| + sources = [
|
| + # List from third_party/libjingle/libjingle_common.gypi
|
| + "${libjingle_source}/talk/p2p/base/asyncstuntcpsocket.cc",
|
| + "${libjingle_source}/talk/p2p/base/asyncstuntcpsocket.h",
|
| + "${libjingle_source}/talk/p2p/base/basicpacketsocketfactory.cc",
|
| + "${libjingle_source}/talk/p2p/base/basicpacketsocketfactory.h",
|
| + "${libjingle_source}/talk/p2p/base/candidate.h",
|
| + "${libjingle_source}/talk/p2p/base/common.h",
|
| + "${libjingle_source}/talk/p2p/base/constants.cc",
|
| + "${libjingle_source}/talk/p2p/base/constants.h",
|
| + "${libjingle_source}/talk/p2p/base/dtlstransport.h",
|
| + "${libjingle_source}/talk/p2p/base/dtlstransportchannel.cc",
|
| + "${libjingle_source}/talk/p2p/base/dtlstransportchannel.h",
|
| + "${libjingle_source}/talk/p2p/base/p2ptransport.cc",
|
| + "${libjingle_source}/talk/p2p/base/p2ptransport.h",
|
| + "${libjingle_source}/talk/p2p/base/p2ptransportchannel.cc",
|
| + "${libjingle_source}/talk/p2p/base/p2ptransportchannel.h",
|
| + "${libjingle_source}/talk/p2p/base/parsing.cc",
|
| + "${libjingle_source}/talk/p2p/base/parsing.h",
|
| + "${libjingle_source}/talk/p2p/base/port.cc",
|
| + "${libjingle_source}/talk/p2p/base/port.h",
|
| + "${libjingle_source}/talk/p2p/base/portallocator.cc",
|
| + "${libjingle_source}/talk/p2p/base/portallocator.h",
|
| + "${libjingle_source}/talk/p2p/base/portallocatorsessionproxy.cc",
|
| + "${libjingle_source}/talk/p2p/base/portallocatorsessionproxy.h",
|
| + "${libjingle_source}/talk/p2p/base/portproxy.cc",
|
| + "${libjingle_source}/talk/p2p/base/portproxy.h",
|
| + "${libjingle_source}/talk/p2p/base/pseudotcp.cc",
|
| + "${libjingle_source}/talk/p2p/base/pseudotcp.h",
|
| + "${libjingle_source}/talk/p2p/base/rawtransport.cc",
|
| + "${libjingle_source}/talk/p2p/base/rawtransport.h",
|
| + "${libjingle_source}/talk/p2p/base/rawtransportchannel.cc",
|
| + "${libjingle_source}/talk/p2p/base/rawtransportchannel.h",
|
| + "${libjingle_source}/talk/p2p/base/relayport.cc",
|
| + "${libjingle_source}/talk/p2p/base/relayport.h",
|
| + "${libjingle_source}/talk/p2p/base/session.cc",
|
| + "${libjingle_source}/talk/p2p/base/session.h",
|
| + "${libjingle_source}/talk/p2p/base/sessionclient.h",
|
| + "${libjingle_source}/talk/p2p/base/sessiondescription.cc",
|
| + "${libjingle_source}/talk/p2p/base/sessiondescription.h",
|
| + "${libjingle_source}/talk/p2p/base/sessionid.h",
|
| + "${libjingle_source}/talk/p2p/base/sessionmanager.cc",
|
| + "${libjingle_source}/talk/p2p/base/sessionmanager.h",
|
| + "${libjingle_source}/talk/p2p/base/sessionmessages.cc",
|
| + "${libjingle_source}/talk/p2p/base/sessionmessages.h",
|
| + "${libjingle_source}/talk/p2p/base/stun.cc",
|
| + "${libjingle_source}/talk/p2p/base/stun.h",
|
| + "${libjingle_source}/talk/p2p/base/stunport.cc",
|
| + "${libjingle_source}/talk/p2p/base/stunport.h",
|
| + "${libjingle_source}/talk/p2p/base/stunrequest.cc",
|
| + "${libjingle_source}/talk/p2p/base/stunrequest.h",
|
| + "${libjingle_source}/talk/p2p/base/tcpport.cc",
|
| + "${libjingle_source}/talk/p2p/base/tcpport.h",
|
| + "${libjingle_source}/talk/p2p/base/transport.cc",
|
| + "${libjingle_source}/talk/p2p/base/transport.h",
|
| + "${libjingle_source}/talk/p2p/base/transportchannel.cc",
|
| + "${libjingle_source}/talk/p2p/base/transportchannel.h",
|
| + "${libjingle_source}/talk/p2p/base/transportchannelimpl.h",
|
| + "${libjingle_source}/talk/p2p/base/transportchannelproxy.cc",
|
| + "${libjingle_source}/talk/p2p/base/transportchannelproxy.h",
|
| + "${libjingle_source}/talk/p2p/base/transportdescription.cc",
|
| + "${libjingle_source}/talk/p2p/base/transportdescription.h",
|
| + "${libjingle_source}/talk/p2p/base/transportdescriptionfactory.cc",
|
| + "${libjingle_source}/talk/p2p/base/transportdescriptionfactory.h",
|
| + "${libjingle_source}/talk/p2p/base/turnport.cc",
|
| + "${libjingle_source}/talk/p2p/base/turnport.h",
|
| + "${libjingle_source}/talk/p2p/client/basicportallocator.cc",
|
| + "${libjingle_source}/talk/p2p/client/basicportallocator.h",
|
| + "${libjingle_source}/talk/p2p/client/httpportallocator.cc",
|
| + "${libjingle_source}/talk/p2p/client/httpportallocator.h",
|
| + "${libjingle_source}/talk/p2p/client/sessionmanagertask.h",
|
| + "${libjingle_source}/talk/p2p/client/sessionsendtask.h",
|
| + "${libjingle_source}/talk/p2p/client/socketmonitor.cc",
|
| + "${libjingle_source}/talk/p2p/client/socketmonitor.h",
|
| + "${libjingle_source}/talk/xmllite/qname.cc",
|
| + "${libjingle_source}/talk/xmllite/qname.h",
|
| + "${libjingle_source}/talk/xmllite/xmlbuilder.cc",
|
| + "${libjingle_source}/talk/xmllite/xmlbuilder.h",
|
| + "${libjingle_source}/talk/xmllite/xmlconstants.cc",
|
| + "${libjingle_source}/talk/xmllite/xmlconstants.h",
|
| + "${libjingle_source}/talk/xmllite/xmlelement.cc",
|
| + "${libjingle_source}/talk/xmllite/xmlelement.h",
|
| + "${libjingle_source}/talk/xmllite/xmlnsstack.cc",
|
| + "${libjingle_source}/talk/xmllite/xmlnsstack.h",
|
| + "${libjingle_source}/talk/xmllite/xmlparser.cc",
|
| + "${libjingle_source}/talk/xmllite/xmlparser.h",
|
| + "${libjingle_source}/talk/xmllite/xmlprinter.cc",
|
| + "${libjingle_source}/talk/xmllite/xmlprinter.h",
|
| + "${libjingle_source}/talk/xmpp/asyncsocket.h",
|
| + "${libjingle_source}/talk/xmpp/constants.cc",
|
| + "${libjingle_source}/talk/xmpp/constants.h",
|
| + "${libjingle_source}/talk/xmpp/jid.cc",
|
| + "${libjingle_source}/talk/xmpp/jid.h",
|
| + "${libjingle_source}/talk/xmpp/plainsaslhandler.h",
|
| + "${libjingle_source}/talk/xmpp/prexmppauth.h",
|
| + "${libjingle_source}/talk/xmpp/saslcookiemechanism.h",
|
| + "${libjingle_source}/talk/xmpp/saslhandler.h",
|
| + "${libjingle_source}/talk/xmpp/saslmechanism.cc",
|
| + "${libjingle_source}/talk/xmpp/saslmechanism.h",
|
| + "${libjingle_source}/talk/xmpp/saslplainmechanism.h",
|
| + "${libjingle_source}/talk/xmpp/xmppclient.cc",
|
| + "${libjingle_source}/talk/xmpp/xmppclient.h",
|
| + "${libjingle_source}/talk/xmpp/xmppclientsettings.h",
|
| + "${libjingle_source}/talk/xmpp/xmppengine.h",
|
| + "${libjingle_source}/talk/xmpp/xmppengineimpl.cc",
|
| + "${libjingle_source}/talk/xmpp/xmppengineimpl.h",
|
| + "${libjingle_source}/talk/xmpp/xmppengineimpl_iq.cc",
|
| + "${libjingle_source}/talk/xmpp/xmpplogintask.cc",
|
| + "${libjingle_source}/talk/xmpp/xmpplogintask.h",
|
| + "${libjingle_source}/talk/xmpp/xmppstanzaparser.cc",
|
| + "${libjingle_source}/talk/xmpp/xmppstanzaparser.h",
|
| + "${libjingle_source}/talk/xmpp/xmpptask.cc",
|
| + "${libjingle_source}/talk/xmpp/xmpptask.h",
|
| + ]
|
| + sources -= [
|
| + # Compiled as part of libjingle_p2p_constants.
|
| + "${libjingle_source}/talk/p2p/base/constants.cc",
|
| + "${libjingle_source}/talk/p2p/base/constants.h",
|
| + ]
|
| + deps = [
|
| + # TODO(GYP): Uncomment when WebRTC GN build has settled.
|
| + # "//third_party/webrtc/base:webrtc_base",
|
| + ":libjingle_p2p_constants",
|
| + ":jingle_deps"
|
| + ]
|
| +
|
| + # From libjingle_common.gypi's conditions list.
|
| + if (is_win && !nacl_untrusted_build) {
|
| + cflags += [ "/wd4005", "\wd4267" ]
|
| + }
|
| +
|
| + forward_dependent_configs_from = [
|
| + ":jingle_deps"
|
| + ]
|
| + configs += [
|
| + ":jingle_unexported_configs"
|
| + ]
|
| + direct_dependent_configs = [
|
| + ":jingle_direct_dependent_configs",
|
| + ]
|
| + all_dependent_configs = [
|
| + ":jingle_all_dependent_configs",
|
| + ]
|
| +}
|
| +
|
| +# 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).
|
| +#
|
| +# GYP version: third_party/libjingle.gyp:libjingle_p2p_constants
|
| +static_library("libjingle_p2p_constants") {
|
| + sources = [
|
| + "${libjingle_source}/talk/p2p/base/constants.cc",
|
| + "${libjingle_source}/talk/p2p/base/constants.h",
|
| + ]
|
| + deps = [
|
| + ":jingle_deps",
|
| + ]
|
| + forward_dependent_configs_from = [
|
| + ":jingle_deps",
|
| + ]
|
| + configs += [
|
| + ":jingle_unexported_configs"
|
| + ]
|
| + direct_dependent_configs = [
|
| + ":jingle_direct_dependent_configs",
|
| + ]
|
| + all_dependent_configs = [
|
| + ":jingle_all_dependent_configs",
|
| + ]
|
| +}
|
| +
|
| +# GYP version: third_party/libjingle.gyp:peerconnnection_server
|
| +#TODO(GYP): Switch to executable when WebRTC dependency is resolved.
|
| +source_set("peerconnnection_server") {
|
| + 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}",
|
| + ]
|
| + deps = [
|
| + ":libjingle",
|
| + ":jingle_deps",
|
| + ]
|
| + forward_dependent_configs_from = [
|
| + ":jingle_deps",
|
| + ]
|
| + configs += [
|
| + ":jingle_unexported_configs"
|
| + ]
|
| + direct_dependent_configs = [
|
| + ":jingle_direct_dependent_configs",
|
| + ]
|
| + all_dependent_configs = [
|
| + ":jingle_all_dependent_configs",
|
| + ]
|
| + if (is_win) {
|
| + # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
|
| + cflags += [ "/wd4309" ]
|
| + }
|
| +}
|
| +
|
| +# TODO(GYP): Port libjingle.gyp's enable_webrtc condition block.
|
|
|