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

import("core.gni")
import("effects.gni")
import("effects_imagefilters.gni")
import("gpu.gni")
import("graphite.gni")
import("opts.gni")
import("pdf.gni")
import("sksl.gni")
import("utils.gni")
import("xps.gni")

skia_opts = {
  none_sources = none
  armv7_sources = armv7
  neon_sources = neon
  arm64_sources = arm64
  crc32_sources = crc32
  mips_dsp_sources = none  # Chrome's src/skia/BUILD.gn uses this.
  sse2_sources = sse2
  ssse3_sources = ssse3
  sse41_sources = sse41
  sse42_sources = sse42
  avx_sources = avx
  hsw_sources = hsw
  skx_sources = skx
}
