Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(28)

Side by Side Diff: webrtc/api/api.gyp

Issue 1610243002: Move talk/app/webrtc to webrtc/api (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Updated location for peerconnection_unittests.isolate Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. 1 # Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
2 # 2 #
3 # Use of this source code is governed by a BSD-style license 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 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 5 # tree. An additional intellectual property rights grant can be found
6 # in the file PATENTS. All contributing project authors may 6 # in the file PATENTS. All contributing project authors may
7 # be found in the AUTHORS file in the root of the source tree. 7 # be found in the AUTHORS file in the root of the source tree.
8 8
9 { 9 {
10 'includes': [ '../build/common.gypi', ], 10 'includes': [ '../build/common.gypi', ],
11 'conditions': [ 11 'conditions': [
12 ['os_posix == 1 and OS != "mac" and OS != "ios"', {
13 'conditions': [
14 ['sysroot!=""', {
15 'variables': {
16 'pkg-config': '../../../build/linux/pkg-config-wrapper "<(sysroot)" "<(target_arch)"',
17 },
18 }, {
19 'variables': {
20 'pkg-config': 'pkg-config'
21 },
22 }],
23 ],
24 }],
25 ['OS=="linux" or OS=="android"', {
26 'targets': [
27 {
28 'target_name': 'libjingle_peerconnection_jni',
29 'type': 'static_library',
30 'dependencies': [
31 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:field_trial_defa ult',
32 'libjingle_peerconnection',
33 ],
34 'sources': [
35 'java/jni/classreferenceholder.cc',
36 'java/jni/classreferenceholder.h',
37 'java/jni/jni_helpers.cc',
38 'java/jni/jni_helpers.h',
39 'java/jni/native_handle_impl.cc',
40 'java/jni/native_handle_impl.h',
41 'java/jni/peerconnection_jni.cc',
42 ],
43 'include_dirs': [
44 '<(libyuv_dir)/include',
45 ],
46 # TODO(kjellander): Make the code compile without disabling these flag s.
47 # See https://bugs.chromium.org/p/webrtc/issues/detail?id=3307
48 'cflags': [
49 '-Wno-sign-compare',
50 '-Wno-unused-variable',
51 ],
52 'cflags!': [
53 '-Wextra',
54 ],
55 'cflags_cc!': [
56 '-Wnon-virtual-dtor',
57 '-Woverloaded-virtual',
58 ],
59 'msvs_disabled_warnings': [
60 4245, # conversion from 'int' to 'size_t', signed/unsigned mismatch .
61 4267, # conversion from 'size_t' to 'int', possible loss of data.
62 4389, # signed/unsigned mismatch.
63 ],
64 'conditions': [
65 ['OS=="linux"', {
66 'include_dirs': [
67 '<(java_home)/include',
68 '<(java_home)/include/linux',
69 ],
70 }],
71 ['build_json==1', {
72 'dependencies': [
73 '<(DEPTH)/third_party/jsoncpp/jsoncpp.gyp:jsoncpp',
74 ],
75 'export_dependent_settings': [
76 '<(DEPTH)/third_party/jsoncpp/jsoncpp.gyp:jsoncpp',
77 ],
78 }],
79 ['OS=="android"', {
80 'sources': [
81 'androidvideocapturer.cc',
82 'androidvideocapturer.h',
83 'java/jni/androidmediacodeccommon.h',
84 'java/jni/androidmediadecoder_jni.cc',
85 'java/jni/androidmediadecoder_jni.h',
86 'java/jni/androidmediaencoder_jni.cc',
87 'java/jni/androidmediaencoder_jni.h',
88 'java/jni/androidnetworkmonitor_jni.cc',
89 'java/jni/androidnetworkmonitor_jni.h',
90 'java/jni/androidvideocapturer_jni.cc',
91 'java/jni/androidvideocapturer_jni.h',
92 'java/jni/surfacetexturehelper_jni.cc',
93 'java/jni/surfacetexturehelper_jni.h',
94 ]
95 }],
96 ],
97 },
98 {
99 'target_name': 'libjingle_peerconnection_so',
100 'type': 'shared_library',
101 'dependencies': [
102 'libjingle_peerconnection',
103 'libjingle_peerconnection_jni',
104 ],
105 'sources': [
106 'java/jni/jni_onload.cc',
107 ],
108 'variables': {
109 # This library uses native JNI exports; tell GYP so that the
110 # required symbols will be kept.
111 'use_native_jni_exports': 1,
112 },
113 'conditions': [
114 ['OS=="linux"', {
115 'defines': [
116 'HAVE_GTK',
117 ],
118 'include_dirs': [
119 '<(java_home)/include',
120 '<(java_home)/include/linux',
121 ],
122 'conditions': [
123 ['use_gtk==1', {
124 'link_settings': {
125 'libraries': [
126 '<!@(pkg-config --libs-only-l gobject-2.0 gthread-2.0'
127 ' gtk+-2.0)',
128 ],
129 },
130 }],
131 ],
132 }],
133 ],
134 },
135 {
136 'target_name': 'libjingle_peerconnection_jar',
137 'type': 'none',
138 'actions': [
139 {
140 # TODO(jiayl): extract peerconnection_java_files and android_java_ files into a webrtc
141 # gyp var that can be included here, or better yet, build a proper .jar in webrtc
142 # and include it here.
143 'variables': {
144 'java_src_dir': 'java/src',
145 'webrtc_base_dir': '<(webrtc_root)/base',
146 'webrtc_modules_dir': '<(webrtc_root)/modules',
147 'build_jar_log': '<(INTERMEDIATE_DIR)/build_jar.log',
148 'peerconnection_java_files': [
149 'java/src/org/webrtc/AudioSource.java',
150 'java/src/org/webrtc/AudioTrack.java',
151 'java/src/org/webrtc/CallSessionFileRotatingLogSink.java',
152 'java/src/org/webrtc/DataChannel.java',
153 'java/src/org/webrtc/IceCandidate.java',
154 'java/src/org/webrtc/MediaConstraints.java',
155 'java/src/org/webrtc/MediaSource.java',
156 'java/src/org/webrtc/MediaStream.java',
157 'java/src/org/webrtc/MediaStreamTrack.java',
158 'java/src/org/webrtc/PeerConnectionFactory.java',
159 'java/src/org/webrtc/PeerConnection.java',
160 'java/src/org/webrtc/RtpReceiver.java',
161 'java/src/org/webrtc/RtpSender.java',
162 'java/src/org/webrtc/SdpObserver.java',
163 'java/src/org/webrtc/StatsObserver.java',
164 'java/src/org/webrtc/StatsReport.java',
165 'java/src/org/webrtc/SessionDescription.java',
166 'java/src/org/webrtc/VideoCapturer.java',
167 'java/src/org/webrtc/VideoRenderer.java',
168 'java/src/org/webrtc/VideoSource.java',
169 'java/src/org/webrtc/VideoTrack.java',
170 '<(webrtc_base_dir)/java/src/org/webrtc/Logging.java',
171 ],
172 'android_java_files': [
173 'java/android/org/webrtc/Camera2Enumerator.java',
174 'java/android/org/webrtc/CameraEnumerationAndroid.java',
175 'java/android/org/webrtc/CameraEnumerator.java',
176 'java/android/org/webrtc/EglBase.java',
177 'java/android/org/webrtc/EglBase10.java',
178 'java/android/org/webrtc/EglBase14.java',
179 'java/android/org/webrtc/GlRectDrawer.java',
180 'java/android/org/webrtc/GlShader.java',
181 'java/android/org/webrtc/GlUtil.java',
182 'java/android/org/webrtc/GlTextureFrameBuffer.java',
183 'java/android/org/webrtc/NetworkMonitor.java',
184 'java/android/org/webrtc/NetworkMonitorAutoDetect.java',
185 'java/android/org/webrtc/RendererCommon.java',
186 'java/android/org/webrtc/SurfaceTextureHelper.java',
187 'java/android/org/webrtc/SurfaceViewRenderer.java',
188 'java/android/org/webrtc/ThreadUtils.java',
189 'java/android/org/webrtc/VideoCapturerAndroid.java',
190 'java/android/org/webrtc/VideoRendererGui.java',
191 'java/src/org/webrtc/MediaCodecVideoDecoder.java',
192 'java/src/org/webrtc/MediaCodecVideoEncoder.java',
193 '<(webrtc_modules_dir)/video_render/android/java/src/org/webrt c/videoengine/ViEAndroidGLES20.java',
194 '<(webrtc_modules_dir)/video_render/android/java/src/org/webrt c/videoengine/ViERenderer.java',
195 '<(webrtc_modules_dir)/video_render/android/java/src/org/webrt c/videoengine/ViESurfaceRenderer.java',
196 '<(webrtc_modules_dir)/audio_device/android/java/src/org/webrt c/voiceengine/BuildInfo.java',
197 '<(webrtc_modules_dir)/audio_device/android/java/src/org/webrt c/voiceengine/WebRtcAudioEffects.java',
198 '<(webrtc_modules_dir)/audio_device/android/java/src/org/webrt c/voiceengine/WebRtcAudioManager.java',
199 '<(webrtc_modules_dir)/audio_device/android/java/src/org/webrt c/voiceengine/WebRtcAudioUtils.java',
200 '<(webrtc_modules_dir)/audio_device/android/java/src/org/webrt c/voiceengine/WebRtcAudioRecord.java',
201 '<(webrtc_modules_dir)/audio_device/android/java/src/org/webrt c/voiceengine/WebRtcAudioTrack.java',
202 ],
203 },
204 'action_name': 'create_jar',
205 'inputs': [
206 '../build/build_jar.sh',
207 '<@(java_files)',
208 ],
209 'outputs': [
210 '<(PRODUCT_DIR)/libjingle_peerconnection.jar',
211 ],
212 'conditions': [
213 ['OS=="android"', {
214 'variables': {
215 'java_files': ['<@(peerconnection_java_files)', '<@(android_ java_files)'],
216 'build_classpath': '<(java_src_dir):<(DEPTH)/third_party/and roid_tools/sdk/platforms/android-<(android_sdk_version)/android.jar',
217 },
218 }, {
219 'variables': {
220 'java_files': ['<@(peerconnection_java_files)'],
221 'build_classpath': '<(java_src_dir)',
222 },
223 }],
224 ],
225 'action': [
226 'bash', '-ec',
227 'mkdir -p <(INTERMEDIATE_DIR) && '
228 '{ ../build/build_jar.sh <(java_home) <@(_outputs) '
229 ' <(INTERMEDIATE_DIR)/build_jar.tmp '
230 ' <(build_classpath) <@(java_files) '
231 ' > <(build_jar_log) 2>&1 || '
232 ' { cat <(build_jar_log) ; exit 1; } }'
233 ],
234 },
235 ],
236 'dependencies': [
237 'libjingle_peerconnection_so',
238 ],
239 },
240 ],
241 }],
242 ['OS=="android"', {
243 'targets': [
244 {
245 # |libjingle_peerconnection_java| builds a jar file with name
246 # libjingle_peerconnection_java.jar using Chromes build system.
247 # It includes all Java files needed to setup a PeeerConnection call
248 # from Android.
249 # TODO(perkj): Consider replacing the use of
250 # libjingle_peerconnection_jar with this target everywhere.
251 'target_name': 'libjingle_peerconnection_java',
252 'type': 'none',
253 'dependencies': [
254 'libjingle_peerconnection_so',
255 ],
256 'variables': {
257 # Designate as Chromium code and point to our lint settings to
258 # enable linting of the WebRTC code (this is the only way to make
259 # lint_action invoke the Android linter).
260 'android_manifest_path': '<(webrtc_root)/build/android/AndroidManife st.xml',
261 'suppressions_file': '<(webrtc_root)/build/android/suppressions.xml' ,
262 'chromium_code': 1,
263 'java_in_dir': 'java',
264 'webrtc_base_dir': '<(webrtc_root)/base',
265 'webrtc_modules_dir': '<(webrtc_root)/modules',
266 'additional_src_dirs' : [
267 'java/android',
268 '<(webrtc_base_dir)/java/src',
269 '<(webrtc_modules_dir)/audio_device/android/java/src',
270 '<(webrtc_modules_dir)/video_render/android/java/src',
271 ],
272 },
273 'includes': ['../../build/java.gypi'],
274 }, # libjingle_peerconnection_java
275 ]
276 }],
12 ['OS=="ios"', { 277 ['OS=="ios"', {
13 'targets': [ 278 'targets': [
14 { 279 {
15 'target_name': 'rtc_api_objc', 280 'target_name': 'rtc_api_objc',
16 'type': 'static_library', 281 'type': 'static_library',
17 'dependencies': [ 282 'dependencies': [
18 '<(webrtc_root)/base/base.gyp:rtc_base_objc', 283 '<(webrtc_root)/base/base.gyp:rtc_base_objc',
19 '../../talk/libjingle.gyp:libjingle_peerconnection', 284 'libjingle_peerconnection',
20 ], 285 ],
21 'sources': [ 286 'sources': [
22 'objc/RTCAVFoundationVideoSource+Private.h', 287 'objc/RTCAVFoundationVideoSource+Private.h',
23 'objc/RTCAVFoundationVideoSource.h', 288 'objc/RTCAVFoundationVideoSource.h',
24 'objc/RTCAVFoundationVideoSource.mm', 289 'objc/RTCAVFoundationVideoSource.mm',
25 'objc/RTCAudioTrack+Private.h', 290 'objc/RTCAudioTrack+Private.h',
26 'objc/RTCAudioTrack.h', 291 'objc/RTCAudioTrack.h',
27 'objc/RTCAudioTrack.mm', 292 'objc/RTCAudioTrack.mm',
28 'objc/RTCIceCandidate+Private.h', 293 'objc/RTCIceCandidate+Private.h',
29 'objc/RTCIceCandidate.h', 294 'objc/RTCIceCandidate.h',
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 ], 340 ],
76 'all_dependent_settings': { 341 'all_dependent_settings': {
77 'xcode_settings': { 342 'xcode_settings': {
78 'OTHER_LDFLAGS': [ 343 'OTHER_LDFLAGS': [
79 '-framework CoreGraphics', 344 '-framework CoreGraphics',
80 '-framework GLKit', 345 '-framework GLKit',
81 '-framework OpenGLES', 346 '-framework OpenGLES',
82 '-framework QuartzCore', 347 '-framework QuartzCore',
83 ] 348 ]
84 } 349 }
85 } 350 },
351 # TODO(kjellander): Make the code compile without disabling these.
352 # See https://bugs.chromium.org/p/webrtc/issues/detail?id=3307
353 'cflags': [
354 '-Wno-return-type',
355 ],
356 'xcode_settings': {
357 'WARNING_CFLAGS': [
358 '-Wno-return-type',
359 ],
360 },
86 }], 361 }],
87 ['OS=="mac"', { 362 ['OS=="mac"', {
88 'sources': [ 363 'sources': [
89 'objc/RTCNSGLVideoView.h', 364 'objc/RTCNSGLVideoView.h',
90 'objc/RTCNSGLVideoView.m', 365 'objc/RTCNSGLVideoView.m',
91 ], 366 ],
92 }], 367 }],
93 ], 368 ],
94 'xcode_settings': { 369 'xcode_settings': {
95 'CLANG_ENABLE_OBJC_ARC': 'YES', 370 'CLANG_ENABLE_OBJC_ARC': 'YES',
96 'CLANG_WARN_OBJC_MISSING_PROPERTY_SYNTHESIS': 'YES', 371 'CLANG_WARN_OBJC_MISSING_PROPERTY_SYNTHESIS': 'YES',
97 'GCC_PREFIX_HEADER': 'objc/WebRTC-Prefix.pch', 372 'GCC_PREFIX_HEADER': 'objc/WebRTC-Prefix.pch',
98 }, 373 },
99 } 374 }
100 ], 375 ],
101 }], # OS=="ios" 376 }], # OS=="ios"
102 ], 377 ], # conditions
378 'targets': [
379 {
380 'target_name': 'libjingle_peerconnection',
381 'type': 'static_library',
382 'dependencies': [
383 '../../talk/libjingle.gyp:libjingle',
384 '../../talk/libjingle.gyp:libjingle_media',
385 '../../talk/libjingle.gyp:libjingle_p2p',
386 ],
387 'sources': [
388 'audiotrack.cc',
389 'audiotrack.h',
390 'datachannel.cc',
391 'datachannel.h',
392 'datachannelinterface.h',
393 'dtlsidentitystore.cc',
394 'dtlsidentitystore.h',
395 'dtmfsender.cc',
396 'dtmfsender.h',
397 'dtmfsenderinterface.h',
398 'jsep.h',
399 'jsepicecandidate.cc',
400 'jsepicecandidate.h',
401 'jsepsessiondescription.cc',
402 'jsepsessiondescription.h',
403 'localaudiosource.cc',
404 'localaudiosource.h',
405 'mediaconstraintsinterface.cc',
406 'mediaconstraintsinterface.h',
407 'mediacontroller.cc',
408 'mediacontroller.h',
409 'mediastream.cc',
410 'mediastream.h',
411 'mediastreaminterface.h',
412 'mediastreamobserver.cc',
413 'mediastreamobserver.h',
414 'mediastreamprovider.h',
415 'mediastreamproxy.h',
416 'mediastreamtrack.h',
417 'mediastreamtrackproxy.h',
418 'notifier.h',
419 'peerconnection.cc',
420 'peerconnection.h',
421 'peerconnectionfactory.cc',
422 'peerconnectionfactory.h',
423 'peerconnectionfactoryproxy.h',
424 'peerconnectioninterface.h',
425 'peerconnectionproxy.h',
426 'proxy.h',
427 'remoteaudiosource.cc',
428 'remoteaudiosource.h',
429 'remotevideocapturer.cc',
430 'remotevideocapturer.h',
431 'rtpreceiver.cc',
432 'rtpreceiver.h',
433 'rtpreceiverinterface.h',
434 'rtpsender.cc',
435 'rtpsender.h',
436 'rtpsenderinterface.h',
437 'sctputils.cc',
438 'sctputils.h',
439 'statscollector.cc',
440 'statscollector.h',
441 'statstypes.cc',
442 'statstypes.h',
443 'streamcollection.h',
444 'videosource.cc',
445 'videosource.h',
446 'videosourceinterface.h',
447 'videosourceproxy.h',
448 'videotrack.cc',
449 'videotrack.h',
450 'videotrackrenderers.cc',
451 'videotrackrenderers.h',
452 'webrtcsdp.cc',
453 'webrtcsdp.h',
454 'webrtcsession.cc',
455 'webrtcsession.h',
456 'webrtcsessiondescriptionfactory.cc',
457 'webrtcsessiondescriptionfactory.h',
458 ],
459 # TODO(kjellander): Make the code compile without disabling these flags.
460 # See https://bugs.chromium.org/p/webrtc/issues/detail?id=3307
461 'cflags': [
462 '-Wno-sign-compare',
463 ],
464 'cflags_cc!': [
465 '-Wnon-virtual-dtor',
466 '-Woverloaded-virtual',
467 ],
468 'conditions': [
469 ['clang==1', {
470 'cflags!': [
471 '-Wextra',
472 ],
473 'xcode_settings': {
474 'WARNING_CFLAGS!': ['-Wextra'],
475 },
476 }, {
477 'cflags': [
478 '-Wno-maybe-uninitialized', # Only exists for GCC.
479 ],
480 }],
481 ['OS=="win"', {
482 # Disable warning for signed/unsigned mismatch.
483 'msvs_settings': {
484 'VCCLCompilerTool': {
485 'AdditionalOptions!': ['/we4389'],
486 },
487 },
488 }],
489 ['OS=="win" and clang==1', {
490 'msvs_settings': {
491 'VCCLCompilerTool': {
492 'AdditionalOptions': [
493 '-Wno-sign-compare',
494 ],
495 },
496 },
497 }],
498 ],
499 }, # target libjingle_peerconnection
500 ], # targets
103 } 501 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698