1*e1997b9aSAndroid Build Coastguard Worker// Copyright 2023, The Android Open Source Project 2*e1997b9aSAndroid Build Coastguard Worker// 3*e1997b9aSAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*e1997b9aSAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*e1997b9aSAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*e1997b9aSAndroid Build Coastguard Worker// 7*e1997b9aSAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*e1997b9aSAndroid Build Coastguard Worker// 9*e1997b9aSAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*e1997b9aSAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*e1997b9aSAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*e1997b9aSAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*e1997b9aSAndroid Build Coastguard Worker// limitations under the License. 14*e1997b9aSAndroid Build Coastguard Worker 15*e1997b9aSAndroid Build Coastguard Workerpackage { 16*e1997b9aSAndroid Build Coastguard Worker // See: http://go/android-license-faq 17*e1997b9aSAndroid Build Coastguard Worker // A large-scale-change added 'default_applicable_licenses' to import 18*e1997b9aSAndroid Build Coastguard Worker // all of the 'license_kinds' from "system_security_license" 19*e1997b9aSAndroid Build Coastguard Worker // to get the below license kinds: 20*e1997b9aSAndroid Build Coastguard Worker // SPDX-license-identifier-Apache-2.0 21*e1997b9aSAndroid Build Coastguard Worker default_applicable_licenses: ["system_security_license"], 22*e1997b9aSAndroid Build Coastguard Worker} 23*e1997b9aSAndroid Build Coastguard Worker 24*e1997b9aSAndroid Build Coastguard Workerrust_defaults { 25*e1997b9aSAndroid Build Coastguard Worker name: "libkeystore2_test_utils_defaults", 26*e1997b9aSAndroid Build Coastguard Worker defaults: [ 27*e1997b9aSAndroid Build Coastguard Worker "keymint_use_latest_hal_aidl_rust", 28*e1997b9aSAndroid Build Coastguard Worker "keystore2_use_latest_aidl_rust", 29*e1997b9aSAndroid Build Coastguard Worker ], 30*e1997b9aSAndroid Build Coastguard Worker rustlibs: [ 31*e1997b9aSAndroid Build Coastguard Worker "android.security.authorization-rust", 32*e1997b9aSAndroid Build Coastguard Worker "libanyhow", 33*e1997b9aSAndroid Build Coastguard Worker "libbinder_rs", 34*e1997b9aSAndroid Build Coastguard Worker "libcxx", 35*e1997b9aSAndroid Build Coastguard Worker "libkeystore2_selinux", 36*e1997b9aSAndroid Build Coastguard Worker "liblog_rust", 37*e1997b9aSAndroid Build Coastguard Worker "libnix", 38*e1997b9aSAndroid Build Coastguard Worker "librand", 39*e1997b9aSAndroid Build Coastguard Worker "librustutils", 40*e1997b9aSAndroid Build Coastguard Worker "libserde", 41*e1997b9aSAndroid Build Coastguard Worker "libserde_cbor", 42*e1997b9aSAndroid Build Coastguard Worker "libthiserror", 43*e1997b9aSAndroid Build Coastguard Worker ], 44*e1997b9aSAndroid Build Coastguard Worker static_libs: [ 45*e1997b9aSAndroid Build Coastguard Worker "libcppbor", 46*e1997b9aSAndroid Build Coastguard Worker "libkeymaster_portable", 47*e1997b9aSAndroid Build Coastguard Worker "libkeymint_support", 48*e1997b9aSAndroid Build Coastguard Worker "libkeystore-engine", 49*e1997b9aSAndroid Build Coastguard Worker "libkeystore2_ffi_test_utils", 50*e1997b9aSAndroid Build Coastguard Worker ], 51*e1997b9aSAndroid Build Coastguard Worker shared_libs: [ 52*e1997b9aSAndroid Build Coastguard Worker "libbase", 53*e1997b9aSAndroid Build Coastguard Worker "libcrypto", 54*e1997b9aSAndroid Build Coastguard Worker ], 55*e1997b9aSAndroid Build Coastguard Worker} 56*e1997b9aSAndroid Build Coastguard Worker 57*e1997b9aSAndroid Build Coastguard Workerrust_library { 58*e1997b9aSAndroid Build Coastguard Worker name: "libkeystore2_test_utils", 59*e1997b9aSAndroid Build Coastguard Worker crate_name: "keystore2_test_utils", 60*e1997b9aSAndroid Build Coastguard Worker srcs: ["lib.rs"], 61*e1997b9aSAndroid Build Coastguard Worker defaults: ["libkeystore2_test_utils_defaults"], 62*e1997b9aSAndroid Build Coastguard Worker static_libs: [ 63*e1997b9aSAndroid Build Coastguard Worker // Also include static_libs for the NDK variants so that they are available 64*e1997b9aSAndroid Build Coastguard Worker // for dependencies. 65*e1997b9aSAndroid Build Coastguard Worker "android.system.keystore2-V5-ndk", 66*e1997b9aSAndroid Build Coastguard Worker "android.hardware.security.keymint-V4-ndk", 67*e1997b9aSAndroid Build Coastguard Worker ], 68*e1997b9aSAndroid Build Coastguard Worker} 69*e1997b9aSAndroid Build Coastguard Worker 70*e1997b9aSAndroid Build Coastguard Workerrust_test { 71*e1997b9aSAndroid Build Coastguard Worker name: "keystore2_test_utils_test", 72*e1997b9aSAndroid Build Coastguard Worker srcs: ["lib.rs"], 73*e1997b9aSAndroid Build Coastguard Worker defaults: ["libkeystore2_test_utils_defaults"], 74*e1997b9aSAndroid Build Coastguard Worker test_suites: ["general-tests"], 75*e1997b9aSAndroid Build Coastguard Worker require_root: true, 76*e1997b9aSAndroid Build Coastguard Worker auto_gen_config: true, 77*e1997b9aSAndroid Build Coastguard Worker compile_multilib: "first", 78*e1997b9aSAndroid Build Coastguard Worker} 79*e1997b9aSAndroid Build Coastguard Worker 80*e1997b9aSAndroid Build Coastguard Workercc_library_static { 81*e1997b9aSAndroid Build Coastguard Worker name: "libkeystore2_ffi_test_utils", 82*e1997b9aSAndroid Build Coastguard Worker srcs: ["ffi_test_utils.cpp"], 83*e1997b9aSAndroid Build Coastguard Worker defaults: [ 84*e1997b9aSAndroid Build Coastguard Worker "keymint_use_latest_hal_aidl_ndk_static", 85*e1997b9aSAndroid Build Coastguard Worker "keystore2_use_latest_aidl_ndk_static", 86*e1997b9aSAndroid Build Coastguard Worker ], 87*e1997b9aSAndroid Build Coastguard Worker generated_headers: [ 88*e1997b9aSAndroid Build Coastguard Worker "cxx-bridge-header", 89*e1997b9aSAndroid Build Coastguard Worker "libkeystore2_ffi_test_utils_bridge_header", 90*e1997b9aSAndroid Build Coastguard Worker ], 91*e1997b9aSAndroid Build Coastguard Worker generated_sources: ["libkeystore2_ffi_test_utils_bridge_code"], 92*e1997b9aSAndroid Build Coastguard Worker static_libs: [ 93*e1997b9aSAndroid Build Coastguard Worker "libkeymaster_portable", 94*e1997b9aSAndroid Build Coastguard Worker "libkeymint_support", 95*e1997b9aSAndroid Build Coastguard Worker "libkeystore-engine", 96*e1997b9aSAndroid Build Coastguard Worker ], 97*e1997b9aSAndroid Build Coastguard Worker shared_libs: [ 98*e1997b9aSAndroid Build Coastguard Worker "libbase", 99*e1997b9aSAndroid Build Coastguard Worker "libcrypto", 100*e1997b9aSAndroid Build Coastguard Worker ], 101*e1997b9aSAndroid Build Coastguard Worker} 102*e1997b9aSAndroid Build Coastguard Worker 103*e1997b9aSAndroid Build Coastguard Workergenrule { 104*e1997b9aSAndroid Build Coastguard Worker name: "libkeystore2_ffi_test_utils_bridge_code", 105*e1997b9aSAndroid Build Coastguard Worker tools: ["cxxbridge"], 106*e1997b9aSAndroid Build Coastguard Worker cmd: "$(location cxxbridge) $(in) >> $(out)", 107*e1997b9aSAndroid Build Coastguard Worker srcs: ["ffi_test_utils.rs"], 108*e1997b9aSAndroid Build Coastguard Worker out: ["libkeystore2_test_utils_cxx_generated.cc"], 109*e1997b9aSAndroid Build Coastguard Worker} 110*e1997b9aSAndroid Build Coastguard Worker 111*e1997b9aSAndroid Build Coastguard Workergenrule { 112*e1997b9aSAndroid Build Coastguard Worker name: "libkeystore2_ffi_test_utils_bridge_header", 113*e1997b9aSAndroid Build Coastguard Worker tools: ["cxxbridge"], 114*e1997b9aSAndroid Build Coastguard Worker cmd: "$(location cxxbridge) $(in) --header >> $(out)", 115*e1997b9aSAndroid Build Coastguard Worker srcs: ["ffi_test_utils.rs"], 116*e1997b9aSAndroid Build Coastguard Worker out: ["ffi_test_utils.rs.h"], 117*e1997b9aSAndroid Build Coastguard Worker} 118