PKGBUILDs/extra/firefox/Build-Skia-NEON-code-on-arm64.patch
Cosmin Gorgovan 33b92c8585 extra/firefox: fix aarch64 build (#1460)
The Skia graphics library failed to build the
ClampX_ClampY_Procs_neon() function on aarch64, however it still
attempted to link against it, resulting in a linking error. The
patch is used by the Debian Sid Firefox package.
2017-02-28 17:48:21 -07:00

38 lines
1.6 KiB
Diff

From: Mike Hommey <mh@glandium.org>
Date: Wed, 25 Jan 2017 15:31:46 +0900
Subject: Build Skia NEON code on arm64
---
gfx/skia/moz.build | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/gfx/skia/moz.build b/gfx/skia/moz.build
index b33f1cdbee54..475075dbeebc 100644
--- a/gfx/skia/moz.build
+++ b/gfx/skia/moz.build
@@ -519,7 +519,7 @@ if CONFIG['INTEL_ARCHITECTURE']:
'skia/src/opts/SkOpts_sse41.cpp',
'skia/src/opts/SkOpts_ssse3.cpp',
]
-elif CONFIG['CPU_ARCH'] == 'arm' and CONFIG['GNU_CC']:
+elif CONFIG['CPU_ARCH'] in ('arm', 'aarch64') and CONFIG['GNU_CC']:
UNIFIED_SOURCES += [
'skia/src/core/SkUtilsArm.cpp',
'skia/src/opts/SkBitmapProcState_opts_arm.cpp',
@@ -528,7 +528,7 @@ elif CONFIG['CPU_ARCH'] == 'arm' and CONFIG['GNU_CC']:
SOURCES += [
'skia/src/opts/SkBlitRow_opts_arm.cpp',
]
- if CONFIG['BUILD_ARM_NEON']:
+ if CONFIG['CPU_ARCH'] == 'aarch64' or CONFIG['BUILD_ARM_NEON']:
SOURCES += [
'skia/src/opts/SkBitmapProcState_arm_neon.cpp',
'skia/src/opts/SkBitmapProcState_matrixProcs_neon.cpp',
@@ -536,6 +536,7 @@ elif CONFIG['CPU_ARCH'] == 'arm' and CONFIG['GNU_CC']:
'skia/src/opts/SkBlitRow_opts_arm_neon.cpp',
'skia/src/opts/SkOpts_neon.cpp',
]
+ if CONFIG['CPU_ARCH'] == 'arm' and CONFIG['BUILD_ARM_NEON']:
SOURCES['skia/src/opts/SkBitmapProcState_arm_neon.cpp'].flags += CONFIG['NEON_FLAGS']
SOURCES['skia/src/opts/SkBitmapProcState_matrixProcs_neon.cpp'].flags += CONFIG['NEON_FLAGS']
SOURCES['skia/src/opts/SkBlitMask_opts_arm_neon.cpp'].flags += CONFIG['NEON_FLAGS']