# 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 = []
  crc32_sources = crc32
  ssse3_sources = ssse3
  sse42_sources = sse42
  avx_sources = avx
  hsw_sources = hsw
  skx_sources = skx
}
