You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
162 lines
4.7 KiB
162 lines
4.7 KiB
# 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. |
|
|
|
{ |
|
'includes': [ |
|
'libyuv.gypi', |
|
], |
|
# Make sure that if we are being compiled to an xcodeproj, nothing tries to |
|
# include a .pch. |
|
'xcode_settings': { |
|
'GCC_PREFIX_HEADER': '', |
|
'GCC_PRECOMPILE_PREFIX_HEADER': 'NO', |
|
}, |
|
'variables': { |
|
'use_system_libjpeg%': 0, |
|
# Can be enabled if your jpeg has GYP support. |
|
'libyuv_disable_jpeg%': 1, |
|
# 'chromium_code' treats libyuv as internal and increases warning level. |
|
'chromium_code': 1, |
|
# clang compiler default variable usable by other apps that include libyuv. |
|
'clang%': 0, |
|
# Link-Time Optimizations. |
|
'use_lto%': 0, |
|
'mips_msa%': 0, # Default to msa off. |
|
'build_neon': 0, |
|
'build_msa': 0, |
|
'conditions': [ |
|
['(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)', { |
|
'build_neon': 1, |
|
}], |
|
['(target_arch == "mipsel" or target_arch == "mips64el")\ |
|
and (mips_msa == 1)', |
|
{ |
|
'build_msa': 1, |
|
}], |
|
], |
|
}, |
|
|
|
'targets': [ |
|
{ |
|
'target_name': 'libyuv', |
|
# Change type to 'shared_library' to build .so or .dll files. |
|
'type': 'static_library', |
|
'variables': { |
|
'optimize': 'max', # enable O2 and ltcg. |
|
}, |
|
# Allows libyuv.a redistributable library without external dependencies. |
|
'standalone_static_library': 1, |
|
'conditions': [ |
|
# Disable -Wunused-parameter |
|
['clang == 1', { |
|
'cflags': [ |
|
'-Wno-unused-parameter', |
|
], |
|
}], |
|
['build_neon != 0', { |
|
'defines': [ |
|
'LIBYUV_NEON', |
|
], |
|
'cflags!': [ |
|
'-mfpu=vfp', |
|
'-mfpu=vfpv3', |
|
'-mfpu=vfpv3-d16', |
|
# '-mthumb', # arm32 not thumb |
|
], |
|
'conditions': [ |
|
# Disable LTO in libyuv_neon target due to gcc 4.9 compiler bug. |
|
['clang == 0 and use_lto == 1', { |
|
'cflags!': [ |
|
'-flto', |
|
'-ffat-lto-objects', |
|
], |
|
}], |
|
# arm64 does not need -mfpu=neon option as neon is not optional |
|
['target_arch != "arm64"', { |
|
'cflags': [ |
|
'-mfpu=neon', |
|
# '-marm', # arm32 not thumb |
|
], |
|
}], |
|
], |
|
}], |
|
['build_msa != 0', { |
|
'defines': [ |
|
'LIBYUV_MSA', |
|
], |
|
}], |
|
['OS != "ios" and libyuv_disable_jpeg != 1', { |
|
'defines': [ |
|
'HAVE_JPEG' |
|
], |
|
'conditions': [ |
|
# Caveat system jpeg support may not support motion jpeg |
|
[ 'use_system_libjpeg == 1', { |
|
'dependencies': [ |
|
'<(DEPTH)/third_party/libjpeg/libjpeg.gyp:libjpeg', |
|
], |
|
}, { |
|
'dependencies': [ |
|
'<(DEPTH)/third_party/libjpeg_turbo/libjpeg.gyp:libjpeg', |
|
], |
|
}], |
|
[ 'use_system_libjpeg == 1', { |
|
'link_settings': { |
|
'libraries': [ |
|
'-ljpeg', |
|
], |
|
} |
|
}], |
|
], |
|
}], |
|
], #conditions |
|
'defines': [ |
|
# Enable the following 3 macros to turn off assembly for specified CPU. |
|
# 'LIBYUV_DISABLE_X86', |
|
# 'LIBYUV_DISABLE_NEON', |
|
# 'LIBYUV_DISABLE_DSPR2', |
|
# Enable the following macro to build libyuv as a shared library (dll). |
|
# 'LIBYUV_USING_SHARED_LIBRARY', |
|
# TODO(fbarchard): Make these into gyp defines. |
|
], |
|
'include_dirs': [ |
|
'include', |
|
'.', |
|
], |
|
'direct_dependent_settings': { |
|
'include_dirs': [ |
|
'include', |
|
'.', |
|
], |
|
'conditions': [ |
|
['OS == "android" and target_arch == "arm64"', { |
|
'ldflags': [ |
|
'-Wl,--dynamic-linker,/system/bin/linker64', |
|
], |
|
}], |
|
['OS == "android" and target_arch != "arm64"', { |
|
'ldflags': [ |
|
'-Wl,--dynamic-linker,/system/bin/linker', |
|
], |
|
}], |
|
], #conditions |
|
}, |
|
'sources': [ |
|
'<@(libyuv_sources)', |
|
], |
|
}, |
|
], # targets. |
|
} |
|
|
|
# Local Variables: |
|
# tab-width:2 |
|
# indent-tabs-mode:nil |
|
# End: |
|
# vim: set expandtab tabstop=2 shiftwidth=2:
|
|
|