# Copyright 2019 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/config/fuchsia/rules.gni")
import("//garnet/lib/magma/gnbuild/magma.gni")

driver_module("msd_img_rgx_no_hardware") {
  output_name = "libmsd_img_rgx_no_hardware"

  deps = [
    ":driver_sources",
    "//garnet/lib/magma/src/magma_util/platform:logger_for_system_drivers",
  ]

  configs -= [ "//build/config/fuchsia:no_cpp_standard_library" ]
  configs += [ "//build/config/fuchsia:static_cpp_standard_library" ]
}

source_set("driver_sources") {
  sources = [
    "no_hardware.cc",
    "no_hardware.h",
  ]

  public_deps = [
    "../include",
    "//garnet/lib/magma/src/magma_util:macros",
    "//garnet/lib/magma/src/magma_util/platform:logger",
    "//garnet/lib/magma/src/magma_util/platform:trace",
    "//garnet/lib/magma/src/sys_driver",
    "//sdk/fidl/fuchsia.gpu.magma:fuchsia.gpu.magma_c",
    "//src/devices:driver",
    "//third_party/imgtec-pvr-rgx-km:src_no_hardware",
    "//zircon/public/lib/ddk",
    "//zircon/public/lib/ddktl",
    "//zircon/public/lib/fidl-utils",
  ]
  configs += [ "//build/config/fuchsia:static_cpp_standard_library" ]
}
