blob: ecef934a3e610e6b3db3071ae165bdfc149b08d3 [file] [log] [blame]
hjonaa32c3e2015-12-13 19:58:11 -08001# Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
2#
3# Use of this source code is governed by a BSD-style license
4# that can be found in the LICENSE file in the root of the source
5# tree. An additional intellectual property rights grant can be found
6# in the file PATENTS. All contributing project authors may
7# be found in the AUTHORS file in the root of the source tree.
8
9import("../build/webrtc.gni")
kjellanderc76dc952016-06-03 03:09:32 -070010
11group("api") {
12 deps = [
13 ":libjingle_peerconnection",
14 ]
15}
16
17config("libjingle_peerconnection_warnings_config") {
18 # GN orders flags on a target before flags from configs. The default config
19 # adds these flags so to cancel them out they need to come from a config and
20 # cannot be on the target directly.
21 if (!is_win) {
22 cflags = [ "-Wno-sign-compare" ]
23 if (!is_clang) {
24 cflags += [ "-Wno-maybe-uninitialized" ] # Only exists for GCC.
25 }
26 }
27}
28
29source_set("libjingle_peerconnection") {
30 cflags = []
31 sources = [
32 "audiotrack.cc",
33 "audiotrack.h",
34 "datachannel.cc",
35 "datachannel.h",
36 "datachannelinterface.h",
kjellanderc76dc952016-06-03 03:09:32 -070037 "dtlsidentitystore.h",
38 "dtmfsender.cc",
39 "dtmfsender.h",
40 "dtmfsenderinterface.h",
41 "jsep.h",
42 "jsepicecandidate.cc",
43 "jsepicecandidate.h",
44 "jsepsessiondescription.cc",
45 "jsepsessiondescription.h",
46 "localaudiosource.cc",
47 "localaudiosource.h",
48 "mediaconstraintsinterface.cc",
49 "mediaconstraintsinterface.h",
50 "mediacontroller.cc",
51 "mediacontroller.h",
52 "mediastream.cc",
53 "mediastream.h",
54 "mediastreaminterface.h",
55 "mediastreamobserver.cc",
56 "mediastreamobserver.h",
57 "mediastreamprovider.h",
58 "mediastreamproxy.h",
59 "mediastreamtrack.h",
60 "mediastreamtrackproxy.h",
61 "notifier.h",
62 "peerconnection.cc",
63 "peerconnection.h",
64 "peerconnectionfactory.cc",
65 "peerconnectionfactory.h",
66 "peerconnectionfactoryproxy.h",
67 "peerconnectioninterface.h",
68 "peerconnectionproxy.h",
69 "proxy.h",
70 "remoteaudiosource.cc",
71 "remoteaudiosource.h",
72 "rtpparameters.h",
73 "rtpreceiver.cc",
74 "rtpreceiver.h",
75 "rtpreceiverinterface.h",
76 "rtpsender.cc",
77 "rtpsender.h",
78 "rtpsenderinterface.h",
79 "sctputils.cc",
80 "sctputils.h",
81 "statscollector.cc",
82 "statscollector.h",
83 "statstypes.cc",
84 "statstypes.h",
85 "streamcollection.h",
86 "videocapturertracksource.cc",
87 "videocapturertracksource.h",
88 "videosourceproxy.h",
89 "videotrack.cc",
90 "videotrack.h",
91 "videotracksource.cc",
92 "videotracksource.h",
93 "webrtcsdp.cc",
94 "webrtcsdp.h",
95 "webrtcsession.cc",
96 "webrtcsession.h",
97 "webrtcsessiondescriptionfactory.cc",
98 "webrtcsessiondescriptionfactory.h",
99 ]
100
101 configs += [
102 "..:common_config",
103 ":libjingle_peerconnection_warnings_config",
104 ]
105 public_configs = [ "..:common_inherited_config" ]
106
107 if (is_clang) {
108 # Suppress warnings from Chrome's Clang plugins.
109 # See http://code.google.com/p/webrtc/issues/detail?id=163 for details.
110 configs -= [ "//build/config/clang:extra_warnings" ]
111 configs -= [ "//build/config/clang:find_bad_constructs" ]
112 }
113
114 if (is_win) {
115 cflags += [ "/wd4389" ] # signed/unsigned mismatch.
116 }
117
118 deps = [
katrielc14897d02016-06-03 13:14:28 -0700119 "../call",
kjellanderc76dc952016-06-03 03:09:32 -0700120 "../media",
121 "../pc",
122 ]
123
124 if (rtc_use_quic) {
125 sources += [
126 "quicdatachannel.cc",
127 "quicdatachannel.h",
128 "quicdatatransport.cc",
129 "quicdatatransport.h",
130 ]
131 deps += [ "//third_party/libquic" ]
132 public_deps = [
133 "//third_party/libquic",
134 ]
135 }
136}