| # 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("//build/package.gni") |
| import("//garnet/lib/magma/gnbuild/magma.gni") |
| |
| if (have_prebuilt_libvulkan_arm) { |
| libvulkan_gen_path = "$target_gen_dir/libvulkan" |
| } |
| |
| # This target is not built but ensures that the packages don't reference |
| # driver directories that are invalid for the current platform. |
| group("platform_driver_nodeps") { |
| testonly = true |
| assert_no_deps = [] |
| if (!build_intel_gen) { |
| assert_no_deps += [ "//third_party/mesa/*" ] |
| } |
| if (!build_libvulkan_arm_mali) { |
| assert_no_deps += [ "//third_party/arm-mali-bifrost/*" ] |
| } |
| deps = [ |
| ":magma", |
| "tests:magma-test", |
| "tests:magma-test-build-only", |
| ] |
| } |
| |
| package("magma") { |
| system_image = true |
| if (magma_enable_developer_build) { |
| testonly = true |
| } |
| |
| deps = [] |
| if (have_libvulkan) { |
| deps += [ |
| ":libmagma", |
| ":libvulkan", |
| ] |
| |
| libraries = [ { |
| name = "libmagma.so" |
| } ] |
| |
| if (build_intel_gen) { |
| if (magma_enable_developer_build) { |
| deps += [ "$msd_intel_gen_build_root:msd_intel_test" ] |
| drivers = [ { |
| name = "libmsd_intel_test.so" |
| } ] |
| } else { |
| deps += [ "$msd_intel_gen_build_root:msd_intel" ] |
| drivers = [ { |
| name = "libmsd_intel.so" |
| } ] |
| } |
| |
| libraries += [ { |
| name = "libvulkan_intel.so" |
| } ] |
| resources = [ { |
| path = rebase_path("icd/intel_icd.json") |
| dest = "vulkan/icd.d/intel_icd.json" |
| } ] |
| } |
| if (build_libvulkan_arm_mali) { |
| libraries += [ { |
| name = "libvulkan_arm.so" |
| } ] |
| resources = [ { |
| path = rebase_path("icd/arm_icd.json") |
| dest = "vulkan/icd.d/arm_icd.json" |
| } ] |
| } else if (have_prebuilt_libvulkan_arm) { |
| libraries += [ { |
| source = "$libvulkan_gen_path/libvulkan_arm.so" |
| name = "libvulkan_arm.so" |
| } ] |
| resources = [ { |
| path = rebase_path("icd/arm_icd.json") |
| dest = "vulkan/icd.d/arm_icd.json" |
| } ] |
| } |
| } |
| |
| if (build_msd_arm_mali) { |
| if (magma_enable_developer_build) { |
| deps += [ "//garnet/drivers/gpu/msd-arm-mali:msd_arm_test" ] |
| drivers = [ { |
| name = "libmsd_arm_test.so" |
| } ] |
| } else { |
| deps += [ "//garnet/drivers/gpu/msd-arm-mali:msd_arm" ] |
| drivers = [ { |
| name = "libmsd_arm.so" |
| } ] |
| } |
| } |
| } |
| |
| package("magma-tools") { |
| system_image = true |
| |
| deps = [ |
| ":tools", |
| ] |
| |
| binaries = [ { |
| name = "magma_info" |
| } ] |
| } |
| |
| package("vkcube") { |
| system_image = true |
| |
| if (have_libvulkan) { |
| deps = [ |
| "//garnet/lib/magma/tests/vkcube", |
| ] |
| |
| binaries = [ { |
| name = "vkcube" |
| } ] |
| } |
| } |
| |
| package("display-pipe") { |
| system_image = true |
| |
| if (target_cpu == "x64") { |
| deps = [ |
| "//garnet/lib/magma/src/display_pipe:display_pipe_service", |
| ] |
| binaries = [ { |
| name = "display_pipe" |
| } ] |
| } |
| } |
| |
| # This config allows inclusion of headers via relative paths from src |
| config("magma_src_include_config") { |
| include_dirs = [ "src" ] |
| } |
| |
| # This config allows inclusion of headers via relative paths from tests |
| config("magma_tests_include_config") { |
| include_dirs = [ "tests" ] |
| } |
| |
| group("libmagma") { |
| public_deps = [ |
| "src/libmagma", |
| ] |
| } |
| |
| if (build_intel_gen) { |
| group("libvulkan") { |
| public_deps = [ |
| "$mesa_build_root:magma_vulkan", |
| ] |
| } |
| } else if (build_libvulkan_arm_mali) { |
| group("libvulkan") { |
| public_deps = [ |
| "$mali_build_root:libvulkan_arm", |
| ] |
| } |
| } else if (have_prebuilt_libvulkan_arm) { |
| config("libvulkan_config") { |
| libs = [ "vulkan_arm" ] |
| lib_dirs = [ libvulkan_gen_path ] |
| } |
| copy("libvulkan") { |
| public_configs = [ ":libvulkan_config" ] |
| sources = [ |
| prebuilt_libvulkan_arm_path, |
| ] |
| outputs = [ |
| "$libvulkan_gen_path/libvulkan_arm.so", |
| ] |
| deps = [ |
| "//third_party/zlib", |
| ] |
| } |
| } |
| |
| # internal only |
| source_set("libmsd") { |
| deps = [ |
| "src/sys_driver", |
| ] |
| public_deps = [ |
| "include:msd_abi", |
| ] |
| } |
| |
| group("tools") { |
| public_deps = [ |
| "src/tools", |
| ] |
| } |