xref: /aosp_15_r20/hardware/interfaces/security/keymint/aidl/Android.bp (revision 4d7e907c777eeecc4c5bd7cf640a754fac206ff7)
1package {
2    // See: http://go/android-license-faq
3    // A large-scale-change added 'default_applicable_licenses' to import
4    // all of the 'license_kinds' from "hardware_interfaces_license"
5    // to get the below license kinds:
6    //   SPDX-license-identifier-Apache-2.0
7    default_applicable_licenses: ["hardware_interfaces_license"],
8}
9
10aidl_interface {
11    name: "android.hardware.security.keymint",
12    vendor_available: true,
13    srcs: [
14        "android/hardware/security/keymint/*.aidl",
15    ],
16    imports: [
17        "android.hardware.security.secureclock-V1",
18    ],
19    stability: "vintf",
20    frozen: false,
21    backend: {
22        java: {
23            platform_apis: true,
24        },
25        ndk: {
26            apps_enabled: false,
27        },
28        rust: {
29            enabled: true,
30            apex_available: [
31                "//apex_available:platform",
32                "com.android.compos",
33            ],
34        },
35    },
36    versions_with_info: [
37        {
38            version: "1",
39            imports: ["android.hardware.security.secureclock-V1"],
40        },
41        {
42            version: "2",
43            imports: ["android.hardware.security.secureclock-V1"],
44        },
45        {
46            version: "3",
47            imports: ["android.hardware.security.secureclock-V1"],
48        },
49
50    ],
51
52}
53
54// An aidl_interface_defaults that includes the latest KeyMint AIDL interface.
55// aidl_interface modules that depend on KeyMint directly can include this
56// aidl_interface_defaults to avoid managing dependency versions explicitly.
57aidl_interface_defaults {
58    name: "android.hardware.security.keymint-latest-defaults",
59    imports: ["android.hardware.security.keymint-V4"],
60}
61
62// cc_defaults that includes the latest KeyMint AIDL library.
63// Modules that depend on KeyMint directly can include this cc_defaults to avoid
64// managing dependency versions explicitly.
65cc_defaults {
66    name: "keymint_use_latest_hal_aidl_ndk_static",
67    static_libs: [
68        "android.hardware.security.keymint-V4-ndk",
69    ],
70}
71
72cc_defaults {
73    name: "keymint_use_latest_hal_aidl_ndk_shared",
74    shared_libs: [
75        "android.hardware.security.keymint-V4-ndk",
76    ],
77}
78
79cc_defaults {
80    name: "keymint_use_latest_hal_aidl_cpp_static",
81    static_libs: [
82        "android.hardware.security.keymint-V4-cpp",
83    ],
84}
85
86cc_defaults {
87    name: "keymint_use_latest_hal_aidl_cpp_shared",
88    shared_libs: [
89        "android.hardware.security.keymint-V4-cpp",
90    ],
91}
92
93// A rust_defaults that includes the latest KeyMint AIDL library.
94// Modules that depend on KeyMint directly can include this cc_defaults to avoid
95// managing dependency versions explicitly.
96rust_defaults {
97    name: "keymint_use_latest_hal_aidl_rust",
98    rustlibs: [
99        "android.hardware.security.keymint-V4-rust",
100    ],
101}
102