Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(371)

Unified Diff: webrtc/pc/BUILD.gn

Issue 2514883002: Create //webrtc/api:libjingle_peerconnection_api + refactorings. (Closed)
Patch Set: Rebase Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webrtc/p2p/base/p2ptransportchannel_unittest.cc ('k') | webrtc/pc/DEPS » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/pc/BUILD.gn
diff --git a/webrtc/pc/BUILD.gn b/webrtc/pc/BUILD.gn
index f2bdbc3568ad800af5af95a296a6613bf6ff7800..5c4d87c677ee08fb48ffce2415f5f77160f8943c 100644
--- a/webrtc/pc/BUILD.gn
+++ b/webrtc/pc/BUILD.gn
@@ -7,6 +7,10 @@
# be found in the AUTHORS file in the root of the source tree.
import("../build/webrtc.gni")
+if (is_android) {
+ import("//build/config/android/config.gni")
+ import("//build/config/android/rules.gni")
+}
group("pc") {
public_deps = [
@@ -69,6 +73,100 @@ rtc_static_library("rtc_pc") {
}
}
+config("libjingle_peerconnection_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_win && !is_clang) {
+ cflags = [ "-Wno-maybe-uninitialized" ] # Only exists for GCC.
+ }
+}
+
+rtc_static_library("libjingle_peerconnection") {
+ check_includes = false # TODO(kjellander): Remove (bugs.webrtc.org/6828)
+ cflags = []
+ sources = [
+ "audiotrack.cc",
+ "audiotrack.h",
+ "datachannel.cc",
+ "datachannel.h",
+ "dtmfsender.cc",
+ "dtmfsender.h",
+ "jsepicecandidate.cc",
+ "jsepsessiondescription.cc",
+ "localaudiosource.cc",
+ "localaudiosource.h",
+ "mediacontroller.cc",
+ "mediacontroller.h",
+ "mediastream.cc",
+ "mediastream.h",
+ "mediastreamobserver.cc",
+ "mediastreamobserver.h",
+ "mediastreamtrack.h",
+ "ortcfactory.cc",
+ "ortcfactory.h",
+ "peerconnection.cc",
+ "peerconnection.h",
+ "peerconnectionfactory.cc",
+ "peerconnectionfactory.h",
+ "remoteaudiosource.cc",
+ "remoteaudiosource.h",
+ "rtcstatscollector.cc",
+ "rtcstatscollector.h",
+ "rtpreceiver.cc",
+ "rtpreceiver.h",
+ "rtpsender.cc",
+ "rtpsender.h",
+ "sctputils.cc",
+ "sctputils.h",
+ "statscollector.cc",
+ "statscollector.h",
+ "streamcollection.h",
+ "videocapturertracksource.cc",
+ "videocapturertracksource.h",
+ "videotrack.cc",
+ "videotrack.h",
+ "videotracksource.cc",
+ "videotracksource.h",
+ "webrtcsdp.cc",
+ "webrtcsdp.h",
+ "webrtcsession.cc",
+ "webrtcsession.h",
+ "webrtcsessiondescriptionfactory.cc",
+ "webrtcsessiondescriptionfactory.h",
+ ]
+
+ configs += [ ":libjingle_peerconnection_warnings_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_pc",
+ "../api:call_api",
+ "../api:libjingle_peerconnection_api",
+ "../api:rtc_stats_api",
+ "../call",
+ "../media",
+ "../stats",
+ ]
+
+ if (rtc_use_quic) {
+ sources += [
+ "quicdatachannel.cc",
+ "quicdatachannel.h",
+ "quicdatatransport.cc",
+ "quicdatatransport.h",
+ ]
+ deps += [ "//third_party/libquic" ]
+ public_deps = [
+ "//third_party/libquic",
+ ]
+ }
+}
+
if (rtc_include_tests) {
config("rtc_pc_unittests_config") {
# GN orders flags on a target before flags from configs. The default config
@@ -106,8 +204,8 @@ if (rtc_include_tests) {
}
deps = [
+ ":libjingle_peerconnection",
":rtc_pc",
- "../api:libjingle_peerconnection",
"../base:rtc_base_tests_utils",
"../media:rtc_unittest_main",
"../system_wrappers:metrics_default",
@@ -121,4 +219,130 @@ if (rtc_include_tests) {
deps += [ "//testing/android/native_test:native_test_support" ]
}
}
+
+ 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 = [
+ # See https://bugs.chromium.org/p/webrtc/issues/detail?id=6267
+ # for -Wno-sign-compare
+ "-Wno-sign-compare",
+ "-Wno-unused-function",
+ ]
+ }
+
+ if (!is_win) {
+ cflags = [ "-Wno-sign-compare" ]
+ }
+ }
+
+ rtc_test("peerconnection_unittests") {
+ check_includes = false # TODO(kjellander): Remove (bugs.webrtc.org/6828)
+ testonly = true
+ sources = [
+ "datachannel_unittest.cc",
+ "dtmfsender_unittest.cc",
+ "fakemediacontroller.h",
+ "jsepsessiondescription_unittest.cc",
+ "localaudiosource_unittest.cc",
+ "mediaconstraintsinterface_unittest.cc",
+ "mediastream_unittest.cc",
+ "ortcfactory_unittest.cc",
+ "peerconnection_unittest.cc",
+ "peerconnectionendtoend_unittest.cc",
+ "peerconnectionfactory_unittest.cc",
+ "peerconnectioninterface_unittest.cc",
+ "proxy_unittest.cc",
+ "rtcstats_integrationtest.cc",
+ "rtcstatscollector_unittest.cc",
+ "rtpsenderreceiver_unittest.cc",
+ "sctputils_unittest.cc",
+ "statscollector_unittest.cc",
+ "test/fakeaudiocapturemodule.cc",
+ "test/fakeaudiocapturemodule.h",
+ "test/fakeaudiocapturemodule_unittest.cc",
+ "test/fakedatachannelprovider.h",
+ "test/fakeperiodicvideocapturer.h",
+ "test/fakertccertificategenerator.h",
+ "test/fakevideotrackrenderer.h",
+ "test/fakevideotracksource.h",
+ "test/mock_datachannel.h",
+ "test/mock_peerconnection.h",
+ "test/mock_webrtcsession.h",
+ "test/mockpeerconnectionobservers.h",
+ "test/peerconnectiontestwrapper.cc",
+ "test/peerconnectiontestwrapper.h",
+ "test/rtcstatsobtainer.h",
+ "test/testsdpstrings.h",
+ "videocapturertracksource_unittest.cc",
+ "videotrack_unittest.cc",
+ "webrtcsdp_unittest.cc",
+ "webrtcsession_unittest.cc",
+ ]
+
+ if (rtc_enable_sctp) {
+ defines = [ "HAVE_SCTP" ]
+ }
+
+ configs += [ ":peerconnection_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" ]
+ }
+
+ # 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 += [
+ "//testing/android/native_test:native_test_support",
+ "//webrtc/sdk/android:libjingle_peerconnection_java",
+ "//webrtc/sdk/android:libjingle_peerconnection_jni",
+ ]
+ }
+
+ deps += [
+ ":libjingle_peerconnection",
+ "..:webrtc_common",
+ "../api:fakemetricsobserver",
+ "../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" ]
+
+ shard_timeout = 900
+ }
+ }
}
« no previous file with comments | « webrtc/p2p/base/p2ptransportchannel_unittest.cc ('k') | webrtc/pc/DEPS » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698