blob: 1cff4f032c6f8d9c4d94ff6e0c40ebb928cbae14 [file] [log] [blame]
# Copyright 2018 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")
group("tests") {
testonly = true
deps = [ "test:vulkan_loader_tests" ]
}
source_set("app") {
sources = [
"app.cc",
"app.h",
"goldfish_device.cc",
"goldfish_device.h",
"gpu_device.h",
"icd_component.cc",
"icd_component.h",
"icd_list.cc",
"icd_list.h",
"icd_runner.cc",
"icd_runner.h",
"lavapipe_device.cc",
"lavapipe_device.h",
"loader.cc",
"loader.h",
"magma_dependency_injection.cc",
"magma_dependency_injection.h",
"magma_device.cc",
"magma_device.h",
]
public_deps = [
":structured_config_lib",
"//sdk/fidl/fuchsia.component:fuchsia.component_cpp",
"//sdk/fidl/fuchsia.component.decl:fuchsia.component.decl_cpp",
"//sdk/fidl/fuchsia.component.runner:fuchsia.component.runner_cpp",
"//sdk/fidl/fuchsia.gpu.magma:fuchsia.gpu.magma_cpp",
"//sdk/fidl/fuchsia.hardware.goldfish:fuchsia.hardware.goldfish_cpp",
"//sdk/fidl/fuchsia.io:fuchsia.io_cpp",
"//sdk/fidl/fuchsia.kernel:fuchsia.kernel_cpp",
"//sdk/fidl/fuchsia.vulkan.loader:fuchsia.vulkan.loader_cpp",
"//sdk/lib/inspect/component/cpp",
"//src/storage/lib/vfs/cpp",
]
deps = [
"//sdk/lib/component/incoming/cpp",
"//sdk/lib/component/outgoing/cpp",
"//sdk/lib/fdio",
"//src/lib/fsl",
"//src/lib/fxl",
"//src/lib/json_parser",
"//zircon/system/ulib/async-default",
"//zircon/system/ulib/async-loop:async-loop-cpp",
"//zircon/system/ulib/async-loop:async-loop-default",
"//zircon/system/ulib/fbl",
]
}
executable("bin") {
output_name = "vulkan_loader"
sources = [ "main.cc" ]
deps = [
":app",
"//sdk/fidl/fuchsia.memorypressure:fuchsia.memorypressure_cpp",
"//sdk/fidl/fuchsia.process.lifecycle:fuchsia.process.lifecycle_cpp",
"//sdk/lib/component/incoming/cpp",
"//sdk/lib/component/outgoing/cpp",
"//src/lib/fxl:fxl_cli",
"//zircon/system/ulib/async-loop:async-loop-cpp",
"//zircon/system/ulib/async-loop:async-loop-default",
]
}
fuchsia_component_manifest("manifest") {
component_name = "vulkan_loader"
manifest = "meta/vulkan_loader.cml"
}
fuchsia_structured_config_values("default_config_values") {
cm_label = ":manifest"
values = {
allow_magma_icds = true
allow_goldfish_icd = true
allow_lavapipe_icd = false
}
}
fuchsia_structured_config_cpp_elf_lib("structured_config_lib") {
cm_label = ":manifest"
}
fuchsia_component("vulkan_loader_cmp") {
cm_label = ":manifest"
deps = [ ":bin" ]
}
fuchsia_package("vulkan_loader") {
deps = [
":default_config_values",
":vulkan_loader_cmp",
]
}