# 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("//garnet/lib/magma/gnbuild/magma.gni")

source_set("address_range") {
  configs += [ "..:platform_include_config" ]

  sources = [ "zircon_platform_address_range.cc" ]

  deps = [
    "//garnet/lib/magma/src/magma_util:macros",
    "//zircon/public/lib/zx",
  ]

  libs = [ "zircon" ]
}

source_set("buffer") {
  configs += [ "..:platform_include_config" ]

  sources = [
    "zircon_platform_buffer.cc",
    "zircon_platform_buffer.h",
  ]

  public_deps = [
    ":handle",
    "..:buffer_header",
  ]

  deps = [
    "$magma_build_root/src/magma_util:macros",
    "$magma_build_root/src/magma_util/platform:trace",
    "..:object",
  ]
}

source_set("bus_mapper") {
  configs += [ "..:platform_include_config" ]

  sources = [
    "zircon_platform_bus_mapper.cc",
    "zircon_platform_bus_mapper.h",
  ]

  public_deps = [
    ":buffer",
    "//garnet/lib/magma/src/magma_util/platform:bus_mapper_header",
  ]

  deps = [
    "$magma_build_root/src/magma_util:macros",
    "$magma_build_root/src/magma_util/platform:trace",
    "$zircon_build_root/public/lib/ddk",
    "..:logger",
    "..:object",
  ]
}

entry_deps = [
  "..:logger",
  "..:trace",
  "..:trace_provider",
  "..:trace_provider_with_fdio",
  "//garnet/lib/magma/src/magma_util:macros",
  "//garnet/lib/magma/src/sys_driver",
  "//sdk/fidl/fuchsia.gpu.magma:fuchsia.gpu.magma_c",
  "//src/devices:driver",
  "//zircon/public/lib/ddk",
  "//zircon/public/lib/zx",
  "//zircon/system/banjo/ddk.protocol.platform.device",
]

source_set("entry") {
  sources = [ "zircon_entry.cc" ]
  deps = entry_deps
}

source_set("entry_test") {
  sources = [ "zircon_entry.cc" ]
  defines = [ "MAGMA_TEST_DRIVER=1" ]
  deps = entry_deps
}

source_set("interrupt") {
  sources = [ "zircon_platform_interrupt.h" ]

  public_deps = [ "$zircon_build_root/public/lib/zx" ]
}

source_set("device") {
  configs += [ "..:platform_include_config" ]

  sources = [
    "zircon_platform_device.cc",
    "zircon_platform_device.h",
    "zircon_platform_interrupt.h",
    "zircon_platform_mmio.cc",
    "zircon_platform_mmio.h",
    "zircon_platform_pci_device.cc",
    "zircon_platform_pci_device.h",
  ]

  public_deps = [
    "//zircon/public/lib/ddk",
    "//zircon/system/banjo/ddk.protocol.pci",
    "//zircon/system/banjo/ddk.protocol.platform.device",
  ]

  deps = [
    ":bus_mapper",
    ":interrupt",
    "$magma_build_root/src/magma_util:macros",
    "$zircon_build_root/public/lib/zx",
    "..:device_header",
    "//src/devices:driver",
    "//zircon/public/lib/device-protocol-pci",
    "//zircon/public/lib/device-protocol-platform-device",
    "//zircon/system/banjo/ddk.protocol.composite",
  ]
}

source_set("connection_client") {
  configs += [ "..:platform_include_config" ]

  sources = [ "zircon_platform_connection_client.cc" ]

  deps = [
    "$magma_build_root/include:msd_abi",
    "$magma_build_root/src/magma_util:macros",
    "$zircon_build_root/public/lib/zx",
    "..:connection_client_header",
    "..:trace",
    "//sdk/fidl/fuchsia.gpu.magma",
    "//sdk/fidl/fuchsia.gpu.magma:fuchsia.gpu.magma_c",
  ]
}

source_set("connection") {
  configs += [ "..:platform_include_config" ]

  sources = [ "zircon_platform_connection.cc" ]

  deps = [
    "$magma_build_root/include:msd_abi",
    "$magma_build_root/src/magma_util:macros",
    "$zircon_build_root/public/lib/async-loop-cpp",
    "$zircon_build_root/public/lib/zx",
    "..:connection_header",
    "//sdk/fidl/fuchsia.gpu.magma",
  ]
}

source_set("device_client") {
  configs += [ "..:platform_include_config" ]

  sources = [ "zircon_platform_device_client.cc" ]

  deps = [
    "..:device_client_header",
    "//garnet/lib/magma/include:msd_abi",
    "//garnet/lib/magma/src/magma_util:macros",
    "//sdk/fidl/fuchsia.gpu.magma",
    "//zircon/public/lib/zx",
  ]
}

source_set("sysmem_connection") {
  configs += [ "..:platform_include_config" ]

  sources = [ "zircon_platform_sysmem_connection.cc" ]

  deps = [
    ":buffer",
    "..:sysmem_connection_header",
    "..:trace",
    "//zircon/public/lib/zx",
    "//zircon/system/fidl/fuchsia-sysmem",
  ]
}

