blob: 43a39aa7eb6024bfe73be75b1a7fb896b496c7bb [file] [log] [blame]
# Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
#
# Use of this source code is governed by a BSD-style license
# that can be found in the LICENSE file in the root of the source
# tree. An additional intellectual property rights grant can be found
# in the file PATENTS. All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.
import("../../build/webrtc.gni")
group("xmpp") {
public_deps = [
":rtc_xmpp",
]
}
config("xmpp_warnings_config") {
# GN orders flags on a target before flags from configs. The default config
# adds these flags so to cancel them out they need to come from a config and
# cannot be on the target directly.
if (is_android) {
cflags = [ "-Wno-error" ]
}
}
config("xmpp_inherited_config") {
defines = [
"FEATURE_ENABLE_SSL",
"FEATURE_ENABLE_VOICEMAIL",
]
}
rtc_source_set("rtc_xmpp") {
cflags = []
sources = [
"asyncsocket.h",
"constants.cc",
"constants.h",
"jid.cc",
"jid.h",
"plainsaslhandler.h",
"prexmppauth.h",
"saslcookiemechanism.h",
"saslhandler.h",
"saslmechanism.cc",
"saslmechanism.h",
"saslplainmechanism.h",
"xmppclient.cc",
"xmppclient.h",
"xmppclientsettings.h",
"xmppengine.h",
"xmppengineimpl.cc",
"xmppengineimpl.h",
"xmppengineimpl_iq.cc",
"xmpplogintask.cc",
"xmpplogintask.h",
"xmppstanzaparser.cc",
"xmppstanzaparser.h",
"xmpptask.cc",
"xmpptask.h",
]
defines = [ "FEATURE_ENABLE_SSL" ]
deps = [
"../../base:rtc_base",
"../xmllite",
]
if (rtc_build_expat) {
deps += [ "//third_party/expat" ]
public_deps = [
"//third_party/expat",
]
}
configs += [ ":xmpp_warnings_config" ]
public_configs = [ ":xmpp_inherited_config" ]
if (build_with_chromium) {
if (is_nacl) {
deps += [ "//native_client_sdk/src/libraries/nacl_io" ]
}
} else {
sources += [
"chatroommodule.h",
"chatroommoduleimpl.cc",
"discoitemsquerytask.cc",
"discoitemsquerytask.h",
"hangoutpubsubclient.cc",
"hangoutpubsubclient.h",
"iqtask.cc",
"iqtask.h",
"module.h",
"moduleimpl.cc",
"moduleimpl.h",
"mucroomconfigtask.cc",
"mucroomconfigtask.h",
"mucroomdiscoverytask.cc",
"mucroomdiscoverytask.h",
"mucroomlookuptask.cc",
"mucroomlookuptask.h",
"mucroomuniquehangoutidtask.cc",
"mucroomuniquehangoutidtask.h",
"pingtask.cc",
"pingtask.h",
"presenceouttask.cc",
"presenceouttask.h",
"presencereceivetask.cc",
"presencereceivetask.h",
"presencestatus.cc",
"presencestatus.h",
"pubsub_task.cc",
"pubsub_task.h",
"pubsubclient.cc",
"pubsubclient.h",
"pubsubstateclient.cc",
"pubsubstateclient.h",
"pubsubtasks.cc",
"pubsubtasks.h",
"receivetask.cc",
"receivetask.h",
"rostermodule.h",
"rostermoduleimpl.cc",
"rostermoduleimpl.h",
"xmppauth.cc",
"xmppauth.h",
"xmpppump.cc",
"xmpppump.h",
"xmppsocket.cc",
"xmppsocket.h",
"xmppthread.cc",
"xmppthread.h",
]
defines += [
"FEATURE_ENABLE_VOICEMAIL",
"FEATURE_ENABLE_PSTN",
]
if (is_clang) {
# Suppress warnings from Chrome's Clang plugins.
# See http://code.google.com/p/webrtc/issues/detail?id=163 for details.
suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
}
}
if (is_posix && is_debug) {
# The Chromium build/common.gypi defines this for all posix
# _except_ for ios & mac. We want it there as well, e.g.
# because ASSERT and friends trigger off of it.
defines += [ "_DEBUG" ]
}
}