blob: 697e78e03f193d3714b088cca64530512c1b9bda [file] [log] [blame]
henrike@webrtc.org28e20752013-07-10 00:45:36 +00001#
2# libjingle
jlmiller@webrtc.org5f93d0a2015-01-20 21:36:13 +00003# Copyright 2012 Google Inc.
henrike@webrtc.org28e20752013-07-10 00:45:36 +00004#
5# Redistribution and use in source and binary forms, with or without
6# modification, are permitted provided that the following conditions are met:
7#
8# 1. Redistributions of source code must retain the above copyright notice,
9# this list of conditions and the following disclaimer.
10# 2. Redistributions in binary form must reproduce the above copyright notice,
11# this list of conditions and the following disclaimer in the documentation
12# and/or other materials provided with the distribution.
13# 3. The name of the author may not be used to endorse or promote products
14# derived from this software without specific prior written permission.
15#
16# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
17# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
19# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
20# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
21# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
22# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
23# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
24# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
25# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
henrike@webrtc.org28e20752013-07-10 00:45:36 +000026
27{
28 'includes': ['build/common.gypi'],
henrike@webrtc.org28e20752013-07-10 00:45:36 +000029 'conditions': [
30 ['os_posix == 1 and OS != "mac" and OS != "ios"', {
31 'conditions': [
32 ['sysroot!=""', {
33 'variables': {
34 'pkg-config': '../../../build/linux/pkg-config-wrapper "<(sysroot)" "<(target_arch)"',
35 },
36 }, {
37 'variables': {
38 'pkg-config': 'pkg-config'
39 },
40 }],
41 ],
42 }],
henrike@webrtc.org28e20752013-07-10 00:45:36 +000043 ['OS=="linux" or OS=="android"', {
44 'targets': [
45 {
46 'target_name': 'libjingle_peerconnection_so',
perkj@webrtc.org128faba2014-12-11 12:25:57 +000047 'type': 'shared_library',
henrike@webrtc.org28e20752013-07-10 00:45:36 +000048 'dependencies': [
49 'libjingle_peerconnection',
50 '<(DEPTH)/third_party/icu/icu.gyp:icuuc',
51 ],
52 'sources': [
53 'app/webrtc/java/jni/peerconnection_jni.cc'
54 ],
fischman@webrtc.org540acde2014-02-13 03:56:14 +000055 'include_dirs': [
56 '<(DEPTH)/third_party/libyuv/include',
57 ],
henrike@webrtc.org28e20752013-07-10 00:45:36 +000058 'conditions': [
59 ['OS=="linux"', {
60 'defines': [
61 'HAVE_GTK',
62 ],
63 'include_dirs': [
64 '<(java_home)/include',
65 '<(java_home)/include/linux',
66 ],
67 'link_settings': {
68 'libraries': [
69 '<!@(pkg-config --libs-only-l gobject-2.0 gthread-2.0'
70 ' gtk+-2.0)',
71 ],
72 },
73 }],
74 ],
75 },
76 {
77 'target_name': 'libjingle_peerconnection_jar',
78 'type': 'none',
79 'actions': [
80 {
81 'variables': {
82 'java_src_dir': 'app/webrtc/java/src',
henrike@webrtc.org9de257d2013-07-17 14:42:53 +000083 'webrtc_modules_dir': '<(webrtc_root)/modules',
fischman@webrtc.org000dde92013-12-20 22:49:35 +000084 'build_jar_log': '<(INTERMEDIATE_DIR)/build_jar.log',
henrike@webrtc.org28e20752013-07-10 00:45:36 +000085 'peerconnection_java_files': [
86 'app/webrtc/java/src/org/webrtc/AudioSource.java',
87 'app/webrtc/java/src/org/webrtc/AudioTrack.java',
henrike@webrtc.org723d6832013-07-12 16:04:50 +000088 'app/webrtc/java/src/org/webrtc/DataChannel.java',
henrike@webrtc.org28e20752013-07-10 00:45:36 +000089 'app/webrtc/java/src/org/webrtc/IceCandidate.java',
fischman@webrtc.orgc883fdc2013-08-06 19:00:53 +000090 'app/webrtc/java/src/org/webrtc/Logging.java',
henrike@webrtc.org28e20752013-07-10 00:45:36 +000091 'app/webrtc/java/src/org/webrtc/MediaConstraints.java',
92 'app/webrtc/java/src/org/webrtc/MediaSource.java',
93 'app/webrtc/java/src/org/webrtc/MediaStream.java',
94 'app/webrtc/java/src/org/webrtc/MediaStreamTrack.java',
95 'app/webrtc/java/src/org/webrtc/PeerConnectionFactory.java',
96 'app/webrtc/java/src/org/webrtc/PeerConnection.java',
97 'app/webrtc/java/src/org/webrtc/SdpObserver.java',
98 'app/webrtc/java/src/org/webrtc/StatsObserver.java',
99 'app/webrtc/java/src/org/webrtc/StatsReport.java',
100 'app/webrtc/java/src/org/webrtc/SessionDescription.java',
101 'app/webrtc/java/src/org/webrtc/VideoCapturer.java',
102 'app/webrtc/java/src/org/webrtc/VideoRenderer.java',
103 'app/webrtc/java/src/org/webrtc/VideoSource.java',
104 'app/webrtc/java/src/org/webrtc/VideoTrack.java',
105 ],
106 # TODO(fischman): extract this into a webrtc gyp var that can be
107 # included here, or better yet, build a proper .jar in webrtc
108 # and include it here.
109 'android_java_files': [
glaznev@webrtc.orgc3288c12014-06-06 21:57:46 +0000110 'app/webrtc/java/android/org/webrtc/VideoRendererGui.java',
fischman@webrtc.org540acde2014-02-13 03:56:14 +0000111 'app/webrtc/java/src/org/webrtc/MediaCodecVideoEncoder.java',
glaznev@webrtc.orgefe4b9a2014-07-22 17:44:53 +0000112 'app/webrtc/java/src/org/webrtc/MediaCodecVideoDecoder.java',
henrike@webrtc.org82f014a2013-09-10 18:24:07 +0000113 '<(webrtc_modules_dir)/audio_device/android/java/src/org/webrtc/voiceengine/AudioManagerAndroid.java',
henrike@webrtc.org9de257d2013-07-17 14:42:53 +0000114 '<(webrtc_modules_dir)/video_capture/android/java/src/org/webrtc/videoengine/VideoCaptureAndroid.java',
115 '<(webrtc_modules_dir)/video_capture/android/java/src/org/webrtc/videoengine/VideoCaptureDeviceInfoAndroid.java',
116 '<(webrtc_modules_dir)/video_render/android/java/src/org/webrtc/videoengine/ViEAndroidGLES20.java',
117 '<(webrtc_modules_dir)/video_render/android/java/src/org/webrtc/videoengine/ViERenderer.java',
118 '<(webrtc_modules_dir)/video_render/android/java/src/org/webrtc/videoengine/ViESurfaceRenderer.java',
henrike@webrtc.org9ee75e92013-12-11 21:42:44 +0000119 '<(webrtc_modules_dir)/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioRecord.java',
120 '<(webrtc_modules_dir)/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioTrack.java',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000121 ],
122 },
123 'action_name': 'create_jar',
124 'inputs': [
125 'build/build_jar.sh',
126 '<@(java_files)',
127 ],
128 'outputs': [
129 '<(PRODUCT_DIR)/libjingle_peerconnection.jar',
130 ],
131 'conditions': [
132 ['OS=="android"', {
133 'variables': {
134 'java_files': ['<@(peerconnection_java_files)', '<@(android_java_files)'],
135 'build_classpath': '<(java_src_dir):<(DEPTH)/third_party/android_tools/sdk/platforms/android-<(android_sdk_version)/android.jar',
136 },
137 }, {
138 'variables': {
139 'java_files': ['<@(peerconnection_java_files)'],
140 'build_classpath': '<(java_src_dir)',
141 },
142 }],
143 ],
144 'action': [
fischman@webrtc.org000dde92013-12-20 22:49:35 +0000145 'bash', '-ec',
146 'mkdir -p <(INTERMEDIATE_DIR) && '
147 '{ build/build_jar.sh <(java_home) <@(_outputs) '
148 ' <(INTERMEDIATE_DIR)/build_jar.tmp '
149 ' <(build_classpath) <@(java_files) '
150 ' > <(build_jar_log) 2>&1 || '
151 ' { cat <(build_jar_log) ; exit 1; } }'
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000152 ],
153 },
154 ],
155 'dependencies': [
156 'libjingle_peerconnection_so',
157 ],
158 },
159 ],
160 }],
perkj@webrtc.org128faba2014-12-11 12:25:57 +0000161 ['OS=="android"', {
162 'targets': [
163 {
164 # |libjingle_peerconnection_java| builds a jar file with name
165 # libjingle_peerconnection_java.jar using Chromes build system.
166 # It includes all Java files needed to setup a PeeerConnection call
167 # from Android.
168 # TODO(perkj): Consider replacing the use of
169 # libjingle_peerconnection_jar with this target everywhere.
170 'target_name': 'libjingle_peerconnection_java',
171 'type': 'none',
172 'dependencies': [
173 'libjingle_peerconnection_so',
174 ],
175 'variables': {
176 'java_in_dir': 'app/webrtc/java',
177 'webrtc_modules_dir': '<(webrtc_root)/modules',
178 'additional_src_dirs' : [
179 'app/webrtc/java/android',
180 '<(webrtc_modules_dir)/audio_device/android/java/src',
181 '<(webrtc_modules_dir)/video_capture/android/java/src',
182 '<(webrtc_modules_dir)/video_render/android/java/src',
183 ],
184 },
185 'includes': ['../build/java.gypi'],
186 }, # libjingle_peerconnection_java
187 ]
188 }],
tkchin@webrtc.orgff273322014-04-30 18:32:33 +0000189 ['OS=="ios" or (OS=="mac" and target_arch!="ia32" and mac_sdk>="10.7")', {
190 # The >= 10.7 above is required for ARC.
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000191 'targets': [
192 {
193 'target_name': 'libjingle_peerconnection_objc',
194 'type': 'static_library',
195 'dependencies': [
196 'libjingle_peerconnection',
197 ],
198 'sources': [
199 'app/webrtc/objc/RTCAudioTrack+Internal.h',
200 'app/webrtc/objc/RTCAudioTrack.mm',
tkchin@webrtc.orgff273322014-04-30 18:32:33 +0000201 'app/webrtc/objc/RTCDataChannel+Internal.h',
202 'app/webrtc/objc/RTCDataChannel.mm',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000203 'app/webrtc/objc/RTCEnumConverter.h',
204 'app/webrtc/objc/RTCEnumConverter.mm',
tkchin@webrtc.org1732a592014-05-19 23:26:01 +0000205 'app/webrtc/objc/RTCI420Frame+Internal.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000206 'app/webrtc/objc/RTCI420Frame.mm',
fischman@webrtc.org1bc19542013-08-01 18:29:45 +0000207 'app/webrtc/objc/RTCICECandidate+Internal.h',
208 'app/webrtc/objc/RTCICECandidate.mm',
209 'app/webrtc/objc/RTCICEServer+Internal.h',
210 'app/webrtc/objc/RTCICEServer.mm',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000211 'app/webrtc/objc/RTCMediaConstraints+Internal.h',
212 'app/webrtc/objc/RTCMediaConstraints.mm',
213 'app/webrtc/objc/RTCMediaConstraintsNative.cc',
214 'app/webrtc/objc/RTCMediaConstraintsNative.h',
215 'app/webrtc/objc/RTCMediaSource+Internal.h',
216 'app/webrtc/objc/RTCMediaSource.mm',
217 'app/webrtc/objc/RTCMediaStream+Internal.h',
218 'app/webrtc/objc/RTCMediaStream.mm',
219 'app/webrtc/objc/RTCMediaStreamTrack+Internal.h',
220 'app/webrtc/objc/RTCMediaStreamTrack.mm',
tkchin@webrtc.orgacca6752014-05-30 22:26:06 +0000221 'app/webrtc/objc/RTCOpenGLVideoRenderer.mm',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000222 'app/webrtc/objc/RTCPair.m',
223 'app/webrtc/objc/RTCPeerConnection+Internal.h',
224 'app/webrtc/objc/RTCPeerConnection.mm',
225 'app/webrtc/objc/RTCPeerConnectionFactory.mm',
226 'app/webrtc/objc/RTCPeerConnectionObserver.h',
227 'app/webrtc/objc/RTCPeerConnectionObserver.mm',
228 'app/webrtc/objc/RTCSessionDescription+Internal.h',
229 'app/webrtc/objc/RTCSessionDescription.mm',
tkchin@webrtc.org19b1be12014-04-22 21:05:38 +0000230 'app/webrtc/objc/RTCStatsReport+Internal.h',
231 'app/webrtc/objc/RTCStatsReport.mm',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000232 'app/webrtc/objc/RTCVideoCapturer+Internal.h',
233 'app/webrtc/objc/RTCVideoCapturer.mm',
tkchin@webrtc.org81257442014-11-04 23:06:15 +0000234 'app/webrtc/objc/RTCVideoRendererAdapter.h',
235 'app/webrtc/objc/RTCVideoRendererAdapter.mm',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000236 'app/webrtc/objc/RTCVideoSource+Internal.h',
237 'app/webrtc/objc/RTCVideoSource.mm',
238 'app/webrtc/objc/RTCVideoTrack+Internal.h',
239 'app/webrtc/objc/RTCVideoTrack.mm',
240 'app/webrtc/objc/public/RTCAudioSource.h',
241 'app/webrtc/objc/public/RTCAudioTrack.h',
tkchin@webrtc.orgff273322014-04-30 18:32:33 +0000242 'app/webrtc/objc/public/RTCDataChannel.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000243 'app/webrtc/objc/public/RTCI420Frame.h',
fischman@webrtc.org1bc19542013-08-01 18:29:45 +0000244 'app/webrtc/objc/public/RTCICECandidate.h',
245 'app/webrtc/objc/public/RTCICEServer.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000246 'app/webrtc/objc/public/RTCMediaConstraints.h',
247 'app/webrtc/objc/public/RTCMediaSource.h',
248 'app/webrtc/objc/public/RTCMediaStream.h',
249 'app/webrtc/objc/public/RTCMediaStreamTrack.h',
tkchin@webrtc.orgacca6752014-05-30 22:26:06 +0000250 'app/webrtc/objc/public/RTCOpenGLVideoRenderer.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000251 'app/webrtc/objc/public/RTCPair.h',
252 'app/webrtc/objc/public/RTCPeerConnection.h',
253 'app/webrtc/objc/public/RTCPeerConnectionDelegate.h',
254 'app/webrtc/objc/public/RTCPeerConnectionFactory.h',
255 'app/webrtc/objc/public/RTCSessionDescription.h',
tkchin@webrtc.orgec3d8ec2014-04-21 18:47:24 +0000256 'app/webrtc/objc/public/RTCSessionDescriptionDelegate.h',
tkchin@webrtc.org19b1be12014-04-22 21:05:38 +0000257 'app/webrtc/objc/public/RTCStatsDelegate.h',
258 'app/webrtc/objc/public/RTCStatsReport.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000259 'app/webrtc/objc/public/RTCTypes.h',
260 'app/webrtc/objc/public/RTCVideoCapturer.h',
261 'app/webrtc/objc/public/RTCVideoRenderer.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000262 'app/webrtc/objc/public/RTCVideoSource.h',
263 'app/webrtc/objc/public/RTCVideoTrack.h',
264 ],
fischman@webrtc.org1bc19542013-08-01 18:29:45 +0000265 'direct_dependent_settings': {
266 'include_dirs': [
267 '<(DEPTH)/talk/app/webrtc/objc/public',
268 ],
269 },
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000270 'include_dirs': [
271 '<(DEPTH)/talk/app/webrtc',
272 '<(DEPTH)/talk/app/webrtc/objc',
273 '<(DEPTH)/talk/app/webrtc/objc/public',
274 ],
275 'link_settings': {
276 'libraries': [
fischman@webrtc.org76fe9302013-09-19 21:11:08 +0000277 '-lstdc++',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000278 ],
279 },
tkchin@webrtc.org3a63a3c2015-01-06 07:21:34 +0000280 'all_dependent_settings': {
281 'xcode_settings': {
282 'CLANG_ENABLE_OBJC_ARC': 'YES',
283 },
284 },
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000285 'xcode_settings': {
286 'CLANG_ENABLE_OBJC_ARC': 'YES',
tkchin@webrtc.org19b1be12014-04-22 21:05:38 +0000287 # common.gypi enables this for mac but we want this to be disabled
288 # like it is for ios.
289 'CLANG_WARN_OBJC_MISSING_PROPERTY_SYNTHESIS': 'NO',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000290 },
tkchin@webrtc.orgff273322014-04-30 18:32:33 +0000291 'conditions': [
tkchin@webrtc.org1732a592014-05-19 23:26:01 +0000292 ['OS=="ios"', {
293 'sources': [
tkchin@webrtc.org1732a592014-05-19 23:26:01 +0000294 'app/webrtc/objc/RTCEAGLVideoView.m',
tkchin@webrtc.org1732a592014-05-19 23:26:01 +0000295 'app/webrtc/objc/public/RTCEAGLVideoView.h',
296 ],
297 'link_settings': {
298 'xcode_settings': {
299 'OTHER_LDFLAGS': [
300 '-framework CoreGraphics',
301 '-framework GLKit',
302 ],
303 },
304 },
305 }],
tkchin@webrtc.orgff273322014-04-30 18:32:33 +0000306 ['OS=="mac"', {
tkchin@webrtc.orgacca6752014-05-30 22:26:06 +0000307 'sources': [
308 'app/webrtc/objc/RTCNSGLVideoView.m',
309 'app/webrtc/objc/public/RTCNSGLVideoView.h',
310 ],
tkchin@webrtc.orgff273322014-04-30 18:32:33 +0000311 'xcode_settings': {
312 # Need to build against 10.7 framework for full ARC support
313 # on OSX.
314 'MACOSX_DEPLOYMENT_TARGET' : '10.7',
315 },
tkchin@webrtc.orgacca6752014-05-30 22:26:06 +0000316 'link_settings': {
317 'xcode_settings': {
318 'OTHER_LDFLAGS': [
319 '-framework Cocoa',
320 ],
321 },
322 },
tkchin@webrtc.orgff273322014-04-30 18:32:33 +0000323 }],
324 ],
fischman@webrtc.orge3de6b12013-08-26 19:31:21 +0000325 }, # target libjingle_peerconnection_objc
326 ],
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000327 }],
328 ],
329
330 'targets': [
331 {
332 'target_name': 'libjingle',
henrike@webrtc.org269fb4b2014-10-28 22:20:11 +0000333 'type': 'none',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000334 'dependencies': [
335 '<(DEPTH)/third_party/expat/expat.gyp:expat',
336 '<(DEPTH)/third_party/jsoncpp/jsoncpp.gyp:jsoncpp',
henrike@webrtc.orgb2efb672014-09-10 17:28:19 +0000337 '<(webrtc_root)/base/base.gyp:rtc_base',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000338 ],
339 'export_dependent_settings': [
340 '<(DEPTH)/third_party/expat/expat.gyp:expat',
341 '<(DEPTH)/third_party/jsoncpp/jsoncpp.gyp:jsoncpp',
342 ],
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000343 }, # target libjingle
344 {
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000345 'target_name': 'libjingle_media',
346 'type': 'static_library',
jiayl@webrtc.orga576faf2014-01-29 17:45:53 +0000347 'include_dirs': [
348 # TODO(jiayl): move this into the direct_dependent_settings of
349 # usrsctp.gyp.
350 '<(DEPTH)/third_party/usrsctp',
351 ],
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000352 'dependencies': [
353 '<(DEPTH)/third_party/libyuv/libyuv.gyp:libyuv',
jiayl@webrtc.orga576faf2014-01-29 17:45:53 +0000354 '<(DEPTH)/third_party/usrsctp/usrsctp.gyp:usrsctplib',
henrike@webrtc.org9de257d2013-07-17 14:42:53 +0000355 '<(webrtc_root)/modules/modules.gyp:video_render_module',
pbos@webrtc.orgb5a22b12014-05-13 11:07:01 +0000356 '<(webrtc_root)/webrtc.gyp:webrtc',
henrike@webrtc.org9de257d2013-07-17 14:42:53 +0000357 '<(webrtc_root)/voice_engine/voice_engine.gyp:voice_engine',
buildbot@webrtc.org573a1ee2014-08-27 17:21:19 +0000358 '<(webrtc_root)/sound/sound.gyp:rtc_sound',
andresp@webrtc.org86e1e482015-01-14 09:30:52 +0000359 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers',
360 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers_default',
buildbot@webrtc.orgfa4535b2014-09-03 16:49:04 +0000361 '<(webrtc_root)/libjingle/xmllite/xmllite.gyp:rtc_xmllite',
henrike@webrtc.org269fb4b2014-10-28 22:20:11 +0000362 '<(webrtc_root)/libjingle/xmpp/xmpp.gyp:rtc_xmpp',
363 '<(webrtc_root)/p2p/p2p.gyp:rtc_p2p',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000364 'libjingle',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000365 ],
366 'direct_dependent_settings': {
367 'include_dirs': [
368 '<(DEPTH)/third_party/libyuv/include',
369 ],
370 },
371 'sources': [
372 'media/base/audioframe.h',
373 'media/base/audiorenderer.h',
374 'media/base/capturemanager.cc',
375 'media/base/capturemanager.h',
376 'media/base/capturerenderadapter.cc',
377 'media/base/capturerenderadapter.h',
378 'media/base/codec.cc',
379 'media/base/codec.h',
380 'media/base/constants.cc',
381 'media/base/constants.h',
382 'media/base/cpuid.cc',
383 'media/base/cpuid.h',
384 'media/base/cryptoparams.h',
buildbot@webrtc.org65b98d12014-08-07 22:09:08 +0000385 'media/base/device.h',
386 'media/base/fakescreencapturerfactory.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000387 'media/base/filemediaengine.cc',
388 'media/base/filemediaengine.h',
389 'media/base/hybriddataengine.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000390 'media/base/mediachannel.h',
391 'media/base/mediacommon.h',
392 'media/base/mediaengine.cc',
393 'media/base/mediaengine.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000394 'media/base/rtpdataengine.cc',
395 'media/base/rtpdataengine.h',
396 'media/base/rtpdump.cc',
397 'media/base/rtpdump.h',
398 'media/base/rtputils.cc',
399 'media/base/rtputils.h',
400 'media/base/screencastid.h',
401 'media/base/streamparams.cc',
402 'media/base/streamparams.h',
403 'media/base/videoadapter.cc',
404 'media/base/videoadapter.h',
405 'media/base/videocapturer.cc',
406 'media/base/videocapturer.h',
buildbot@webrtc.org65b98d12014-08-07 22:09:08 +0000407 'media/base/videocapturerfactory.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000408 'media/base/videocommon.cc',
409 'media/base/videocommon.h',
410 'media/base/videoframe.cc',
411 'media/base/videoframe.h',
magjed@webrtc.orgf58b4552014-11-19 18:09:14 +0000412 'media/base/videoframefactory.cc',
buildbot@webrtc.org4f0d4012014-08-07 04:47:36 +0000413 'media/base/videoframefactory.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000414 'media/base/videoprocessor.h',
415 'media/base/videorenderer.h',
416 'media/base/voiceprocessor.h',
mallinath@webrtc.orgecd622e2014-02-03 17:17:05 +0000417 'media/base/yuvframegenerator.cc',
418 'media/base/yuvframegenerator.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000419 'media/devices/deviceinfo.h',
420 'media/devices/devicemanager.cc',
421 'media/devices/devicemanager.h',
422 'media/devices/dummydevicemanager.h',
423 'media/devices/filevideocapturer.cc',
424 'media/devices/filevideocapturer.h',
425 'media/devices/videorendererfactory.h',
mallinath@webrtc.orgecd622e2014-02-03 17:17:05 +0000426 'media/devices/yuvframescapturer.cc',
427 'media/devices/yuvframescapturer.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000428 'media/other/linphonemediaengine.h',
jiayl@webrtc.orga576faf2014-01-29 17:45:53 +0000429 'media/sctp/sctpdataengine.cc',
430 'media/sctp/sctpdataengine.h',
buildbot@webrtc.orga8530772014-12-10 09:01:18 +0000431 'media/webrtc/simulcast.cc',
432 'media/webrtc/simulcast.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000433 'media/webrtc/webrtccommon.h',
434 'media/webrtc/webrtcexport.h',
pbos@webrtc.org289a35c2014-06-03 14:51:34 +0000435 'media/webrtc/webrtcmediaengine.cc',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000436 'media/webrtc/webrtcmediaengine.h',
henrike@webrtc.org0481f152014-08-19 14:56:59 +0000437 'media/webrtc/webrtcmediaengine.cc',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000438 'media/webrtc/webrtcpassthroughrender.cc',
439 'media/webrtc/webrtcpassthroughrender.h',
wu@webrtc.org9dba5252013-08-05 20:36:57 +0000440 'media/webrtc/webrtctexturevideoframe.cc',
441 'media/webrtc/webrtctexturevideoframe.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000442 'media/webrtc/webrtcvideocapturer.cc',
buildbot@webrtc.org65b98d12014-08-07 22:09:08 +0000443 'media/webrtc/webrtcvideocapturerfactory.h',
444 'media/webrtc/webrtcvideocapturerfactory.cc',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000445 'media/webrtc/webrtcvideocapturer.h',
446 'media/webrtc/webrtcvideodecoderfactory.h',
447 'media/webrtc/webrtcvideoencoderfactory.h',
448 'media/webrtc/webrtcvideoengine.cc',
449 'media/webrtc/webrtcvideoengine.h',
pbos@webrtc.orgb5a22b12014-05-13 11:07:01 +0000450 'media/webrtc/webrtcvideoengine2.cc',
451 'media/webrtc/webrtcvideoengine2.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000452 'media/webrtc/webrtcvideoframe.cc',
453 'media/webrtc/webrtcvideoframe.h',
buildbot@webrtc.org4f0d4012014-08-07 04:47:36 +0000454 'media/webrtc/webrtcvideoframefactory.cc',
455 'media/webrtc/webrtcvideoframefactory.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000456 'media/webrtc/webrtcvie.h',
457 'media/webrtc/webrtcvoe.h',
458 'media/webrtc/webrtcvoiceengine.cc',
459 'media/webrtc/webrtcvoiceengine.h',
460 ],
461 'conditions': [
andresp@webrtc.orga74eda12014-09-17 11:50:19 +0000462 ['build_with_chromium==1', {
kjellander@webrtc.org853049f2015-01-20 11:40:45 +0000463 'dependencies': [
andresp@webrtc.orga74eda12014-09-17 11:50:19 +0000464 '<(webrtc_root)/modules/modules.gyp:video_capture_module_impl',
andresp@webrtc.orgab071da2014-09-18 08:58:15 +0000465 '<(webrtc_root)/modules/modules.gyp:video_render_module_impl',
kjellander@webrtc.org853049f2015-01-20 11:40:45 +0000466 ],
467 }, {
468 'dependencies': [
andresp@webrtc.orga74eda12014-09-17 11:50:19 +0000469 '<(webrtc_root)/modules/modules.gyp:video_capture_module_internal_impl',
andresp@webrtc.orgab071da2014-09-18 08:58:15 +0000470 '<(webrtc_root)/modules/modules.gyp:video_render_module_internal_impl',
kjellander@webrtc.org853049f2015-01-20 11:40:45 +0000471 ],
472 }],
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000473 ['OS=="linux"', {
474 'sources': [
475 'media/devices/gtkvideorenderer.cc',
476 'media/devices/gtkvideorenderer.h',
477 'media/devices/libudevsymboltable.cc',
478 'media/devices/libudevsymboltable.h',
479 'media/devices/linuxdeviceinfo.cc',
480 'media/devices/linuxdevicemanager.cc',
481 'media/devices/linuxdevicemanager.h',
482 'media/devices/v4llookup.cc',
483 'media/devices/v4llookup.h',
484 ],
485 'include_dirs': [
486 'third_party/libudev'
487 ],
488 'cflags': [
489 '<!@(pkg-config --cflags gobject-2.0 gthread-2.0 gtk+-2.0)',
490 ],
491 'libraries': [
492 '-lrt',
493 '-lXext',
494 '-lX11',
495 ],
496 }],
497 ['OS=="win"', {
498 'sources': [
499 'media/devices/gdivideorenderer.cc',
500 'media/devices/gdivideorenderer.h',
501 'media/devices/win32deviceinfo.cc',
502 'media/devices/win32devicemanager.cc',
503 'media/devices/win32devicemanager.h',
504 ],
505 'msvs_settings': {
506 'VCLibrarianTool': {
507 'AdditionalDependencies': [
508 'd3d9.lib',
509 'gdi32.lib',
510 'strmiids.lib',
511 'winmm.lib',
512 ],
513 },
514 },
515 }],
516 ['OS=="mac"', {
517 'sources': [
518 'media/devices/macdeviceinfo.cc',
519 'media/devices/macdevicemanager.cc',
520 'media/devices/macdevicemanager.h',
521 'media/devices/macdevicemanagermm.mm',
522 ],
523 'conditions': [
fischman@webrtc.orge3de6b12013-08-26 19:31:21 +0000524 ['target_arch=="ia32"', {
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000525 'sources': [
526 'media/devices/carbonvideorenderer.cc',
527 'media/devices/carbonvideorenderer.h',
528 ],
fischman@webrtc.orge3de6b12013-08-26 19:31:21 +0000529 'link_settings': {
530 'xcode_settings': {
531 'OTHER_LDFLAGS': [
532 '-framework Carbon',
533 ],
534 },
535 },
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000536 }],
537 ],
538 'xcode_settings': {
539 'WARNING_CFLAGS': [
540 # TODO(ronghuawu): Update macdevicemanager.cc to stop using
541 # deprecated functions and remove this flag.
542 '-Wno-deprecated-declarations',
543 ],
544 },
545 'link_settings': {
546 'xcode_settings': {
547 'OTHER_LDFLAGS': [
buildbot@webrtc.orga42a3ad2014-09-13 01:09:18 +0000548 '-weak_framework AVFoundation',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000549 '-framework Cocoa',
550 '-framework CoreAudio',
551 '-framework CoreVideo',
552 '-framework OpenGL',
553 '-framework QTKit',
554 ],
555 },
556 },
557 }],
558 ['OS=="ios"', {
559 'sources': [
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000560 'media/devices/mobiledevicemanager.cc',
561 ],
562 'include_dirs': [
563 # TODO(sjlee) Remove when vp8 is building for iOS. vp8 pulls in
564 # libjpeg which pulls in libyuv which currently disabled.
565 '../third_party/libyuv/include',
566 ],
567 }],
568 ['OS=="android"', {
569 'sources': [
570 'media/devices/mobiledevicemanager.cc',
571 ],
572 }],
573 ],
574 }, # target libjingle_media
575 {
576 'target_name': 'libjingle_p2p',
577 'type': 'static_library',
578 'dependencies': [
579 '<(DEPTH)/third_party/libsrtp/libsrtp.gyp:libsrtp',
580 'libjingle',
581 'libjingle_media',
582 ],
583 'include_dirs': [
henrike@webrtc.org723d6832013-07-12 16:04:50 +0000584 '<(DEPTH)/testing/gtest/include',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000585 ],
586 'direct_dependent_settings': {
587 'include_dirs': [
henrike@webrtc.org723d6832013-07-12 16:04:50 +0000588 '<(DEPTH)/testing/gtest/include',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000589 ],
590 },
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000591 'sources': [
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000592 'session/media/audiomonitor.cc',
593 'session/media/audiomonitor.h',
buildbot@webrtc.org5ee0f052014-05-05 20:18:08 +0000594 'session/media/bundlefilter.cc',
595 'session/media/bundlefilter.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000596 'session/media/channel.cc',
597 'session/media/channel.h',
598 'session/media/channelmanager.cc',
599 'session/media/channelmanager.h',
600 'session/media/currentspeakermonitor.cc',
601 'session/media/currentspeakermonitor.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000602 'session/media/mediamonitor.cc',
603 'session/media/mediamonitor.h',
604 'session/media/mediarecorder.cc',
605 'session/media/mediarecorder.h',
606 'session/media/mediasession.cc',
607 'session/media/mediasession.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000608 'session/media/mediasink.h',
609 'session/media/rtcpmuxfilter.cc',
610 'session/media/rtcpmuxfilter.h',
611 'session/media/soundclip.cc',
612 'session/media/soundclip.h',
613 'session/media/srtpfilter.cc',
614 'session/media/srtpfilter.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000615 'session/media/typingmonitor.cc',
616 'session/media/typingmonitor.h',
617 'session/media/voicechannel.h',
618 ],
619 }, # target libjingle_p2p
620 {
621 'target_name': 'libjingle_peerconnection',
622 'type': 'static_library',
623 'dependencies': [
624 'libjingle',
625 'libjingle_media',
626 'libjingle_p2p',
627 ],
628 'sources': [
629 'app/webrtc/audiotrack.cc',
630 'app/webrtc/audiotrack.h',
631 'app/webrtc/audiotrackrenderer.cc',
632 'app/webrtc/audiotrackrenderer.h',
633 'app/webrtc/datachannel.cc',
634 'app/webrtc/datachannel.h',
635 'app/webrtc/datachannelinterface.h',
636 'app/webrtc/dtmfsender.cc',
637 'app/webrtc/dtmfsender.h',
638 'app/webrtc/dtmfsenderinterface.h',
639 'app/webrtc/fakeportallocatorfactory.h',
640 'app/webrtc/jsep.h',
641 'app/webrtc/jsepicecandidate.cc',
642 'app/webrtc/jsepicecandidate.h',
643 'app/webrtc/jsepsessiondescription.cc',
644 'app/webrtc/jsepsessiondescription.h',
645 'app/webrtc/localaudiosource.cc',
646 'app/webrtc/localaudiosource.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000647 'app/webrtc/mediaconstraintsinterface.cc',
648 'app/webrtc/mediaconstraintsinterface.h',
649 'app/webrtc/mediastream.cc',
650 'app/webrtc/mediastream.h',
651 'app/webrtc/mediastreamhandler.cc',
652 'app/webrtc/mediastreamhandler.h',
653 'app/webrtc/mediastreaminterface.h',
654 'app/webrtc/mediastreamprovider.h',
655 'app/webrtc/mediastreamproxy.h',
656 'app/webrtc/mediastreamsignaling.cc',
657 'app/webrtc/mediastreamsignaling.h',
658 'app/webrtc/mediastreamtrack.h',
659 'app/webrtc/mediastreamtrackproxy.h',
660 'app/webrtc/notifier.h',
661 'app/webrtc/peerconnection.cc',
662 'app/webrtc/peerconnection.h',
663 'app/webrtc/peerconnectionfactory.cc',
664 'app/webrtc/peerconnectionfactory.h',
perkj@webrtc.org81134d02015-01-12 08:30:16 +0000665 'app/webrtc/peerconnectionfactoryproxy.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000666 'app/webrtc/peerconnectioninterface.h',
667 'app/webrtc/peerconnectionproxy.h',
668 'app/webrtc/portallocatorfactory.cc',
669 'app/webrtc/portallocatorfactory.h',
670 'app/webrtc/proxy.h',
wu@webrtc.orgb9a088b2014-02-13 23:18:49 +0000671 'app/webrtc/remoteaudiosource.cc',
672 'app/webrtc/remoteaudiosource.h',
wu@webrtc.org967bfff2013-09-19 05:49:50 +0000673 'app/webrtc/remotevideocapturer.cc',
674 'app/webrtc/remotevideocapturer.h',
henrika@webrtc.orgaebb1ad2014-01-14 10:00:58 +0000675 'app/webrtc/sctputils.cc',
676 'app/webrtc/sctputils.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000677 'app/webrtc/statscollector.cc',
678 'app/webrtc/statscollector.h',
tommi@webrtc.org5c3ee4b2014-12-09 10:47:01 +0000679 'app/webrtc/statstypes.cc',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000680 'app/webrtc/statstypes.h',
681 'app/webrtc/streamcollection.h',
wu@webrtc.org967bfff2013-09-19 05:49:50 +0000682 'app/webrtc/videosource.cc',
683 'app/webrtc/videosource.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000684 'app/webrtc/videosourceinterface.h',
685 'app/webrtc/videosourceproxy.h',
686 'app/webrtc/videotrack.cc',
687 'app/webrtc/videotrack.h',
688 'app/webrtc/videotrackrenderers.cc',
689 'app/webrtc/videotrackrenderers.h',
690 'app/webrtc/webrtcsdp.cc',
691 'app/webrtc/webrtcsdp.h',
692 'app/webrtc/webrtcsession.cc',
693 'app/webrtc/webrtcsession.h',
wu@webrtc.org91053e72013-08-10 07:18:04 +0000694 'app/webrtc/webrtcsessiondescriptionfactory.cc',
695 'app/webrtc/webrtcsessiondescriptionfactory.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000696 ],
697 }, # target libjingle_peerconnection
698 ],
699}