| # 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" ] |
| } |
| } |