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

config("skcms_public") {
  include_dirs = [ "." ]
}

source_set("skcms") {
  public_configs = [ ":skcms_public" ]

  cflags = []
  if (!is_win || is_clang) {
    cflags += [
      "-w",
      "-std=c11",
    ]
  }

  defines = []
  public = [
    "skcms.h",
  ]
  sources = [
    "src/GaussNewton.c",
    "src/GaussNewton.h",
    "src/ICCProfile.c",
    "src/LinearAlgebra.c",
    "src/LinearAlgebra.h",
    "src/Macros.h",
    "src/PolyTF.c",
    "src/PortableMath.c",
    "src/PortableMath.h",
    "src/RandomBytes.h",
    "src/TransferFunction.c",
    "src/TransferFunction.h",
    "src/Transform.c",
    "src/Transform.h",
    "src/Transform_inl.h",
  ]
}
