| # 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") |
| |
| config("platform_include_config") { |
| configs = [ "../../..:src_config" ] |
| } |
| |
| config("tracing") { |
| if (magma_enable_tracing) { |
| defines = [ |
| "MAGMA_ENABLE_TRACING", |
| "MAGMA_ENABLE_TRACE_VTHREAD", |
| ] |
| } |
| } |
| |
| source_set("barriers") { |
| public_configs = [ ":platform_include_config" ] |
| |
| sources = [ "platform_barriers.h" ] |
| |
| if (is_fuchsia) { |
| public_deps = [ "//src/lib/ddk" ] |
| } |
| } |
| |
| source_set("buffer_header") { |
| public_configs = [ ":platform_include_config" ] |
| public_deps = [ |
| ":handle", |
| ":object", |
| "//sdk/lib/magma_client:magma_headers", |
| "//src/graphics/magma/lib/magma/util:macros", |
| "//src/graphics/magma/lib/magma/util:status", |
| ] |
| if (is_fuchsia) { |
| public_deps += [ "//zircon/system/ulib/zx" ] |
| } |
| sources = [ "platform_buffer.h" ] |
| } |
| |
| source_set("buffer") { |
| public_configs = [ ":platform_include_config" ] |
| |
| public_deps = [ |
| ":buffer_header", |
| "//src/graphics/magma/lib/magma/util:macros", |
| ] |
| |
| if (is_fuchsia) { |
| deps = [ "zircon:buffer" ] |
| } else { |
| deps = [ "linux:buffer" ] |
| } |
| } |
| |
| source_set("bus_mapper_header") { |
| public_configs = [ ":platform_include_config" ] |
| |
| public_deps = [ |
| ":buffer_header", |
| ":handle", |
| ] |
| |
| sources = [ "platform_bus_mapper.h" ] |
| } |
| |
| source_set("bus_mapper") { |
| public_configs = [ ":platform_include_config" ] |
| |
| public_deps = [ |
| ":buffer", |
| ":bus_mapper_header", |
| ":handle", |
| "//src/graphics/magma/lib/magma/util:macros", |
| ] |
| |
| if (is_fuchsia) { |
| deps = [ "zircon:bus_mapper" ] |
| } else { |
| deps = [ "linux:bus_mapper" ] |
| } |
| } |
| |
| source_set("handle_header") { |
| public_configs = [ ":platform_include_config" ] |
| |
| sources = [ "platform_handle.h" ] |
| |
| public_deps = [ ":port_header" ] |
| if (is_fuchsia) { |
| public_deps += [ "//zircon/system/ulib/zx" ] |
| } |
| } |
| |
| source_set("handle") { |
| public_deps = [ |
| ":handle_header", |
| ":port", |
| ] |
| |
| if (is_fuchsia) { |
| deps = [ "zircon:handle" ] |
| } |
| } |
| |
| source_set("interrupt_header") { |
| public_configs = [ ":platform_include_config" ] |
| public_deps = [ "//src/graphics/magma/lib/magma/util:macros" ] |
| sources = [ "platform_interrupt.h" ] |
| } |
| |
| source_set("iommu_header") { |
| public_configs = [ ":platform_include_config" ] |
| |
| public_deps = [ |
| ":bus_mapper", |
| "//src/graphics/magma/lib/magma/util:macros", |
| ] |
| |
| sources = [ "platform_iommu.h" ] |
| } |
| |
| source_set("iommu") { |
| public_deps = [ ":iommu_header" ] |
| |
| if (is_fuchsia) { |
| deps = [ "zircon:iommu" ] |
| } |
| } |
| |
| source_set("mmio_header") { |
| public_configs = [ ":platform_include_config" ] |
| |
| public_deps = [ |
| "//src/graphics/magma/lib/magma/util:macros", |
| "//zircon/system/ulib/mmio-ptr", |
| ] |
| |
| sources = [ "platform_mmio.h" ] |
| } |
| |
| source_set("logger_for_dfv2") { |
| public_deps = [ ":logger_header" ] |
| if (is_fuchsia) { |
| deps = [ "zircon:logger_for_dfv2" ] |
| } else { |
| deps = [ ":logger" ] |
| } |
| } |
| |
| source_set("device_header") { |
| public_configs = [ ":platform_include_config" ] |
| |
| public_deps = [ |
| ":buffer_header", |
| ":handle_header", |
| ":interrupt_header", |
| ":mmio_header", |
| "//src/graphics/magma/lib/magma/util:macros", |
| "//src/graphics/magma/lib/magma/util:status", |
| ] |
| |
| sources = [ |
| "platform_device.h", |
| "platform_pci_device.h", |
| ] |
| } |
| |
| source_set("device") { |
| public_deps = [ |
| ":buffer", |
| ":device_header", |
| ":handle", |
| ] |
| |
| if (is_fuchsia) { |
| deps = [ "zircon:device" ] |
| } |
| } |
| |
| source_set("connection_client_header") { |
| public_configs = [ ":platform_include_config" ] |
| |
| sources = [ "platform_connection_client.h" ] |
| |
| public_deps = [ |
| ":buffer", |
| ":object", |
| ":thread", |
| "//sdk/lib/magma_client:magma_headers", |
| "//src/graphics/magma/lib/magma/util:macros", |
| "//src/graphics/magma/lib/magma/util:status", |
| ] |
| } |
| |
| source_set("connection_client") { |
| public_deps = [ ":connection_client_header" ] |
| |
| if (is_fuchsia) { |
| deps = [ "zircon:connection_client" ] |
| } |
| } |
| |
| source_set("device_client_header") { |
| public_configs = [ ":platform_include_config" ] |
| |
| public_deps = [ ":connection_client_header" ] |
| |
| sources = [ "platform_device_client.h" ] |
| } |
| |
| source_set("device_client") { |
| public_deps = [ ":device_client_header" ] |
| |
| if (is_fuchsia) { |
| deps = [ "zircon:device_client" ] |
| } |
| } |
| |
| source_set("thread_header") { |
| public_configs = [ ":platform_include_config" ] |
| |
| sources = [ "platform_thread.h" ] |
| } |
| |
| source_set("thread") { |
| public_deps = [ ":thread_header" ] |
| |
| if (is_fuchsia) { |
| deps = [ "zircon:thread" ] |
| } |
| } |
| |
| source_set("event_header") { |
| public_configs = [ ":platform_include_config" ] |
| |
| sources = [ "platform_event.h" ] |
| |
| public_deps = [ "//src/graphics/magma/lib/magma/util:status" ] |
| } |
| |
| source_set("event") { |
| public_deps = [ ":event_header" ] |
| |
| if (is_fuchsia) { |
| deps = [ "zircon:event" ] |
| } |
| } |
| |
| source_set("logger_provider_header") { |
| public_configs = [ ":platform_include_config" ] |
| |
| public_deps = [ ":handle_header" ] |
| |
| sources = [ "platform_logger_provider.h" ] |
| } |
| |
| source_set("logger_header") { |
| public_configs = [ ":platform_include_config" ] |
| |
| sources = [ "platform_logger.h" ] |
| } |
| |
| # Just redirect users to the header; implementation varies for |
| # client drivers vs system drivers. |
| group("logger") { |
| public_deps = [ ":logger_header" ] |
| } |
| |
| group("logger_impl") { |
| public_deps = [ |
| ":logger_header", |
| ":logger_provider_header", |
| ] |
| if (is_fuchsia) { |
| deps = [ "zircon:logger" ] |
| } |
| if (is_linux) { |
| deps = [ "linux:logger" ] |
| } |
| } |
| |
| source_set("logger_for_system_drivers") { |
| public_deps = [ ":logger_header" ] |
| if (is_fuchsia) { |
| deps = [ "zircon:logger_for_system_drivers" ] |
| } else { |
| deps = [ ":logger" ] |
| } |
| } |
| |
| source_set("object_header") { |
| public_configs = [ ":platform_include_config" ] |
| |
| sources = [ "platform_object.h" ] |
| if (is_fuchsia) { |
| public_deps = [ "//zircon/system/ulib/zx" ] |
| } |
| } |
| |
| source_set("object") { |
| public_deps = [ ":object_header" ] |
| |
| if (is_fuchsia) { |
| deps = [ "zircon:object" ] |
| } |
| } |
| |
| source_set("semaphore_header") { |
| public_configs = [ ":platform_include_config" ] |
| |
| sources = [ "platform_semaphore.h" ] |
| |
| public_deps = [ |
| ":object", |
| "//src/graphics/magma/lib/magma/util:macros", |
| "//src/graphics/magma/lib/magma/util:status", |
| ] |
| if (is_fuchsia) { |
| public_deps += [ "//zircon/system/ulib/zx" ] |
| } |
| } |
| |
| source_set("semaphore") { |
| public_configs = [ ":platform_include_config" ] |
| |
| public_deps = [ ":semaphore_header" ] |
| |
| if (is_fuchsia) { |
| deps = [ "zircon:semaphore" ] |
| } |
| } |
| |
| source_set("port_header") { |
| public_configs = [ ":platform_include_config" ] |
| |
| sources = [ "platform_port.h" ] |
| |
| public_deps = [ "//src/graphics/magma/lib/magma/util:status" ] |
| } |
| |
| source_set("port") { |
| public_deps = [ ":port_header" ] |
| |
| deps = [ ":object" ] |
| |
| if (is_fuchsia) { |
| deps += [ "zircon:port" ] |
| } |
| } |
| |
| source_set("trace_header") { |
| public_configs = [ |
| ":platform_include_config", |
| ":tracing", |
| ] |
| |
| sources = [ "platform_trace.h" ] |
| |
| if (is_fuchsia) { |
| if (magma_enable_tracing) { |
| public_deps = [ |
| # Magma can be built either shared or static, so we include the header |
| # only version so we can later select the library implementation |
| "//zircon/system/ulib/trace:trace-headersonly", |
| "//zircon/system/ulib/trace-vthread:trace-vthread-headersonly", |
| ] |
| } |
| } |
| } |
| |
| source_set("trace") { |
| public_deps = [ ":trace_header" ] |
| |
| if (magma_enable_tracing) { |
| if (is_fuchsia) { |
| deps = [ "zircon:trace" ] |
| } |
| } else { |
| sources = [ "platform_trace_stubs.cc" ] |
| } |
| } |
| |
| source_set("trace_provider_header") { |
| public_configs = [ |
| ":platform_include_config", |
| ":tracing", |
| ] |
| |
| sources = [ "platform_trace_provider.h" ] |
| |
| public_deps = [ ":trace" ] |
| } |
| |
| source_set("trace_provider") { |
| public_deps = [ ":trace_provider_header" ] |
| |
| if (magma_enable_tracing) { |
| if (is_fuchsia) { |
| deps = [ "zircon:trace_provider" ] |
| } |
| } else { |
| sources = [ "platform_trace_provider_stubs.cc" ] |
| } |
| } |
| |
| source_set("trace_provider_with_fdio_header") { |
| public_configs = [ |
| ":platform_include_config", |
| ":tracing", |
| ] |
| |
| sources = [ "platform_trace_provider_with_fdio.h" ] |
| |
| public_deps = [ |
| ":trace", |
| ":trace_provider", |
| ] |
| } |
| |
| source_set("trace_provider_with_fdio") { |
| public_deps = [ ":trace_provider_with_fdio_header" ] |
| |
| if (magma_enable_tracing) { |
| if (is_fuchsia) { |
| deps = [ "zircon:trace_provider_with_fdio" ] |
| } |
| } else { |
| sources = [ "platform_trace_provider_with_fdio_stubs.cc" ] |
| } |
| } |
| |
| source_set("sysmem_connection_header") { |
| public_configs = [ "//src/graphics/lib/magma:magma_src_include_config" ] |
| |
| sources = [ "platform_sysmem_connection.h" ] |
| |
| public_deps = [ |
| ":buffer", |
| "//sdk/lib/magma_client:magma_headers", |
| "//src/graphics/magma/lib/magma/util:macros", |
| "//src/graphics/magma/lib/magma/util:status", |
| ] |
| } |
| |
| source_set("sysmem_connection") { |
| public_deps = [ ":sysmem_connection_header" ] |
| |
| deps = [ "zircon:sysmem_connection" ] |
| } |