summaryrefslogtreecommitdiffstats
path: root/skia
diff options
context:
space:
mode:
Diffstat (limited to 'skia')
-rw-r--r--skia/skia.gyp31
1 files changed, 24 insertions, 7 deletions
diff --git a/skia/skia.gyp b/skia/skia.gyp
index 860512f..cc12b5d 100644
--- a/skia/skia.gyp
+++ b/skia/skia.gyp
@@ -589,11 +589,6 @@
'sources!': [
'../third_party/skia/src/opts/opts_check_SSE2.cpp'
],
- 'sources': [
- '../third_party/skia/src/opts/SkBitmapProcState_opts_arm.cpp',
- '../third_party/skia/src/opts/SkBlitRow_opts_arm.cpp',
- '../third_party/skia/src/opts/SkUtils_opts_none.cpp',
- ],
}],
[ 'OS == "linux" or OS == "freebsd"', {
'dependencies': [
@@ -649,7 +644,7 @@
},],
],
'dependencies': [
- 'skia_sse2'
+ 'skia_opts'
],
'direct_dependent_settings': {
'include_dirs': [
@@ -681,8 +676,10 @@
# else). However, to keep the .gyp file simple and avoid platform-specific
# build breakage, we do this on all platforms.
+ # For about the same reason, we need to compile the ARM opts files
+ # separately as well.
{
- 'target_name': 'skia_sse2',
+ 'target_name': 'skia_opts',
'type': '<(library)',
'include_dirs': [
'..',
@@ -706,6 +703,26 @@
'../third_party/skia/src/opts/SkBlitRow_opts_SSE2.cpp',
'../third_party/skia/src/opts/SkUtils_opts_SSE2.cpp',
],
+ },
+ { # arm
+ 'conditions': [
+ ['armv7 == 1', {
+ 'defines': [
+ '__ARM_HAVE_NEON',
+ '__ARM_ARCH__=7',
+ ],
+ }]
+ ],
+ # The assembly uses the frame pointer register (r7 in Thumb/r11 in
+ # ARM), the compiler doesn't like that.
+ 'cflags': [
+ '-fomit-frame-pointer',
+ ],
+ 'sources': [
+ '../third_party/skia/src/opts/SkBitmapProcState_opts_arm.cpp',
+ '../third_party/skia/src/opts/SkBlitRow_opts_arm.cpp',
+ '../third_party/skia/src/opts/SkUtils_opts_none.cpp',
+ ],
}],
],
},