Bug 1142056 - Part 1. Add aarch64 configuration on Skia's moz.build. r?gw280 draft
authorMakoto Kato <m_kato@ga2.so-net.ne.jp>
Tue, 23 Aug 2016 16:54:06 +0900
changeset 404324 a709feac8ef42c771aa027c25b19b2b27f079367
parent 404131 24763f58772d45279a935790f732d80851924b46
child 404325 0b217d098c41a9c0248aa09d378183a999bffcde
push id27174
push userm_kato@ga2.so-net.ne.jp
push dateTue, 23 Aug 2016 08:00:25 +0000
reviewersgw280
bugs1142056
milestone51.0a1
Bug 1142056 - Part 1. Add aarch64 configuration on Skia's moz.build. r?gw280 Sorry for reviewing again. I rebase the previous fix to trunk. MozReview-Commit-ID: 60iAZjFg6W6
gfx/skia/generate_mozbuild.py
gfx/skia/moz.build
--- a/gfx/skia/generate_mozbuild.py
+++ b/gfx/skia/generate_mozbuild.py
@@ -424,20 +424,22 @@ def write_mozbuild(sources):
   f.write("if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':\n")
   # Windows-specific files don't get unification because of nasty headers.
   # Luckily there are not many files in this.
   write_list(f, "SOURCES", sources['win'], 4)
 
   f.write("if CONFIG['INTEL_ARCHITECTURE']:\n")
   write_sources(f, sources['intel'], 4)
 
-  f.write("elif CONFIG['CPU_ARCH'] == 'arm' and CONFIG['GNU_CC']:\n")
+  f.write("elif CONFIG['CPU_ARCH'] in ('arm', 'aarch64') and CONFIG['GNU_CC']:\n")
   write_sources(f, sources['arm'], 4)
 
-  f.write("    if CONFIG['BUILD_ARM_NEON']:\n")
+  f.write("    if CONFIG['CPU_ARCH'] == 'aarch64':\n")
+  write_sources(f, sources['neon'], 8)
+  f.write("    elif CONFIG['BUILD_ARM_NEON']:\n")
   write_list(f, 'SOURCES', sources['neon'], 8)
   write_cflags(f, sources['neon'], 'neon', '-mfpu=neon', 8)
 
   f.write("else:\n")
   write_sources(f, sources['none'], 4)
 
   f.write(footer)
 
--- a/gfx/skia/moz.build
+++ b/gfx/skia/moz.build
@@ -514,26 +514,34 @@ if CONFIG['INTEL_ARCHITECTURE']:
         'skia/src/opts/SkBitmapFilter_opts_SSE2.cpp',
         'skia/src/opts/SkBitmapProcState_opts_SSE2.cpp',
         'skia/src/opts/SkBitmapProcState_opts_SSSE3.cpp',
         'skia/src/opts/SkBlitRow_opts_SSE2.cpp',
         'skia/src/opts/SkOpts_sse2.cpp',
         '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',
         'skia/src/opts/SkBlitMask_opts_arm.cpp',
     ]
     SOURCES += [
         'skia/src/opts/SkBlitRow_opts_arm.cpp',
     ]
-    if CONFIG['BUILD_ARM_NEON']:
+    if CONFIG['CPU_ARCH'] == 'aarch64':
+        SOURCES += [
+            'skia/src/opts/SkBitmapProcState_arm_neon.cpp',
+            'skia/src/opts/SkBitmapProcState_matrixProcs_neon.cpp',
+            'skia/src/opts/SkBlitMask_opts_arm_neon.cpp',
+            'skia/src/opts/SkBlitRow_opts_arm_neon.cpp',
+            'skia/src/opts/SkOpts_neon.cpp',
+        ]
+    elif CONFIG['BUILD_ARM_NEON']:
         SOURCES += [
             'skia/src/opts/SkBitmapProcState_arm_neon.cpp',
             'skia/src/opts/SkBitmapProcState_matrixProcs_neon.cpp',
             'skia/src/opts/SkBlitMask_opts_arm_neon.cpp',
             'skia/src/opts/SkBlitRow_opts_arm_neon.cpp',
             'skia/src/opts/SkOpts_neon.cpp',
         ]
         SOURCES['skia/src/opts/SkBitmapProcState_arm_neon.cpp'].flags += ['-mfpu=neon']