# Copyright 2016 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")
import("//garnet/lib/magma/gnbuild/magma.gni")
import("//third_party/vulkan_loader_and_validation_layers/layers/layers.gni")

package("magma-tools") {
  deps = [
    ":tools",
  ]
  binaries = [
    {
      name = "magma_info"
    },
  ]
  meta = [
    {
      path = rebase_path("meta/magma-tools.cmx")
      dest = "magma-tools.cmx"
    },
  ]
}

# This config allows inclusion of headers via relative paths from src
config("magma_src_include_config") {
  include_dirs = [ "src" ]
}

# This config allows inclusion of headers via relative paths from tests
config("magma_tests_include_config") {
  include_dirs = [ "tests" ]
}

group("tools") {
  public_deps = [
    "src/tools",
  ]
}
