From fa418ac0af226d46b217d803d22a2c3ce23d3860 Mon Sep 17 00:00:00 2001 From: "andrew@webrtc.org" Date: Tue, 11 Sep 2012 01:34:21 +0000 Subject: [PATCH] Consolidate common_video targets to improve gyp run time. Not sure if this change is measurable; perhaps a 1% savings. BUG=webrtc:34 Review URL: https://webrtc-codereview.appspot.com/785005 git-svn-id: http://webrtc.googlecode.com/svn/trunk@2732 4adac7df-926f-26a2-2b94-8c16560cd09d --- src/common_video/common_video.gyp | 68 +++++++++++++++- src/common_video/jpeg/jpeg.gypi | 81 ------------------- src/common_video/libyuv/libyuv.gypi | 52 ------------ .../main/source/video_capture.gypi | 2 +- .../codecs/test_framework/test_framework.gypi | 2 +- src/modules/video_coding/codecs/vp8/vp8.gyp | 4 +- .../main/source/video_coding.gypi | 2 +- .../main/source/video_coding_test.gypi | 2 +- .../main/source/video_processing.gypi | 2 +- .../main/source/video_render.gypi | 4 +- src/test/metrics.gyp | 2 +- src/video_engine/video_engine_core.gypi | 3 +- 12 files changed, 75 insertions(+), 149 deletions(-) delete mode 100644 src/common_video/jpeg/jpeg.gypi delete mode 100644 src/common_video/libyuv/libyuv.gypi diff --git a/src/common_video/common_video.gyp b/src/common_video/common_video.gyp index 3adb56c804..31b0b5e56d 100644 --- a/src/common_video/common_video.gyp +++ b/src/common_video/common_video.gyp @@ -7,9 +7,69 @@ # be found in the AUTHORS file in the root of the source tree. { - 'includes': [ - '../build/common.gypi', - 'libyuv/libyuv.gypi', - 'jpeg/jpeg.gypi', + 'includes': ['../build/common.gypi'], + 'targets': [ + { + 'target_name': 'common_video', + 'type': 'static_library', + 'include_dirs': [ + '<(webrtc_root)/modules/interface/', + 'interface', + 'jpeg/include', + 'libyuv/include', + ], + 'direct_dependent_settings': { + 'include_dirs': [ + 'interface', + 'jpeg/include', + 'libyuv/include', + ], + }, + 'conditions': [ + ['build_libjpeg==1', { + 'dependencies': ['<(libjpeg_gyp_path):libjpeg',], + }, { + # Need to add a directory normally exported by libjpeg.gyp. + 'include_dirs': ['<(libjpeg_include_dir)'], + }], + ['build_libyuv==1', { + 'dependencies': ['<(DEPTH)/third_party/libyuv/libyuv.gyp:libyuv',], + }, { + # Need to add a directory normally exported by libyuv.gyp. + 'include_dirs': ['<(libyuv_dir)/include',], + }], + ], + 'sources': [ + 'jpeg/include/jpeg.h', + 'jpeg/data_manager.cc', + 'jpeg/data_manager.h', + 'jpeg/jpeg.cc', + 'libyuv/include/webrtc_libyuv.h', + 'libyuv/include/scaler.h', + 'libyuv/webrtc_libyuv.cc', + 'libyuv/scaler.cc', + ], + }, + ], # targets + 'conditions': [ + ['include_tests==1', { + 'targets': [ + { + 'target_name': 'common_video_unittests', + 'type': 'executable', + 'dependencies': [ + 'common_video', + '<(DEPTH)/testing/gtest.gyp:gtest', + '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers', + '<(webrtc_root)/test/test.gyp:test_support_main', + ], + 'sources': [ + 'jpeg/jpeg_unittest.cc', + 'libyuv/libyuv_unittest.cc', + 'libyuv/scaler_unittest.cc', + ], + }, + ], # targets + }], # include_tests ], } diff --git a/src/common_video/jpeg/jpeg.gypi b/src/common_video/jpeg/jpeg.gypi deleted file mode 100644 index 80f3f62b3c..0000000000 --- a/src/common_video/jpeg/jpeg.gypi +++ /dev/null @@ -1,81 +0,0 @@ -# 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': { - 'use_libjpeg_turbo%': '<(use_libjpeg_turbo)', - 'conditions': [ - ['use_libjpeg_turbo==1', { - 'libjpeg_include_dir%': [ '<(DEPTH)/third_party/libjpeg_turbo', ], - }, { - 'libjpeg_include_dir%': [ '<(DEPTH)/third_party/libjpeg', ], - }], - ], - }, - 'targets': [ - { - 'target_name': 'webrtc_jpeg', - 'type': '<(library)', - 'dependencies': [ - 'webrtc_libyuv', - ], - 'include_dirs': [ - 'include', - '<(webrtc_root)', - '<(webrtc_root)/common_video/interface', - '<(webrtc_root)/modules/interface/', - ], - 'direct_dependent_settings': { - 'include_dirs': [ - 'include', - '<(webrtc_root)/common_video/interface', - ], - }, - 'conditions': [ - ['build_libjpeg==1', { - 'dependencies': [ - '<(libjpeg_gyp_path):libjpeg', - ], - }, { - # Need to add a directory normally exported by libjpeg.gyp. - 'include_dirs': [ '<(libjpeg_include_dir)' ], - }], - ], - 'sources': [ - 'include/jpeg.h', - 'data_manager.cc', - 'data_manager.h', - 'jpeg.cc', - ], - }, - ], # targets - 'conditions': [ - ['include_tests==1', { - 'targets': [ - { - 'target_name': 'jpeg_unittests', - 'type': 'executable', - 'dependencies': [ - 'webrtc_jpeg', - '<(DEPTH)/testing/gtest.gyp:gtest', - '<(webrtc_root)/test/test.gyp:test_support_main', - ], - 'sources': [ - 'jpeg_unittest.cc', - ], - }, - ] # targets - }], # include_tests - ], # conditions -} - -# Local Variables: -# tab-width:2 -# indent-tabs-mode:nil -# End: -# vim: set expandtab tabstop=2 shiftwidth=2: diff --git a/src/common_video/libyuv/libyuv.gypi b/src/common_video/libyuv/libyuv.gypi deleted file mode 100644 index 77aba199d5..0000000000 --- a/src/common_video/libyuv/libyuv.gypi +++ /dev/null @@ -1,52 +0,0 @@ -# Copyright (c) 2011 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. - -{ - 'targets': [ - { - 'target_name': 'webrtc_libyuv', - 'type': '<(library)', - 'conditions': [ - ['build_libyuv==1', { - 'dependencies': [ - '<(DEPTH)/third_party/libyuv/libyuv.gyp:libyuv' - ], - }, { - # Need to add a directory normally exported by libyuv.gyp. - 'include_dirs': [ '<(libyuv_dir)/include', ], - }], - ], - 'sources': [ - 'include/webrtc_libyuv.h', - 'include/scaler.h', - 'webrtc_libyuv.cc', - 'scaler.cc', - ], - }, - ], # targets - 'conditions': [ - ['include_tests==1', { - 'targets': [ - { - 'target_name': 'libyuv_unittests', - 'type': 'executable', - 'dependencies': [ - 'webrtc_libyuv', - '<(DEPTH)/testing/gtest.gyp:gtest', - '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers', - '<(webrtc_root)/test/test.gyp:test_support_main', - ], - 'sources': [ - 'libyuv_unittest.cc', - 'scaler_unittest.cc', - ], - }, - ], # targets - }], # include_tests - ], # conditions -} diff --git a/src/modules/video_capture/main/source/video_capture.gypi b/src/modules/video_capture/main/source/video_capture.gypi index f3fb826750..5581df3db3 100644 --- a/src/modules/video_capture/main/source/video_capture.gypi +++ b/src/modules/video_capture/main/source/video_capture.gypi @@ -13,7 +13,7 @@ 'type': '<(library)', 'dependencies': [ 'webrtc_utility', - '<(webrtc_root)/common_video/common_video.gyp:webrtc_libyuv', + '<(webrtc_root)/common_video/common_video.gyp:common_video', '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers', ], 'include_dirs': [ diff --git a/src/modules/video_coding/codecs/test_framework/test_framework.gypi b/src/modules/video_coding/codecs/test_framework/test_framework.gypi index 67b262fe63..fed82b476c 100644 --- a/src/modules/video_coding/codecs/test_framework/test_framework.gypi +++ b/src/modules/video_coding/codecs/test_framework/test_framework.gypi @@ -16,7 +16,7 @@ 'dependencies': [ '<(DEPTH)/testing/gtest.gyp:gtest', - '<(webrtc_root)/common_video/common_video.gyp:webrtc_libyuv', + '<(webrtc_root)/common_video/common_video.gyp:common_video', '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers', '<(webrtc_root)/test/metrics.gyp:metrics', '<(webrtc_root)/test/test.gyp:test_support', diff --git a/src/modules/video_coding/codecs/vp8/vp8.gyp b/src/modules/video_coding/codecs/vp8/vp8.gyp index 33574b4e7f..dbb1457db7 100644 --- a/src/modules/video_coding/codecs/vp8/vp8.gyp +++ b/src/modules/video_coding/codecs/vp8/vp8.gyp @@ -17,7 +17,7 @@ 'type': '<(library)', 'dependencies': [ '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers', - '<(webrtc_root)/common_video/common_video.gyp:webrtc_libyuv', + '<(webrtc_root)/common_video/common_video.gyp:common_video', ], 'include_dirs': [ 'include', @@ -73,7 +73,7 @@ 'dependencies': [ 'test_framework', 'webrtc_vp8', - '<(webrtc_root)/common_video/common_video.gyp:webrtc_libyuv', + '<(webrtc_root)/common_video/common_video.gyp:common_video', '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers', '<(webrtc_root)/test/test.gyp:test_support', '<(webrtc_root)/test/test.gyp:test_support_main', diff --git a/src/modules/video_coding/main/source/video_coding.gypi b/src/modules/video_coding/main/source/video_coding.gypi index b26cf5aee7..c9950727b6 100644 --- a/src/modules/video_coding/main/source/video_coding.gypi +++ b/src/modules/video_coding/main/source/video_coding.gypi @@ -13,7 +13,7 @@ 'type': '<(library)', 'dependencies': [ 'webrtc_i420', - '<(webrtc_root)/common_video/common_video.gyp:webrtc_libyuv', + '<(webrtc_root)/common_video/common_video.gyp:common_video', '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers', '<(webrtc_vp8_dir)/vp8.gyp:webrtc_vp8', ], diff --git a/src/modules/video_coding/main/source/video_coding_test.gypi b/src/modules/video_coding/main/source/video_coding_test.gypi index eb9dbe49d2..72e9ad3705 100644 --- a/src/modules/video_coding/main/source/video_coding_test.gypi +++ b/src/modules/video_coding/main/source/video_coding_test.gypi @@ -18,7 +18,7 @@ 'rtp_rtcp', 'webrtc_utility', 'video_processing', - '<(webrtc_root)/common_video/common_video.gyp:webrtc_libyuv', + '<(webrtc_root)/common_video/common_video.gyp:common_video', ], 'include_dirs': [ '../../../interface', diff --git a/src/modules/video_processing/main/source/video_processing.gypi b/src/modules/video_processing/main/source/video_processing.gypi index 3bc03bce17..8d70a79755 100644 --- a/src/modules/video_processing/main/source/video_processing.gypi +++ b/src/modules/video_processing/main/source/video_processing.gypi @@ -14,7 +14,7 @@ 'dependencies': [ 'webrtc_utility', '<(webrtc_root)/common_audio/common_audio.gyp:signal_processing', - '<(webrtc_root)/common_video/common_video.gyp:webrtc_libyuv', + '<(webrtc_root)/common_video/common_video.gyp:common_video', '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers', ], 'include_dirs': [ diff --git a/src/modules/video_render/main/source/video_render.gypi b/src/modules/video_render/main/source/video_render.gypi index ea1eefabe9..12e7b21f8c 100644 --- a/src/modules/video_render/main/source/video_render.gypi +++ b/src/modules/video_render/main/source/video_render.gypi @@ -13,7 +13,7 @@ 'type': '<(library)', 'dependencies': [ 'webrtc_utility', - '<(webrtc_root)/common_video/common_video.gyp:webrtc_libyuv', + '<(webrtc_root)/common_video/common_video.gyp:common_video', '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers', ], 'include_dirs': [ @@ -174,7 +174,7 @@ 'video_render_module', 'webrtc_utility', '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers', - '<(webrtc_root)/common_video/common_video.gyp:webrtc_libyuv', + '<(webrtc_root)/common_video/common_video.gyp:common_video', ], 'sources': [ '../test/testAPI/testAPI.cc', diff --git a/src/test/metrics.gyp b/src/test/metrics.gyp index 11573aea5e..f4c3e2d954 100644 --- a/src/test/metrics.gyp +++ b/src/test/metrics.gyp @@ -20,7 +20,7 @@ 'target_name': 'metrics', 'type': '<(library)', 'dependencies': [ - '<(webrtc_root)/common_video/common_video.gyp:webrtc_libyuv', + '<(webrtc_root)/common_video/common_video.gyp:common_video', ], 'include_dirs': [ '.', diff --git a/src/video_engine/video_engine_core.gypi b/src/video_engine/video_engine_core.gypi index 43143f371d..00acea0f88 100644 --- a/src/video_engine/video_engine_core.gypi +++ b/src/video_engine/video_engine_core.gypi @@ -21,8 +21,7 @@ 'dependencies': [ # common_video - '<(webrtc_root)/common_video/common_video.gyp:webrtc_libyuv', - '<(webrtc_root)/common_video/common_video.gyp:webrtc_jpeg', + '<(webrtc_root)/common_video/common_video.gyp:common_video', # ModulesShared '<(webrtc_root)/modules/modules.gyp:media_file',