blob: f4f9bf9afe1a3363c171a0e71e6f3a57817b5a67 [file] [log] [blame]
henrike@webrtc.org28e20752013-07-10 00:45:36 +00001#
2# libjingle
3# Copyright 2012, Google Inc.
4#
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.
26#
27
28{
29 'includes': ['build/common.gypi'],
henrike@webrtc.org28e20752013-07-10 00:45:36 +000030 'conditions': [
31 ['os_posix == 1 and OS != "mac" and OS != "ios"', {
32 'conditions': [
33 ['sysroot!=""', {
34 'variables': {
35 'pkg-config': '../../../build/linux/pkg-config-wrapper "<(sysroot)" "<(target_arch)"',
36 },
37 }, {
38 'variables': {
39 'pkg-config': 'pkg-config'
40 },
41 }],
42 ],
43 }],
henrike@webrtc.org28e20752013-07-10 00:45:36 +000044 ['OS=="linux" or OS=="android"', {
45 'targets': [
46 {
47 'target_name': 'libjingle_peerconnection_so',
48 'type': 'loadable_module',
49 'dependencies': [
50 'libjingle_peerconnection',
51 '<(DEPTH)/third_party/icu/icu.gyp:icuuc',
52 ],
53 'sources': [
54 'app/webrtc/java/jni/peerconnection_jni.cc'
55 ],
fischman@webrtc.org540acde2014-02-13 03:56:14 +000056 'include_dirs': [
57 '<(DEPTH)/third_party/libyuv/include',
58 ],
henrike@webrtc.org28e20752013-07-10 00:45:36 +000059 'conditions': [
60 ['OS=="linux"', {
61 'defines': [
62 'HAVE_GTK',
63 ],
64 'include_dirs': [
65 '<(java_home)/include',
66 '<(java_home)/include/linux',
67 ],
68 'link_settings': {
69 'libraries': [
70 '<!@(pkg-config --libs-only-l gobject-2.0 gthread-2.0'
71 ' gtk+-2.0)',
72 ],
73 },
74 }],
75 ],
76 },
77 {
78 'target_name': 'libjingle_peerconnection_jar',
79 'type': 'none',
80 'actions': [
81 {
82 'variables': {
83 'java_src_dir': 'app/webrtc/java/src',
henrike@webrtc.org9de257d2013-07-17 14:42:53 +000084 'webrtc_modules_dir': '<(webrtc_root)/modules',
fischman@webrtc.org000dde92013-12-20 22:49:35 +000085 'build_jar_log': '<(INTERMEDIATE_DIR)/build_jar.log',
henrike@webrtc.org28e20752013-07-10 00:45:36 +000086 'peerconnection_java_files': [
87 'app/webrtc/java/src/org/webrtc/AudioSource.java',
88 'app/webrtc/java/src/org/webrtc/AudioTrack.java',
henrike@webrtc.org723d6832013-07-12 16:04:50 +000089 'app/webrtc/java/src/org/webrtc/DataChannel.java',
henrike@webrtc.org28e20752013-07-10 00:45:36 +000090 'app/webrtc/java/src/org/webrtc/IceCandidate.java',
fischman@webrtc.orgc883fdc2013-08-06 19:00:53 +000091 'app/webrtc/java/src/org/webrtc/Logging.java',
henrike@webrtc.org28e20752013-07-10 00:45:36 +000092 'app/webrtc/java/src/org/webrtc/MediaConstraints.java',
93 'app/webrtc/java/src/org/webrtc/MediaSource.java',
94 'app/webrtc/java/src/org/webrtc/MediaStream.java',
95 'app/webrtc/java/src/org/webrtc/MediaStreamTrack.java',
96 'app/webrtc/java/src/org/webrtc/PeerConnectionFactory.java',
97 'app/webrtc/java/src/org/webrtc/PeerConnection.java',
98 'app/webrtc/java/src/org/webrtc/SdpObserver.java',
99 'app/webrtc/java/src/org/webrtc/StatsObserver.java',
100 'app/webrtc/java/src/org/webrtc/StatsReport.java',
101 'app/webrtc/java/src/org/webrtc/SessionDescription.java',
102 'app/webrtc/java/src/org/webrtc/VideoCapturer.java',
103 'app/webrtc/java/src/org/webrtc/VideoRenderer.java',
104 'app/webrtc/java/src/org/webrtc/VideoSource.java',
105 'app/webrtc/java/src/org/webrtc/VideoTrack.java',
106 ],
107 # TODO(fischman): extract this into a webrtc gyp var that can be
108 # included here, or better yet, build a proper .jar in webrtc
109 # and include it here.
110 'android_java_files': [
glaznev@webrtc.orgc3288c12014-06-06 21:57:46 +0000111 'app/webrtc/java/android/org/webrtc/VideoRendererGui.java',
fischman@webrtc.org540acde2014-02-13 03:56:14 +0000112 'app/webrtc/java/src/org/webrtc/MediaCodecVideoEncoder.java',
glaznev@webrtc.orgefe4b9a2014-07-22 17:44:53 +0000113 'app/webrtc/java/src/org/webrtc/MediaCodecVideoDecoder.java',
henrike@webrtc.org82f014a2013-09-10 18:24:07 +0000114 '<(webrtc_modules_dir)/audio_device/android/java/src/org/webrtc/voiceengine/AudioManagerAndroid.java',
henrike@webrtc.org9de257d2013-07-17 14:42:53 +0000115 '<(webrtc_modules_dir)/video_capture/android/java/src/org/webrtc/videoengine/VideoCaptureAndroid.java',
116 '<(webrtc_modules_dir)/video_capture/android/java/src/org/webrtc/videoengine/VideoCaptureDeviceInfoAndroid.java',
117 '<(webrtc_modules_dir)/video_render/android/java/src/org/webrtc/videoengine/ViEAndroidGLES20.java',
118 '<(webrtc_modules_dir)/video_render/android/java/src/org/webrtc/videoengine/ViERenderer.java',
119 '<(webrtc_modules_dir)/video_render/android/java/src/org/webrtc/videoengine/ViESurfaceRenderer.java',
henrike@webrtc.org9ee75e92013-12-11 21:42:44 +0000120 '<(webrtc_modules_dir)/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioRecord.java',
121 '<(webrtc_modules_dir)/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioTrack.java',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000122 ],
123 },
124 'action_name': 'create_jar',
125 'inputs': [
126 'build/build_jar.sh',
127 '<@(java_files)',
128 ],
129 'outputs': [
130 '<(PRODUCT_DIR)/libjingle_peerconnection.jar',
131 ],
132 'conditions': [
133 ['OS=="android"', {
134 'variables': {
135 'java_files': ['<@(peerconnection_java_files)', '<@(android_java_files)'],
136 'build_classpath': '<(java_src_dir):<(DEPTH)/third_party/android_tools/sdk/platforms/android-<(android_sdk_version)/android.jar',
137 },
138 }, {
139 'variables': {
140 'java_files': ['<@(peerconnection_java_files)'],
141 'build_classpath': '<(java_src_dir)',
142 },
143 }],
144 ],
145 'action': [
fischman@webrtc.org000dde92013-12-20 22:49:35 +0000146 'bash', '-ec',
147 'mkdir -p <(INTERMEDIATE_DIR) && '
148 '{ build/build_jar.sh <(java_home) <@(_outputs) '
149 ' <(INTERMEDIATE_DIR)/build_jar.tmp '
150 ' <(build_classpath) <@(java_files) '
151 ' > <(build_jar_log) 2>&1 || '
152 ' { cat <(build_jar_log) ; exit 1; } }'
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000153 ],
154 },
155 ],
156 'dependencies': [
157 'libjingle_peerconnection_so',
158 ],
159 },
160 ],
161 }],
tkchin@webrtc.orgff273322014-04-30 18:32:33 +0000162 ['OS=="ios" or (OS=="mac" and target_arch!="ia32" and mac_sdk>="10.7")', {
163 # The >= 10.7 above is required for ARC.
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000164 'targets': [
165 {
166 'target_name': 'libjingle_peerconnection_objc',
167 'type': 'static_library',
168 'dependencies': [
169 'libjingle_peerconnection',
170 ],
171 'sources': [
172 'app/webrtc/objc/RTCAudioTrack+Internal.h',
173 'app/webrtc/objc/RTCAudioTrack.mm',
tkchin@webrtc.orgff273322014-04-30 18:32:33 +0000174 'app/webrtc/objc/RTCDataChannel+Internal.h',
175 'app/webrtc/objc/RTCDataChannel.mm',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000176 'app/webrtc/objc/RTCEnumConverter.h',
177 'app/webrtc/objc/RTCEnumConverter.mm',
tkchin@webrtc.org1732a592014-05-19 23:26:01 +0000178 'app/webrtc/objc/RTCI420Frame+Internal.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000179 'app/webrtc/objc/RTCI420Frame.mm',
fischman@webrtc.org1bc19542013-08-01 18:29:45 +0000180 'app/webrtc/objc/RTCICECandidate+Internal.h',
181 'app/webrtc/objc/RTCICECandidate.mm',
182 'app/webrtc/objc/RTCICEServer+Internal.h',
183 'app/webrtc/objc/RTCICEServer.mm',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000184 'app/webrtc/objc/RTCMediaConstraints+Internal.h',
185 'app/webrtc/objc/RTCMediaConstraints.mm',
186 'app/webrtc/objc/RTCMediaConstraintsNative.cc',
187 'app/webrtc/objc/RTCMediaConstraintsNative.h',
188 'app/webrtc/objc/RTCMediaSource+Internal.h',
189 'app/webrtc/objc/RTCMediaSource.mm',
190 'app/webrtc/objc/RTCMediaStream+Internal.h',
191 'app/webrtc/objc/RTCMediaStream.mm',
192 'app/webrtc/objc/RTCMediaStreamTrack+Internal.h',
193 'app/webrtc/objc/RTCMediaStreamTrack.mm',
tkchin@webrtc.orgacca6752014-05-30 22:26:06 +0000194 'app/webrtc/objc/RTCOpenGLVideoRenderer.mm',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000195 'app/webrtc/objc/RTCPair.m',
196 'app/webrtc/objc/RTCPeerConnection+Internal.h',
197 'app/webrtc/objc/RTCPeerConnection.mm',
198 'app/webrtc/objc/RTCPeerConnectionFactory.mm',
199 'app/webrtc/objc/RTCPeerConnectionObserver.h',
200 'app/webrtc/objc/RTCPeerConnectionObserver.mm',
201 'app/webrtc/objc/RTCSessionDescription+Internal.h',
202 'app/webrtc/objc/RTCSessionDescription.mm',
tkchin@webrtc.org19b1be12014-04-22 21:05:38 +0000203 'app/webrtc/objc/RTCStatsReport+Internal.h',
204 'app/webrtc/objc/RTCStatsReport.mm',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000205 'app/webrtc/objc/RTCVideoCapturer+Internal.h',
206 'app/webrtc/objc/RTCVideoCapturer.mm',
207 'app/webrtc/objc/RTCVideoRenderer+Internal.h',
208 'app/webrtc/objc/RTCVideoRenderer.mm',
209 'app/webrtc/objc/RTCVideoSource+Internal.h',
210 'app/webrtc/objc/RTCVideoSource.mm',
211 'app/webrtc/objc/RTCVideoTrack+Internal.h',
212 'app/webrtc/objc/RTCVideoTrack.mm',
213 'app/webrtc/objc/public/RTCAudioSource.h',
214 'app/webrtc/objc/public/RTCAudioTrack.h',
tkchin@webrtc.orgff273322014-04-30 18:32:33 +0000215 'app/webrtc/objc/public/RTCDataChannel.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000216 'app/webrtc/objc/public/RTCI420Frame.h',
fischman@webrtc.org1bc19542013-08-01 18:29:45 +0000217 'app/webrtc/objc/public/RTCICECandidate.h',
218 'app/webrtc/objc/public/RTCICEServer.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000219 'app/webrtc/objc/public/RTCMediaConstraints.h',
220 'app/webrtc/objc/public/RTCMediaSource.h',
221 'app/webrtc/objc/public/RTCMediaStream.h',
222 'app/webrtc/objc/public/RTCMediaStreamTrack.h',
tkchin@webrtc.orgacca6752014-05-30 22:26:06 +0000223 'app/webrtc/objc/public/RTCOpenGLVideoRenderer.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000224 'app/webrtc/objc/public/RTCPair.h',
225 'app/webrtc/objc/public/RTCPeerConnection.h',
226 'app/webrtc/objc/public/RTCPeerConnectionDelegate.h',
227 'app/webrtc/objc/public/RTCPeerConnectionFactory.h',
228 'app/webrtc/objc/public/RTCSessionDescription.h',
tkchin@webrtc.orgec3d8ec2014-04-21 18:47:24 +0000229 'app/webrtc/objc/public/RTCSessionDescriptionDelegate.h',
tkchin@webrtc.org19b1be12014-04-22 21:05:38 +0000230 'app/webrtc/objc/public/RTCStatsDelegate.h',
231 'app/webrtc/objc/public/RTCStatsReport.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000232 'app/webrtc/objc/public/RTCTypes.h',
233 'app/webrtc/objc/public/RTCVideoCapturer.h',
234 'app/webrtc/objc/public/RTCVideoRenderer.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000235 'app/webrtc/objc/public/RTCVideoSource.h',
236 'app/webrtc/objc/public/RTCVideoTrack.h',
237 ],
fischman@webrtc.org1bc19542013-08-01 18:29:45 +0000238 'direct_dependent_settings': {
239 'include_dirs': [
240 '<(DEPTH)/talk/app/webrtc/objc/public',
241 ],
242 },
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000243 'include_dirs': [
244 '<(DEPTH)/talk/app/webrtc',
245 '<(DEPTH)/talk/app/webrtc/objc',
246 '<(DEPTH)/talk/app/webrtc/objc/public',
247 ],
248 'link_settings': {
249 'libraries': [
fischman@webrtc.org76fe9302013-09-19 21:11:08 +0000250 '-lstdc++',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000251 ],
252 },
253 'xcode_settings': {
254 'CLANG_ENABLE_OBJC_ARC': 'YES',
tkchin@webrtc.org19b1be12014-04-22 21:05:38 +0000255 # common.gypi enables this for mac but we want this to be disabled
256 # like it is for ios.
257 'CLANG_WARN_OBJC_MISSING_PROPERTY_SYNTHESIS': 'NO',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000258 },
tkchin@webrtc.orgff273322014-04-30 18:32:33 +0000259 'conditions': [
tkchin@webrtc.org1732a592014-05-19 23:26:01 +0000260 ['OS=="ios"', {
261 'sources': [
tkchin@webrtc.org1732a592014-05-19 23:26:01 +0000262 'app/webrtc/objc/RTCEAGLVideoView+Internal.h',
263 'app/webrtc/objc/RTCEAGLVideoView.m',
tkchin@webrtc.org1732a592014-05-19 23:26:01 +0000264 'app/webrtc/objc/public/RTCEAGLVideoView.h',
265 ],
266 'link_settings': {
267 'xcode_settings': {
268 'OTHER_LDFLAGS': [
269 '-framework CoreGraphics',
270 '-framework GLKit',
271 ],
272 },
273 },
274 }],
tkchin@webrtc.orgff273322014-04-30 18:32:33 +0000275 ['OS=="mac"', {
tkchin@webrtc.orgacca6752014-05-30 22:26:06 +0000276 'sources': [
277 'app/webrtc/objc/RTCNSGLVideoView.m',
278 'app/webrtc/objc/public/RTCNSGLVideoView.h',
279 ],
tkchin@webrtc.orgff273322014-04-30 18:32:33 +0000280 'xcode_settings': {
281 # Need to build against 10.7 framework for full ARC support
282 # on OSX.
283 'MACOSX_DEPLOYMENT_TARGET' : '10.7',
284 },
tkchin@webrtc.orgacca6752014-05-30 22:26:06 +0000285 'link_settings': {
286 'xcode_settings': {
287 'OTHER_LDFLAGS': [
288 '-framework Cocoa',
289 ],
290 },
291 },
tkchin@webrtc.orgff273322014-04-30 18:32:33 +0000292 }],
293 ],
fischman@webrtc.orge3de6b12013-08-26 19:31:21 +0000294 }, # target libjingle_peerconnection_objc
295 ],
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000296 }],
297 ],
298
299 'targets': [
300 {
301 'target_name': 'libjingle',
302 'type': 'static_library',
303 'dependencies': [
304 '<(DEPTH)/third_party/expat/expat.gyp:expat',
305 '<(DEPTH)/third_party/jsoncpp/jsoncpp.gyp:jsoncpp',
buildbot@webrtc.orgd4e598d2014-07-29 17:36:52 +0000306 '<(webrtc_root)/base/base.gyp:webrtc_base',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000307 ],
308 'export_dependent_settings': [
309 '<(DEPTH)/third_party/expat/expat.gyp:expat',
310 '<(DEPTH)/third_party/jsoncpp/jsoncpp.gyp:jsoncpp',
311 ],
312 'sources': [
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000313 'xmllite/qname.cc',
314 'xmllite/qname.h',
315 'xmllite/xmlbuilder.cc',
316 'xmllite/xmlbuilder.h',
317 'xmllite/xmlconstants.cc',
318 'xmllite/xmlconstants.h',
319 'xmllite/xmlelement.cc',
320 'xmllite/xmlelement.h',
321 'xmllite/xmlnsstack.cc',
322 'xmllite/xmlnsstack.h',
323 'xmllite/xmlparser.cc',
324 'xmllite/xmlparser.h',
325 'xmllite/xmlprinter.cc',
326 'xmllite/xmlprinter.h',
327 'xmpp/asyncsocket.h',
328 'xmpp/chatroommodule.h',
329 'xmpp/chatroommoduleimpl.cc',
330 'xmpp/constants.cc',
331 'xmpp/constants.h',
332 'xmpp/discoitemsquerytask.cc',
333 'xmpp/discoitemsquerytask.h',
334 'xmpp/hangoutpubsubclient.cc',
335 'xmpp/hangoutpubsubclient.h',
336 'xmpp/iqtask.cc',
337 'xmpp/iqtask.h',
338 'xmpp/jid.cc',
339 'xmpp/jid.h',
340 'xmpp/module.h',
341 'xmpp/moduleimpl.cc',
342 'xmpp/moduleimpl.h',
343 'xmpp/mucroomconfigtask.cc',
344 'xmpp/mucroomconfigtask.h',
345 'xmpp/mucroomdiscoverytask.cc',
346 'xmpp/mucroomdiscoverytask.h',
347 'xmpp/mucroomlookuptask.cc',
348 'xmpp/mucroomlookuptask.h',
349 'xmpp/mucroomuniquehangoutidtask.cc',
350 'xmpp/mucroomuniquehangoutidtask.h',
351 'xmpp/pingtask.cc',
352 'xmpp/pingtask.h',
353 'xmpp/plainsaslhandler.h',
354 'xmpp/presenceouttask.cc',
355 'xmpp/presenceouttask.h',
356 'xmpp/presencereceivetask.cc',
357 'xmpp/presencereceivetask.h',
358 'xmpp/presencestatus.cc',
359 'xmpp/presencestatus.h',
360 'xmpp/prexmppauth.h',
361 'xmpp/pubsub_task.cc',
362 'xmpp/pubsub_task.h',
363 'xmpp/pubsubclient.cc',
364 'xmpp/pubsubclient.h',
mallinath@webrtc.org0dac5372014-01-28 06:58:42 +0000365 'xmpp/pubsubstateclient.cc',
366 'xmpp/pubsubstateclient.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000367 'xmpp/pubsubtasks.cc',
368 'xmpp/pubsubtasks.h',
369 'xmpp/receivetask.cc',
370 'xmpp/receivetask.h',
371 'xmpp/rostermodule.h',
372 'xmpp/rostermoduleimpl.cc',
373 'xmpp/rostermoduleimpl.h',
374 'xmpp/saslcookiemechanism.h',
375 'xmpp/saslhandler.h',
376 'xmpp/saslmechanism.cc',
377 'xmpp/saslmechanism.h',
378 'xmpp/saslplainmechanism.h',
379 'xmpp/xmppauth.cc',
380 'xmpp/xmppauth.h',
381 'xmpp/xmppclient.cc',
382 'xmpp/xmppclient.h',
383 'xmpp/xmppclientsettings.h',
384 'xmpp/xmppengine.h',
385 'xmpp/xmppengineimpl.cc',
386 'xmpp/xmppengineimpl.h',
387 'xmpp/xmppengineimpl_iq.cc',
388 'xmpp/xmpplogintask.cc',
389 'xmpp/xmpplogintask.h',
390 'xmpp/xmpppump.cc',
391 'xmpp/xmpppump.h',
392 'xmpp/xmppsocket.cc',
393 'xmpp/xmppsocket.h',
394 'xmpp/xmppstanzaparser.cc',
395 'xmpp/xmppstanzaparser.h',
396 'xmpp/xmpptask.cc',
397 'xmpp/xmpptask.h',
398 'xmpp/xmppthread.cc',
399 'xmpp/xmppthread.h',
400 ],
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000401 }, # target libjingle
402 {
403 'target_name': 'libjingle_sound',
404 'type': 'static_library',
405 'dependencies': [
406 'libjingle',
407 ],
408 'sources': [
409 'sound/automaticallychosensoundsystem.h',
410 'sound/nullsoundsystem.cc',
411 'sound/nullsoundsystem.h',
412 'sound/nullsoundsystemfactory.cc',
413 'sound/nullsoundsystemfactory.h',
414 'sound/platformsoundsystem.cc',
415 'sound/platformsoundsystem.h',
416 'sound/platformsoundsystemfactory.cc',
417 'sound/platformsoundsystemfactory.h',
418 'sound/sounddevicelocator.h',
419 'sound/soundinputstreaminterface.h',
420 'sound/soundoutputstreaminterface.h',
421 'sound/soundsystemfactory.h',
422 'sound/soundsysteminterface.cc',
423 'sound/soundsysteminterface.h',
424 'sound/soundsystemproxy.cc',
425 'sound/soundsystemproxy.h',
426 ],
427 'conditions': [
428 ['OS=="linux"', {
429 'sources': [
430 'sound/alsasoundsystem.cc',
431 'sound/alsasoundsystem.h',
432 'sound/alsasymboltable.cc',
433 'sound/alsasymboltable.h',
434 'sound/linuxsoundsystem.cc',
435 'sound/linuxsoundsystem.h',
436 'sound/pulseaudiosoundsystem.cc',
437 'sound/pulseaudiosoundsystem.h',
438 'sound/pulseaudiosymboltable.cc',
439 'sound/pulseaudiosymboltable.h',
440 ],
441 }],
442 ],
443 }, # target libjingle_sound
444 {
445 'target_name': 'libjingle_media',
446 'type': 'static_library',
jiayl@webrtc.orga576faf2014-01-29 17:45:53 +0000447 'include_dirs': [
448 # TODO(jiayl): move this into the direct_dependent_settings of
449 # usrsctp.gyp.
450 '<(DEPTH)/third_party/usrsctp',
451 ],
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000452 'dependencies': [
453 '<(DEPTH)/third_party/libyuv/libyuv.gyp:libyuv',
jiayl@webrtc.orga576faf2014-01-29 17:45:53 +0000454 '<(DEPTH)/third_party/usrsctp/usrsctp.gyp:usrsctplib',
henrike@webrtc.org9de257d2013-07-17 14:42:53 +0000455 '<(webrtc_root)/modules/modules.gyp:video_capture_module',
456 '<(webrtc_root)/modules/modules.gyp:video_render_module',
pbos@webrtc.orgb5a22b12014-05-13 11:07:01 +0000457 '<(webrtc_root)/webrtc.gyp:webrtc',
henrike@webrtc.org9de257d2013-07-17 14:42:53 +0000458 '<(webrtc_root)/voice_engine/voice_engine.gyp:voice_engine',
459 '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
andresp@webrtc.org581e2172014-05-14 13:12:45 +0000460 '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:field_trial_default',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000461 'libjingle',
462 'libjingle_sound',
463 ],
464 'direct_dependent_settings': {
465 'include_dirs': [
466 '<(DEPTH)/third_party/libyuv/include',
467 ],
468 },
469 'sources': [
470 'media/base/audioframe.h',
471 'media/base/audiorenderer.h',
472 'media/base/capturemanager.cc',
473 'media/base/capturemanager.h',
474 'media/base/capturerenderadapter.cc',
475 'media/base/capturerenderadapter.h',
476 'media/base/codec.cc',
477 'media/base/codec.h',
478 'media/base/constants.cc',
479 'media/base/constants.h',
480 'media/base/cpuid.cc',
481 'media/base/cpuid.h',
482 'media/base/cryptoparams.h',
buildbot@webrtc.org65b98d12014-08-07 22:09:08 +0000483 'media/base/device.h',
484 'media/base/fakescreencapturerfactory.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000485 'media/base/filemediaengine.cc',
486 'media/base/filemediaengine.h',
487 'media/base/hybriddataengine.h',
488 'media/base/hybridvideoengine.cc',
489 'media/base/hybridvideoengine.h',
490 'media/base/mediachannel.h',
491 'media/base/mediacommon.h',
492 'media/base/mediaengine.cc',
493 'media/base/mediaengine.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000494 'media/base/rtpdataengine.cc',
495 'media/base/rtpdataengine.h',
496 'media/base/rtpdump.cc',
497 'media/base/rtpdump.h',
498 'media/base/rtputils.cc',
499 'media/base/rtputils.h',
500 'media/base/screencastid.h',
501 'media/base/streamparams.cc',
502 'media/base/streamparams.h',
503 'media/base/videoadapter.cc',
504 'media/base/videoadapter.h',
505 'media/base/videocapturer.cc',
506 'media/base/videocapturer.h',
buildbot@webrtc.org65b98d12014-08-07 22:09:08 +0000507 'media/base/videocapturerfactory.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000508 'media/base/videocommon.cc',
509 'media/base/videocommon.h',
510 'media/base/videoframe.cc',
511 'media/base/videoframe.h',
buildbot@webrtc.org4f0d4012014-08-07 04:47:36 +0000512 'media/base/videoframefactory.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000513 'media/base/videoprocessor.h',
514 'media/base/videorenderer.h',
515 'media/base/voiceprocessor.h',
mallinath@webrtc.orgecd622e2014-02-03 17:17:05 +0000516 'media/base/yuvframegenerator.cc',
517 'media/base/yuvframegenerator.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000518 'media/devices/deviceinfo.h',
519 'media/devices/devicemanager.cc',
520 'media/devices/devicemanager.h',
521 'media/devices/dummydevicemanager.h',
522 'media/devices/filevideocapturer.cc',
523 'media/devices/filevideocapturer.h',
524 'media/devices/videorendererfactory.h',
mallinath@webrtc.orgecd622e2014-02-03 17:17:05 +0000525 'media/devices/yuvframescapturer.cc',
526 'media/devices/yuvframescapturer.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000527 'media/other/linphonemediaengine.h',
jiayl@webrtc.orga576faf2014-01-29 17:45:53 +0000528 'media/sctp/sctpdataengine.cc',
529 'media/sctp/sctpdataengine.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000530 'media/webrtc/webrtccommon.h',
531 'media/webrtc/webrtcexport.h',
pbos@webrtc.org289a35c2014-06-03 14:51:34 +0000532 'media/webrtc/webrtcmediaengine.cc',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000533 'media/webrtc/webrtcmediaengine.h',
henrike@webrtc.org0481f152014-08-19 14:56:59 +0000534 'media/webrtc/webrtcmediaengine.cc',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000535 'media/webrtc/webrtcpassthroughrender.cc',
536 'media/webrtc/webrtcpassthroughrender.h',
wu@webrtc.org9dba5252013-08-05 20:36:57 +0000537 'media/webrtc/webrtctexturevideoframe.cc',
538 'media/webrtc/webrtctexturevideoframe.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000539 'media/webrtc/webrtcvideocapturer.cc',
buildbot@webrtc.org65b98d12014-08-07 22:09:08 +0000540 'media/webrtc/webrtcvideocapturerfactory.h',
541 'media/webrtc/webrtcvideocapturerfactory.cc',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000542 'media/webrtc/webrtcvideocapturer.h',
543 'media/webrtc/webrtcvideodecoderfactory.h',
544 'media/webrtc/webrtcvideoencoderfactory.h',
545 'media/webrtc/webrtcvideoengine.cc',
546 'media/webrtc/webrtcvideoengine.h',
pbos@webrtc.orgb5a22b12014-05-13 11:07:01 +0000547 'media/webrtc/webrtcvideoengine2.cc',
548 'media/webrtc/webrtcvideoengine2.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000549 'media/webrtc/webrtcvideoframe.cc',
550 'media/webrtc/webrtcvideoframe.h',
buildbot@webrtc.org4f0d4012014-08-07 04:47:36 +0000551 'media/webrtc/webrtcvideoframefactory.cc',
552 'media/webrtc/webrtcvideoframefactory.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000553 'media/webrtc/webrtcvie.h',
554 'media/webrtc/webrtcvoe.h',
555 'media/webrtc/webrtcvoiceengine.cc',
556 'media/webrtc/webrtcvoiceengine.h',
557 ],
558 'conditions': [
559 ['OS=="linux"', {
560 'sources': [
561 'media/devices/gtkvideorenderer.cc',
562 'media/devices/gtkvideorenderer.h',
563 'media/devices/libudevsymboltable.cc',
564 'media/devices/libudevsymboltable.h',
565 'media/devices/linuxdeviceinfo.cc',
566 'media/devices/linuxdevicemanager.cc',
567 'media/devices/linuxdevicemanager.h',
568 'media/devices/v4llookup.cc',
569 'media/devices/v4llookup.h',
570 ],
571 'include_dirs': [
572 'third_party/libudev'
573 ],
574 'cflags': [
575 '<!@(pkg-config --cflags gobject-2.0 gthread-2.0 gtk+-2.0)',
576 ],
577 'libraries': [
578 '-lrt',
579 '-lXext',
580 '-lX11',
581 ],
582 }],
583 ['OS=="win"', {
584 'sources': [
585 'media/devices/gdivideorenderer.cc',
586 'media/devices/gdivideorenderer.h',
587 'media/devices/win32deviceinfo.cc',
588 'media/devices/win32devicemanager.cc',
589 'media/devices/win32devicemanager.h',
590 ],
591 'msvs_settings': {
592 'VCLibrarianTool': {
593 'AdditionalDependencies': [
594 'd3d9.lib',
595 'gdi32.lib',
596 'strmiids.lib',
597 'winmm.lib',
598 ],
599 },
600 },
601 }],
602 ['OS=="mac"', {
603 'sources': [
604 'media/devices/macdeviceinfo.cc',
605 'media/devices/macdevicemanager.cc',
606 'media/devices/macdevicemanager.h',
607 'media/devices/macdevicemanagermm.mm',
608 ],
609 'conditions': [
fischman@webrtc.orge3de6b12013-08-26 19:31:21 +0000610 ['target_arch=="ia32"', {
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000611 'sources': [
612 'media/devices/carbonvideorenderer.cc',
613 'media/devices/carbonvideorenderer.h',
614 ],
fischman@webrtc.orge3de6b12013-08-26 19:31:21 +0000615 'link_settings': {
616 'xcode_settings': {
617 'OTHER_LDFLAGS': [
618 '-framework Carbon',
619 ],
620 },
621 },
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000622 }],
623 ],
624 'xcode_settings': {
625 'WARNING_CFLAGS': [
626 # TODO(ronghuawu): Update macdevicemanager.cc to stop using
627 # deprecated functions and remove this flag.
628 '-Wno-deprecated-declarations',
629 ],
630 },
631 'link_settings': {
632 'xcode_settings': {
633 'OTHER_LDFLAGS': [
634 '-framework Cocoa',
635 '-framework CoreAudio',
636 '-framework CoreVideo',
637 '-framework OpenGL',
638 '-framework QTKit',
639 ],
640 },
641 },
642 }],
643 ['OS=="ios"', {
644 'sources': [
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000645 'media/devices/mobiledevicemanager.cc',
646 ],
647 'include_dirs': [
648 # TODO(sjlee) Remove when vp8 is building for iOS. vp8 pulls in
649 # libjpeg which pulls in libyuv which currently disabled.
650 '../third_party/libyuv/include',
651 ],
652 }],
653 ['OS=="android"', {
654 'sources': [
655 'media/devices/mobiledevicemanager.cc',
656 ],
657 }],
658 ],
659 }, # target libjingle_media
660 {
661 'target_name': 'libjingle_p2p',
662 'type': 'static_library',
663 'dependencies': [
664 '<(DEPTH)/third_party/libsrtp/libsrtp.gyp:libsrtp',
665 'libjingle',
666 'libjingle_media',
667 ],
668 'include_dirs': [
henrike@webrtc.org723d6832013-07-12 16:04:50 +0000669 '<(DEPTH)/testing/gtest/include',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000670 ],
671 'direct_dependent_settings': {
672 'include_dirs': [
henrike@webrtc.org723d6832013-07-12 16:04:50 +0000673 '<(DEPTH)/testing/gtest/include',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000674 ],
675 },
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000676 'sources': [
677 'p2p/base/asyncstuntcpsocket.cc',
678 'p2p/base/asyncstuntcpsocket.h',
679 'p2p/base/basicpacketsocketfactory.cc',
680 'p2p/base/basicpacketsocketfactory.h',
681 'p2p/base/candidate.h',
682 'p2p/base/common.h',
683 'p2p/base/constants.cc',
684 'p2p/base/constants.h',
685 'p2p/base/dtlstransportchannel.cc',
686 'p2p/base/dtlstransportchannel.h',
687 'p2p/base/p2ptransport.cc',
688 'p2p/base/p2ptransport.h',
689 'p2p/base/p2ptransportchannel.cc',
690 'p2p/base/p2ptransportchannel.h',
691 'p2p/base/packetsocketfactory.h',
692 'p2p/base/parsing.cc',
693 'p2p/base/parsing.h',
694 'p2p/base/port.cc',
695 'p2p/base/port.h',
696 'p2p/base/portallocator.cc',
697 'p2p/base/portallocator.h',
698 'p2p/base/portallocatorsessionproxy.cc',
699 'p2p/base/portallocatorsessionproxy.h',
700 'p2p/base/portinterface.h',
701 'p2p/base/portproxy.cc',
702 'p2p/base/portproxy.h',
703 'p2p/base/pseudotcp.cc',
704 'p2p/base/pseudotcp.h',
705 'p2p/base/rawtransport.cc',
706 'p2p/base/rawtransport.h',
707 'p2p/base/rawtransportchannel.cc',
708 'p2p/base/rawtransportchannel.h',
709 'p2p/base/relayport.cc',
710 'p2p/base/relayport.h',
711 'p2p/base/relayserver.cc',
712 'p2p/base/relayserver.h',
713 'p2p/base/session.cc',
714 'p2p/base/session.h',
715 'p2p/base/sessionclient.h',
716 'p2p/base/sessiondescription.cc',
717 'p2p/base/sessiondescription.h',
718 'p2p/base/sessionid.h',
719 'p2p/base/sessionmanager.cc',
720 'p2p/base/sessionmanager.h',
721 'p2p/base/sessionmessages.cc',
722 'p2p/base/sessionmessages.h',
723 'p2p/base/stun.cc',
724 'p2p/base/stun.h',
725 'p2p/base/stunport.cc',
726 'p2p/base/stunport.h',
727 'p2p/base/stunrequest.cc',
728 'p2p/base/stunrequest.h',
729 'p2p/base/stunserver.cc',
730 'p2p/base/stunserver.h',
731 'p2p/base/tcpport.cc',
732 'p2p/base/tcpport.h',
733 'p2p/base/transport.cc',
734 'p2p/base/transport.h',
735 'p2p/base/transportchannel.cc',
736 'p2p/base/transportchannel.h',
737 'p2p/base/transportchannelimpl.h',
738 'p2p/base/transportchannelproxy.cc',
739 'p2p/base/transportchannelproxy.h',
sergeyu@chromium.org492e3152013-08-24 00:06:43 +0000740 'p2p/base/transportdescription.cc',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000741 'p2p/base/transportdescription.h',
742 'p2p/base/transportdescriptionfactory.cc',
743 'p2p/base/transportdescriptionfactory.h',
744 'p2p/base/transportinfo.h',
745 'p2p/base/turnport.cc',
746 'p2p/base/turnport.h',
747 'p2p/base/turnserver.cc',
748 'p2p/base/turnserver.h',
749 'p2p/base/udpport.h',
750 'p2p/client/autoportallocator.h',
751 'p2p/client/basicportallocator.cc',
752 'p2p/client/basicportallocator.h',
753 'p2p/client/connectivitychecker.cc',
754 'p2p/client/connectivitychecker.h',
755 'p2p/client/httpportallocator.cc',
756 'p2p/client/httpportallocator.h',
757 'p2p/client/sessionmanagertask.h',
758 'p2p/client/sessionsendtask.h',
759 'p2p/client/socketmonitor.cc',
760 'p2p/client/socketmonitor.h',
761 'session/tunnel/pseudotcpchannel.cc',
762 'session/tunnel/pseudotcpchannel.h',
763 'session/tunnel/tunnelsessionclient.cc',
764 'session/tunnel/tunnelsessionclient.h',
765 'session/tunnel/securetunnelsessionclient.cc',
766 'session/tunnel/securetunnelsessionclient.h',
767 'session/media/audiomonitor.cc',
768 'session/media/audiomonitor.h',
buildbot@webrtc.org5ee0f052014-05-05 20:18:08 +0000769 'session/media/bundlefilter.cc',
770 'session/media/bundlefilter.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000771 'session/media/call.cc',
772 'session/media/call.h',
773 'session/media/channel.cc',
774 'session/media/channel.h',
775 'session/media/channelmanager.cc',
776 'session/media/channelmanager.h',
777 'session/media/currentspeakermonitor.cc',
778 'session/media/currentspeakermonitor.h',
779 'session/media/mediamessages.cc',
780 'session/media/mediamessages.h',
781 'session/media/mediamonitor.cc',
782 'session/media/mediamonitor.h',
783 'session/media/mediarecorder.cc',
784 'session/media/mediarecorder.h',
785 'session/media/mediasession.cc',
786 'session/media/mediasession.h',
787 'session/media/mediasessionclient.cc',
788 'session/media/mediasessionclient.h',
789 'session/media/mediasink.h',
790 'session/media/rtcpmuxfilter.cc',
791 'session/media/rtcpmuxfilter.h',
792 'session/media/soundclip.cc',
793 'session/media/soundclip.h',
794 'session/media/srtpfilter.cc',
795 'session/media/srtpfilter.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000796 'session/media/typingmonitor.cc',
797 'session/media/typingmonitor.h',
798 'session/media/voicechannel.h',
799 ],
800 }, # target libjingle_p2p
801 {
802 'target_name': 'libjingle_peerconnection',
803 'type': 'static_library',
804 'dependencies': [
805 'libjingle',
806 'libjingle_media',
807 'libjingle_p2p',
808 ],
809 'sources': [
810 'app/webrtc/audiotrack.cc',
811 'app/webrtc/audiotrack.h',
812 'app/webrtc/audiotrackrenderer.cc',
813 'app/webrtc/audiotrackrenderer.h',
814 'app/webrtc/datachannel.cc',
815 'app/webrtc/datachannel.h',
816 'app/webrtc/datachannelinterface.h',
817 'app/webrtc/dtmfsender.cc',
818 'app/webrtc/dtmfsender.h',
819 'app/webrtc/dtmfsenderinterface.h',
820 'app/webrtc/fakeportallocatorfactory.h',
821 'app/webrtc/jsep.h',
822 'app/webrtc/jsepicecandidate.cc',
823 'app/webrtc/jsepicecandidate.h',
824 'app/webrtc/jsepsessiondescription.cc',
825 'app/webrtc/jsepsessiondescription.h',
826 'app/webrtc/localaudiosource.cc',
827 'app/webrtc/localaudiosource.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000828 'app/webrtc/mediaconstraintsinterface.cc',
829 'app/webrtc/mediaconstraintsinterface.h',
830 'app/webrtc/mediastream.cc',
831 'app/webrtc/mediastream.h',
832 'app/webrtc/mediastreamhandler.cc',
833 'app/webrtc/mediastreamhandler.h',
834 'app/webrtc/mediastreaminterface.h',
835 'app/webrtc/mediastreamprovider.h',
836 'app/webrtc/mediastreamproxy.h',
837 'app/webrtc/mediastreamsignaling.cc',
838 'app/webrtc/mediastreamsignaling.h',
839 'app/webrtc/mediastreamtrack.h',
840 'app/webrtc/mediastreamtrackproxy.h',
841 'app/webrtc/notifier.h',
842 'app/webrtc/peerconnection.cc',
843 'app/webrtc/peerconnection.h',
844 'app/webrtc/peerconnectionfactory.cc',
845 'app/webrtc/peerconnectionfactory.h',
846 'app/webrtc/peerconnectioninterface.h',
847 'app/webrtc/peerconnectionproxy.h',
848 'app/webrtc/portallocatorfactory.cc',
849 'app/webrtc/portallocatorfactory.h',
850 'app/webrtc/proxy.h',
wu@webrtc.orgb9a088b2014-02-13 23:18:49 +0000851 'app/webrtc/remoteaudiosource.cc',
852 'app/webrtc/remoteaudiosource.h',
wu@webrtc.org967bfff2013-09-19 05:49:50 +0000853 'app/webrtc/remotevideocapturer.cc',
854 'app/webrtc/remotevideocapturer.h',
henrika@webrtc.orgaebb1ad2014-01-14 10:00:58 +0000855 'app/webrtc/sctputils.cc',
856 'app/webrtc/sctputils.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000857 'app/webrtc/statscollector.cc',
858 'app/webrtc/statscollector.h',
859 'app/webrtc/statstypes.h',
860 'app/webrtc/streamcollection.h',
wu@webrtc.org967bfff2013-09-19 05:49:50 +0000861 'app/webrtc/videosource.cc',
862 'app/webrtc/videosource.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000863 'app/webrtc/videosourceinterface.h',
864 'app/webrtc/videosourceproxy.h',
865 'app/webrtc/videotrack.cc',
866 'app/webrtc/videotrack.h',
867 'app/webrtc/videotrackrenderers.cc',
868 'app/webrtc/videotrackrenderers.h',
869 'app/webrtc/webrtcsdp.cc',
870 'app/webrtc/webrtcsdp.h',
871 'app/webrtc/webrtcsession.cc',
872 'app/webrtc/webrtcsession.h',
wu@webrtc.org91053e72013-08-10 07:18:04 +0000873 'app/webrtc/webrtcsessiondescriptionfactory.cc',
874 'app/webrtc/webrtcsessiondescriptionfactory.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000875 ],
876 }, # target libjingle_peerconnection
877 ],
878}