Index: webrtc/api/BUILD.gn |
diff --git a/webrtc/api/BUILD.gn b/webrtc/api/BUILD.gn |
index 6dc52174ece78864521e0f41c1ad48129ff6c7b2..f84010d309dd4a96e6b49d0d77edcaf2382d66d4 100644 |
--- a/webrtc/api/BUILD.gn |
+++ b/webrtc/api/BUILD.gn |
@@ -7,3 +7,130 @@ |
# be found in the AUTHORS file in the root of the source tree. |
import("../build/webrtc.gni") |
+ |
+group("api") { |
+ deps = [ |
+ ":libjingle_peerconnection", |
+ ] |
+} |
+ |
+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) { |
+ cflags = [ "-Wno-sign-compare" ] |
+ if (!is_clang) { |
+ cflags += [ "-Wno-maybe-uninitialized" ] # Only exists for GCC. |
+ } |
+ } |
+} |
+ |
+source_set("libjingle_peerconnection") { |
+ cflags = [] |
+ sources = [ |
+ "audiotrack.cc", |
+ "audiotrack.h", |
+ "datachannel.cc", |
+ "datachannel.h", |
+ "datachannelinterface.h", |
+ "dtlsidentitystore.cc", |
+ "dtlsidentitystore.h", |
+ "dtmfsender.cc", |
+ "dtmfsender.h", |
+ "dtmfsenderinterface.h", |
+ "jsep.h", |
+ "jsepicecandidate.cc", |
+ "jsepicecandidate.h", |
+ "jsepsessiondescription.cc", |
+ "jsepsessiondescription.h", |
+ "localaudiosource.cc", |
+ "localaudiosource.h", |
+ "mediaconstraintsinterface.cc", |
+ "mediaconstraintsinterface.h", |
+ "mediacontroller.cc", |
+ "mediacontroller.h", |
+ "mediastream.cc", |
+ "mediastream.h", |
+ "mediastreaminterface.h", |
+ "mediastreamobserver.cc", |
+ "mediastreamobserver.h", |
+ "mediastreamprovider.h", |
+ "mediastreamproxy.h", |
+ "mediastreamtrack.h", |
+ "mediastreamtrackproxy.h", |
+ "notifier.h", |
+ "peerconnection.cc", |
+ "peerconnection.h", |
+ "peerconnectionfactory.cc", |
+ "peerconnectionfactory.h", |
+ "peerconnectionfactoryproxy.h", |
+ "peerconnectioninterface.h", |
+ "peerconnectionproxy.h", |
+ "proxy.h", |
+ "remoteaudiosource.cc", |
+ "remoteaudiosource.h", |
+ "rtpparameters.h", |
+ "rtpreceiver.cc", |
+ "rtpreceiver.h", |
+ "rtpreceiverinterface.h", |
+ "rtpsender.cc", |
+ "rtpsender.h", |
+ "rtpsenderinterface.h", |
+ "sctputils.cc", |
+ "sctputils.h", |
+ "statscollector.cc", |
+ "statscollector.h", |
+ "statstypes.cc", |
+ "statstypes.h", |
+ "streamcollection.h", |
+ "videocapturertracksource.cc", |
+ "videocapturertracksource.h", |
+ "videosourceproxy.h", |
+ "videotrack.cc", |
+ "videotrack.h", |
+ "videotracksource.cc", |
+ "videotracksource.h", |
+ "webrtcsdp.cc", |
+ "webrtcsdp.h", |
+ "webrtcsession.cc", |
+ "webrtcsession.h", |
+ "webrtcsessiondescriptionfactory.cc", |
+ "webrtcsessiondescriptionfactory.h", |
+ ] |
+ |
+ configs += [ |
+ "..:common_config", |
+ ":libjingle_peerconnection_warnings_config", |
+ ] |
+ 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" ] |
+ configs -= [ "//build/config/clang:find_bad_constructs" ] |
+ } |
+ |
+ if (is_win) { |
+ cflags += [ "/wd4389" ] # signed/unsigned mismatch. |
+ } |
+ |
+ deps = [ |
+ "../media", |
+ "../pc", |
+ ] |
+ |
+ if (rtc_use_quic) { |
+ sources += [ |
+ "quicdatachannel.cc", |
+ "quicdatachannel.h", |
+ "quicdatatransport.cc", |
+ "quicdatatransport.h", |
+ ] |
+ deps += [ "//third_party/libquic" ] |
+ public_deps = [ |
+ "//third_party/libquic", |
+ ] |
+ } |
+} |