1# Copyright (c) 2012 The Chromium Authors. All rights reserved. 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5{ 6 'includes': [ 7 '../../build/win_precompile.gypi', 8 ], 9 'variables': { 10 'enabled_libjingle_device_manager%': 0, 11 'libjingle_additional_deps%': [], 12 'libjingle_peerconnection_additional_deps%': [], 13 'libjingle_source%': "source", 14 'libpeer_target_type%': 'static_library', 15 'libpeer_allocator_shim%': 0, 16 }, 17 # Most of these settings have been split according to their scope into 18 # :jingle_unexported_configs, :jingle_direct_dependent_configs, 19 # :jingle_all_dependent_configs in the GN build. 20 'target_defaults': { 21 'defines': [ 22 'EXPAT_RELATIVE_PATH', 23 'FEATURE_ENABLE_SSL', 24 'GTEST_RELATIVE_PATH', 25 'HAVE_SRTP', 26 'HAVE_WEBRTC_VIDEO', 27 'HAVE_WEBRTC_VOICE', 28 'LOGGING_INSIDE_WEBRTC', 29 'NO_MAIN_THREAD_WRAPPING', 30 'NO_SOUND_SYSTEM', 31 'SRTP_RELATIVE_PATH', 32 'USE_WEBRTC_DEV_BRANCH', 33 'ENABLE_EXTERNAL_AUTH', 34 'WEBRTC_CHROMIUM_BUILD', 35 ], 36 'configurations': { 37 'Debug': { 38 'defines': [ 39 # TODO(sergeyu): Fix libjingle to use NDEBUG instead of 40 # _DEBUG and remove this define. See below as well. 41 '_DEBUG', 42 ], 43 } 44 }, 45 'include_dirs': [ 46 './overrides', 47 '../../third_party/webrtc/overrides', 48 './<(libjingle_source)', 49 '../..', 50 '../../testing/gtest/include', 51 '../../third_party', 52 '../../third_party/libyuv/include', 53 '../../third_party/usrsctp', 54 ], 55 # These dependencies have been translated into :jingle_deps in the GN build. 56 'dependencies': [ 57 '<(DEPTH)/base/base.gyp:base', 58 '<(DEPTH)/net/net.gyp:net', 59 '<(DEPTH)/third_party/expat/expat.gyp:expat', 60 ], 61 'export_dependent_settings': [ 62 '<(DEPTH)/third_party/expat/expat.gyp:expat', 63 ], 64 'direct_dependent_settings': { 65 'include_dirs': [ 66 '../../third_party/webrtc/overrides', 67 './overrides', 68 './<(libjingle_source)', 69 '../..', 70 '../../testing/gtest/include', 71 '../../third_party', 72 ], 73 'defines': [ 74 'FEATURE_ENABLE_SSL', 75 'FEATURE_ENABLE_VOICEMAIL', 76 'EXPAT_RELATIVE_PATH', 77 'GTEST_RELATIVE_PATH', 78 'NO_MAIN_THREAD_WRAPPING', 79 'NO_SOUND_SYSTEM', 80 ], 81 'conditions': [ 82 ['OS=="win"', { 83 'link_settings': { 84 'libraries': [ 85 '-lsecur32.lib', 86 '-lcrypt32.lib', 87 '-liphlpapi.lib', 88 ], 89 }, 90 }], 91 ['OS=="win"', { 92 'include_dirs': [ 93 '../third_party/platformsdk_win7/files/Include', 94 ], 95 'defines': [ 96 '_CRT_SECURE_NO_WARNINGS', # Suppres warnings about _vsnprinf 97 ], 98 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 99 'msvs_disabled_warnings': [ 4267 ], 100 }], 101 ['OS=="linux"', { 102 'defines': [ 103 'LINUX', 104 'WEBRTC_LINUX', 105 ], 106 }], 107 ['OS=="mac"', { 108 'defines': [ 109 'OSX', 110 'WEBRTC_MAC', 111 ], 112 }], 113 ['OS=="ios"', { 114 'defines': [ 115 'IOS', 116 'WEBRTC_MAC', 117 'WEBRTC_IOS', 118 ], 119 }], 120 ['OS=="win"', { 121 'defines': [ 122 'WEBRTC_WIN', 123 ], 124 }], 125 ['OS=="android"', { 126 'defines': [ 127 'ANDROID', 128 ], 129 }], 130 ['os_posix==1', { 131 'defines': [ 132 'POSIX', 133 'WEBRTC_POSIX', 134 ], 135 }], 136 ['os_bsd==1', { 137 'defines': [ 138 'BSD', 139 ], 140 }], 141 ['OS=="openbsd"', { 142 'defines': [ 143 'OPENBSD', 144 ], 145 }], 146 ['OS=="freebsd"', { 147 'defines': [ 148 'FREEBSD', 149 ], 150 }], 151 ['chromeos==1', { 152 'defines': [ 153 'CHROMEOS', 154 ], 155 }], 156 ], 157 }, 158 'all_dependent_settings': { 159 'configurations': { 160 'Debug': { 161 'defines': [ 162 # TODO(sergeyu): Fix libjingle to use NDEBUG instead of _DEBUG and 163 # remove this define. See above and GN file as well. 164 '_DEBUG', 165 ], 166 } 167 }, 168 }, 169 'variables': { 170 'clang_warning_flags_unset': [ 171 # Don't warn about string->bool used in asserts. 172 '-Wstring-conversion', 173 ], 174 }, 175 'conditions': [ 176 ['"<(libpeer_target_type)"=="static_library"', { 177 'defines': [ 'LIBPEERCONNECTION_LIB=1' ], 178 }], 179 ['use_openssl==1', { 180 'defines': [ 181 'SSL_USE_OPENSSL', 182 'HAVE_OPENSSL_SSL_H', 183 ], 184 'dependencies': [ 185 '../../third_party/boringssl/boringssl.gyp:boringssl', 186 ], 187 }, { 188 'defines': [ 189 'SSL_USE_NSS', 190 'HAVE_NSS_SSL_H', 191 'SSL_USE_NSS_RNG', 192 ], 193 'conditions': [ 194 ['os_posix == 1 and OS != "mac" and OS != "ios" and OS != "android"', { 195 'dependencies': [ 196 '<(DEPTH)/build/linux/system.gyp:ssl', 197 ], 198 }], 199 ['OS == "mac" or OS == "ios" or OS == "win"', { 200 'dependencies': [ 201 '<(DEPTH)/net/third_party/nss/ssl.gyp:libssl', 202 '<(DEPTH)/third_party/nss/nss.gyp:nspr', 203 '<(DEPTH)/third_party/nss/nss.gyp:nss', 204 ], 205 }], 206 ], 207 }], 208 ['OS=="win"', { 209 'include_dirs': [ 210 '../third_party/platformsdk_win7/files/Include', 211 ], 212 'conditions' : [ 213 ['target_arch == "ia32"', { 214 'defines': [ 215 '_USE_32BIT_TIME_T', 216 ], 217 }], 218 ], 219 }], 220 ['OS=="linux"', { 221 'defines': [ 222 'LINUX', 223 'WEBRTC_LINUX', 224 ], 225 }], 226 ['OS=="mac"', { 227 'defines': [ 228 'OSX', 229 'WEBRTC_MAC', 230 ], 231 }], 232 ['OS=="win"', { 233 'defines': [ 234 'WEBRTC_WIN', 235 ], 236 }], 237 ['OS=="ios"', { 238 'defines': [ 239 'IOS', 240 'WEBRTC_MAC', 241 'WEBRTC_IOS', 242 ], 243 }], 244 ['os_posix == 1', { 245 'defines': [ 246 'POSIX', 247 'WEBRTC_POSIX', 248 ], 249 }], 250 ['os_bsd==1', { 251 'defines': [ 252 'BSD', 253 ], 254 }], 255 ['OS=="openbsd"', { 256 'defines': [ 257 'OPENBSD', 258 ], 259 }], 260 ['OS=="freebsd"', { 261 'defines': [ 262 'FREEBSD', 263 ], 264 }], 265 ], 266 }, 267 'targets': [ 268 # GN version: //third_party/libjingle 269 { 270 'target_name': 'libjingle', 271 'type': 'static_library', 272 'includes': [ 'libjingle_common.gypi' ], 273 'sources!' : [ 274 # Compiled as part of libjingle_p2p_constants. 275 '<(libjingle_source)/talk/p2p/base/constants.cc', 276 '<(libjingle_source)/talk/p2p/base/constants.h', 277 ], 278 'dependencies': [ 279 '<(DEPTH)/third_party/webrtc/base/base.gyp:webrtc_base', 280 '<(DEPTH)/third_party/webrtc/libjingle/xmllite/xmllite.gyp:rtc_xmllite', 281 'libjingle_p2p_constants', 282 '<@(libjingle_additional_deps)', 283 ], 284 }, # target libjingle 285 # This has to be is a separate project due to a bug in MSVS 2008 and the 286 # current toolset on android. The problem is that we have two files named 287 # "constants.cc" and MSVS/android doesn't handle this properly. 288 # GYP currently has guards to catch this, so if you want to remove it, 289 # run GYP and if GYP has removed the validation check, then we can assume 290 # that the toolchains have been fixed (we currently use VS2010 and later, 291 # so VS2008 isn't a concern anymore). 292 # 293 # GN version: //third_party/libjingle:libjingle_p2p_constants 294 { 295 'target_name': 'libjingle_p2p_constants', 296 'type': 'static_library', 297 'sources': [ 298 '<(libjingle_source)/talk/p2p/base/constants.cc', 299 '<(libjingle_source)/talk/p2p/base/constants.h', 300 ], 301 }, # target libjingle_p2p_constants 302 # GN version: //third_party/libjingle:peerconnection_server 303 { 304 'target_name': 'peerconnection_server', 305 'type': 'executable', 306 'sources': [ 307 '<(libjingle_source)/talk/examples/peerconnection/server/data_socket.cc', 308 '<(libjingle_source)/talk/examples/peerconnection/server/data_socket.h', 309 '<(libjingle_source)/talk/examples/peerconnection/server/main.cc', 310 '<(libjingle_source)/talk/examples/peerconnection/server/peer_channel.cc', 311 '<(libjingle_source)/talk/examples/peerconnection/server/peer_channel.h', 312 '<(libjingle_source)/talk/examples/peerconnection/server/utils.cc', 313 '<(libjingle_source)/talk/examples/peerconnection/server/utils.h', 314 ], 315 'include_dirs': [ 316 '<(libjingle_source)', 317 ], 318 'dependencies': [ 319 'libjingle', 320 ], 321 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 322 'msvs_disabled_warnings': [ 4309, ], 323 }, # target peerconnection_server 324 ], 325 'conditions': [ 326 ['enable_webrtc==1', { 327 'targets': [ 328 { 329 # GN version: //third_party/libjingle:libjingle_webrtc_common 330 'target_name': 'libjingle_webrtc_common', 331 'type': 'static_library', 332 'all_dependent_settings': { 333 'conditions': [ 334 ['"<(libpeer_target_type)"=="static_library"', { 335 'defines': [ 'LIBPEERCONNECTION_LIB=1' ], 336 }], 337 ], 338 }, 339 'sources': [ 340 'overrides/talk/media/webrtc/webrtcexport.h', 341 342 '<(libjingle_source)/talk/app/webrtc/audiotrack.cc', 343 '<(libjingle_source)/talk/app/webrtc/audiotrack.h', 344 '<(libjingle_source)/talk/app/webrtc/audiotrackrenderer.cc', 345 '<(libjingle_source)/talk/app/webrtc/audiotrackrenderer.h', 346 '<(libjingle_source)/talk/app/webrtc/datachannel.cc', 347 '<(libjingle_source)/talk/app/webrtc/datachannel.h', 348 '<(libjingle_source)/talk/app/webrtc/dtmfsender.cc', 349 '<(libjingle_source)/talk/app/webrtc/dtmfsender.h', 350 '<(libjingle_source)/talk/app/webrtc/jsep.h', 351 '<(libjingle_source)/talk/app/webrtc/jsepicecandidate.cc', 352 '<(libjingle_source)/talk/app/webrtc/jsepicecandidate.h', 353 '<(libjingle_source)/talk/app/webrtc/jsepsessiondescription.cc', 354 '<(libjingle_source)/talk/app/webrtc/jsepsessiondescription.h', 355 '<(libjingle_source)/talk/app/webrtc/localaudiosource.cc', 356 '<(libjingle_source)/talk/app/webrtc/localaudiosource.h', 357 '<(libjingle_source)/talk/app/webrtc/mediaconstraintsinterface.cc', 358 '<(libjingle_source)/talk/app/webrtc/mediaconstraintsinterface.h', 359 '<(libjingle_source)/talk/app/webrtc/mediastream.cc', 360 '<(libjingle_source)/talk/app/webrtc/mediastream.h', 361 '<(libjingle_source)/talk/app/webrtc/mediastreamhandler.cc', 362 '<(libjingle_source)/talk/app/webrtc/mediastreamhandler.h', 363 '<(libjingle_source)/talk/app/webrtc/mediastreaminterface.h', 364 '<(libjingle_source)/talk/app/webrtc/mediastreamprovider.h', 365 '<(libjingle_source)/talk/app/webrtc/mediastreamproxy.h', 366 '<(libjingle_source)/talk/app/webrtc/mediastreamsignaling.cc', 367 '<(libjingle_source)/talk/app/webrtc/mediastreamsignaling.h', 368 '<(libjingle_source)/talk/app/webrtc/mediastreamtrack.h', 369 '<(libjingle_source)/talk/app/webrtc/mediastreamtrackproxy.h', 370 '<(libjingle_source)/talk/app/webrtc/notifier.h', 371 '<(libjingle_source)/talk/app/webrtc/peerconnection.cc', 372 '<(libjingle_source)/talk/app/webrtc/peerconnection.h', 373 '<(libjingle_source)/talk/app/webrtc/peerconnectionfactory.cc', 374 '<(libjingle_source)/talk/app/webrtc/peerconnectionfactory.h', 375 '<(libjingle_source)/talk/app/webrtc/peerconnectioninterface.h', 376 '<(libjingle_source)/talk/app/webrtc/portallocatorfactory.cc', 377 '<(libjingle_source)/talk/app/webrtc/portallocatorfactory.h', 378 '<(libjingle_source)/talk/app/webrtc/remoteaudiosource.cc', 379 '<(libjingle_source)/talk/app/webrtc/remoteaudiosource.h', 380 '<(libjingle_source)/talk/app/webrtc/remotevideocapturer.cc', 381 '<(libjingle_source)/talk/app/webrtc/remotevideocapturer.h', 382 '<(libjingle_source)/talk/app/webrtc/sctputils.cc', 383 '<(libjingle_source)/talk/app/webrtc/sctputils.h', 384 '<(libjingle_source)/talk/app/webrtc/statscollector.cc', 385 '<(libjingle_source)/talk/app/webrtc/statscollector.h', 386 '<(libjingle_source)/talk/app/webrtc/statstypes.h', 387 '<(libjingle_source)/talk/app/webrtc/streamcollection.h', 388 '<(libjingle_source)/talk/app/webrtc/umametrics.h', 389 '<(libjingle_source)/talk/app/webrtc/videosource.cc', 390 '<(libjingle_source)/talk/app/webrtc/videosource.h', 391 '<(libjingle_source)/talk/app/webrtc/videosourceinterface.h', 392 '<(libjingle_source)/talk/app/webrtc/videosourceproxy.h', 393 '<(libjingle_source)/talk/app/webrtc/videotrack.cc', 394 '<(libjingle_source)/talk/app/webrtc/videotrack.h', 395 '<(libjingle_source)/talk/app/webrtc/videotrackrenderers.cc', 396 '<(libjingle_source)/talk/app/webrtc/videotrackrenderers.h', 397 '<(libjingle_source)/talk/app/webrtc/webrtcsdp.cc', 398 '<(libjingle_source)/talk/app/webrtc/webrtcsdp.h', 399 '<(libjingle_source)/talk/app/webrtc/webrtcsession.cc', 400 '<(libjingle_source)/talk/app/webrtc/webrtcsession.h', 401 '<(libjingle_source)/talk/app/webrtc/webrtcsessiondescriptionfactory.cc', 402 '<(libjingle_source)/talk/app/webrtc/webrtcsessiondescriptionfactory.h', 403 '<(libjingle_source)/talk/media/base/audiorenderer.h', 404 '<(libjingle_source)/talk/media/base/capturemanager.cc', 405 '<(libjingle_source)/talk/media/base/capturemanager.h', 406 '<(libjingle_source)/talk/media/base/capturerenderadapter.cc', 407 '<(libjingle_source)/talk/media/base/capturerenderadapter.h', 408 '<(libjingle_source)/talk/media/base/codec.cc', 409 '<(libjingle_source)/talk/media/base/codec.h', 410 '<(libjingle_source)/talk/media/base/constants.cc', 411 '<(libjingle_source)/talk/media/base/constants.h', 412 '<(libjingle_source)/talk/media/base/cryptoparams.h', 413 '<(libjingle_source)/talk/media/base/filemediaengine.cc', 414 '<(libjingle_source)/talk/media/base/filemediaengine.h', 415 '<(libjingle_source)/talk/media/base/hybriddataengine.h', 416 '<(libjingle_source)/talk/media/base/mediachannel.h', 417 '<(libjingle_source)/talk/media/base/mediaengine.cc', 418 '<(libjingle_source)/talk/media/base/mediaengine.h', 419 '<(libjingle_source)/talk/media/base/rtpdataengine.cc', 420 '<(libjingle_source)/talk/media/base/rtpdataengine.h', 421 '<(libjingle_source)/talk/media/base/rtpdump.cc', 422 '<(libjingle_source)/talk/media/base/rtpdump.h', 423 '<(libjingle_source)/talk/media/base/rtputils.cc', 424 '<(libjingle_source)/talk/media/base/rtputils.h', 425 '<(libjingle_source)/talk/media/base/streamparams.cc', 426 '<(libjingle_source)/talk/media/base/streamparams.h', 427 '<(libjingle_source)/talk/media/base/videoadapter.cc', 428 '<(libjingle_source)/talk/media/base/videoadapter.h', 429 '<(libjingle_source)/talk/media/base/videocapturer.cc', 430 '<(libjingle_source)/talk/media/base/videocapturer.h', 431 '<(libjingle_source)/talk/media/base/videocommon.cc', 432 '<(libjingle_source)/talk/media/base/videocommon.h', 433 '<(libjingle_source)/talk/media/base/videoframe.cc', 434 '<(libjingle_source)/talk/media/base/videoframe.h', 435 '<(libjingle_source)/talk/media/devices/dummydevicemanager.cc', 436 '<(libjingle_source)/talk/media/devices/dummydevicemanager.h', 437 '<(libjingle_source)/talk/media/devices/filevideocapturer.cc', 438 '<(libjingle_source)/talk/media/devices/filevideocapturer.h', 439 '<(libjingle_source)/talk/media/webrtc/webrtccommon.h', 440 '<(libjingle_source)/talk/media/webrtc/webrtcpassthroughrender.cc', 441 '<(libjingle_source)/talk/media/webrtc/webrtcpassthroughrender.h', 442 '<(libjingle_source)/talk/media/webrtc/webrtctexturevideoframe.cc', 443 '<(libjingle_source)/talk/media/webrtc/webrtctexturevideoframe.h', 444 '<(libjingle_source)/talk/media/webrtc/webrtcvideocapturer.cc', 445 '<(libjingle_source)/talk/media/webrtc/webrtcvideocapturer.h', 446 '<(libjingle_source)/talk/media/webrtc/webrtcvideoframe.cc', 447 '<(libjingle_source)/talk/media/webrtc/webrtcvideoframe.h', 448 '<(libjingle_source)/talk/media/webrtc/webrtcvideoframefactory.cc', 449 '<(libjingle_source)/talk/media/webrtc/webrtcvideoframefactory.h', 450 '<(libjingle_source)/talk/media/webrtc/webrtcvie.h', 451 '<(libjingle_source)/talk/media/webrtc/webrtcvoe.h', 452 '<(libjingle_source)/talk/session/media/audiomonitor.cc', 453 '<(libjingle_source)/talk/session/media/audiomonitor.h', 454 '<(libjingle_source)/talk/session/media/bundlefilter.cc', 455 '<(libjingle_source)/talk/session/media/bundlefilter.h', 456 '<(libjingle_source)/talk/session/media/call.cc', 457 '<(libjingle_source)/talk/session/media/call.h', 458 '<(libjingle_source)/talk/session/media/channel.cc', 459 '<(libjingle_source)/talk/session/media/channel.h', 460 '<(libjingle_source)/talk/session/media/channelmanager.cc', 461 '<(libjingle_source)/talk/session/media/channelmanager.h', 462 '<(libjingle_source)/talk/session/media/currentspeakermonitor.cc', 463 '<(libjingle_source)/talk/session/media/currentspeakermonitor.h', 464 '<(libjingle_source)/talk/session/media/externalhmac.cc', 465 '<(libjingle_source)/talk/session/media/externalhmac.h', 466 '<(libjingle_source)/talk/session/media/mediamessages.cc', 467 '<(libjingle_source)/talk/session/media/mediamessages.h', 468 '<(libjingle_source)/talk/session/media/mediamonitor.cc', 469 '<(libjingle_source)/talk/session/media/mediamonitor.h', 470 '<(libjingle_source)/talk/session/media/mediasession.cc', 471 '<(libjingle_source)/talk/session/media/mediasession.h', 472 '<(libjingle_source)/talk/session/media/mediasessionclient.cc', 473 '<(libjingle_source)/talk/session/media/mediasessionclient.h', 474 '<(libjingle_source)/talk/session/media/mediasink.h', 475 '<(libjingle_source)/talk/session/media/rtcpmuxfilter.cc', 476 '<(libjingle_source)/talk/session/media/rtcpmuxfilter.h', 477 '<(libjingle_source)/talk/session/media/soundclip.cc', 478 '<(libjingle_source)/talk/session/media/soundclip.h', 479 '<(libjingle_source)/talk/session/media/srtpfilter.cc', 480 '<(libjingle_source)/talk/session/media/srtpfilter.h', 481 '<(libjingle_source)/talk/session/media/typingmonitor.cc', 482 '<(libjingle_source)/talk/session/media/typingmonitor.h', 483 '<(libjingle_source)/talk/session/media/voicechannel.h', 484 '<(libjingle_source)/talk/session/tunnel/pseudotcpchannel.cc', 485 '<(libjingle_source)/talk/session/tunnel/pseudotcpchannel.h', 486 '<(libjingle_source)/talk/session/tunnel/tunnelsessionclient.cc', 487 '<(libjingle_source)/talk/session/tunnel/tunnelsessionclient.h', 488 ], 489 'conditions': [ 490 ['libpeer_allocator_shim==1 and ' 491 'libpeer_target_type!="static_library" and OS!="mac"', { 492 'sources': [ 493 'overrides/allocator_shim/allocator_stub.cc', 494 'overrides/allocator_shim/allocator_stub.h', 495 ], 496 }], 497 # TODO(mallinath) - Enable SCTP for iOS. 498 ['OS!="ios"', { 499 'defines': [ 500 'HAVE_SCTP', 501 ], 502 'sources': [ 503 '<(libjingle_source)/talk/media/sctp/sctpdataengine.cc', 504 '<(libjingle_source)/talk/media/sctp/sctpdataengine.h', 505 ], 506 'dependencies': [ 507 '<(DEPTH)/third_party/usrsctp/usrsctp.gyp:usrsctplib', 508 ], 509 }], 510 ['enabled_libjingle_device_manager==1', { 511 'sources!': [ 512 '<(libjingle_source)/talk/media/devices/dummydevicemanager.cc', 513 '<(libjingle_source)/talk/media/devices/dummydevicemanager.h', 514 ], 515 'sources': [ 516 '<(libjingle_source)/talk/media/devices/devicemanager.cc', 517 '<(libjingle_source)/talk/media/devices/devicemanager.h', 518 ], 519 'conditions': [ 520 ['OS=="win"', { 521 'sources': [ 522 '<(libjingle_source)/talk/media/devices/win32deviceinfo.cc', 523 '<(libjingle_source)/talk/media/devices/win32devicemanager.cc', 524 '<(libjingle_source)/talk/media/devices/win32devicemanager.h', 525 ], 526 }], 527 ['OS=="linux"', { 528 'sources': [ 529 '<(libjingle_source)/talk/media/devices/libudevsymboltable.cc', 530 '<(libjingle_source)/talk/media/devices/libudevsymboltable.h', 531 '<(libjingle_source)/talk/media/devices/linuxdeviceinfo.cc', 532 '<(libjingle_source)/talk/media/devices/linuxdevicemanager.cc', 533 '<(libjingle_source)/talk/media/devices/linuxdevicemanager.h', 534 '<(libjingle_source)/talk/media/devices/v4llookup.cc', 535 '<(libjingle_source)/talk/media/devices/v4llookup.h', 536 ], 537 }], 538 ['OS=="mac"', { 539 'sources': [ 540 '<(libjingle_source)/talk/media/devices/macdeviceinfo.cc', 541 '<(libjingle_source)/talk/media/devices/macdevicemanager.cc', 542 '<(libjingle_source)/talk/media/devices/macdevicemanager.h', 543 '<(libjingle_source)/talk/media/devices/macdevicemanagermm.mm', 544 ], 545 'xcode_settings': { 546 'WARNING_CFLAGS': [ 547 # Suppres warnings about using deprecated functions in 548 # macdevicemanager.cc. 549 '-Wno-deprecated-declarations', 550 ], 551 }, 552 }], 553 ], 554 }], 555 ], 556 'dependencies': [ 557 '<(DEPTH)/third_party/libsrtp/libsrtp.gyp:libsrtp', 558 '<(DEPTH)/third_party/webrtc/modules/modules.gyp:media_file', 559 '<(DEPTH)/third_party/webrtc/modules/modules.gyp:video_capture_module_impl', 560 '<(DEPTH)/third_party/webrtc/modules/modules.gyp:video_render_module_impl', 561 'libjingle', 562 ], 563 }, # target libjingle_webrtc_common 564 { 565 # GN version: //third_party/libjingle:libjingle_webrtc 566 'target_name': 'libjingle_webrtc', 567 'type': 'static_library', 568 'sources': [ 569 'overrides/init_webrtc.cc', 570 'overrides/init_webrtc.h', 571 ], 572 'dependencies': [ 573 'libjingle_webrtc_common', 574 ], 575 }, 576 { 577 # GN version: //third_party/libjingle:libpeerconnection 578 'target_name': 'libpeerconnection', 579 'type': '<(libpeer_target_type)', 580 'sources': [ 581 # Note: sources list duplicated in GN build. 582 '<(libjingle_source)/talk/media/webrtc/webrtcmediaengine.cc', 583 '<(libjingle_source)/talk/media/webrtc/webrtcmediaengine.h', 584 '<(libjingle_source)/talk/media/webrtc/webrtcvideoengine.cc', 585 '<(libjingle_source)/talk/media/webrtc/webrtcvideoengine.h', 586 '<(libjingle_source)/talk/media/webrtc/webrtcvideoengine2.cc', 587 '<(libjingle_source)/talk/media/webrtc/webrtcvideoengine2.h', 588 '<(libjingle_source)/talk/media/webrtc/webrtcvoiceengine.cc', 589 '<(libjingle_source)/talk/media/webrtc/webrtcvoiceengine.h', 590 ], 591 'dependencies': [ 592 '<(DEPTH)/third_party/webrtc/system_wrappers/source/system_wrappers.gyp:system_wrappers', 593 '<(DEPTH)/third_party/webrtc/voice_engine/voice_engine.gyp:voice_engine', 594 '<(DEPTH)/third_party/webrtc/webrtc.gyp:webrtc', 595 '<@(libjingle_peerconnection_additional_deps)', 596 'libjingle_webrtc_common', 597 ], 598 'conditions': [ 599 ['libpeer_target_type!="static_library"', { 600 'sources': [ 601 'overrides/initialize_module.cc', 602 ], 603 'conditions': [ 604 ['OS!="mac" and OS!="android"', { 605 'sources': [ 606 'overrides/allocator_shim/allocator_proxy.cc', 607 ], 608 }], 609 ], 610 }], 611 ['"<(libpeer_target_type)"!="static_library"', { 612 # Used to control symbol export/import. 613 'defines': [ 'LIBPEERCONNECTION_IMPLEMENTATION=1' ], 614 }], 615 ['OS=="win" and "<(libpeer_target_type)"!="static_library"', { 616 'link_settings': { 617 'libraries': [ 618 '-lsecur32.lib', 619 '-lcrypt32.lib', 620 '-liphlpapi.lib', 621 ], 622 }, 623 }], 624 ['OS!="win" and "<(libpeer_target_type)"!="static_library"', { 625 'cflags': [ 626 # For compatibility with how we export symbols from this 627 # target on Windows. This also prevents the linker from 628 # picking up symbols from this target that should be linked 629 # in from other libjingle libs. 630 '-fvisibility=hidden', 631 ], 632 }], 633 ['OS=="mac" and libpeer_target_type!="static_library"', { 634 'product_name': 'libpeerconnection', 635 }], 636 ['OS=="android" and "<(libpeer_target_type)"=="static_library"', { 637 'standalone_static_library': 1, 638 }], 639 ['OS=="linux" and libpeer_target_type!="static_library"', { 640 # The installer and various tools depend on finding the .so 641 # in this directory and not lib.target as will otherwise be 642 # the case with make builds. 643 'product_dir': '<(PRODUCT_DIR)/lib', 644 }], 645 ], 646 }, # target libpeerconnection 647 ], 648 }], 649 ], 650} 651