blob: 49a66c34033fac0245c266f61c83485a593c4025 [file] [log] [blame]
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +00001# Copyright (c) 2012 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.
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +00008{
pbos@webrtc.org16e03b72013-10-28 16:32:01 +00009 'conditions': [
10 ['include_tests==1', {
11 'includes': [
henrike@webrtc.org31b75ea2014-10-02 18:43:47 +000012 'libjingle/xmllite/xmllite_tests.gypi',
henrike@webrtc.org269fb4b2014-10-28 22:20:11 +000013 'libjingle/xmpp/xmpp_tests.gypi',
14 'p2p/p2p_tests.gypi',
henrike@webrtc.org593c3a02014-10-01 16:33:03 +000015 'sound/sound_tests.gypi',
pbos@webrtc.org16e03b72013-10-28 16:32:01 +000016 'webrtc_tests.gypi',
17 ],
18 }],
Bjorn Terelius36411852015-07-30 12:45:18 +020019 ['enable_protobuf==1', {
20 'targets': [
21 {
22 # This target should only be built if enable_protobuf is defined
23 'target_name': 'rtc_event_log_proto',
24 'type': 'static_library',
25 'sources': ['video/rtc_event_log.proto',],
26 'variables': {
27 'proto_in_dir': 'video',
28 'proto_out_dir': 'webrtc/video',
29 },
30 'includes': ['build/protoc.gypi'],
31 },
32 ],
33 }],
pbos@webrtc.org16e03b72013-10-28 16:32:01 +000034 ],
35 'includes': [
36 'build/common.gypi',
37 'video/webrtc_video.gypi',
38 ],
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +000039 'variables': {
40 'webrtc_all_dependencies': [
henrike@webrtc.orgf0488722014-05-13 18:00:26 +000041 'base/base.gyp:*',
henrike@webrtc.org66a35822014-08-26 22:04:04 +000042 'sound/sound.gyp:*',
pbos@webrtc.org1e92b0a2014-05-15 09:35:06 +000043 'common.gyp:*',
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +000044 'common_audio/common_audio.gyp:*',
45 'common_video/common_video.gyp:*',
46 'modules/modules.gyp:*',
henrike@webrtc.org269fb4b2014-10-28 22:20:11 +000047 'p2p/p2p.gyp:*',
andresp@webrtc.org86e1e482015-01-14 09:30:52 +000048 'system_wrappers/system_wrappers.gyp:*',
kjellander@webrtc.orgd7e34e12015-01-26 19:17:26 +000049 'tools/tools.gyp:*',
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +000050 'voice_engine/voice_engine.gyp:*',
51 '<(webrtc_vp8_dir)/vp8.gyp:*',
marpan@webrtc.org5b883172014-11-01 06:10:48 +000052 '<(webrtc_vp9_dir)/vp9.gyp:*',
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +000053 ],
54 },
55 'targets': [
56 {
pbos@webrtc.org16e03b72013-10-28 16:32:01 +000057 'target_name': 'webrtc_all',
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +000058 'type': 'none',
59 'dependencies': [
60 '<@(webrtc_all_dependencies)',
pbos@webrtc.org16e03b72013-10-28 16:32:01 +000061 'webrtc',
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +000062 ],
63 'conditions': [
64 ['include_tests==1', {
65 'dependencies': [
pbos@webrtc.org724947b2013-12-11 16:26:16 +000066 'common_video/common_video_unittests.gyp:*',
Peter Boström2ee24392015-06-22 07:57:16 +020067 'rtc_unittests',
andresp@webrtc.org86e1e482015-01-14 09:30:52 +000068 'system_wrappers/system_wrappers_tests.gyp:*',
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +000069 'test/metrics.gyp:*',
70 'test/test.gyp:*',
stefan@webrtc.orgfaada6e2013-12-18 20:28:25 +000071 'test/webrtc_test_common.gyp:webrtc_test_common_unittests',
Peter Boström2ee24392015-06-22 07:57:16 +020072 'video_engine/video_engine_core_unittests.gyp:video_engine_core_unittests',
pbos@webrtc.org16e03b72013-10-28 16:32:01 +000073 'webrtc_tests',
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +000074 ],
75 }],
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +000076 ],
77 },
pbos@webrtc.org16e03b72013-10-28 16:32:01 +000078 {
pbos@webrtc.org16e03b72013-10-28 16:32:01 +000079 'target_name': 'webrtc',
80 'type': 'static_library',
81 'sources': [
Jelena Marusiccd670222015-07-16 09:30:09 +020082 'audio_receive_stream.h',
83 'audio_send_stream.h',
pbos@webrtc.org16e03b72013-10-28 16:32:01 +000084 'call.h',
85 'config.h',
86 'frame_callback.h',
Jelena Marusiccd670222015-07-16 09:30:09 +020087 'stream.h',
pbos@webrtc.org16e03b72013-10-28 16:32:01 +000088 'transport.h',
89 'video_receive_stream.h',
90 'video_renderer.h',
91 'video_send_stream.h',
92
93 '<@(webrtc_video_sources)',
94 ],
95 'dependencies': [
pbos@webrtc.org1e92b0a2014-05-15 09:35:06 +000096 'common.gyp:*',
pbos@webrtc.org16e03b72013-10-28 16:32:01 +000097 '<@(webrtc_video_dependencies)',
Bjorn Terelius36411852015-07-30 12:45:18 +020098 'rtc_event_log',
pbos@webrtc.org16e03b72013-10-28 16:32:01 +000099 ],
andresp@webrtc.orgab071da2014-09-18 08:58:15 +0000100 'conditions': [
101 # TODO(andresp): Chromium libpeerconnection should link directly with
pbos@webrtc.orga7f77722014-12-15 16:33:16 +0000102 # this and no if conditions should be needed on webrtc build files.
andresp@webrtc.orgab071da2014-09-18 08:58:15 +0000103 ['build_with_chromium==1', {
pbos@webrtc.orga7f77722014-12-15 16:33:16 +0000104 'dependencies': [
kjellander@webrtc.orgf58fe0a2015-02-11 07:47:00 +0000105 '<(webrtc_root)/modules/modules.gyp:video_capture',
106 '<(webrtc_root)/modules/modules.gyp:video_render',
pbos@webrtc.orga7f77722014-12-15 16:33:16 +0000107 ],
108 }],
andresp@webrtc.orgab071da2014-09-18 08:58:15 +0000109 ],
pbos@webrtc.org16e03b72013-10-28 16:32:01 +0000110 },
Bjorn Terelius36411852015-07-30 12:45:18 +0200111 {
112 'target_name': 'rtc_event_log',
113 'type': 'static_library',
114 'sources': [
115 'video/rtc_event_log.cc',
116 'video/rtc_event_log.h',
117 ],
118 'conditions': [
119 # If enable_protobuf is defined, we want to compile the protobuf
120 # and add rtc_event_log.pb.h and rtc_event_log.pb.cc to the sources.
121 ['enable_protobuf==1', {
122 'dependencies': [
123 'rtc_event_log_proto',
124 ],
125 'defines': [
126 'ENABLE_RTC_EVENT_LOG',
127 ],
128 }],
129 ],
130 },
131
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +0000132 ],
133}