Chromium Code Reviews| Index: third_party/xmpp/BUILD.gn |
| diff --git a/third_party/xmpp/BUILD.gn b/third_party/xmpp/BUILD.gn |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..43249ceb8892c1fa65c0f0045f9280af38d17227 |
| --- /dev/null |
| +++ b/third_party/xmpp/BUILD.gn |
| @@ -0,0 +1,198 @@ |
| +# Copyright 2016 The Chromium Authors. All rights reserved. |
|
Sergey Ulanov
2016/12/20 20:36:38
I'm not sure we need to separate directories in th
kjellander_chromium
2016/12/21 14:46:22
Good idea. I've done that in the new patch set.
|
| +# Use of this source code is governed by a BSD-style license that can be |
| +# found in the LICENSE file. |
| + |
| +import("../webrtc/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_static_library("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 = [ |
| + "//third_party/webrtc/base:rtc_base", |
| + "//third_party/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 (!build_with_chromium && is_clang) { |
| + # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). |
| + 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" ] |
| + } |
| +} |
| + |
| +if (rtc_include_tests) { |
| + config("xmpp_unittests_config") { |
| + # GN orders flags on a target before flags from configs. The default config |
| + # adds -Wall, and this flag have to be after -Wall -- so they need to |
| + # come from a config and can"t be on the target directly. |
| + if (is_clang) { |
| + cflags = [ |
| + "-Wno-missing-braces", |
| + "-Wno-sign-compare", |
| + "-Wno-unused-const-variable", |
| + ] |
| + } |
| + } |
| + |
| + rtc_test("xmpp_unittests") { |
| + configs += [ ":xmpp_unittests_config" ] |
| + |
| + if (!build_with_chromium && is_clang) { |
| + # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). |
| + suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] |
| + } |
| + |
| + deps = [ |
| + ":rtc_xmpp", |
| + "//testing/gtest", |
| + "//third_party/webrtc/base:rtc_base_tests_utils", |
| + ] |
| + |
| + sources = [ |
| + "fakexmppclient.h", |
| + "hangoutpubsubclient_unittest.cc", |
| + "jid_unittest.cc", |
| + "mucroomconfigtask_unittest.cc", |
| + "mucroomdiscoverytask_unittest.cc", |
| + "mucroomlookuptask_unittest.cc", |
| + "mucroomuniquehangoutidtask_unittest.cc", |
| + "pingtask_unittest.cc", |
| + "pubsubclient_unittest.cc", |
| + "pubsubtasks_unittest.cc", |
| + "util_unittest.cc", |
| + "util_unittest.h", |
| + "xmppengine_unittest.cc", |
| + "xmpplogintask_unittest.cc", |
| + "xmppstanzaparser_unittest.cc", |
| + ] |
| + } |
| +} |