# 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("gpu.gni")
import("opts.gni")
import("pdf.gni")
import("sksl.gni")
import("utils.gni")

skia_opts = {
  none_sources = none
  armv7_sources = armv7
  neon_sources = neon
  arm64_sources = arm64
  crc32_sources = crc32
  mips_dsp_sources = mips_dsp
  sse2_sources = sse2
  ssse3_sources = ssse3
  sse41_sources = sse41
  sse42_sources = sse42
  avx_sources = avx
  hsw_sources = hsw
}

# Skia Chromium defines. These flags will be defined in chromium If these
# become 'permanent', they should be moved into Chrome's skia build file.
skia_for_chromium_defines = [ "SK_IGNORE_LINEONLY_AA_CONVEX_PATH_OPTS" ]
