# Copyright 2019 The ANGLE Project Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

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

# TODO(anglebug.com/4351): Remove this after clang rolls.
config("volk_internal_config") {
  if (is_clang) {
    cflags = [
      "-Xclang",
      "-mllvm",
      "-Xclang",
      "--enable-global-merge=false",
    ]
  }
}

source_set("volk") {
  sources = [
    "volk.c",
    "volk.h",
  ]
  public_configs = [
    ":volk_config",
    ":volk_internal_config",
  ]
  public_deps = [
    "../../../third_party/vulkan-headers/src:vulkan_headers",
  ]
}
