summaryrefslogtreecommitdiffstats
path: root/media/libyuv/libyuv_test.gyp
diff options
context:
space:
mode:
Diffstat (limited to 'media/libyuv/libyuv_test.gyp')
-rw-r--r--media/libyuv/libyuv_test.gyp230
1 files changed, 230 insertions, 0 deletions
diff --git a/media/libyuv/libyuv_test.gyp b/media/libyuv/libyuv_test.gyp
new file mode 100644
index 000000000..27b330f65
--- /dev/null
+++ b/media/libyuv/libyuv_test.gyp
@@ -0,0 +1,230 @@
+# Copyright 2011 The LibYuv 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': {
+ 'libyuv_disable_jpeg%': 0,
+ },
+ 'targets': [
+ {
+ 'target_name': 'libyuv_unittest',
+ 'type': '<(gtest_target_type)',
+ 'dependencies': [
+ 'libyuv.gyp:libyuv',
+ 'testing/gtest.gyp:gtest',
+ 'third_party/gflags/gflags.gyp:gflags',
+ ],
+ 'direct_dependent_settings': {
+ 'defines': [
+ 'GTEST_RELATIVE_PATH',
+ ],
+ },
+ 'export_dependent_settings': [
+ '<(DEPTH)/testing/gtest.gyp:gtest',
+ ],
+ 'sources': [
+ # headers
+ 'unit_test/unit_test.h',
+
+ # sources
+ 'unit_test/basictypes_test.cc',
+ 'unit_test/compare_test.cc',
+ 'unit_test/color_test.cc',
+ 'unit_test/convert_test.cc',
+ 'unit_test/cpu_test.cc',
+ 'unit_test/math_test.cc',
+ 'unit_test/planar_test.cc',
+ 'unit_test/rotate_argb_test.cc',
+ 'unit_test/rotate_test.cc',
+ 'unit_test/scale_argb_test.cc',
+ 'unit_test/scale_test.cc',
+ 'unit_test/unit_test.cc',
+ 'unit_test/video_common_test.cc',
+ ],
+ 'conditions': [
+ ['OS=="linux"', {
+ 'cflags': [
+ '-fexceptions',
+ ],
+ }],
+ [ 'OS == "ios" and target_subarch == 64', {
+ 'defines': [
+ 'LIBYUV_DISABLE_NEON'
+ ],
+ }],
+ [ 'OS == "ios"', {
+ 'xcode_settings': {
+ 'DEBUGGING_SYMBOLS': 'YES',
+ 'DEBUG_INFORMATION_FORMAT' : 'dwarf-with-dsym',
+ # Work around compile issue with isosim.mm, see
+ # https://code.google.com/p/libyuv/issues/detail?id=548 for details.
+ 'WARNING_CFLAGS': [
+ '-Wno-sometimes-uninitialized',
+ ],
+ },
+ 'cflags': [
+ '-Wno-sometimes-uninitialized',
+ ],
+ }],
+ [ 'OS != "ios" and libyuv_disable_jpeg != 1', {
+ 'defines': [
+ 'HAVE_JPEG',
+ ],
+ }],
+ ['OS=="android"', {
+ 'dependencies': [
+ '<(DEPTH)/testing/android/native_test.gyp:native_test_native_code',
+ ],
+ }],
+ # TODO(YangZhang): These lines can be removed when high accuracy
+ # YUV to RGB to Neon is ported.
+ [ '(target_arch == "armv7" or target_arch == "armv7s" \
+ or (target_arch == "arm" and arm_version >= 7) \
+ or target_arch == "arm64") \
+ and (arm_neon == 1 or arm_neon_optional == 1)', {
+ 'defines': [
+ 'LIBYUV_NEON'
+ ],
+ }],
+ ], # conditions
+ 'defines': [
+ # Enable the following 3 macros to turn off assembly for specified CPU.
+ # 'LIBYUV_DISABLE_X86',
+ # 'LIBYUV_DISABLE_NEON',
+ # 'LIBYUV_DISABLE_MIPS',
+ # Enable the following macro to build libyuv as a shared library (dll).
+ # 'LIBYUV_USING_SHARED_LIBRARY',
+ ],
+ },
+ {
+ 'target_name': 'compare',
+ 'type': 'executable',
+ 'dependencies': [
+ 'libyuv.gyp:libyuv',
+ ],
+ 'sources': [
+ # sources
+ 'util/compare.cc',
+ ],
+ 'conditions': [
+ ['OS=="linux"', {
+ 'cflags': [
+ '-fexceptions',
+ ],
+ }],
+ ], # conditions
+ },
+ {
+ 'target_name': 'convert',
+ 'type': 'executable',
+ 'dependencies': [
+ 'libyuv.gyp:libyuv',
+ ],
+ 'sources': [
+ # sources
+ 'util/convert.cc',
+ ],
+ 'conditions': [
+ ['OS=="linux"', {
+ 'cflags': [
+ '-fexceptions',
+ ],
+ }],
+ ], # conditions
+ },
+ # TODO(fbarchard): Enable SSE2 and OpenMP for better performance.
+ {
+ 'target_name': 'psnr',
+ 'type': 'executable',
+ 'sources': [
+ # sources
+ 'util/psnr_main.cc',
+ 'util/psnr.cc',
+ 'util/ssim.cc',
+ ],
+ 'dependencies': [
+ 'libyuv.gyp:libyuv',
+ ],
+ 'conditions': [
+ [ 'OS == "ios" and target_subarch == 64', {
+ 'defines': [
+ 'LIBYUV_DISABLE_NEON'
+ ],
+ }],
+
+ [ 'OS != "ios" and libyuv_disable_jpeg != 1', {
+ 'defines': [
+ 'HAVE_JPEG',
+ ],
+ }],
+ ], # conditions
+ },
+
+ {
+ 'target_name': 'cpuid',
+ 'type': 'executable',
+ 'sources': [
+ # sources
+ 'util/cpuid.c',
+ ],
+ 'dependencies': [
+ 'libyuv.gyp:libyuv',
+ ],
+ },
+ ], # targets
+ 'conditions': [
+ ['OS=="android"', {
+ 'targets': [
+ {
+ # TODO(kjellander): Figure out what to change in build/apk_test.gypi
+ # to it can be used instead of the copied code below. Using it in its
+ # current version was not possible, since the target starts with 'lib',
+ # which somewhere confuses the variables.
+ 'target_name': 'libyuv_unittest_apk',
+ 'type': 'none',
+ 'variables': {
+ # These are used to configure java_apk.gypi included below.
+ 'test_type': 'gtest',
+ 'apk_name': 'libyuv_unittest',
+ 'test_suite_name': 'libyuv_unittest',
+ 'intermediate_dir': '<(PRODUCT_DIR)/libyuv_unittest_apk',
+ 'input_shlib_path': '<(SHARED_LIB_DIR)/<(SHARED_LIB_PREFIX)libyuv_unittest<(SHARED_LIB_SUFFIX)',
+ 'final_apk_path': '<(intermediate_dir)/libyuv_unittest-debug.apk',
+ 'java_in_dir': '<(DEPTH)/testing/android/native_test/java',
+ 'test_runner_path': '<(DEPTH)/util/android/test_runner.py',
+ 'native_lib_target': 'libyuv_unittest',
+ 'gyp_managed_install': 0,
+ },
+ 'includes': [
+ 'build/android/test_runner.gypi',
+ 'build/java_apk.gypi',
+ ],
+ 'dependencies': [
+ '<(DEPTH)/base/base.gyp:base_java',
+ # TODO(kjellander): Figure out why base_build_config_gen is needed
+ # here. It really shouldn't since it's a dependency of base_java
+ # above, but there's always 0 tests run if it's missing.
+ '<(DEPTH)/base/base.gyp:base_build_config_gen',
+ '<(DEPTH)/build/android/pylib/device/commands/commands.gyp:chromium_commands',
+ '<(DEPTH)/build/android/pylib/remote/device/dummy/dummy.gyp:remote_device_dummy_apk',
+ '<(DEPTH)/testing/android/appurify_support.gyp:appurify_support_java',
+ '<(DEPTH)/testing/android/on_device_instrumentation.gyp:reporter_java',
+ '<(DEPTH)/tools/android/android_tools.gyp:android_tools',
+ 'libyuv_unittest',
+ ],
+ },
+ ],
+ }],
+ ],
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2: