blob: 84d1d71135488242c023b6ff02ec0732d9ba71d6 [file] [log] [blame]
# 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("//src/graphics/lib/magma/gnbuild/magma.gni")
source_set("buffer") {
configs += [ "..:platform_include_config" ]
sources = [
"zircon_platform_buffer.cc",
"zircon_platform_buffer.h",
]
public_deps = [
"..:buffer_header",
"//zircon/public/lib/zx",
]
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",
":handle",
"//src/graphics/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",
"..:logger",
"..:object",
"//src/lib/ddk",
]
}
source_set("performance_counter_device") {
sources = [
"magma_performance_counter_device.cc",
"magma_performance_counter_device.h",
]
deps = [ "//src/graphics/lib/magma/src/magma_util:macros" ]
public_deps = [
"//sdk/fidl/fuchsia.gpu.magma:fuchsia.gpu.magma_llcpp",
"//src/devices/lib/driver",
"//src/lib/ddk",
"//src/lib/ddktl",
"//zircon/public/lib/zx",
]
}
entry_deps = [
":performance_counter_device",
"..:logger",
"..:trace",
"..:trace_provider",
"..:trace_provider_with_fdio",
"//sdk/banjo/fuchsia.hardware.platform.device:fuchsia.hardware.platform.device_banjo_cpp",
"//sdk/fidl/fuchsia.gpu.magma:fuchsia.gpu.magma_llcpp",
"//src/devices/lib/driver",
"//src/graphics/lib/magma/src/magma_util:macros",
"//src/graphics/lib/magma/src/sys_driver",
"//src/lib/ddk",
"//src/lib/ddktl",
"//zircon/public/lib/zx",
]
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 = [
"//sdk/banjo/fuchsia.hardware.pci",
"//sdk/banjo/fuchsia.hardware.platform.device:fuchsia.hardware.platform.device_banjo_cpp",
"//src/lib/ddk",
]
deps = [
":bus_mapper",
":handle",
":interrupt",
"$magma_build_root/src/magma_util:macros",
"$zircon_build_root/public/lib/zx",
"..:device_header",
"//src/devices/bus/lib/device-protocol-platform-device",
"//src/devices/lib/driver",
"//src/devices/pci/lib/device-protocol-pci",
]
}
source_set("connection_client") {
configs += [ "..:platform_include_config" ]
sources = [
"zircon_platform_connection_client.cc",
"zircon_platform_connection_client.h",
]
public_deps = [
":handle",
"$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:fuchsia.gpu.magma_llcpp",
"//zircon/system/ulib/async-loop:async-loop-cpp",
]
# Fidl bindings should not introduce a dep on libasync-default.so
assert_no_deps = [ "//zircon/system/ulib/async-default" ]
# TODO(fxbug.dev/69585): This target uses raw zx::channel with LLCPP which is deprecated.
# Please migrate to typed channel APIs (fidl::ClientEnd<T>, fidl::ServerEnd<T>).
# See linked bug for details.
configs += [ "//build/cpp:fidl-llcpp-deprecated-raw-channels" ]
}
source_set("connection") {
configs += [ "..:platform_include_config" ]
sources = [
"zircon_platform_connection.cc",
"zircon_platform_connection.h",
]
public_deps = [
"$magma_build_root/include:msd_abi",
"$magma_build_root/src/magma_util:macros",
"$zircon_build_root/public/lib/zx",
"$zircon_build_root/system/ulib/async-loop:async-loop-cpp",
"$zircon_build_root/system/ulib/fidl-async:fidl-async-cpp",
"..:connection_header",
"//sdk/fidl/fuchsia.gpu.magma:fuchsia.gpu.magma_llcpp",
"//sdk/lib/stdcompat",
]
# Fidl bindings should not introduce a dep on libasync-default.so
assert_no_deps = [ "//zircon/system/ulib/async-default" ]
# TODO(fxbug.dev/69585): This target uses raw zx::channel with LLCPP which is deprecated.
# Please migrate to typed channel APIs (fidl::ClientEnd<T>, fidl::ServerEnd<T>).
# See linked bug for details.
configs += [ "//build/cpp:fidl-llcpp-deprecated-raw-channels" ]
}
source_set("device_client") {
configs += [ "..:platform_include_config" ]
sources = [ "zircon_platform_device_client.cc" ]
deps = [
"..:device_client_header",
"//sdk/fidl/fuchsia.gpu.magma:fuchsia.gpu.magma_llcpp",
"//src/graphics/lib/magma/include:msd_abi",
"//src/graphics/lib/magma/src/magma_util:macros",
"//zircon/public/lib/zx",
]
# TODO(fxbug.dev/69585): This target uses raw zx::channel with LLCPP which is deprecated.
# Please migrate to typed channel APIs (fidl::ClientEnd<T>, fidl::ServerEnd<T>).
# See linked bug for details.
configs += [ "//build/cpp:fidl-llcpp-deprecated-raw-channels" ]
}
source_set("sysmem_connection") {
configs += [ "..:platform_include_config" ]
sources = [ "zircon_platform_sysmem_connection.cc" ]
deps = [
":buffer",
"..:sysmem_connection_header",
"..:thread",
"..:trace",
"//sdk/fidl/fuchsia.sysmem:fuchsia.sysmem_llcpp",
"//zircon/public/lib/zx",
"//zircon/system/ulib/image-format",
"//zircon/system/ulib/image-format:image-format-llcpp",
]
# Fidl bindings should not introduce a dep on libasync-default.so
assert_no_deps = [ "//zircon/system/ulib/async-default" ]
# TODO(fxbug.dev/69585): This target uses raw zx::channel with LLCPP which is deprecated.
# Please migrate to typed channel APIs (fidl::ClientEnd<T>, fidl::ServerEnd<T>).
# See linked bug for details.
configs += [ "//build/cpp:fidl-llcpp-deprecated-raw-channels" ]
}
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 = [
":port",
"$magma_build_root/src/magma_util:macros",
"$zircon_build_root/public/lib/zx",
"..:handle_header",
]
deps = [
"$magma_build_root/src/magma_util:macros",
"..:object",
]
}
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/zx",
"$zircon_build_root/system/ulib/syslog:syslog-static",
"//sdk/fidl/fuchsia.logger:fuchsia.logger_llcpp",
]
# TODO(fxbug.dev/69585): This target uses raw zx::channel with LLCPP which is deprecated.
# Please migrate to typed channel APIs (fidl::ClientEnd<T>, fidl::ServerEnd<T>).
# See linked bug for details.
configs += [ "//build/cpp:fidl-llcpp-deprecated-raw-channels" ]
}
source_set("logger_for_system_drivers") {
public_deps = [ "..:logger_header" ]
sources = [ "zircon_platform_logger_ddk.cc" ]
deps = [ "//src/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",
"zircon_platform_port.h",
]
public_deps = [
"$magma_build_root/src/magma_util:macros",
"..:port_header",
]
deps = [ "$zircon_build_root/public/lib/zx" ]
}
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/system/ulib/async-loop:async-loop-cpp",
"$zircon_build_root/system/ulib/trace:trace-with-static-engine",
"..:trace_header",
"//zircon/system/ulib/trace-vthread:trace-vthread-with-static-engine",
]
public_deps = [ "//sdk/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/system/ulib/async-loop:async-loop-cpp",
"//sdk/lib/fit",
"//zircon/system/ulib/trace-provider:trace-provider-with-static-engine",
]
assert_no_deps = [
"//sdk/lib/fdio",
"//zircon/system/ulib/async-default",
]
}
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",
"//sdk/lib/fdio",
]
public_deps = [ "//sdk/lib/fit" ]
}
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",
"//src/lib/ddk",
"//third_party/googletest:gtest",
]
}