# Copyright 2021 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/components.gni")
import("//build/rust/rustc_library.gni")

rustc_library("fuchsia-image-format") {
  name = "fuchsia_image_format"
  edition = "2021"
  version = "0.1.0"
  with_unit_tests = true
  deps = []

  sources = [
    "src/image_format.rs",
    "src/lib.rs",
    "src/linux_drm.rs",
  ]

  deps = [
    "//sdk/fidl/fuchsia.images2:fuchsia.images2_rust",
    "//sdk/fidl/fuchsia.math:fuchsia.math_rust",
    "//sdk/fidl/fuchsia.sysmem:fuchsia.sysmem_rust",
    "//sdk/fidl/fuchsia.sysmem2:fuchsia.sysmem2_rust",
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:num",
    "//third_party/rust_crates:vk-sys",
  ]
}

fuchsia_unittest_package("fuchsia-image-format-tests") {
  deps = [ ":fuchsia-image-format_test" ]
}

group("tests") {
  testonly = true
  deps = [ ":fuchsia-image-format-tests" ]
}
