# Copyright 2016 Google Inc.
#
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Things are easiest for everyone if these source paths are absolute.
_src = get_path_info("../src", "abspath")

none = []
armv7 = []
neon = []
arm64 = []
sse2 = []

crc32 = [ "$_src/opts/SkOpts_crc32.cpp" ]
ssse3 = [ "$_src/opts/SkOpts_ssse3.cpp" ]
sse41 = [ "$_src/opts/SkOpts_sse41.cpp" ]
sse42 = [ "$_src/opts/SkOpts_sse42.cpp" ]
avx = [ "$_src/opts/SkOpts_avx.cpp" ]
hsw = [ "$_src/opts/SkOpts_hsw.cpp" ]
skx = [ "$_src/opts/SkOpts_skx.cpp" ]
