# Copyright 2020 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.

# This target allows headers to be published to the GN build.

import("//build/fidl/toolchain.gni")

fidl_root_gen_dir =
    get_label_info("//anything($fidl_toolchain)", "root_gen_dir")
kernel_syscall_backend_include_dir =
    "$fidl_root_gen_dir/zircon/vdso/zx/zither/kernel"

config("headers.config") {
  include_dirs = [ kernel_syscall_backend_include_dir ]
}

group("headers") {
  public_configs = [ ":headers.config" ]
}

source_set("syscalls-headers") {
  visibility = [
    "//zircon/system/ulib",
    "//zircon/system/utest/core/bad-syscall/*",
  ]
  public = [
    "$kernel_syscall_backend_include_dir/lib/syscalls/zx-syscall-numbers.h",
  ]
  public_deps = [
    ":headers",
    "//zircon/vdso:private($default_toolchain)",
  ]
}
