# Copyright 2019 The Fuchsia Authors
#
# Use of this source code is governed by a MIT-style
# license that can be found in the LICENSE file or at
# https://opensource.org/licenses/MIT

import("//build/zircon/migrated_targets.gni")

zx_library("efi") {
  visibility = [
    "//src/firmware/gigaboot/*",
    "//src/lib/zbitl/*",
    "//zircon/kernel/*",
  ]

  sources = [ "guids.c" ]

  sdk = "source"
  sdk_headers = [
    "efi/boot-services.h",
    "efi/protocol/block-io.h",
    "efi/protocol/device-path-to-text.h",
    "efi/protocol/device-path.h",
    "efi/protocol/disk-io.h",
    "efi/protocol/driver-binding.h",
    "efi/protocol/file.h",
    "efi/protocol/graphics-output.h",
    "efi/protocol/ip6.h",
    "efi/protocol/loaded-image.h",
    "efi/protocol/managed-network.h",
    "efi/protocol/pci-root-bridge-io.h",
    "efi/protocol/service-binding.h",
    "efi/protocol/shell-parameters.h",
    "efi/protocol/simple-file-system.h",
    "efi/protocol/simple-network.h",
    "efi/protocol/simple-text-input.h",
    "efi/protocol/simple-text-output.h",
    "efi/protocol/tcp6.h",
    "efi/protocol/usb-io.h",
    "efi/runtime-services.h",
    "efi/system-table.h",
    "efi/types.h",
  ]
}

group("tests") {
  testonly = true
  deps = [
    "string:tests",
    "testing:efi_testing_test($host_toolchain)",
    "variable:tests",
  ]
}
