blob: e1df4336f135da72a408ddae693899750f87b4b2 [file] [log] [blame]
henrike@webrtc.org8d27a1c2013-07-23 18:15:111# 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:118{
Henrik Kjellander15583c12016-02-10 09:53:129 'variables': {
10 'webrtc_all_dependencies': [
11 'base/base.gyp:*',
Henrik Kjellander15583c12016-02-10 09:53:1212 'common.gyp:*',
13 'common_audio/common_audio.gyp:*',
14 'common_video/common_video.gyp:*',
15 'media/media.gyp:*',
16 'modules/modules.gyp:*',
17 'p2p/p2p.gyp:*',
Henrik Kjellander4d689ad2016-04-01 09:14:5218 'pc/pc.gyp:*',
Henrik Kjellander15583c12016-02-10 09:53:1219 'system_wrappers/system_wrappers.gyp:*',
20 'tools/tools.gyp:*',
21 'voice_engine/voice_engine.gyp:*',
22 '<(webrtc_vp8_dir)/vp8.gyp:*',
23 '<(webrtc_vp9_dir)/vp9.gyp:*',
24 ],
25 },
pbos@webrtc.org16e03b72013-10-28 16:32:0126 'conditions': [
Henrik Kjellander15583c12016-02-10 09:53:1227 ['build_with_chromium==0', {
28 # TODO(kjellander): Move this to webrtc_all_dependencies once all of talk/
29 # has been moved to webrtc/. It can't be processed by Chromium since the
30 # reference to buid/java.gypi is using an absolute path (and includes
31 # entries cannot contain variables).
32 'variables': {
33 'webrtc_all_dependencies': [
34 'api/api.gyp:*',
35 ],
36 },
37 }],
tkchin9eeb6242016-04-27 08:54:2038 ['build_with_chromium==0 and'
39 '(OS=="ios" or (OS=="mac" and mac_deployment_target=="10.7"))', {
40 # TODO(kjellander): Move this to webrtc_all_dependencies once all of talk/
41 # has been moved to webrtc/. It can't be processed by Chromium since the
42 # reference to buid/java.gypi is using an absolute path (and includes
43 # entries cannot contain variables).
44 'variables': {
45 'webrtc_all_dependencies': [
46 'sdk/sdk.gyp:*',
47 ],
48 },
49 }],
pbos@webrtc.org16e03b72013-10-28 16:32:0150 ['include_tests==1', {
51 'includes': [
52 'webrtc_tests.gypi',
53 ],
54 }],
Bjorn Terelius36411852015-07-30 10:45:1855 ['enable_protobuf==1', {
56 'targets': [
57 {
58 # This target should only be built if enable_protobuf is defined
59 'target_name': 'rtc_event_log_proto',
60 'type': 'static_library',
Peter Boström5c389d32015-09-25 11:58:3061 'sources': ['call/rtc_event_log.proto',],
Bjorn Terelius36411852015-07-30 10:45:1862 'variables': {
Peter Boström5c389d32015-09-25 11:58:3063 'proto_in_dir': 'call',
64 'proto_out_dir': 'webrtc/call',
Bjorn Terelius36411852015-07-30 10:45:1865 },
66 'includes': ['build/protoc.gypi'],
67 },
68 ],
69 }],
tereliusd5c1a0b2016-05-13 07:42:5970 ['enable_protobuf==1', {
71 'targets': [
72 {
73 'target_name': 'rtc_event_log_parser',
74 'type': 'static_library',
75 'sources': [
76 'call/rtc_event_log_parser.cc',
77 'call/rtc_event_log_parser.h',
78 ],
79 'dependencies': [
80 'rtc_event_log_proto',
81 ],
82 'export_dependent_settings': [
83 'rtc_event_log_proto',
84 ],
85 },
86 ],
87 }],
Ivo Creusene1aa5b52015-09-18 13:41:0788 ['include_tests==1 and enable_protobuf==1', {
89 'targets': [
90 {
91 'target_name': 'rtc_event_log2rtp_dump',
92 'type': 'executable',
Peter Boström5c389d32015-09-25 11:58:3093 'sources': ['call/rtc_event_log2rtp_dump.cc',],
Ivo Creusene1aa5b52015-09-18 13:41:0794 'dependencies': [
95 '<(DEPTH)/third_party/gflags/gflags.gyp:gflags',
tereliusd5c1a0b2016-05-13 07:42:5996 'rtc_event_log_parser',
Ivo Creusene1aa5b52015-09-18 13:41:0797 'rtc_event_log_proto',
98 'test/test.gyp:rtp_test_utils'
99 ],
100 },
101 ],
102 }],
pbos@webrtc.org16e03b72013-10-28 16:32:01103 ],
104 'includes': [
105 'build/common.gypi',
Peter Boström5c389d32015-09-25 11:58:30106 'audio/webrtc_audio.gypi',
107 'call/webrtc_call.gypi',
pbos@webrtc.org16e03b72013-10-28 16:32:01108 'video/webrtc_video.gypi',
109 ],
henrike@webrtc.org8d27a1c2013-07-23 18:15:11110 'targets': [
111 {
pbos@webrtc.org16e03b72013-10-28 16:32:01112 'target_name': 'webrtc_all',
henrike@webrtc.org8d27a1c2013-07-23 18:15:11113 'type': 'none',
114 'dependencies': [
115 '<@(webrtc_all_dependencies)',
pbos@webrtc.org16e03b72013-10-28 16:32:01116 'webrtc',
henrike@webrtc.org8d27a1c2013-07-23 18:15:11117 ],
118 'conditions': [
119 ['include_tests==1', {
120 'dependencies': [
Henrik Kjellander15583c12016-02-10 09:53:12121 'api/api_tests.gyp:*',
pbos@webrtc.org724947b2013-12-11 16:26:16122 'common_video/common_video_unittests.gyp:*',
Peter Boström2ee24392015-06-22 05:57:16123 'rtc_unittests',
andresp@webrtc.org86e1e482015-01-14 09:30:52124 'system_wrappers/system_wrappers_tests.gyp:*',
henrike@webrtc.org8d27a1c2013-07-23 18:15:11125 'test/metrics.gyp:*',
126 'test/test.gyp:*',
pbos@webrtc.org16e03b72013-10-28 16:32:01127 'webrtc_tests',
henrike@webrtc.org8d27a1c2013-07-23 18:15:11128 ],
129 }],
henrike@webrtc.org8d27a1c2013-07-23 18:15:11130 ],
131 },
pbos@webrtc.org16e03b72013-10-28 16:32:01132 {
pbos@webrtc.org16e03b72013-10-28 16:32:01133 'target_name': 'webrtc',
134 'type': 'static_library',
135 'sources': [
kjellander7324eb92016-02-25 16:36:42136 'audio_receive_stream.h',
Jelena Marusiccd670222015-07-16 07:30:09137 'audio_send_stream.h',
solenberg566ef242015-11-06 23:34:49138 'audio_state.h',
pbos@webrtc.org16e03b72013-10-28 16:32:01139 'call.h',
kjellander84f8df72016-05-18 12:00:50140 'config.h',
kjellander7324eb92016-02-25 16:36:42141 'transport.h',
142 'video_receive_stream.h',
kjellander7324eb92016-02-25 16:36:42143 'video_send_stream.h',
144
Peter Boström5c389d32015-09-25 11:58:30145 '<@(webrtc_audio_sources)',
146 '<@(webrtc_call_sources)',
pbos@webrtc.org16e03b72013-10-28 16:32:01147 '<@(webrtc_video_sources)',
148 ],
149 'dependencies': [
pbos@webrtc.org1e92b0a2014-05-15 09:35:06150 'common.gyp:*',
Peter Boström5c389d32015-09-25 11:58:30151 '<@(webrtc_audio_dependencies)',
152 '<@(webrtc_call_dependencies)',
pbos@webrtc.org16e03b72013-10-28 16:32:01153 '<@(webrtc_video_dependencies)',
Bjorn Terelius36411852015-07-30 10:45:18154 'rtc_event_log',
pbos@webrtc.org16e03b72013-10-28 16:32:01155 ],
andresp@webrtc.orgab071da2014-09-18 08:58:15156 'conditions': [
Henrik Kjellander6ffc3302015-10-08 12:40:51157 # TODO(andresp): Chromium should link directly with this and no if
158 # conditions should be needed on webrtc build files.
andresp@webrtc.orgab071da2014-09-18 08:58:15159 ['build_with_chromium==1', {
pbos@webrtc.orga7f77722014-12-15 16:33:16160 'dependencies': [
kjellander@webrtc.orgf58fe0a2015-02-11 07:47:00161 '<(webrtc_root)/modules/modules.gyp:video_capture',
pbos@webrtc.orga7f77722014-12-15 16:33:16162 ],
163 }],
andresp@webrtc.orgab071da2014-09-18 08:58:15164 ],
pbos@webrtc.org16e03b72013-10-28 16:32:01165 },
Bjorn Terelius36411852015-07-30 10:45:18166 {
167 'target_name': 'rtc_event_log',
168 'type': 'static_library',
169 'sources': [
Peter Boström5c389d32015-09-25 11:58:30170 'call/rtc_event_log.cc',
171 'call/rtc_event_log.h',
terelius4311ba52016-04-22 19:40:37172 'call/rtc_event_log_helper_thread.cc',
173 'call/rtc_event_log_helper_thread.h',
Bjorn Terelius36411852015-07-30 10:45:18174 ],
175 'conditions': [
176 # If enable_protobuf is defined, we want to compile the protobuf
177 # and add rtc_event_log.pb.h and rtc_event_log.pb.cc to the sources.
178 ['enable_protobuf==1', {
179 'dependencies': [
180 'rtc_event_log_proto',
181 ],
182 'defines': [
183 'ENABLE_RTC_EVENT_LOG',
184 ],
185 }],
186 ],
187 },
188
henrike@webrtc.org8d27a1c2013-07-23 18:15:11189 ],
190}