blob: 5187496fd93779e1e6233753260644b74fb002b1 [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': [
12 ['os_posix == 1 and OS != "mac" and OS != "ios"', {
13 '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': [
32 'checks.cc',
33 'checks.h',
34 'exp_filter.cc',
35 'exp_filter.h',
36 'md5.cc',
37 'md5.h',
38 'md5digest.h',
xians@webrtc.orge46bc772014-10-10 08:36:56 +000039 'platform_file.cc',
40 'platform_file.h',
andrew@webrtc.org0ab42bc2014-12-17 22:56:09 +000041 'safe_conversions.h',
42 'safe_conversions_impl.h',
andrew@webrtc.org6ae5a6d2014-09-16 01:03:29 +000043 'stringencode.cc',
44 'stringencode.h',
45 'stringutils.cc',
46 'stringutils.h',
kwiberg@webrtc.orgaf9d56f2015-01-13 20:32:04 +000047 'template_util.h',
pbos@webrtc.org38344ed2014-09-24 06:05:00 +000048 'thread_annotations.h',
tommi@webrtc.org04cd4662015-01-26 15:27:29 +000049 'thread_checker.h',
50 'thread_checker_impl.cc',
51 'thread_checker_impl.h',
andrew@webrtc.org6ae5a6d2014-09-16 01:03:29 +000052 'timeutils.cc',
53 'timeutils.h',
54 ],
55 },
56 {
henrike@webrtc.orgb2efb672014-09-10 17:28:19 +000057 'target_name': 'rtc_base',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +000058 'type': 'static_library',
andrew@webrtc.org6ae5a6d2014-09-16 01:03:29 +000059 'dependencies': [
60 'rtc_base_approved',
61 ],
henrike@webrtc.orgf0488722014-05-13 18:00:26 +000062 'defines': [
63 'FEATURE_ENABLE_SSL',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +000064 'LOGGING=1',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +000065 ],
66 'sources': [
pkasting@chromium.orge7a4a122015-01-28 21:36:55 +000067 'arraysize.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +000068 'asyncfile.cc',
69 'asyncfile.h',
70 'asynchttprequest.cc',
71 'asynchttprequest.h',
72 'asyncinvoker.cc',
73 'asyncinvoker.h',
kjellander@webrtc.org2bae3212014-06-16 07:11:19 +000074 'asyncinvoker-inl.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +000075 'asyncpacketsocket.h',
76 'asyncresolverinterface.h',
77 'asyncsocket.cc',
78 'asyncsocket.h',
79 'asynctcpsocket.cc',
80 'asynctcpsocket.h',
81 'asyncudpsocket.cc',
82 'asyncudpsocket.h',
83 'atomicops.h',
84 'autodetectproxy.cc',
85 'autodetectproxy.h',
86 'bandwidthsmoother.cc',
87 'bandwidthsmoother.h',
88 'base64.cc',
89 'base64.h',
90 'basicdefs.h',
91 'basictypes.h',
92 'bind.h',
kjellander@webrtc.org2bae3212014-06-16 07:11:19 +000093 'bind.h.pump',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +000094 'buffer.h',
95 'bytebuffer.cc',
96 'bytebuffer.h',
97 'byteorder.h',
98 'callback.h',
kjellander@webrtc.org2bae3212014-06-16 07:11:19 +000099 'callback.h.pump',
andrew@webrtc.org6ae5a6d2014-09-16 01:03:29 +0000100 'constructormagic.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000101 'common.cc',
102 'common.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000103 'cpumonitor.cc',
104 'cpumonitor.h',
105 'crc32.cc',
106 'crc32.h',
107 'criticalsection.h',
108 'cryptstring.h',
109 'dbus.cc',
110 'dbus.h',
111 'diskcache.cc',
112 'diskcache.h',
113 'diskcache_win32.cc',
114 'diskcache_win32.h',
tommi@webrtc.orgfe196992015-02-07 22:35:54 +0000115 'event.cc',
116 'event.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000117 'filelock.cc',
118 'filelock.h',
119 'fileutils.cc',
120 'fileutils.h',
121 'fileutils_mock.h',
122 'firewallsocketserver.cc',
123 'firewallsocketserver.h',
124 'flags.cc',
125 'flags.h',
pkasting@chromium.org4591fbd2014-11-20 22:28:14 +0000126 'format_macros.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000127 'gunit_prod.h',
128 'helpers.cc',
129 'helpers.h',
130 'httpbase.cc',
131 'httpbase.h',
132 'httpclient.cc',
133 'httpclient.h',
134 'httpcommon-inl.h',
135 'httpcommon.cc',
136 'httpcommon.h',
137 'httprequest.cc',
138 'httprequest.h',
139 'httpserver.cc',
140 'httpserver.h',
141 'ifaddrs-android.cc',
142 'ifaddrs-android.h',
143 'iosfilesystem.mm',
144 'ipaddress.cc',
145 'ipaddress.h',
146 'json.cc',
147 'json.h',
148 'latebindingsymboltable.cc',
kjellander@webrtc.org2bae3212014-06-16 07:11:19 +0000149 'latebindingsymboltable.cc.def',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000150 'latebindingsymboltable.h',
kjellander@webrtc.org2bae3212014-06-16 07:11:19 +0000151 'latebindingsymboltable.h.def',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000152 'libdbusglibsymboltable.cc',
153 'libdbusglibsymboltable.h',
154 'linux.cc',
155 'linux.h',
156 'linuxfdwalk.c',
kjellander@webrtc.org2bae3212014-06-16 07:11:19 +0000157 'linuxfdwalk.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000158 'linked_ptr.h',
159 'logging.cc',
160 'logging.h',
161 'macasyncsocket.cc',
162 'macasyncsocket.h',
163 'maccocoasocketserver.h',
164 'maccocoasocketserver.mm',
165 'maccocoathreadhelper.h',
166 'maccocoathreadhelper.mm',
167 'macconversion.cc',
168 'macconversion.h',
169 'macsocketserver.cc',
170 'macsocketserver.h',
171 'macutils.cc',
172 'macutils.h',
173 'macwindowpicker.cc',
174 'macwindowpicker.h',
175 'mathutils.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000176 'messagedigest.cc',
177 'messagedigest.h',
178 'messagehandler.cc',
179 'messagehandler.h',
180 'messagequeue.cc',
181 'messagequeue.h',
182 'multipart.cc',
183 'multipart.h',
184 'natserver.cc',
185 'natserver.h',
186 'natsocketfactory.cc',
187 'natsocketfactory.h',
188 'nattypes.cc',
189 'nattypes.h',
190 'nethelpers.cc',
191 'nethelpers.h',
192 'network.cc',
193 'network.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000194 'nullsocketserver.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000195 'optionsfile.cc',
196 'optionsfile.h',
197 'pathutils.cc',
198 'pathutils.h',
199 'physicalsocketserver.cc',
200 'physicalsocketserver.h',
201 'posix.cc',
202 'posix.h',
203 'profiler.cc',
204 'profiler.h',
205 'proxydetect.cc',
206 'proxydetect.h',
207 'proxyinfo.cc',
208 'proxyinfo.h',
209 'proxyserver.cc',
210 'proxyserver.h',
211 'ratelimiter.cc',
212 'ratelimiter.h',
213 'ratetracker.cc',
214 'ratetracker.h',
215 'refcount.h',
216 'referencecountedsingletonfactory.h',
217 'rollingaccumulator.h',
218 'schanneladapter.cc',
219 'schanneladapter.h',
220 'scoped_autorelease_pool.h',
221 'scoped_autorelease_pool.mm',
222 'scoped_ptr.h',
223 'scoped_ref_ptr.h',
224 'scopedptrcollection.h',
225 'sec_buffer.h',
226 'sha1.cc',
227 'sha1.h',
228 'sha1digest.h',
tommi@webrtc.orgfe196992015-02-07 22:35:54 +0000229 'sharedexclusivelock.cc',
230 'sharedexclusivelock.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000231 'signalthread.cc',
232 'signalthread.h',
233 'sigslot.h',
234 'sigslotrepeater.h',
235 'socket.h',
236 'socketadapters.cc',
237 'socketadapters.h',
238 'socketaddress.cc',
239 'socketaddress.h',
240 'socketaddresspair.cc',
241 'socketaddresspair.h',
242 'socketfactory.h',
243 'socketpool.cc',
244 'socketpool.h',
245 'socketserver.h',
246 'socketstream.cc',
247 'socketstream.h',
248 'ssladapter.cc',
249 'ssladapter.h',
250 'sslconfig.h',
251 'sslfingerprint.cc',
252 'sslfingerprint.h',
253 'sslidentity.cc',
254 'sslidentity.h',
255 'sslroots.h',
256 'sslsocketfactory.cc',
257 'sslsocketfactory.h',
258 'sslstreamadapter.cc',
259 'sslstreamadapter.h',
260 'sslstreamadapterhelper.cc',
261 'sslstreamadapterhelper.h',
262 'stream.cc',
263 'stream.h',
264 'stringdigest.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000265 'systeminfo.cc',
266 'systeminfo.h',
267 'task.cc',
268 'task.h',
269 'taskparent.cc',
270 'taskparent.h',
271 'taskrunner.cc',
272 'taskrunner.h',
273 'testclient.cc',
274 'testclient.h',
275 'thread.cc',
276 'thread.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000277 'timing.cc',
278 'timing.h',
279 'transformadapter.cc',
280 'transformadapter.h',
281 'unixfilesystem.cc',
282 'unixfilesystem.h',
283 'urlencode.cc',
284 'urlencode.h',
285 'versionparsing.cc',
286 'versionparsing.h',
287 'virtualsocketserver.cc',
288 'virtualsocketserver.h',
289 'win32.cc',
290 'win32.h',
291 'win32filesystem.cc',
292 'win32filesystem.h',
293 'win32regkey.cc',
294 'win32regkey.h',
295 'win32securityerrors.cc',
296 'win32socketinit.cc',
297 'win32socketinit.h',
298 'win32socketserver.cc',
299 'win32socketserver.h',
300 'win32window.cc',
301 'win32window.h',
302 'win32windowpicker.cc',
303 'win32windowpicker.h',
304 'window.h',
305 'windowpicker.h',
306 'windowpickerfactory.h',
307 'winfirewall.cc',
308 'winfirewall.h',
309 'winping.cc',
310 'winping.h',
311 'worker.cc',
312 'worker.h',
henrike@webrtc.orgfb1eb432014-08-15 14:44:13 +0000313 'x11windowpicker.cc',
314 'x11windowpicker.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000315 '../overrides/webrtc/base/basictypes.h',
316 '../overrides/webrtc/base/constructormagic.h',
317 '../overrides/webrtc/base/logging.cc',
318 '../overrides/webrtc/base/logging.h',
319 '../overrides/webrtc/base/win32socketinit.cc',
320 ],
henrike@webrtc.orgb2efb672014-09-10 17:28:19 +0000321 # TODO(henrike): issue 3307, make rtc_base build without disabling
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000322 # these flags.
323 'cflags!': [
324 '-Wextra',
325 '-Wall',
326 ],
327 'cflags_cc!': [
328 '-Wnon-virtual-dtor',
329 ],
330 'direct_dependent_settings': {
331 'cflags_cc!': [
332 '-Wnon-virtual-dtor',
333 ],
334 'defines': [
335 'FEATURE_ENABLE_SSL',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000336 ],
337 },
338 'include_dirs': [
339 '../../third_party/jsoncpp/overrides/include',
340 '../../third_party/jsoncpp/source/include',
341 ],
342 'conditions': [
343 ['build_with_chromium==1', {
344 'include_dirs': [
345 '../overrides',
henrike@webrtc.org6ac22e62014-08-11 21:06:30 +0000346 '../../boringssl/src/include',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000347 ],
348 'sources!': [
349 'asyncinvoker.cc',
350 'asyncinvoker.h',
351 'asyncinvoker-inl.h',
352 'asyncresolverinterface.h',
353 'atomicops.h',
354 'bandwidthsmoother.cc',
355 'bandwidthsmoother.h',
356 'basictypes.h',
357 'bind.h',
358 'bind.h.pump',
359 'buffer.h',
360 'callback.h',
361 'callback.h.pump',
362 'constructormagic.h',
363 'dbus.cc',
364 'dbus.h',
365 'diskcache_win32.cc',
366 'diskcache_win32.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000367 'filelock.cc',
368 'filelock.h',
369 'fileutils_mock.h',
370 'genericslot.h',
371 'genericslot.h.pump',
372 'httpserver.cc',
373 'httpserver.h',
374 'json.cc',
375 'json.h',
376 'latebindingsymboltable.cc',
377 'latebindingsymboltable.cc.def',
378 'latebindingsymboltable.h',
379 'latebindingsymboltable.h.def',
380 'libdbusglibsymboltable.cc',
381 'libdbusglibsymboltable.h',
382 'linuxfdwalk.c',
383 'linuxfdwalk.h',
henrike@webrtc.orgfb1eb432014-08-15 14:44:13 +0000384 'x11windowpicker.cc',
385 'x11windowpicker.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000386 'logging.cc',
387 'logging.h',
388 'macasyncsocket.cc',
389 'macasyncsocket.h',
390 'maccocoasocketserver.h',
391 'maccocoasocketserver.mm',
392 'macsocketserver.cc',
393 'macsocketserver.h',
394 'macwindowpicker.cc',
395 'macwindowpicker.h',
396 'mathutils.h',
397 'multipart.cc',
398 'multipart.h',
399 'natserver.cc',
400 'natserver.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000401 'natsocketfactory.cc',
402 'natsocketfactory.h',
403 'nattypes.cc',
404 'nattypes.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000405 'optionsfile.cc',
406 'optionsfile.h',
407 'posix.cc',
408 'posix.h',
409 'profiler.cc',
410 'profiler.h',
411 'proxyserver.cc',
412 'proxyserver.h',
413 'refcount.h',
414 'referencecountedsingletonfactory.h',
415 'rollingaccumulator.h',
416 'safe_conversions.h',
417 'safe_conversions_impl.h',
418 'scopedptrcollection.h',
419 'scoped_ref_ptr.h',
420 'sec_buffer.h',
421 'sharedexclusivelock.cc',
422 'sharedexclusivelock.h',
423 'sslconfig.h',
424 'sslroots.h',
425 'stringdigest.h',
426 'testbase64.h',
427 'testclient.cc',
428 'testclient.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000429 'transformadapter.cc',
430 'transformadapter.h',
431 'versionparsing.cc',
432 'versionparsing.h',
433 'virtualsocketserver.cc',
434 'virtualsocketserver.h',
435 'win32regkey.cc',
436 'win32regkey.h',
437 'win32socketinit.cc',
438 'win32socketinit.h',
439 'win32socketserver.cc',
440 'win32socketserver.h',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000441 'window.h',
442 'windowpickerfactory.h',
443 'windowpicker.h',
444 ],
445 'defines': [
446 'NO_MAIN_THREAD_WRAPPING',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000447 ],
448 'direct_dependent_settings': {
449 'defines': [
450 'NO_MAIN_THREAD_WRAPPING',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000451 ],
452 },
453 }, {
henrike@webrtc.org9f36c082014-06-16 21:35:20 +0000454 'conditions': [
henrike@webrtc.orga685c9d2014-06-17 14:48:44 +0000455 ['build_json==1', {
henrike@webrtc.org9f36c082014-06-16 21:35:20 +0000456 'dependencies': [
457 '<(DEPTH)/third_party/jsoncpp/jsoncpp.gyp:jsoncpp',
458 ],
459 }, {
460 'include_dirs': [
461 '<(json_root)',
462 ],
463 'defines': [
464 # When defined changes the include path for json.h to where it
465 # is expected to be when building json outside of the standalone
466 # build.
henrike@webrtc.orga685c9d2014-06-17 14:48:44 +0000467 'WEBRTC_EXTERNAL_JSON',
henrike@webrtc.org9f36c082014-06-16 21:35:20 +0000468 ],
469 }],
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000470 ],
471 'sources!': [
472 '../overrides/webrtc/base/basictypes.h',
473 '../overrides/webrtc/base/constructormagic.h',
474 '../overrides/webrtc/base/win32socketinit.cc',
475 '../overrides/webrtc/base/logging.cc',
476 '../overrides/webrtc/base/logging.h',
477 ],
478 }],
pbos@webrtc.org77d5a572014-10-07 11:43:03 +0000479 ['use_openssl==1', {
480 'defines': [
481 'SSL_USE_OPENSSL',
482 'HAVE_OPENSSL_SSL_H',
483 ],
484 'direct_dependent_settings': {
485 'defines': [
486 'SSL_USE_OPENSSL',
487 'HAVE_OPENSSL_SSL_H',
488 ],
489 },
pthatcher@webrtc.org5d0071f2014-09-26 18:53:40 +0000490 'sources': [
pbos@webrtc.org77d5a572014-10-07 11:43:03 +0000491 'openssl.h',
492 'openssladapter.cc',
493 'openssladapter.h',
494 'openssldigest.cc',
495 'openssldigest.h',
496 'opensslidentity.cc',
497 'opensslidentity.h',
498 'opensslstreamadapter.cc',
499 'opensslstreamadapter.h',
pthatcher@webrtc.org5d0071f2014-09-26 18:53:40 +0000500 ],
henrike@webrtc.org9f36c082014-06-16 21:35:20 +0000501 'conditions': [
pbos@webrtc.org77d5a572014-10-07 11:43:03 +0000502 ['build_ssl==1', {
503 'dependencies': [
504 '<(DEPTH)/third_party/boringssl/boringssl.gyp:boringssl',
505 ],
506 }, {
henrike@webrtc.org9f36c082014-06-16 21:35:20 +0000507 'include_dirs': [
508 '<(ssl_root)',
509 ],
510 }],
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000511 ],
512 }, {
pbos@webrtc.org77d5a572014-10-07 11:43:03 +0000513 'sources': [
514 'nssidentity.cc',
515 'nssidentity.h',
516 'nssstreamadapter.cc',
517 'nssstreamadapter.h',
518 ],
tpsiaki@google.com67eabc02014-09-10 18:06:47 +0000519 'conditions': [
pbos@webrtc.org77d5a572014-10-07 11:43:03 +0000520 ['use_legacy_ssl_defaults!=1', {
tpsiaki@google.com67eabc02014-09-10 18:06:47 +0000521 'defines': [
522 'SSL_USE_NSS',
523 'HAVE_NSS_SSL_H',
524 'SSL_USE_NSS_RNG',
525 ],
526 'direct_dependent_settings': {
527 'defines': [
528 'SSL_USE_NSS',
529 'HAVE_NSS_SSL_H',
530 'SSL_USE_NSS_RNG',
531 ],
532 },
pbos@webrtc.org77d5a572014-10-07 11:43:03 +0000533 }],
henrike@webrtc.org33a0e2d2014-10-27 18:13:40 +0000534 ['build_ssl==1', {
pthatcher@webrtc.org5d0071f2014-09-26 18:53:40 +0000535 'conditions': [
henrike@webrtc.org33a0e2d2014-10-27 18:13:40 +0000536 # On some platforms, the rest of NSS is bundled. On others,
537 # it's pulled from the system.
538 ['OS == "mac" or OS == "ios" or OS == "win"', {
pthatcher@webrtc.org5d0071f2014-09-26 18:53:40 +0000539 'dependencies': [
540 '<(DEPTH)/net/third_party/nss/ssl.gyp:libssl',
pbos@webrtc.org77d5a572014-10-07 11:43:03 +0000541 '<(DEPTH)/third_party/nss/nss.gyp:nspr',
542 '<(DEPTH)/third_party/nss/nss.gyp:nss',
pthatcher@webrtc.org5d0071f2014-09-26 18:53:40 +0000543 ],
henrike@webrtc.org33a0e2d2014-10-27 18:13:40 +0000544 }],
545 ['os_posix == 1 and OS != "mac" and OS != "ios" and OS != "android"', {
546 'dependencies': [
547 '<(DEPTH)/build/linux/system.gyp:ssl',
pthatcher@webrtc.org5d0071f2014-09-26 18:53:40 +0000548 ],
549 }],
550 ],
henrike@webrtc.org33a0e2d2014-10-27 18:13:40 +0000551 }, {
552 'include_dirs': [
553 '<(ssl_root)',
554 ],
pthatcher@webrtc.org5d0071f2014-09-26 18:53:40 +0000555 }],
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000556 ],
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000557 }],
558 ['OS == "android"', {
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000559 'link_settings': {
560 'libraries': [
561 '-llog',
562 '-lGLESv2',
563 ],
564 },
565 }, {
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000566 'sources!': [
567 'ifaddrs-android.cc',
568 'ifaddrs-android.h',
569 ],
570 }],
571 ['OS=="ios"', {
572 'all_dependent_settings': {
573 'xcode_settings': {
574 'OTHER_LDFLAGS': [
575 '-framework Foundation',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000576 '-framework Security',
577 '-framework SystemConfiguration',
578 '-framework UIKit',
579 ],
580 },
581 },
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000582 }],
henrike@webrtc.orgfb1eb432014-08-15 14:44:13 +0000583 ['use_x11 == 1', {
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000584 'link_settings': {
585 'libraries': [
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000586 '-ldl',
587 '-lrt',
588 '-lXext',
589 '-lX11',
590 '-lXcomposite',
591 '-lXrender',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000592 ],
593 },
henrike@webrtc.orgfb1eb432014-08-15 14:44:13 +0000594 }, {
595 'sources!': [
596 'x11windowpicker.cc',
597 'x11windowpicker.h',
598 ],
599 }],
600 ['OS=="linux"', {
601 'link_settings': {
602 'libraries': [
henrike@webrtc.orgfb1eb432014-08-15 14:44:13 +0000603 '-ldl',
604 '-lrt',
605 ],
606 },
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000607 }, {
608 'sources!': [
609 'dbus.cc',
610 'dbus.h',
611 'libdbusglibsymboltable.cc',
612 'libdbusglibsymboltable.h',
613 'linuxfdwalk.c',
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000614 ],
615 }],
616 ['OS=="mac"', {
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000617 'all_dependent_settings': {
618 'link_settings': {
619 'xcode_settings': {
620 'OTHER_LDFLAGS': [
621 '-framework Cocoa',
622 '-framework Foundation',
623 '-framework IOKit',
624 '-framework Security',
625 '-framework SystemConfiguration',
626 ],
627 },
628 },
629 },
630 'conditions': [
631 ['target_arch=="ia32"', {
632 'all_dependent_settings': {
633 'link_settings': {
634 'xcode_settings': {
635 'OTHER_LDFLAGS': [
636 '-framework Carbon',
637 ],
638 },
639 },
640 },
641 }],
642 ],
643 }, {
644 'sources!': [
645 'macasyncsocket.cc',
646 'macasyncsocket.h',
647 'maccocoasocketserver.h',
648 'maccocoasocketserver.mm',
649 'macconversion.cc',
650 'macconversion.h',
651 'macsocketserver.cc',
652 'macsocketserver.h',
653 'macutils.cc',
654 'macutils.h',
655 'macwindowpicker.cc',
656 'macwindowpicker.h',
657 ],
658 }],
659 ['OS=="win"', {
660 'link_settings': {
661 'libraries': [
662 '-lcrypt32.lib',
663 '-liphlpapi.lib',
664 '-lsecur32.lib',
665 ],
666 },
667 # Suppress warnings about WIN32_LEAN_AND_MEAN.
668 'msvs_disabled_warnings': [4005, 4703],
669 'defines': [
670 '_CRT_NONSTDC_NO_DEPRECATE',
671 ],
672 }, {
673 'sources/': [
674 ['exclude', 'win32[a-z0-9]*\\.(h|cc)$'],
675 ],
676 'sources!': [
677 'schanneladapter.cc',
678 'schanneladapter.h',
679 'winping.cc',
680 'winping.h',
681 'winfirewall.cc',
682 'winfirewall.h',
683 ],
684 }],
685 ['os_posix==0', {
686 'sources!': [
687 'latebindingsymboltable.cc',
688 'latebindingsymboltable.h',
689 'posix.cc',
690 'posix.h',
691 'unixfilesystem.cc',
692 'unixfilesystem.h',
693 ],
694 }, {
695 'configurations': {
696 'Debug_Base': {
697 'defines': [
698 # Chromium's build/common.gypi defines this for all posix
699 # _except_ for ios & mac. We want it there as well, e.g.
700 # because ASSERT and friends trigger off of it.
701 '_DEBUG',
702 ],
703 },
704 }
705 }],
706 ['OS=="ios" or (OS=="mac" and target_arch!="ia32")', {
707 'defines': [
708 'CARBON_DEPRECATED=YES',
709 ],
710 }],
711 ['OS!="ios" and OS!="mac"', {
712 'sources!': [
713 'scoped_autorelease_pool.mm',
714 ],
715 }],
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000716 ['OS!="linux" and OS!="android"', {
717 'sources!': [
718 'linux.cc',
719 'linux.h',
720 ],
721 }],
henrike@webrtc.orgf0488722014-05-13 18:00:26 +0000722 ],
723 },
724 ],
725}