Build 2 libs - one with Neon and one without, then merge them together. Allows for a fat binary that runs on regular arm.

BUG=298
TESTED=untested
R=tomfinegan@chromium.org

Review URL: https://webrtc-codereview.appspot.com/5169005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@951 16f28f9a-4ce2-e073-06de-1de4eb20be90
This commit is contained in:
fbarchard@google.com 2014-01-07 01:01:07 +00:00
parent 959b290a96
commit 0ba7b2394b
3 changed files with 60 additions and 7 deletions

View File

@ -1,6 +1,6 @@
Name: libyuv
URL: http://code.google.com/p/libyuv/
Version: 950
Version: 951
License: BSD
License File: LICENSE

View File

@ -11,6 +11,6 @@
#ifndef INCLUDE_LIBYUV_VERSION_H_ // NOLINT
#define INCLUDE_LIBYUV_VERSION_H_
#define LIBYUV_VERSION 950
#define LIBYUV_VERSION 951
#endif // INCLUDE_LIBYUV_VERSION_H_ NOLINT

View File

@ -8,8 +8,57 @@
{
'variables': {
'use_system_libjpeg%': 0,
'use_system_libjpeg%': 0,
'build_neon': 0,
'conditions': [
['OS == "android" or OS == "ios"', {
# TODO(noahric): Also check tool version for armv7
'build_neon': 1,
}],
],
},
'conditions': [
[ 'build_neon != 0', {
'targets': [
# The NEON-specific components.
{
'target_name': 'libyuv_neon',
'type': 'static_library',
'standalone_static_library': 1,
'defines': [
'LIBYUV_NEON',
],
# TODO(noahric): This should remove whatever mfpu is set, not
# just vfpv3-d16.
'cflags!': [
'-mfpu=vfp',
'-mfpu=vfpv3',
'-mfpu=vfpv3-d16',
],
'cflags': [
'-mfpu=neon',
],
'include_dirs': [
'include',
'.',
],
'direct_dependent_settings': {
'include_dirs': [
'include',
'.',
],
},
'sources': [
# sources.
'source/compare_neon.cc',
'source/rotate_neon.cc',
'source/row_neon.cc',
'source/scale_neon.cc',
],
},
],
}],
],
'targets': [
{
'target_name': 'libyuv',
@ -43,6 +92,14 @@
}],
],
}],
[ 'build_neon != 0', {
'dependencies': [
'libyuv_neon',
],
'defines': [
'LIBYUV_NEON',
]
}],
],
'defines': [
# Enable the following 3 macros to turn off assembly for specified CPU.
@ -87,7 +144,6 @@
# sources.
'source/compare.cc',
'source/compare_common.cc',
'source/compare_neon.cc',
'source/compare_posix.cc',
'source/compare_win.cc',
'source/convert.cc',
@ -105,18 +161,15 @@
'source/rotate.cc',
'source/rotate_argb.cc',
'source/rotate_mips.cc',
'source/rotate_neon.cc',
'source/row_any.cc',
'source/row_common.cc',
'source/row_mips.cc',
'source/row_neon.cc',
'source/row_posix.cc',
'source/row_win.cc',
'source/scale.cc',
'source/scale_argb.cc',
'source/scale_common.cc',
'source/scale_mips.cc',
'source/scale_neon.cc',
'source/scale_posix.cc',
'source/scale_win.cc',
'source/video_common.cc',