| # Copyright 2013 The Flutter 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("//flutter/tools/fuchsia/clang.gni") | |
| fuchsia_sdk_base = "//fuchsia/sdk/$host_os/arch/$target_cpu" | |
| fuchsia_sdk_dist = "$fuchsia_sdk_base/dist" | |
| sysroot_lib = "$fuchsia_sdk_base/sysroot/lib" | |
| sysroot_dist_lib = "$fuchsia_sdk_base/sysroot/dist/lib" | |
| ld_so_path = "" | |
| libcxx_so_2_path = "${clang_manifest_json.md5_19df03aecdc9eb27bc8b4038352f2b27}" | |
| libcxx_abi_so_1_path = | |
| "${clang_manifest_json.md5_6aff1b5f218d4a9278d85d63d0695af8}" | |
| libunwind_so_1_path = | |
| "${clang_manifest_json.md5_fb2bd871885ef42c2cf3138655f901ed}" | |
| if (is_asan) { | |
| ld_so_path = "asan/" | |
| libcxx_so_2_path = | |
| "${clang_manifest_json.md5_07cbd4a04b921d2ca61badc1b15a3b0b}" | |
| libcxx_abi_so_1_path = | |
| "${clang_manifest_json.md5_18f605e8fd52a92c5f9c6fde9be8206c}" | |
| libunwind_so_1_path = | |
| "${clang_manifest_json.md5_85b659ccd825be02f123e3479f1bc280}" | |
| libclang_rt_so_path = | |
| "${clang_manifest_json.md5_b76b69d6ab2c13408b7a3608f925b0c6}" | |
| } | |
| common_libs = [ | |
| { | |
| name = "libasync-default.so" | |
| path = rebase_path("$fuchsia_sdk_dist") | |
| }, | |
| { | |
| name = "libtrace-engine.so" | |
| path = rebase_path("$fuchsia_sdk_dist") | |
| }, | |
| { | |
| name = "libfdio.so" | |
| path = rebase_path("$fuchsia_sdk_dist") | |
| }, | |
| { | |
| name = "libvulkan.so" | |
| path = rebase_path("$fuchsia_sdk_dist") | |
| }, | |
| { | |
| name = "libtrace-provider-so.so" | |
| path = rebase_path("$fuchsia_sdk_dist") | |
| }, | |
| { | |
| name = "ld.so.1" | |
| path = rebase_path("$sysroot_dist_lib/$ld_so_path") | |
| output_path = ld_so_path | |
| }, | |
| { | |
| name = "libvfs_internal.so" | |
| path = rebase_path("$fuchsia_sdk_dist") | |
| }, | |
| ] | |
| # Note, for clang libs we use the md5 hashes here because of gn limitations of | |
| # json parsing. | |
| # This is a hack, and we can migrate to a better way soon. | |
| common_libs += [ | |
| { | |
| name = "libc++.so.2" | |
| path = rebase_path("$clang_base/$libcxx_so_2_path") | |
| }, | |
| { | |
| name = "libc++abi.so.1" | |
| path = rebase_path("$clang_base/$libcxx_abi_so_1_path") | |
| }, | |
| { | |
| name = "libunwind.so.1" | |
| path = rebase_path("$clang_base/$libunwind_so_1_path") | |
| }, | |
| ] | |
| if (is_asan) { | |
| common_libs += [ | |
| { | |
| name = "libclang_rt.asan.so" | |
| path = rebase_path("$clang_base/$libclang_rt_so_path") | |
| }, | |
| ] | |
| } | |
| vulkan_dist = "$fuchsia_sdk_base/dist" | |
| # Note that the other validation libraries in the Fuchsia SDK seem to have a bug right | |
| # now causing crashes, so it is only recommended that we use | |
| # VkLayer_khronos_validation.so until we have a confirmation that they are fixed. | |
| vulkan_validation_libs = [ | |
| { | |
| name = "VkLayer_khronos_validation.so" | |
| path = rebase_path("$vulkan_dist") | |
| }, | |
| ] | |
| vulkan_data_dir = | |
| "//fuchsia/sdk/$host_os/pkg/vulkan_layers/data/vulkan/explicit_layer.d" | |
| vulkan_icds = [ | |
| { | |
| path = rebase_path("$vulkan_data_dir/VkLayer_khronos_validation.json") | |
| dest = "vulkan/explicit_layer.d/VkLayer_khronos_validation.json" | |
| }, | |
| ] |