blob: c2f5d319fd91c1bb51c3351a47af668db71c9cf8 [file] [log] [blame]
henrike@webrtc.orgf0488722014-05-13 18:00:26 +00001# Copyright (c) 2014 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
9{
10 'includes': [ '../build/common.gypi', ],
11 'conditions': [
kjellandera8a7ef62016-04-05 08:13:31 -070012 ['os_posix==1 and OS!="mac" and OS!="ios"', {
henrike@webrtc.orgf0488722014-05-13 18:00:26 +000013 'conditions': [
14 ['sysroot!=""', {
15 'variables': {
16 'pkg-config': '../../../build/linux/pkg-config-wrapper "<(sysroot)" "<(target_arch)"',
17 },
18 }, {
19 'variables': {
20 'pkg-config': 'pkg-config'
21 },
22 }],
23 ],
24 }],
25 ],
26 'targets': [
27 {
andrew@webrtc.org6ae5a6d2014-09-16 01:03:29 +000028 # The subset of rtc_base approved for use outside of libjingle.
29 'target_name': 'rtc_base_approved',
30 'type': 'static_library',
31 'sources': [
maxmorinec623742016-09-15 05:11:55 -070032 'arraysize.h',
Karl Wiberge2a83ee2015-10-26 19:51:29 +010033 'array_view.h',
Peter Boströmff019b02015-04-30 14:16:07 +020034 'atomicops.h',
Tommicc4fdde2016-04-22 19:34:59 +020035 'bind.h',
Noah Richards915590e2015-04-22 15:43:08 -070036 'bitbuffer.cc',
37 'bitbuffer.h',
Karl Wiberg94784372015-04-20 14:03:07 +020038 'buffer.h',
Joachim Bauch6f2ef742015-05-21 17:52:01 +020039 'bufferqueue.cc',
40 'bufferqueue.h',
Noah Richards915590e2015-04-22 15:43:08 -070041 'bytebuffer.cc',
42 'bytebuffer.h',
43 'byteorder.h',
andrew@webrtc.org6ae5a6d2014-09-16 01:03:29 +000044 'checks.cc',
45 'checks.h',
Noah Richards915590e2015-04-22 15:43:08 -070046 'constructormagic.h',
tommiebfbab52016-03-19 11:36:18 -070047 'copyonwritebuffer.cc',
48 'copyonwritebuffer.h',
Tommi494f2092015-04-27 17:39:23 +020049 'criticalsection.cc',
50 'criticalsection.h',
kwiberg45fd9fe2015-12-16 01:09:16 -080051 'deprecation.h',
tommi@webrtc.org4c0fd962015-02-09 10:23:27 +000052 'event.cc',
53 'event.h',
tommi@webrtc.org7c64ed22015-03-17 14:25:37 +000054 'event_tracer.cc',
55 'event_tracer.h',
andrew@webrtc.org6ae5a6d2014-09-16 01:03:29 +000056 'exp_filter.cc',
57 'exp_filter.h',
Viktor Palmkvist4ec6a0c2016-09-02 13:38:32 +020058 'file.cc',
59 'file.h',
ivoc48052312016-08-25 04:43:45 -070060 'format_macros.h',
kwiberg24c7c122016-09-28 11:57:10 -070061 'function_view.h',
Taylor Brandstetter5d97a9a2016-06-10 14:17:27 -070062 'location.h',
63 'location.cc',
andrew@webrtc.org6ae5a6d2014-09-16 01:03:29 +000064 'md5.cc',
65 'md5.h',
kwiberg@webrtc.org67186fe2015-03-09 22:21:53 +000066 'md5digest.cc',
andrew@webrtc.org6ae5a6d2014-09-16 01:03:29 +000067 'md5digest.h',
philipel5ab4c6d2016-03-08 03:36:15 -080068 'mod_ops.h',
skvlad98bb6642016-04-07 15:36:45 -070069 'onetimeevent.h',
kwiberg2b11fd22016-09-09 03:35:24 -070070 'optional.cc',
Karl Wibergbe579832015-11-10 22:34:18 +010071 'optional.h',
xians@webrtc.orge46bc772014-10-10 08:36:56 +000072 'platform_file.cc',
73 'platform_file.h',
Tommibebc6902015-05-18 09:51:42 +020074 'platform_thread.cc',
75 'platform_thread.h',
pbos12411ef2015-11-23 14:47:56 -080076 'platform_thread_types.h',
Peter Boström02bafc62016-07-01 12:45:15 +020077 'race_checker.cc',
78 'race_checker.h',
terelius84e78f92015-12-10 01:50:55 -080079 'random.cc',
80 'random.h',
tkchinf75d0082016-02-23 22:49:42 -080081 'rate_statistics.cc',
82 'rate_statistics.h',
sprangcd349d92016-07-13 09:11:28 -070083 'rate_limiter.cc',
84 'rate_limiter.h',
Peter Boström2ee24392015-06-22 07:57:16 +020085 'ratetracker.cc',
86 'ratetracker.h',
tommi04af8392016-02-14 08:11:10 -080087 'refcount.h',
Tommid44c0772016-03-11 17:12:32 -080088 'safe_conversions.h',
89 'safe_conversions_impl.h',
kwibergac554ee2016-09-02 00:39:33 -070090 'sanitizer.h',
tommi04af8392016-02-14 08:11:10 -080091 'scoped_ref_ptr.h',
andrew@webrtc.org6ae5a6d2014-09-16 01:03:29 +000092 'stringencode.cc',
93 'stringencode.h',
94 'stringutils.cc',
95 'stringutils.h',
terelius85fa7d52016-03-24 01:51:52 -070096 'swap_queue.h',
tommiefefda62015-08-20 05:04:09 -070097 'systeminfo.cc',
98 'systeminfo.h',
kwiberg@webrtc.orgaf9d56f2015-01-13 20:32:04 +000099 'template_util.h',
pbos@webrtc.org38344ed2014-09-24 06:05:00 +0000100 'thread_annotations.h',
tommi@webrtc.org04cd4662015-01-26 15:27:29 +0000101 'thread_checker.h',
102 'thread_checker_impl.cc',
103 'thread_checker_impl.h',
nisse191b3592016-06-22 08:36:53 -0700104 'timestampaligner.cc',
105 'timestampaligner.h',
andrew@webrtc.org6ae5a6d2014-09-16 01:03:29 +0000106 'timeutils.cc',
107 'timeutils.h',
tommi@webrtc.org7c64ed22015-03-17 14:25:37 +0000108 'trace_event.h',
kwibergd3134032016-09-05 07:46:20 -0700109 'type_traits.h',
Noah Richards915590e2015-04-22 15:43:08 -0700110 ],
111 'conditions': [
Viktor Palmkvist4ec6a0c2016-09-02 13:38:32 +0200112 ['os_posix==1', {
113 'sources': [
114 'file_posix.cc',
115 ],
116 }],
117 ['OS=="win"', {
118 'sources': [
119 'file_win.cc',
120 ],
121 }],
Noah Richards915590e2015-04-22 15:43:08 -0700122 ['build_with_chromium==1', {
Peter Boström11e02292015-11-25 21:36:14 +0100123 'dependencies': [
124 '<(DEPTH)/base/base.gyp:base',
125 ],
Noah Richards915590e2015-04-22 15:43:08 -0700126 'include_dirs': [
henrikgee2bf412015-09-30 03:48:52 -0700127 '../../webrtc_overrides',
Noah Richards915590e2015-04-22 15:43:08 -0700128 ],
Peter Boström11e02292015-11-25 21:36:14 +0100129 'sources': [
130 '../../webrtc_overrides/webrtc/base/logging.cc',
131 '../../webrtc_overrides/webrtc/base/logging.h',
132 ],
kjellandera8a7ef62016-04-05 08:13:31 -0700133 }, {
134 'sources': [
Tommi23edcff2015-05-25 10:45:43 +0200135 'logging.cc',
136 'logging.h',
Tommi09ca02e2016-04-24 17:32:48 +0200137 'logging_mac.mm',
Noah Richards915590e2015-04-22 15:43:08 -0700138 ],
tommic06b1332016-05-14 11:31:40 -0700139 }],
tommi09c60da2016-05-24 11:40:35 -0700140 ['OS=="mac" and build_with_chromium==0', {
141 'all_dependent_settings': {
142 'xcode_settings': {
143 'OTHER_LDFLAGS': [
144 # needed for logging_mac.mm
145 '-framework Foundation',
146 ],
147 },
148 },
149 }], # OS=="mac" and build_with_chromium==0
aleloi16f55a12016-08-23 08:08:23 -0700150 ['OS=="android"', {
151 'link_settings': {
152 'libraries': [
153 '-llog',
154 ],
155 },
156 }],
tommi09c60da2016-05-24 11:40:35 -0700157 ],
158 },
159 {
160 'target_name': 'rtc_task_queue',
161 'type': 'static_library',
162 'dependencies': [
163 'rtc_base_approved',
164 ],
165 'sources': [
perkj9c16fe82016-07-12 15:04:07 -0700166 'sequenced_task_checker.h',
167 'sequenced_task_checker_impl.cc',
168 'sequenced_task_checker_impl.h',
tommi09c60da2016-05-24 11:40:35 -0700169 ],
170 'conditions': [
perkj84bd5c72016-08-30 23:01:06 -0700171 ['build_with_chromium==1', {
172 'include_dirs': [
173 '../../webrtc_overrides'
Tommi0bcbbd32016-05-15 13:42:45 +0200174 ],
perkj84bd5c72016-08-30 23:01:06 -0700175 'sources' : [
176 '../../webrtc_overrides/webrtc/base/task_queue.cc',
177 '../../webrtc_overrides/webrtc/base/task_queue.h',
178 ]
179 } , {
180 # If not build for chromium, use our own implementation.
181 'sources' : [
182 'task_queue.h',
183 'task_queue_posix.h',
phoglundff274392016-05-17 03:44:28 -0700184 ],
phoglundff274392016-05-17 03:44:28 -0700185 'conditions': [
perkj84bd5c72016-08-30 23:01:06 -0700186 ['build_libevent==1', {
187 'dependencies': [
188 '<(DEPTH)/base/third_party/libevent/libevent.gyp:libevent',
189 ],
phoglundff274392016-05-17 03:44:28 -0700190 }],
perkj84bd5c72016-08-30 23:01:06 -0700191 ['enable_libevent==1', {
192 'sources': [
193 'task_queue_libevent.cc',
194 'task_queue_posix.cc',
195 ],
196 'defines': [ 'WEBRTC_BUILD_LIBEVENT' ],
197 'all_dependent_settings': {
198 'defines': [ 'WEBRTC_BUILD_LIBEVENT' ]
199 },
200 }, {
201 # If not libevent, fall back to the other task queues.
202 'conditions': [
203 ['OS=="mac" or OS=="ios"', {
204 'sources': [
205 'task_queue_gcd.cc',
206 'task_queue_posix.cc',
207 ],
208 }],
209 ['OS=="win"', {
210 'sources': [ 'task_queue_win.cc' ],
211 }]
212 ],
213 }],
214 ]
Noah Richards915590e2015-04-22 15:43:08 -0700215 }],
andrew@webrtc.org6ae5a6d2014-09-16 01:03:29 +0000216 ],
217 },
218 {
henrike@webrtc.orgb2efb672014-09-10 17:28:19 +0000219 'target_name': 'rtc_base',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000220 'type': 'static_library',
andrew@webrtc.org6ae5a6d2014-09-16 01:03:29 +0000221 'dependencies': [
kwiberg@webrtc.orgac2d27d2015-02-26 13:59:22 +0000222 '<(webrtc_root)/common.gyp:webrtc_common',
andrew@webrtc.org6ae5a6d2014-09-16 01:03:29 +0000223 'rtc_base_approved',
224 ],
jbroman5584bf42016-01-12 09:46:55 -0800225 'export_dependent_settings': [
226 'rtc_base_approved',
227 ],
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000228 'defines': [
229 'FEATURE_ENABLE_SSL',
torbjorng07d09362015-09-22 11:58:04 -0700230 'SSL_USE_OPENSSL',
231 'HAVE_OPENSSL_SSL_H',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000232 'LOGGING=1',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000233 ],
234 'sources': [
kthelgasond5472242016-09-09 03:19:48 -0700235 'applefilesystem.mm',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000236 'asyncfile.cc',
237 'asyncfile.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000238 'asyncinvoker.cc',
239 'asyncinvoker.h',
kjellander@webrtc.org2bae3212014-06-16 07:11:19 +0000240 'asyncinvoker-inl.h',
kwiberg@webrtc.org67186fe2015-03-09 22:21:53 +0000241 'asyncpacketsocket.cc',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000242 'asyncpacketsocket.h',
kwiberg@webrtc.org67186fe2015-03-09 22:21:53 +0000243 'asyncresolverinterface.cc',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000244 'asyncresolverinterface.h',
245 'asyncsocket.cc',
246 'asyncsocket.h',
247 'asynctcpsocket.cc',
248 'asynctcpsocket.h',
249 'asyncudpsocket.cc',
250 'asyncudpsocket.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000251 'autodetectproxy.cc',
252 'autodetectproxy.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000253 'base64.cc',
254 'base64.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000255 'common.cc',
256 'common.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000257 'crc32.cc',
258 'crc32.h',
kwiberg@webrtc.org67186fe2015-03-09 22:21:53 +0000259 'cryptstring.cc',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000260 'cryptstring.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000261 'diskcache.cc',
262 'diskcache.h',
tkchin93411912015-07-22 12:12:17 -0700263 'filerotatingstream.cc',
264 'filerotatingstream.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000265 'fileutils.cc',
266 'fileutils.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000267 'firewallsocketserver.cc',
268 'firewallsocketserver.h',
269 'flags.cc',
270 'flags.h',
271 'gunit_prod.h',
272 'helpers.cc',
273 'helpers.h',
274 'httpbase.cc',
275 'httpbase.h',
276 'httpclient.cc',
277 'httpclient.h',
278 'httpcommon-inl.h',
279 'httpcommon.cc',
280 'httpcommon.h',
281 'httprequest.cc',
282 'httprequest.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000283 'ipaddress.cc',
284 'ipaddress.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000285 'linked_ptr.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000286 'messagedigest.cc',
287 'messagedigest.h',
288 'messagehandler.cc',
289 'messagehandler.h',
290 'messagequeue.cc',
291 'messagequeue.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000292 'nethelpers.cc',
293 'nethelpers.h',
294 'network.cc',
295 'network.h',
honghaiz023f3ef2015-10-19 09:39:32 -0700296 'networkmonitor.cc',
297 'networkmonitor.h',
danilchapbebf54c2016-04-28 01:32:48 -0700298 'nullsocketserver.cc',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000299 'nullsocketserver.h',
torbjorng07d09362015-09-22 11:58:04 -0700300 'openssl.h',
301 'openssladapter.cc',
302 'openssladapter.h',
303 'openssldigest.cc',
304 'openssldigest.h',
305 'opensslidentity.cc',
306 'opensslidentity.h',
307 'opensslstreamadapter.cc',
308 'opensslstreamadapter.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000309 'pathutils.cc',
310 'pathutils.h',
311 'physicalsocketserver.cc',
312 'physicalsocketserver.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000313 'proxydetect.cc',
314 'proxydetect.h',
315 'proxyinfo.cc',
316 'proxyinfo.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000317 'ratelimiter.cc',
318 'ratelimiter.h',
Henrik Boström41b3a382015-08-20 12:15:54 +0200319 'rtccertificate.cc',
320 'rtccertificate.h',
Henrik Boströmda3a1da2016-04-15 17:55:21 +0200321 'rtccertificategenerator.cc',
322 'rtccertificategenerator.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000323 'sha1.cc',
324 'sha1.h',
kwiberg@webrtc.org67186fe2015-03-09 22:21:53 +0000325 'sha1digest.cc',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000326 'sha1digest.h',
tommi@webrtc.orgfe196992015-02-07 22:35:54 +0000327 'sharedexclusivelock.cc',
328 'sharedexclusivelock.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000329 'signalthread.cc',
330 'signalthread.h',
kwiberg@webrtc.org67186fe2015-03-09 22:21:53 +0000331 'sigslot.cc',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000332 'sigslot.h',
333 'sigslotrepeater.h',
334 'socket.h',
335 'socketadapters.cc',
336 'socketadapters.h',
337 'socketaddress.cc',
338 'socketaddress.h',
339 'socketaddresspair.cc',
340 'socketaddresspair.h',
341 'socketfactory.h',
342 'socketpool.cc',
343 'socketpool.h',
344 'socketserver.h',
345 'socketstream.cc',
346 'socketstream.h',
347 'ssladapter.cc',
348 'ssladapter.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000349 'sslfingerprint.cc',
350 'sslfingerprint.h',
351 'sslidentity.cc',
352 'sslidentity.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000353 'sslsocketfactory.cc',
354 'sslsocketfactory.h',
355 'sslstreamadapter.cc',
356 'sslstreamadapter.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000357 'stream.cc',
358 'stream.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000359 'task.cc',
360 'task.h',
361 'taskparent.cc',
362 'taskparent.h',
363 'taskrunner.cc',
364 'taskrunner.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000365 'thread.cc',
366 'thread.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000367 'urlencode.cc',
368 'urlencode.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000369 'worker.cc',
370 'worker.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000371 ],
henrike@webrtc.orgb2efb672014-09-10 17:28:19 +0000372 # TODO(henrike): issue 3307, make rtc_base build without disabling
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000373 # these flags.
374 'cflags!': [
375 '-Wextra',
376 '-Wall',
377 ],
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000378 'direct_dependent_settings': {
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000379 'defines': [
380 'FEATURE_ENABLE_SSL',
torbjorng07d09362015-09-22 11:58:04 -0700381 'SSL_USE_OPENSSL',
382 'HAVE_OPENSSL_SSL_H',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000383 ],
384 },
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000385 'conditions': [
386 ['build_with_chromium==1', {
387 'include_dirs': [
henrikgee2bf412015-09-30 03:48:52 -0700388 '../../webrtc_overrides',
henrike@webrtc.org6ac22e62014-08-11 21:06:30 +0000389 '../../boringssl/src/include',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000390 ],
kjellandera8a7ef62016-04-05 08:13:31 -0700391 'conditions': [
392 ['OS=="win"', {
393 'sources': [
394 '../../webrtc_overrides/webrtc/base/win32socketinit.cc',
395 ],
396 }],
henrikg9dff0ba2015-10-02 10:07:50 -0700397 ],
kjellandera8a7ef62016-04-05 08:13:31 -0700398 'defines': [
399 'NO_MAIN_THREAD_WRAPPING',
400 ],
401 'direct_dependent_settings': {
402 'defines': [
403 'NO_MAIN_THREAD_WRAPPING',
404 ],
405 },
406 }, {
407 'sources': [
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000408 'bandwidthsmoother.cc',
409 'bandwidthsmoother.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000410 'callback.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000411 'fileutils_mock.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000412 'httpserver.cc',
413 'httpserver.h',
414 'json.cc',
415 'json.h',
tkchin93411912015-07-22 12:12:17 -0700416 'logsinks.cc',
417 'logsinks.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000418 'mathutils.h',
419 'multipart.cc',
420 'multipart.h',
421 'natserver.cc',
422 'natserver.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000423 'natsocketfactory.cc',
424 'natsocketfactory.h',
425 'nattypes.cc',
426 'nattypes.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000427 'optionsfile.cc',
428 'optionsfile.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000429 'profiler.cc',
430 'profiler.h',
431 'proxyserver.cc',
432 'proxyserver.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000433 'referencecountedsingletonfactory.h',
434 'rollingaccumulator.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000435 'scopedptrcollection.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000436 'sec_buffer.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000437 'sslconfig.h',
438 'sslroots.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000439 'testbase64.h',
440 'testclient.cc',
441 'testclient.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000442 'transformadapter.cc',
443 'transformadapter.h',
444 'versionparsing.cc',
445 'versionparsing.h',
446 'virtualsocketserver.cc',
447 'virtualsocketserver.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000448 'window.h',
kjellanderc8587ad2016-04-05 05:23:26 -0700449 'windowpicker.h',
kjellandera8a7ef62016-04-05 08:13:31 -0700450 'windowpickerfactory.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000451 ],
henrike@webrtc.org9f36c082014-06-16 21:35:20 +0000452 'conditions': [
henrike@webrtc.orga685c9d2014-06-17 14:48:44 +0000453 ['build_json==1', {
henrike@webrtc.org9f36c082014-06-16 21:35:20 +0000454 'dependencies': [
455 '<(DEPTH)/third_party/jsoncpp/jsoncpp.gyp:jsoncpp',
456 ],
457 }, {
458 'include_dirs': [
459 '<(json_root)',
460 ],
461 'defines': [
462 # When defined changes the include path for json.h to where it
463 # is expected to be when building json outside of the standalone
464 # build.
henrike@webrtc.orga685c9d2014-06-17 14:48:44 +0000465 'WEBRTC_EXTERNAL_JSON',
henrike@webrtc.org9f36c082014-06-16 21:35:20 +0000466 ],
467 }],
kjellandera8a7ef62016-04-05 08:13:31 -0700468 ['OS=="linux"', {
469 'sources': [
470 'dbus.cc',
471 'dbus.h',
472 'libdbusglibsymboltable.cc',
473 'libdbusglibsymboltable.h',
474 'linuxfdwalk.c',
475 'linuxfdwalk.h',
476 ],
477 }],
478 ['os_posix==1', {
479 'sources': [
480 'latebindingsymboltable.cc',
kjellandera8a7ef62016-04-05 08:13:31 -0700481 'latebindingsymboltable.h',
kjellandera8a7ef62016-04-05 08:13:31 -0700482 'posix.cc',
483 'posix.h',
484 ],
485 }],
486 ['OS=="mac"', {
487 'sources': [
488 'macasyncsocket.cc',
489 'macasyncsocket.h',
490 'maccocoasocketserver.h',
491 'maccocoasocketserver.mm',
492 'macsocketserver.cc',
493 'macsocketserver.h',
494 'macwindowpicker.cc',
495 'macwindowpicker.h',
496 ],
497 }],
498 ['OS=="win"', {
499 'sources': [
500 'diskcache_win32.cc',
501 'diskcache_win32.h',
502 'win32regkey.cc',
503 'win32regkey.h',
504 'win32socketinit.cc',
505 'win32socketinit.h',
506 'win32socketserver.cc',
507 'win32socketserver.h',
508 ],
509 }],
kjellander7cae30c2015-12-16 14:05:29 -0800510 ['OS=="win" and clang==1', {
511 'msvs_settings': {
512 'VCCLCompilerTool': {
513 'AdditionalOptions': [
514 # Disable warnings failing when compiling with Clang on Windows.
515 # https://bugs.chromium.org/p/webrtc/issues/detail?id=5366
kjellander3c85cad2016-01-19 04:47:17 -0800516 '-Wno-sign-compare',
kjellander7cae30c2015-12-16 14:05:29 -0800517 '-Wno-missing-braces',
518 ],
519 },
520 },
521 }],
kjellandera8a7ef62016-04-05 08:13:31 -0700522 ], # conditions
523 }], # build_with_chromium==0
524 ['OS=="android"', {
525 'sources': [
526 'ifaddrs-android.cc',
527 'ifaddrs-android.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000528 ],
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000529 'link_settings': {
530 'libraries': [
531 '-llog',
532 '-lGLESv2',
533 ],
534 },
kjellandera8a7ef62016-04-05 08:13:31 -0700535 }],
kjellander@webrtc.org03d45b02016-05-20 09:52:43 +0200536 ['(OS=="mac" or OS=="ios") and nacl_untrusted_build==0', {
kjellandera8a7ef62016-04-05 08:13:31 -0700537 'sources': [
538 'maccocoathreadhelper.h',
539 'maccocoathreadhelper.mm',
540 'macconversion.cc',
541 'macconversion.h',
542 'macifaddrs_converter.cc',
543 'scoped_autorelease_pool.h',
544 'scoped_autorelease_pool.mm',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000545 ],
546 }],
547 ['OS=="ios"', {
548 'all_dependent_settings': {
549 'xcode_settings': {
550 'OTHER_LDFLAGS': [
Zeke Chin2d3b7e22015-07-14 12:55:44 -0700551 '-framework CFNetwork',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000552 '-framework Foundation',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000553 '-framework Security',
554 '-framework SystemConfiguration',
555 '-framework UIKit',
556 ],
557 },
558 },
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000559 }],
kjellandera8a7ef62016-04-05 08:13:31 -0700560 ['use_x11==1', {
561 'sources': [
562 'x11windowpicker.cc',
563 'x11windowpicker.h',
564 ],
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000565 'link_settings': {
566 'libraries': [
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000567 '-ldl',
568 '-lrt',
569 '-lXext',
570 '-lX11',
571 '-lXcomposite',
572 '-lXrender',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000573 ],
574 },
henrike@webrtc.orgfb1eb432014-08-15 14:44:13 +0000575 }],
576 ['OS=="linux"', {
577 'link_settings': {
578 'libraries': [
henrike@webrtc.orgfb1eb432014-08-15 14:44:13 +0000579 '-ldl',
580 '-lrt',
581 ],
582 },
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000583 }],
584 ['OS=="mac"', {
kjellandera8a7ef62016-04-05 08:13:31 -0700585 'sources': [
586 'macutils.cc',
587 'macutils.h',
588 ],
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000589 'all_dependent_settings': {
590 'link_settings': {
591 'xcode_settings': {
592 'OTHER_LDFLAGS': [
593 '-framework Cocoa',
594 '-framework Foundation',
595 '-framework IOKit',
596 '-framework Security',
597 '-framework SystemConfiguration',
598 ],
599 },
600 },
601 },
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000602 }],
kjellander@webrtc.org03d45b02016-05-20 09:52:43 +0200603 ['OS=="win" and nacl_untrusted_build==0', {
kjellandera8a7ef62016-04-05 08:13:31 -0700604 'sources': [
605 'win32.cc',
606 'win32.h',
607 'win32filesystem.cc',
608 'win32filesystem.h',
609 'win32securityerrors.cc',
610 'win32window.cc',
611 'win32window.h',
612 'win32windowpicker.cc',
613 'win32windowpicker.h',
614 'winfirewall.cc',
615 'winfirewall.h',
616 'winping.cc',
617 'winping.h',
Guo-wei Shieh9faf1542015-12-28 14:06:55 -0800618 ],
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000619 'link_settings': {
620 'libraries': [
621 '-lcrypt32.lib',
622 '-liphlpapi.lib',
623 '-lsecur32.lib',
624 ],
625 },
626 # Suppress warnings about WIN32_LEAN_AND_MEAN.
627 'msvs_disabled_warnings': [4005, 4703],
628 'defines': [
629 '_CRT_NONSTDC_NO_DEPRECATE',
630 ],
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000631 }],
kjellandera8a7ef62016-04-05 08:13:31 -0700632 ['os_posix==1', {
633 'sources': [
634 'ifaddrs_converter.cc',
635 'ifaddrs_converter.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000636 'unixfilesystem.cc',
637 'unixfilesystem.h',
638 ],
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000639 'configurations': {
640 'Debug_Base': {
641 'defines': [
642 # Chromium's build/common.gypi defines this for all posix
643 # _except_ for ios & mac. We want it there as well, e.g.
644 # because ASSERT and friends trigger off of it.
645 '_DEBUG',
646 ],
647 },
648 }
649 }],
kjellandera8a7ef62016-04-05 08:13:31 -0700650 ['OS=="linux" or OS=="android"', {
651 'sources': [
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000652 'linux.cc',
653 'linux.h',
654 ],
655 }],
torbjorng07d09362015-09-22 11:58:04 -0700656 ['build_ssl==1', {
657 'dependencies': [
658 '<(DEPTH)/third_party/boringssl/boringssl.gyp:boringssl',
659 ],
660 }, {
661 'include_dirs': [
662 '<(ssl_root)',
663 ],
664 }],
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000665 ],
666 },
kjellander988d31e2016-02-05 00:23:50 -0800667 {
668 'target_name': 'gtest_prod',
669 'type': 'static_library',
670 'sources': [
671 'gtest_prod_util.h',
672 ],
673 },
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000674 ],
675}