blob: 974ad9231b85cb3eb2256eff2299a1e9d2b1da6f [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',
kjellandera96e2d72016-02-04 23:52:28 -080014 'media/media_tests.gypi',
henrike@webrtc.org269fb4b2014-10-28 22:20:11 +000015 'p2p/p2p_tests.gypi',
henrike@webrtc.org593c3a02014-10-01 16:33:03 +000016 'sound/sound_tests.gypi',
pbos@webrtc.org16e03b72013-10-28 16:32:01 +000017 'webrtc_tests.gypi',
18 ],
19 }],
Bjorn Terelius36411852015-07-30 12:45:18 +020020 ['enable_protobuf==1', {
21 'targets': [
22 {
23 # This target should only be built if enable_protobuf is defined
24 'target_name': 'rtc_event_log_proto',
25 'type': 'static_library',
Peter Boström5c389d32015-09-25 13:58:30 +020026 'sources': ['call/rtc_event_log.proto',],
Bjorn Terelius36411852015-07-30 12:45:18 +020027 'variables': {
Peter Boström5c389d32015-09-25 13:58:30 +020028 'proto_in_dir': 'call',
29 'proto_out_dir': 'webrtc/call',
Bjorn Terelius36411852015-07-30 12:45:18 +020030 },
31 'includes': ['build/protoc.gypi'],
32 },
33 ],
34 }],
Ivo Creusene1aa5b52015-09-18 15:41:07 +020035 ['include_tests==1 and enable_protobuf==1', {
36 'targets': [
37 {
38 'target_name': 'rtc_event_log2rtp_dump',
39 'type': 'executable',
Peter Boström5c389d32015-09-25 13:58:30 +020040 'sources': ['call/rtc_event_log2rtp_dump.cc',],
Ivo Creusene1aa5b52015-09-18 15:41:07 +020041 'dependencies': [
42 '<(DEPTH)/third_party/gflags/gflags.gyp:gflags',
43 'rtc_event_log',
44 'rtc_event_log_proto',
45 'test/test.gyp:rtp_test_utils'
46 ],
47 },
48 ],
49 }],
pbos@webrtc.org16e03b72013-10-28 16:32:01 +000050 ],
51 'includes': [
52 'build/common.gypi',
Peter Boström5c389d32015-09-25 13:58:30 +020053 'audio/webrtc_audio.gypi',
54 'call/webrtc_call.gypi',
pbos@webrtc.org16e03b72013-10-28 16:32:01 +000055 'video/webrtc_video.gypi',
56 ],
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +000057 'variables': {
58 'webrtc_all_dependencies': [
henrike@webrtc.orgf0488722014-05-13 18:00:26 +000059 'base/base.gyp:*',
henrike@webrtc.org66a35822014-08-26 22:04:04 +000060 'sound/sound.gyp:*',
pbos@webrtc.org1e92b0a2014-05-15 09:35:06 +000061 'common.gyp:*',
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +000062 'common_audio/common_audio.gyp:*',
63 'common_video/common_video.gyp:*',
kjellandera96e2d72016-02-04 23:52:28 -080064 'media/media.gyp:*',
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +000065 'modules/modules.gyp:*',
henrike@webrtc.org269fb4b2014-10-28 22:20:11 +000066 'p2p/p2p.gyp:*',
andresp@webrtc.org86e1e482015-01-14 09:30:52 +000067 'system_wrappers/system_wrappers.gyp:*',
kjellander@webrtc.orgd7e34e12015-01-26 19:17:26 +000068 'tools/tools.gyp:*',
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +000069 'voice_engine/voice_engine.gyp:*',
70 '<(webrtc_vp8_dir)/vp8.gyp:*',
marpan@webrtc.org5b883172014-11-01 06:10:48 +000071 '<(webrtc_vp9_dir)/vp9.gyp:*',
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +000072 ],
73 },
74 'targets': [
75 {
pbos@webrtc.org16e03b72013-10-28 16:32:01 +000076 'target_name': 'webrtc_all',
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +000077 'type': 'none',
78 'dependencies': [
79 '<@(webrtc_all_dependencies)',
pbos@webrtc.org16e03b72013-10-28 16:32:01 +000080 'webrtc',
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +000081 ],
82 'conditions': [
83 ['include_tests==1', {
84 'dependencies': [
pbos@webrtc.org724947b2013-12-11 16:26:16 +000085 'common_video/common_video_unittests.gyp:*',
Peter Boström2ee24392015-06-22 07:57:16 +020086 'rtc_unittests',
andresp@webrtc.org86e1e482015-01-14 09:30:52 +000087 'system_wrappers/system_wrappers_tests.gyp:*',
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +000088 'test/metrics.gyp:*',
89 'test/test.gyp:*',
Henrik Kjellanderafb6b5e2015-09-16 14:07:33 +020090 'test/webrtc_test_common.gyp:*',
pbos@webrtc.org16e03b72013-10-28 16:32:01 +000091 'webrtc_tests',
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +000092 ],
93 }],
tkchinab8f82f2016-01-27 17:50:11 -080094 ['OS=="ios"', {
95 'dependencies': [
96 # TODO(tkchin): Move this target to webrtc_all_dependencies once it
97 # has more than iOS specific targets.
98 # TODO(tkchin): Figure out where to add this in BUILD.gn.
99 'api/api.gyp:*',
100 ],
101 }],
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +0000102 ],
103 },
pbos@webrtc.org16e03b72013-10-28 16:32:01 +0000104 {
pbos@webrtc.org16e03b72013-10-28 16:32:01 +0000105 'target_name': 'webrtc',
106 'type': 'static_library',
107 'sources': [
Jelena Marusiccd670222015-07-16 09:30:09 +0200108 'audio_receive_stream.h',
109 'audio_send_stream.h',
solenberg566ef242015-11-06 15:34:49 -0800110 'audio_state.h',
pbos@webrtc.org16e03b72013-10-28 16:32:01 +0000111 'call.h',
112 'config.h',
113 'frame_callback.h',
Jelena Marusiccd670222015-07-16 09:30:09 +0200114 'stream.h',
pbos@webrtc.org16e03b72013-10-28 16:32:01 +0000115 'transport.h',
116 'video_receive_stream.h',
117 'video_renderer.h',
118 'video_send_stream.h',
119
Peter Boström5c389d32015-09-25 13:58:30 +0200120 '<@(webrtc_audio_sources)',
121 '<@(webrtc_call_sources)',
pbos@webrtc.org16e03b72013-10-28 16:32:01 +0000122 '<@(webrtc_video_sources)',
123 ],
124 'dependencies': [
pbos@webrtc.org1e92b0a2014-05-15 09:35:06 +0000125 'common.gyp:*',
Peter Boström5c389d32015-09-25 13:58:30 +0200126 '<@(webrtc_audio_dependencies)',
127 '<@(webrtc_call_dependencies)',
pbos@webrtc.org16e03b72013-10-28 16:32:01 +0000128 '<@(webrtc_video_dependencies)',
Bjorn Terelius36411852015-07-30 12:45:18 +0200129 'rtc_event_log',
pbos@webrtc.org16e03b72013-10-28 16:32:01 +0000130 ],
andresp@webrtc.orgab071da2014-09-18 08:58:15 +0000131 'conditions': [
Henrik Kjellander6ffc3302015-10-08 14:40:51 +0200132 # TODO(andresp): Chromium should link directly with this and no if
133 # conditions should be needed on webrtc build files.
andresp@webrtc.orgab071da2014-09-18 08:58:15 +0000134 ['build_with_chromium==1', {
pbos@webrtc.orga7f77722014-12-15 16:33:16 +0000135 'dependencies': [
kjellander@webrtc.orgf58fe0a2015-02-11 07:47:00 +0000136 '<(webrtc_root)/modules/modules.gyp:video_capture',
137 '<(webrtc_root)/modules/modules.gyp:video_render',
pbos@webrtc.orga7f77722014-12-15 16:33:16 +0000138 ],
139 }],
andresp@webrtc.orgab071da2014-09-18 08:58:15 +0000140 ],
pbos@webrtc.org16e03b72013-10-28 16:32:01 +0000141 },
Bjorn Terelius36411852015-07-30 12:45:18 +0200142 {
143 'target_name': 'rtc_event_log',
144 'type': 'static_library',
145 'sources': [
Peter Boström5c389d32015-09-25 13:58:30 +0200146 'call/rtc_event_log.cc',
147 'call/rtc_event_log.h',
Bjorn Terelius36411852015-07-30 12:45:18 +0200148 ],
149 'conditions': [
150 # If enable_protobuf is defined, we want to compile the protobuf
151 # and add rtc_event_log.pb.h and rtc_event_log.pb.cc to the sources.
152 ['enable_protobuf==1', {
153 'dependencies': [
154 'rtc_event_log_proto',
155 ],
156 'defines': [
157 'ENABLE_RTC_EVENT_LOG',
158 ],
159 }],
160 ],
161 },
162
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +0000163 ],
164}