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

Side by Side Diff: webrtc/pc/BUILD.gn

Issue 2854123003: Build WebRTC with data channel only. (Closed)
Patch Set: More modular apporach. Proof of concept. Need more work. Created 3 years, 7 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 unified diff | Download patch
OLDNEW
1 # Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. 1 # Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
2 # 2 #
3 # Use of this source code is governed by a BSD-style license 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 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 5 # tree. An additional intellectual property rights grant can be found
6 # in the file PATENTS. All contributing project authors may 6 # in the file PATENTS. All contributing project authors may
7 # be found in the AUTHORS file in the root of the source tree. 7 # be found in the AUTHORS file in the root of the source tree.
8 8
9 import("../webrtc.gni") 9 import("../webrtc.gni")
10 if (is_android) { 10 if (is_android) {
11 import("//build/config/android/config.gni") 11 import("//build/config/android/config.gni")
12 import("//build/config/android/rules.gni") 12 import("//build/config/android/rules.gni")
13 } 13 }
14 14
15 group("pc") { 15 group("pc") {
16 public_deps = [ 16 public_deps = [
17 ":rtc_pc", 17 ":rtc_pc",
18 ] 18 ]
19 } 19 }
20 20
21 config("rtc_pc_config") { 21 config("rtc_pc_config") {
22 defines = [] 22 defines = []
23 if (rtc_enable_sctp) { 23 if (rtc_enable_sctp) {
24 defines += [ "HAVE_SCTP" ] 24 defines += [ "HAVE_SCTP" ]
25 } 25 }
26 } 26 }
27 27
28 rtc_static_library("rtc_pc") { 28 rtc_static_library("rtc_pc_audio") {
29 sources = [
30 "channel_audio.cc",
31 ]
32
33 deps = [
34 "../media:rtc_audio_video",
35 ]
36 }
37
38 rtc_static_library("rtc_pc_audio_nullimpl") {
39 sources = [
40 "channel_audio_nullimpl.cc",
41 ]
42 }
43
44 rtc_static_library("rtc_pc_base") {
29 defines = [] 45 defines = []
30 sources = [ 46 sources = [
31 "audiomonitor.cc", 47 "audiomonitor.cc",
32 "audiomonitor.h", 48 "audiomonitor.h",
33 "bundlefilter.cc", 49 "bundlefilter.cc",
34 "bundlefilter.h", 50 "bundlefilter.h",
35 "channel.cc", 51 "channel.cc",
36 "channel.h", 52 "channel.h",
37 "channelmanager.cc", 53 "channelmanager.cc",
38 "channelmanager.h", 54 "channelmanager.h",
(...skipping 10 matching lines...) Expand all
49 "rtptransport.cc", 65 "rtptransport.cc",
50 "rtptransport.h", 66 "rtptransport.h",
51 "srtpfilter.cc", 67 "srtpfilter.cc",
52 "srtpfilter.h", 68 "srtpfilter.h",
53 "voicechannel.h", 69 "voicechannel.h",
54 ] 70 ]
55 71
56 deps = [ 72 deps = [
57 "../api:call_api", 73 "../api:call_api",
58 "../base:rtc_base", 74 "../base:rtc_base",
59 "../media", 75 "../media:rtc_media",
60 ] 76 ]
61 77
62 if (rtc_build_libsrtp) { 78 if (rtc_build_libsrtp) {
63 deps += [ "//third_party/libsrtp" ] 79 deps += [ "//third_party/libsrtp" ]
64 } 80 }
65 81
66 public_configs = [ ":rtc_pc_config" ] 82 public_configs = [ ":rtc_pc_config" ]
67 83
68 if (!build_with_chromium && is_clang) { 84 if (!build_with_chromium && is_clang) {
69 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). 85 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
70 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] 86 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
71 } 87 }
72 } 88 }
73 89
90 # TODO(zhihuang): Remove this once the downstream dependencies start using the
91 # modular targets.
92 rtc_static_library("rtc_pc") {
93 deps = [
94 ":rtc_pc_audio",
95 ":rtc_pc_base",
96 ]
97 }
98
74 config("libjingle_peerconnection_warnings_config") { 99 config("libjingle_peerconnection_warnings_config") {
75 # GN orders flags on a target before flags from configs. The default config 100 # GN orders flags on a target before flags from configs. The default config
76 # adds these flags so to cancel them out they need to come from a config and 101 # adds these flags so to cancel them out they need to come from a config and
77 # cannot be on the target directly. 102 # cannot be on the target directly.
78 if (!is_win && !is_clang) { 103 if (!is_win && !is_clang) {
79 cflags = [ "-Wno-maybe-uninitialized" ] # Only exists for GCC. 104 cflags = [ "-Wno-maybe-uninitialized" ] # Only exists for GCC.
80 } 105 }
81 } 106 }
82 107
108 rtc_static_library("libjingle_peerconnection_audio") {
Zhi Huang 2017/05/18 03:55:38 Use this when building with audio.
pthatcher 2017/05/18 17:50:26 Perhaps a better name would be "audio".
Zhi Huang 2017/05/23 03:40:35 We already have a target named "audio" and I'll na
109 sources = [
110 "peerconnectionfactory_audio.cc",
111 ]
112
113 public_deps = [
114 ":rtc_pc_audio",
115 ]
116 }
117
118 rtc_static_library("libjingle_peerconnection_audio_nullimpl") {
119 sources = [
120 "peerconnectionfactory_audio_nullimpl.cc",
121 ]
122
123 public_deps = [
124 ":rtc_pc_audio_nullimpl",
125 ]
126 }
127
pthatcher 2017/05/18 17:50:26 And "null_audio"
128 rtc_static_library("libjingle_peerconnection_media_nullimpl") {
129 sources = [
130 "peerconnection_media_nullimpl.cc",
131 "peerconnectionfactory_media_nullimpl.cc",
132 ]
133 }
134
135 rtc_static_library("libjingle_peerconnection_media") {
Zhi Huang 2017/05/18 03:55:38 Use this when build with either audio or video.
136 sources = [
137 "peerconnection_media.cc",
138 "peerconnectionfactory_media.cc",
139 ]
140
141 deps = [
142 "../call",
143 ]
144 }
145
146 rtc_static_library("libjingle_peerconnection_base") {
Zhi Huang 2017/05/18 03:55:38 The target without audio and video.
pthatcher 2017/05/18 17:50:26 This could be just "base"
147 cflags = []
148 sources = [
149 "audiotrack.cc",
150 "audiotrack.h",
151 "datachannel.cc",
152 "datachannel.h",
153 "dtmfsender.cc",
154 "dtmfsender.h",
155 "iceserverparsing.cc",
156 "iceserverparsing.h",
157 "jsepicecandidate.cc",
158 "jsepsessiondescription.cc",
159 "localaudiosource.cc",
160 "localaudiosource.h",
161 "mediastream.cc",
162 "mediastream.h",
163 "mediastreamobserver.cc",
164 "mediastreamobserver.h",
165 "mediastreamtrack.h",
166 "peerconnection.cc",
167 "peerconnection.h",
168 "peerconnectionfactory.cc",
169 "peerconnectionfactory.h",
170 "remoteaudiosource.cc",
171 "remoteaudiosource.h",
172 "rtcstatscollector.cc",
173 "rtcstatscollector.h",
174 "rtpreceiver.cc",
175 "rtpreceiver.h",
176 "rtpsender.cc",
177 "rtpsender.h",
178 "sctputils.cc",
179 "sctputils.h",
180 "statscollector.cc",
181 "statscollector.h",
182 "streamcollection.h",
183 "trackmediainfomap.cc",
184 "trackmediainfomap.h",
185 "videocapturertracksource.cc",
186 "videocapturertracksource.h",
187 "videotrack.cc",
188 "videotrack.h",
189 "videotracksource.cc",
190 "videotracksource.h",
191 "webrtcsdp.cc",
192 "webrtcsdp.h",
193 "webrtcsession.cc",
194 "webrtcsession.h",
195 "webrtcsessiondescriptionfactory.cc",
196 "webrtcsessiondescriptionfactory.h",
197 ]
198
199 configs += [ ":libjingle_peerconnection_warnings_config" ]
200
201 if (!build_with_chromium && is_clang) {
202 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
203 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
204 }
205
206 deps = [
207 ":rtc_pc_base",
208 "../api:call_api",
209 "../api:rtc_stats_api",
210 "../api/video_codecs:video_codecs_api",
211 "../logging:rtc_event_log_api",
212 "../stats",
213 ]
214
215 public_deps = [
216 "../api:libjingle_peerconnection_api",
217 ]
218 }
219
220 # TODO(zhihuang): Remove this once the downstream dependencies start using the
221 # modular targets.
Taylor Brandstetter 2017/05/18 17:57:05 Couldn't this target just be defined in terms of t
Zhi Huang 2017/05/23 03:40:35 Done.
83 rtc_static_library("libjingle_peerconnection") { 222 rtc_static_library("libjingle_peerconnection") {
84 cflags = [] 223 cflags = []
85 sources = [ 224 sources = [
86 "audiotrack.cc", 225 "audiotrack.cc",
87 "audiotrack.h", 226 "audiotrack.h",
88 "datachannel.cc", 227 "datachannel.cc",
89 "datachannel.h", 228 "datachannel.h",
90 "dtmfsender.cc", 229 "dtmfsender.cc",
91 "dtmfsender.h", 230 "dtmfsender.h",
92 "iceserverparsing.cc", 231 "iceserverparsing.cc",
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after
362 "//testing/gmock", 501 "//testing/gmock",
363 ] 502 ]
364 503
365 if (is_android) { 504 if (is_android) {
366 deps += [ "//testing/android/native_test:native_test_support" ] 505 deps += [ "//testing/android/native_test:native_test_support" ]
367 506
368 shard_timeout = 900 507 shard_timeout = 900
369 } 508 }
370 } 509 }
371 } 510 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698