blob: 21387448effbd40e994c454a58c6ae46ffab7c31 [file] [log] [blame]
# 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:*',
'common.gyp:*',
'common_audio/common_audio.gyp:*',
'common_video/common_video.gyp:*',
'media/media.gyp:*',
'modules/modules.gyp:*',
'p2p/p2p.gyp:*',
'pc/pc.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:*',
],
},
}],
['build_with_chromium==0 and'
'(OS=="ios" or (OS=="mac" and mac_deployment_target=="10.7"))', {
# 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': [
'sdk/sdk.gyp:*',
],
},
}],
['include_tests==1', {
'includes': [
'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:*',
'webrtc_tests',
],
}],
['include_tests==1 and'
'(OS=="ios" or (OS=="mac" and mac_deployment_target=="10.7"))', {
'dependencies': [
'sdk/sdk_tests.gyp:*',
],
}],
],
},
{
'target_name': 'webrtc',
'type': 'static_library',
'sources': [
'audio_receive_stream.h',
'audio_send_stream.h',
'audio_state.h',
'call.h',
'config.h',
'transport.h',
'video_receive_stream.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',
],
}],
],
},
{
'target_name': 'rtc_event_log',
'type': 'static_library',
'sources': [
'call/rtc_event_log.cc',
'call/rtc_event_log.h',
'call/rtc_event_log_helper_thread.cc',
'call/rtc_event_log_helper_thread.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',
],
}],
],
},
],
}