source_set("thread") {
  configs += [ "..:platform_include_config" ]

  sources = [ "zircon_platform_thread.cc" ]

  deps = [
    ":handle",
    "..:object",
    "..:thread_header",
  ]
}

source_set("event") {
  configs += [ "..:platform_include_config" ]

  sources = [ "zircon_platform_event.cc" ]

  deps = [
    "$magma_build_root/src/magma_util:macros",
    "$zircon_build_root/public/lib/zx",
    "..:event_header",
  ]
}

source_set("handle") {
  configs += [ "..:platform_include_config" ]

  sources = [
    "zircon_platform_handle.cc",
    "zircon_platform_handle.h",
  ]

  public_deps = [
    "$magma_build_root/src/magma_util:macros",
    "$zircon_build_root/public/lib/zx",
    "..:handle_header",
  ]

  deps = [ "$magma_build_root/src/magma_util:macros" ]
}

source_set("iommu") {
  configs += [ "..:platform_include_config" ]

  sources = [ "zircon_platform_iommu.cc" ]

  deps = [ "..:iommu_header" ]
}

source_set("logger") {
  public_deps = [ "..:logger_header" ]

  sources = [ "zircon_platform_logger_syslog.cc" ]

  deps = [
    ":handle",
    "$zircon_build_root/public/lib/syslog-static",
    "$zircon_build_root/public/lib/zx",
    "$zircon_build_root/system/fidl/fuchsia-logger:llcpp",
  ]
}

source_set("logger_for_system_drivers") {
  public_deps = [ "..:logger_header" ]

  sources = [ "zircon_platform_logger_ddk.cc" ]

  deps = [ "$zircon_build_root/public/lib/ddk" ]
}

source_set("object") {
  configs += [ "..:platform_include_config" ]

  sources = [ "zircon_platform_object.cc" ]

  deps = [
    "$magma_build_root/src/magma_util:macros",
    "..:object_header",
    "//zircon/public/lib/zx",
  ]
}

source_set("semaphore") {
  configs += [ "..:platform_include_config" ]

  sources = [
    "zircon_platform_semaphore.cc",
    "zircon_platform_semaphore.h",
  ]

  public_deps = [
    "$magma_build_root/src/magma_util:macros",
    "$zircon_build_root/public/lib/zx",
    "..:semaphore_header",
    "..:trace",
  ]

  deps = [
    ":port",
    "..:object",
  ]
}

source_set("port") {
  configs += [ "..:platform_include_config" ]

  sources = [ "zircon_platform_port.cc" ]

  deps = [
    "$magma_build_root/src/magma_util:macros",
    "$zircon_build_root/public/lib/fit",
    "$zircon_build_root/public/lib/zx",
    "..:port_header",
  ]
}

source_set("trace") {
  configs += [
    "..:platform_include_config",
    "..:tracing",
  ]

  sources = [
    "zircon_platform_trace.cc",
    "zircon_platform_trace.h",
  ]

  deps = [
    "$magma_build_root/src/magma_util:macros",
    "$zircon_build_root/public/lib/async-cpp",
    "$zircon_build_root/public/lib/async-loop-cpp",
    "$zircon_build_root/public/lib/trace-vthread-with-static-engine",
    "$zircon_build_root/public/lib/trace-with-static-engine",
    "..:trace_header",
  ]

  public_deps = [ "//zircon/public/lib/fit" ]
}

source_set("trace_provider") {
  configs += [
    "..:platform_include_config",
    "..:tracing",
  ]

  sources = [
    "zircon_platform_trace_provider.cc",
    "zircon_platform_trace_provider.h",
  ]

  deps = [
    "$magma_build_root/src/magma_util:macros",
    "$zircon_build_root/public/lib/async-cpp",
    "..:trace_provider_header",
  ]

  public_deps = [
    "$zircon_build_root/public/lib/async-loop-cpp",
    "//zircon/public/lib/fit",
    "//zircon/public/lib/trace-provider-with-static-engine",
  ]

  assert_no_deps = [ "//zircon/public/lib/fdio" ]
}

source_set("trace_provider_with_fdio") {
  configs += [
    "..:platform_include_config",
    "..:tracing",
  ]

  sources = [ "zircon_platform_trace_provider_with_fdio.cc" ]

  deps = [
    ":trace_provider",
    "$magma_build_root/src/magma_util:macros",
    "..:trace_provider_with_fdio_header",
    "//zircon/public/lib/fdio",
  ]

  public_deps = [ "//zircon/public/lib/fit" ]
}

source_set("random") {
  deps = [ "..:random_header" ]
  sources = [ "zircon_platform_random.cc" ]
}

source_set("pci_driver_gtest") {
  testonly = true

  sources = [ "pci_driver_test_gtest.cc" ]

  deps = [
    "$magma_build_root/src/magma_util/platform:device",
    "$magma_build_root/tests/helper:platform_device_helper",
    "//third_party/googletest:gtest",
  ]
}

source_set("pdev_driver_gtest") {
  testonly = true

  sources = [ "pdev_driver_test_gtest.cc" ]

  deps = [
    "$magma_build_root/tests/helper:platform_device_helper",
    "//third_party/googletest:gtest",
    "//zircon/public/lib/ddk",
  ]
}
