diff --git a/src/build/common.gypi b/src/build/common.gypi index 2bb8775367..284a5a8567 100644 --- a/src/build/common.gypi +++ b/src/build/common.gypi @@ -9,26 +9,42 @@ # This file contains common settings for building WebRTC components. { + # Nesting is required in order to use variables for setting other variables. 'variables': { - # These variables need to be nested in order to use them in a conditions - # block to set other variables. 'variables': { 'variables': { - # This will be set to zero in the supplement.gypi triggered by a gclient - # hook in the standalone build. - 'build_with_chromium%': 1, + 'variables': { + # This will be set to zero in the supplement.gypi triggered by a + # gclient hook in the standalone build. + 'build_with_chromium%': 1, + }, + 'build_with_chromium%': '<(build_with_chromium)', + + 'conditions': [ + ['build_with_chromium==1', { + 'webrtc_root%': '<(DEPTH)/third_party/webrtc', + }, { + 'webrtc_root%': '<(DEPTH)/src', + }], + ], }, 'build_with_chromium%': '<(build_with_chromium)', + 'webrtc_root%': '<(webrtc_root)', + 'conditions': [ ['build_with_chromium==1', { - 'webrtc_root%': '<(DEPTH)/third_party/webrtc', + 'include_tests%': 0, }, { - 'webrtc_root%': '<(DEPTH)/src', + 'include_tests%': 1, }], ], + + 'webrtc_vp8_dir%': '<(webrtc_root)/modules/video_coding/codecs/vp8', }, 'build_with_chromium%': '<(build_with_chromium)', + 'include_tests%': '<(include_tests)', 'webrtc_root%': '<(webrtc_root)', + 'webrtc_vp8_dir%': '<(webrtc_vp8_dir)', # The Chromium common.gypi we use treats all gyp files without # chromium_code==1 as third party code. This disables many of the @@ -54,7 +70,6 @@ 'build_libjpeg%': 1, 'build_libyuv%': 1, - 'webrtc_vp8_dir%': '<(webrtc_root)/modules/video_coding/codecs/vp8', 'libyuv_dir%': '<(DEPTH)/third_party/libyuv', 'conditions': [ @@ -80,10 +95,7 @@ # Disable the use of protocol buffers in production code. 'enable_protobuf%': 0, - - # Don't include tests for Chromium builds. - 'include_tests%': 0, - }, { # Settings for the standalone (not-in-Chromium) build. + }, { # Settings for the standalone (not-in-Chromium) build. 'include_pulse_audio%': 1, 'include_internal_audio_device%': 1, @@ -96,8 +108,6 @@ 'enable_protobuf%': 1, - 'include_tests%': 1, - # TODO(andrew): For now, disable the Chrome plugins, which causes a # flood of chromium-style warnings. Investigate enabling them: # http://code.google.com/p/webrtc/issues/detail?id=163 diff --git a/src/voice_engine/voice_engine_core.gypi b/src/voice_engine/voice_engine_core.gypi index 10a8d05d46..4825072834 100644 --- a/src/voice_engine/voice_engine_core.gypi +++ b/src/voice_engine/voice_engine_core.gypi @@ -7,22 +7,27 @@ # be found in the AUTHORS file in the root of the source tree. { + 'variables': { + 'voice_engine_dependencies': [ + '<(webrtc_root)/common_audio/common_audio.gyp:resampler', + '<(webrtc_root)/common_audio/common_audio.gyp:signal_processing', + '<(webrtc_root)/modules/modules.gyp:audio_coding_module', + '<(webrtc_root)/modules/modules.gyp:audio_conference_mixer', + '<(webrtc_root)/modules/modules.gyp:audio_device', + '<(webrtc_root)/modules/modules.gyp:audio_processing', + '<(webrtc_root)/modules/modules.gyp:media_file', + '<(webrtc_root)/modules/modules.gyp:rtp_rtcp', + '<(webrtc_root)/modules/modules.gyp:udp_transport', + '<(webrtc_root)/modules/modules.gyp:webrtc_utility', + '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers', + ], + }, 'targets': [ { 'target_name': 'voice_engine_core', 'type': '<(library)', 'dependencies': [ - '<(webrtc_root)/common_audio/common_audio.gyp:resampler', - '<(webrtc_root)/common_audio/common_audio.gyp:signal_processing', - '<(webrtc_root)/modules/modules.gyp:audio_coding_module', - '<(webrtc_root)/modules/modules.gyp:audio_conference_mixer', - '<(webrtc_root)/modules/modules.gyp:audio_device', - '<(webrtc_root)/modules/modules.gyp:audio_processing', - '<(webrtc_root)/modules/modules.gyp:media_file', - '<(webrtc_root)/modules/modules.gyp:rtp_rtcp', - '<(webrtc_root)/modules/modules.gyp:udp_transport', - '<(webrtc_root)/modules/modules.gyp:webrtc_utility', - '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers', + '<@(voice_engine_dependencies)', ], 'include_dirs': [ 'include', diff --git a/webrtc.gyp b/webrtc.gyp index c729eb87ac..7d7c051f93 100644 --- a/webrtc.gyp +++ b/webrtc.gyp @@ -8,27 +8,32 @@ { 'includes': [ 'src/build/common.gypi', ], + 'variables': { + 'webrtc_all_dependencies': [ + 'src/common_audio/common_audio.gyp:*', + 'src/common_video/common_video.gyp:*', + 'src/modules/modules.gyp:*', + 'src/system_wrappers/source/system_wrappers.gyp:*', + 'src/video_engine/video_engine.gyp:*', + 'src/voice_engine/voice_engine.gyp:*', + '<(webrtc_vp8_dir)/vp8.gyp:*', + ], + 'conditions': [ + ['include_tests==1', { + 'webrtc_all_dependencies': [ + 'src/test/metrics.gyp:*', + 'src/test/test.gyp:*', + 'tools/e2e_quality/e2e_quality.gyp:*', + ], + }], + ], + }, 'targets': [ { 'target_name': 'All', 'type': 'none', 'dependencies': [ - 'src/common_audio/common_audio.gyp:*', - 'src/common_video/common_video.gyp:*', - 'src/modules/modules.gyp:*', - 'src/system_wrappers/source/system_wrappers.gyp:*', - 'src/video_engine/video_engine.gyp:*', - 'src/voice_engine/voice_engine.gyp:*', - '<(webrtc_vp8_dir)/vp8.gyp:*' - ], - 'conditions': [ - ['include_tests==1', { - 'dependencies': [ - 'src/test/metrics.gyp:*', - 'src/test/test.gyp:*', - 'tools/e2e_quality/e2e_quality.gyp:*', - ], - }], + '<@(webrtc_all_dependencies)', ], }, ],