| Index: webrtc/api/BUILD.gn
|
| diff --git a/webrtc/api/BUILD.gn b/webrtc/api/BUILD.gn
|
| index ecef934a3e610e6b3db3071ae165bdfc149b08d3..cb3066eae69a3b0a580e4658a14b6cf76044d799 100644
|
| --- a/webrtc/api/BUILD.gn
|
| +++ b/webrtc/api/BUILD.gn
|
| @@ -7,6 +7,7 @@
|
| # be found in the AUTHORS file in the root of the source tree.
|
|
|
| import("../build/webrtc.gni")
|
| +import("//testing/test.gni")
|
|
|
| group("api") {
|
| deps = [
|
| @@ -105,9 +106,7 @@ source_set("libjingle_peerconnection") {
|
| public_configs = [ "..:common_inherited_config" ]
|
|
|
| if (is_clang) {
|
| - # Suppress warnings from Chrome's Clang plugins.
|
| - # See http://code.google.com/p/webrtc/issues/detail?id=163 for details.
|
| - configs -= [ "//build/config/clang:extra_warnings" ]
|
| + # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
|
| configs -= [ "//build/config/clang:find_bad_constructs" ]
|
| }
|
|
|
| @@ -134,3 +133,197 @@ source_set("libjingle_peerconnection") {
|
| ]
|
| }
|
| }
|
| +
|
| +if (is_android) {
|
| + config("libjingle_peerconnection_jni_warnings_config") {
|
| + # The warnings below are enabled by default. Since GN orders compiler flags
|
| + # for a target before flags from configs, the only way to disable such
|
| + # warnings is by having them in a separate config, loaded from the target.
|
| + if (!is_win) {
|
| + cflags = [
|
| + "-Wno-sign-compare",
|
| + "-Wno-unused-variable",
|
| + ]
|
| + }
|
| + }
|
| +
|
| + source_set("libjingle_peerconnection_jni") {
|
| + sources = [
|
| + "androidvideocapturer.cc",
|
| + "androidvideocapturer.h",
|
| + "java/jni/androidmediacodeccommon.h",
|
| + "java/jni/androidmediadecoder_jni.cc",
|
| + "java/jni/androidmediadecoder_jni.h",
|
| + "java/jni/androidmediaencoder_jni.cc",
|
| + "java/jni/androidmediaencoder_jni.h",
|
| + "java/jni/androidmetrics_jni.cc",
|
| + "java/jni/androidnetworkmonitor_jni.cc",
|
| + "java/jni/androidnetworkmonitor_jni.h",
|
| + "java/jni/androidvideocapturer_jni.cc",
|
| + "java/jni/androidvideocapturer_jni.h",
|
| + "java/jni/classreferenceholder.cc",
|
| + "java/jni/classreferenceholder.h",
|
| + "java/jni/jni_helpers.cc",
|
| + "java/jni/jni_helpers.h",
|
| + "java/jni/native_handle_impl.cc",
|
| + "java/jni/native_handle_impl.h",
|
| + "java/jni/peerconnection_jni.cc",
|
| + "java/jni/surfacetexturehelper_jni.cc",
|
| + "java/jni/surfacetexturehelper_jni.h",
|
| + ]
|
| +
|
| + configs += [
|
| + "..:common_config",
|
| + ":libjingle_peerconnection_jni_warnings_config",
|
| + ]
|
| + public_configs = [ "..:common_inherited_config" ]
|
| +
|
| + if (is_clang) {
|
| + # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
|
| + configs -= [
|
| + "//build/config/clang:extra_warnings",
|
| + "//build/config/clang:find_bad_constructs",
|
| + ]
|
| + }
|
| +
|
| + # TODO(jschuh): Bug 1348: fix this warning.
|
| + configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
|
| +
|
| + if (is_win) {
|
| + cflags += [
|
| + "/wd4245", # conversion from "int" to "size_t", signed/unsigned mismatch.
|
| + "/wd4389", # signed/unsigned mismatch.
|
| + ]
|
| + }
|
| +
|
| + deps = [
|
| + ":libjingle_peerconnection",
|
| + "../system_wrappers:field_trial_default",
|
| + "../system_wrappers:metrics_default",
|
| + ]
|
| +
|
| + if (rtc_build_libyuv) {
|
| + deps += [ "$rtc_libyuv_dir" ]
|
| + public_deps = [
|
| + "$rtc_libyuv_dir",
|
| + ]
|
| + } else {
|
| + # Need to add a directory normally exported by libyuv.
|
| + include_dirs += [ "$rtc_libyuv_dir/include" ]
|
| + }
|
| + }
|
| +}
|
| +
|
| +if (rtc_include_tests) {
|
| + config("peerconnection_unittests_config") {
|
| + # The warnings below are enabled by default. Since GN orders compiler flags
|
| + # for a target before flags from configs, the only way to disable such
|
| + # warnings is by having them in a separate config, loaded from the target.
|
| + # TODO(kjellander): Make the code compile without disabling these flags.
|
| + # See https://bugs.webrtc.org/3307.
|
| + if (is_clang && is_win) {
|
| + cflags = [ "-Wno-unused-function" ]
|
| + }
|
| +
|
| + if (!is_win) {
|
| + cflags = [ "-Wno-sign-compare" ]
|
| + cflags_cc = [ "-Wno-overloaded-virtual" ]
|
| + }
|
| + }
|
| +
|
| + test("peerconnection_unittests") {
|
| + testonly = true
|
| + sources = [
|
| + "datachannel_unittest.cc",
|
| + "dtmfsender_unittest.cc",
|
| + "fakemetricsobserver.cc",
|
| + "fakemetricsobserver.h",
|
| + "jsepsessiondescription_unittest.cc",
|
| + "localaudiosource_unittest.cc",
|
| + "mediaconstraintsinterface_unittest.cc",
|
| + "mediastream_unittest.cc",
|
| + "peerconnection_unittest.cc",
|
| + "peerconnectionendtoend_unittest.cc",
|
| + "peerconnectionfactory_unittest.cc",
|
| + "peerconnectioninterface_unittest.cc",
|
| + "proxy_unittest.cc",
|
| + "rtpsenderreceiver_unittest.cc",
|
| + "statscollector_unittest.cc",
|
| + "test/fakeaudiocapturemodule.cc",
|
| + "test/fakeaudiocapturemodule.h",
|
| + "test/fakeaudiocapturemodule_unittest.cc",
|
| + "test/fakeconstraints.h",
|
| + "test/fakedatachannelprovider.h",
|
| + "test/fakeperiodicvideocapturer.h",
|
| + "test/fakertccertificategenerator.h",
|
| + "test/fakevideotrackrenderer.h",
|
| + "test/mockpeerconnectionobservers.h",
|
| + "test/peerconnectiontestwrapper.cc",
|
| + "test/peerconnectiontestwrapper.h",
|
| + "test/testsdpstrings.h",
|
| + "videocapturertracksource_unittest.cc",
|
| + "videotrack_unittest.cc",
|
| + "webrtcsdp_unittest.cc",
|
| + "webrtcsession_unittest.cc",
|
| + ]
|
| +
|
| + defines = [ "HAVE_SCTP" ]
|
| +
|
| + configs += [
|
| + "..:common_config",
|
| + ":peerconnection_unittests_config",
|
| + ]
|
| + public_configs = [ "..:common_inherited_config" ]
|
| +
|
| + if (is_clang) {
|
| + # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
|
| + configs -= [ "//build/config/clang:find_bad_constructs" ]
|
| + }
|
| +
|
| + # TODO(jschuh): Bug 1348: fix this warning.
|
| + configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
|
| +
|
| + if (is_win) {
|
| + cflags = [
|
| + "/wd4245", # conversion from int to size_t, signed/unsigned mismatch.
|
| + "/wd4389", # signed/unsigned mismatch.
|
| + ]
|
| + }
|
| +
|
| + if (rtc_use_quic) {
|
| + public_deps = [
|
| + "//third_party/libquic",
|
| + ]
|
| + sources += [
|
| + "quicdatachannel_unittest.cc",
|
| + "quicdatatransport_unittest.cc",
|
| + ]
|
| + }
|
| +
|
| + deps = []
|
| + if (is_android) {
|
| + sources += [
|
| + "test/androidtestinitializer.cc",
|
| + "test/androidtestinitializer.h",
|
| + ]
|
| + deps += [
|
| + ":libjingle_peerconnection_jni",
|
| + "//testing/android/native_test:native_test_support",
|
| + ]
|
| + }
|
| +
|
| + deps += [
|
| + ":libjingle_peerconnection",
|
| + "..:webrtc_common",
|
| + "../base:rtc_base_tests_utils",
|
| + "../media:rtc_unittest_main",
|
| + "../pc:rtc_pc",
|
| + "../system_wrappers:metrics_default",
|
| + "//testing/gmock",
|
| + ]
|
| +
|
| + if (is_android) {
|
| + deps += [ "//testing/android/native_test:native_test_support" ]
|
| + }
|
| + }
|
| +}
|
|
|