| # Copyright 2024 The Fuchsia Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/components/fuchsia_unittest_package.gni") |
| import("//build/rust/rustc_library.gni") |
| import("//build/toolchain/ifs_shared_library.gni") |
| |
| group("tee_internal_api") { |
| public_deps = [ |
| ":headers", |
| ":lib", |
| ] |
| } |
| |
| config("config") { |
| include_dirs = [ "include" ] |
| } |
| |
| source_set("headers") { |
| public = [ |
| "include/lib/tee_internal_api/tee_internal_api.h", |
| "include/lib/tee_internal_api/tee_internal_api_types.h", |
| ] |
| public_configs = [ ":config" ] |
| } |
| |
| ifs_shared_library("lib") { |
| abi = "libtee_internal.ifs" |
| } |
| |
| rustc_library("tee_internal") { |
| edition = "2021" |
| |
| sources = [ |
| "src/binding.rs", |
| "src/lib.rs", |
| ] |
| |
| configs -= [ "//build/config/rust/lints:allow_unused_results" ] |
| } |
| |
| # Trusted Applications link against an ifs specification that says that |
| # "libtee_internal.so" exports the TEE_ entry points. They actually are exported |
| # by the ta_runtime binary, but TAs will have "libtee_internal.so" in their |
| # DT_NEEDED list. This is an empty stub library that satisfies this requirement |
| # at TA load time. |
| shared_library("tee_internal_stub_so") { |
| output_name = "tee_internal" |
| } |
| |
| group("tests") { |
| testonly = true |
| deps = [ "tests" ] |
| } |