1 # Copyright 2011 The LibYuv Project Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license
4 # that can be found in the LICENSE file in the root of the source
5 # tree. An additional intellectual property rights grant can be found
6 # in the file PATENTS. All contributing project authors may
7 # be found in the AUTHORS file in the root of the source tree.
13 # Make sure that if we are being compiled to an xcodeproj, nothing tries to
16 'GCC_PREFIX_HEADER': '',
17 'GCC_PRECOMPILE_PREFIX_HEADER': 'NO',
20 'use_system_libjpeg%': 0,
21 'libyuv_disable_jpeg%': 0,
22 # Link-Time Optimizations.
26 ['(target_arch == "armv7" or target_arch == "armv7s" or \
27 (target_arch == "arm" and arm_version >= 7) or target_arch == "arm64")\
28 and (arm_neon == 1 or arm_neon_optional == 1)',
37 # The NEON-specific components.
39 'target_name': 'libyuv_neon',
40 'type': 'static_library',
41 'standalone_static_library': 1,
42 # TODO(noahric): This should remove whatever mfpu is set, not
50 # Disable LTO in libyuv_neon target due to gcc 4.9 compiler bug.
57 # arm64 does not need -mfpu=neon option as neon is not optional
58 ['target_arch != "arm64"', {
68 'direct_dependent_settings': {
76 'source/compare_neon.cc',
77 'source/compare_neon64.cc',
78 'source/rotate_neon.cc',
79 'source/rotate_neon64.cc',
81 'source/row_neon64.cc',
82 'source/scale_neon.cc',
83 'source/scale_neon64.cc',
91 'target_name': 'libyuv',
92 # Change type to 'shared_library' to build .so or .dll files.
93 'type': 'static_library',
94 # Allows libyuv.a redistributable library without external dependencies.
95 'standalone_static_library': 1,
97 ['OS != "ios" and libyuv_disable_jpeg != 1', {
102 # Caveat system jpeg support may not support motion jpeg
103 [ 'use_system_libjpeg == 1', {
105 '<(DEPTH)/third_party/libjpeg/libjpeg.gyp:libjpeg',
109 '<(DEPTH)/third_party/libjpeg_turbo/libjpeg.gyp:libjpeg',
112 [ 'use_system_libjpeg == 1', {
121 ['build_neon != 0', {
126 # MemorySanitizer does not support assembly code yet.
127 # http://crbug.com/344505
130 'LIBYUV_DISABLE_X86',
135 # Enable the following 3 macros to turn off assembly for specified CPU.
136 # 'LIBYUV_DISABLE_X86',
137 # 'LIBYUV_DISABLE_NEON',
138 # 'LIBYUV_DISABLE_MIPS',
139 # Enable the following macro to build libyuv as a shared library (dll).
140 # 'LIBYUV_USING_SHARED_LIBRARY',
141 # TODO(fbarchard): Make these into gyp defines.
147 'direct_dependent_settings': {
153 ['OS == "android" and target_arch == "arm64"', {
155 '-Wl,--dynamic-linker,/system/bin/linker64',
158 ['OS == "android" and target_arch != "arm64"', {
160 '-Wl,--dynamic-linker,/system/bin/linker',
166 '<@(libyuv_sources)',
174 # indent-tabs-mode:nil
176 # vim: set expandtab tabstop=2 shiftwidth=2: