webrtc_m130/webrtc/webrtc.gyp

170 lines
4.8 KiB
Plaintext
Raw Normal View History

# Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
#
# Use of this source code is governed by a BSD-style license
# that can be found in the LICENSE file in the root of the source
# tree. An additional intellectual property rights grant can be found
# in the file PATENTS. All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.
{
'variables': {
'webrtc_all_dependencies': [
'base/base.gyp:*',
'sound/sound.gyp:*',
'common.gyp:*',
'common_audio/common_audio.gyp:*',
'common_video/common_video.gyp:*',
'media/media.gyp:*',
'modules/modules.gyp:*',
'p2p/p2p.gyp:*',
'system_wrappers/system_wrappers.gyp:*',
'tools/tools.gyp:*',
'voice_engine/voice_engine.gyp:*',
'<(webrtc_vp8_dir)/vp8.gyp:*',
'<(webrtc_vp9_dir)/vp9.gyp:*',
],
},
'conditions': [
['build_with_chromium==0', {
# TODO(kjellander): Move this to webrtc_all_dependencies once all of talk/
# has been moved to webrtc/. It can't be processed by Chromium since the
# reference to buid/java.gypi is using an absolute path (and includes
# entries cannot contain variables).
'variables': {
'webrtc_all_dependencies': [
'api/api.gyp:*',
],
},
}],
['include_tests==1', {
'includes': [
'libjingle/xmllite/xmllite_tests.gypi',
'libjingle/xmpp/xmpp_tests.gypi',
Move talk/media to webrtc/media I removed the 'libjingle' target in talk/libjingle.gyp and replaced all users of it with base/base.gyp:rtc_base. It seems the jsoncpp and expat dependencies were not used by it's previous references. The files in talk/media/testdata were uploaded to Google Storage and added .sha1 files in resources/media instead of simply moving them. The previously disabled warnings that were inherited from talk/build/common.gypi are now replaced by target-specific disabling of only the failing warnings. Additional disabling was needed since the stricter compilation warnings that applies to code in webrtc/. License headers will be updated in a follow-up CL in order to not break Git history. Other modifications: * Updated the header guards. * Sorted the includes using chromium/src/tools/sort-headers.py except for these files: talk/app/webrtc/peerconnectionendtoend_unittest.cc talk/app/webrtc/java/jni/androidmediadecoder_jni.cc talk/app/webrtc/java/jni/androidmediaencoder_jni.cc webrtc/media/devices/win32devicemanager.cc. * Unused GYP reference to libjingle_tests_additional_deps was removed. * Removed duplicated GYP entries of webrtc/base/testutils.cc webrtc/base/testutils.h The HAVE_WEBRTC_VIDEO and HAVE_WEBRTC_VOICE defines were used by only talk/media, so they were moved to the media.gyp. I also checked that none of EXPAT_RELATIVE_PATH, FEATURE_ENABLE_VOICEMAIL, GTEST_RELATIVE_PATH, JSONCPP_RELATIVE_PATH, LOGGING=1, SRTP_RELATIVE_PATH, FEATURE_ENABLE_SSL, FEATURE_ENABLE_VOICEMAIL, FEATURE_ENABLE_PSTN, HAVE_SCTP, HAVE_SRTP, are used by the talk/media code. For Chromium, the following changes will need to be applied to the roll CL that updates the DEPS for WebRTC and libjingle: https://codereview.chromium.org/1604303002/ BUG=webrtc:5420 NOPRESUBMIT=True TBR=tommi@webrtc.org Review URL: https://codereview.webrtc.org/1587193006 Cr-Commit-Position: refs/heads/master@{#11495}
2016-02-04 23:52:28 -08:00
'media/media_tests.gypi',
'p2p/p2p_tests.gypi',
'pc/pc_tests.gypi',
'sound/sound_tests.gypi',
'webrtc_tests.gypi',
],
}],
['enable_protobuf==1', {
'targets': [
{
# This target should only be built if enable_protobuf is defined
'target_name': 'rtc_event_log_proto',
'type': 'static_library',
'sources': ['call/rtc_event_log.proto',],
'variables': {
'proto_in_dir': 'call',
'proto_out_dir': 'webrtc/call',
},
'includes': ['build/protoc.gypi'],
},
],
}],
['include_tests==1 and enable_protobuf==1', {
'targets': [
{
'target_name': 'rtc_event_log2rtp_dump',
'type': 'executable',
'sources': ['call/rtc_event_log2rtp_dump.cc',],
'dependencies': [
'<(DEPTH)/third_party/gflags/gflags.gyp:gflags',
'rtc_event_log',
'rtc_event_log_proto',
'test/test.gyp:rtp_test_utils'
],
},
],
}],
],
'includes': [
'build/common.gypi',
'audio/webrtc_audio.gypi',
'call/webrtc_call.gypi',
'video/webrtc_video.gypi',
],
'targets': [
{
'target_name': 'webrtc_all',
'type': 'none',
'dependencies': [
'<@(webrtc_all_dependencies)',
'webrtc',
],
'conditions': [
['include_tests==1', {
'dependencies': [
'api/api_tests.gyp:*',
'common_video/common_video_unittests.gyp:*',
'rtc_unittests',
'system_wrappers/system_wrappers_tests.gyp:*',
'test/metrics.gyp:*',
'test/test.gyp:*',
'test/webrtc_test_common.gyp:*',
'webrtc_tests',
],
}],
],
},
{
'target_name': 'webrtc',
'type': 'static_library',
'sources': [
'audio_receive_stream.h',
'audio_send_stream.h',
'audio_state.h',
'call.h',
'config.h',
'frame_callback.h',
'stream.h',
'transport.h',
'video_receive_stream.h',
'video_renderer.h',
'video_send_stream.h',
'<@(webrtc_audio_sources)',
'<@(webrtc_call_sources)',
'<@(webrtc_video_sources)',
],
'dependencies': [
'common.gyp:*',
'<@(webrtc_audio_dependencies)',
'<@(webrtc_call_dependencies)',
'<@(webrtc_video_dependencies)',
'rtc_event_log',
],
'conditions': [
# TODO(andresp): Chromium should link directly with this and no if
# conditions should be needed on webrtc build files.
['build_with_chromium==1', {
'dependencies': [
'<(webrtc_root)/modules/modules.gyp:video_capture',
'<(webrtc_root)/modules/modules.gyp:video_render',
],
}],
],
},
{
'target_name': 'rtc_event_log',
'type': 'static_library',
'sources': [
'call/rtc_event_log.cc',
'call/rtc_event_log.h',
],
'conditions': [
# If enable_protobuf is defined, we want to compile the protobuf
# and add rtc_event_log.pb.h and rtc_event_log.pb.cc to the sources.
['enable_protobuf==1', {
'dependencies': [
'rtc_event_log_proto',
],
'defines': [
'ENABLE_RTC_EVENT_LOG',
],
}],
],
},
],
}