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

import("//build/package.gni")

executable("bin") {
  output_name = "vulkan_loader"

  sources = [ "main.cc" ]

  deps = [
    "//sdk/fidl/fuchsia.vulkan.loader",
    "//sdk/lib/fidl/cpp",
    "//sdk/lib/sys/cpp",
    "//src/lib/fxl",
    "//zircon/public/lib/fdio",
    "//zircon/system/fidl/fuchsia-io",
    "//zircon/system/ulib/async-loop:async-loop-cpp",
    "//zircon/system/ulib/async-loop:async-loop-default",
  ]
}

package("vulkan_loader") {
  deps = [ ":bin" ]

  binary = "vulkan_loader"

  meta = [
    {
      path = rebase_path("meta/vulkan_loader.cmx")
      dest = "vulkan_loader.cmx"
    },
  ]
}
