xref: /aosp_15_r20/hardware/interfaces/identity/aidl/default/Android.bp (revision 4d7e907c777eeecc4c5bd7cf640a754fac206ff7)
1*4d7e907cSAndroid Build Coastguard Workerpackage {
2*4d7e907cSAndroid Build Coastguard Worker    // See: http://go/android-license-faq
3*4d7e907cSAndroid Build Coastguard Worker    // A large-scale-change added 'default_applicable_licenses' to import
4*4d7e907cSAndroid Build Coastguard Worker    // all of the 'license_kinds' from "hardware_interfaces_license"
5*4d7e907cSAndroid Build Coastguard Worker    // to get the below license kinds:
6*4d7e907cSAndroid Build Coastguard Worker    //   SPDX-license-identifier-Apache-2.0
7*4d7e907cSAndroid Build Coastguard Worker    default_applicable_licenses: ["hardware_interfaces_license"],
8*4d7e907cSAndroid Build Coastguard Worker}
9*4d7e907cSAndroid Build Coastguard Worker
10*4d7e907cSAndroid Build Coastguard Workercc_library_static {
11*4d7e907cSAndroid Build Coastguard Worker    name: "android.hardware.identity-libeic-hal-common",
12*4d7e907cSAndroid Build Coastguard Worker    vendor_available: true,
13*4d7e907cSAndroid Build Coastguard Worker    defaults: [
14*4d7e907cSAndroid Build Coastguard Worker        "identity_use_latest_hal_aidl_ndk_static",
15*4d7e907cSAndroid Build Coastguard Worker        "keymint_use_latest_hal_aidl_ndk_static",
16*4d7e907cSAndroid Build Coastguard Worker    ],
17*4d7e907cSAndroid Build Coastguard Worker    srcs: [
18*4d7e907cSAndroid Build Coastguard Worker        "common/IdentityCredential.cpp",
19*4d7e907cSAndroid Build Coastguard Worker        "common/IdentityCredentialStore.cpp",
20*4d7e907cSAndroid Build Coastguard Worker        "common/PresentationSession.cpp",
21*4d7e907cSAndroid Build Coastguard Worker        "common/WritableIdentityCredential.cpp",
22*4d7e907cSAndroid Build Coastguard Worker    ],
23*4d7e907cSAndroid Build Coastguard Worker    export_include_dirs: [
24*4d7e907cSAndroid Build Coastguard Worker        "common",
25*4d7e907cSAndroid Build Coastguard Worker    ],
26*4d7e907cSAndroid Build Coastguard Worker    cflags: [
27*4d7e907cSAndroid Build Coastguard Worker        "-Wall",
28*4d7e907cSAndroid Build Coastguard Worker        "-Wextra",
29*4d7e907cSAndroid Build Coastguard Worker        "-Wno-deprecated-declarations",
30*4d7e907cSAndroid Build Coastguard Worker    ],
31*4d7e907cSAndroid Build Coastguard Worker    shared_libs: [
32*4d7e907cSAndroid Build Coastguard Worker        "liblog",
33*4d7e907cSAndroid Build Coastguard Worker        "libcrypto",
34*4d7e907cSAndroid Build Coastguard Worker        "libbinder_ndk",
35*4d7e907cSAndroid Build Coastguard Worker        "libkeymaster_messages",
36*4d7e907cSAndroid Build Coastguard Worker    ],
37*4d7e907cSAndroid Build Coastguard Worker    static_libs: [
38*4d7e907cSAndroid Build Coastguard Worker        "libbase",
39*4d7e907cSAndroid Build Coastguard Worker        "libcppbor",
40*4d7e907cSAndroid Build Coastguard Worker        "libcppcose_rkp",
41*4d7e907cSAndroid Build Coastguard Worker        "libutils",
42*4d7e907cSAndroid Build Coastguard Worker        "libsoft_attestation_cert",
43*4d7e907cSAndroid Build Coastguard Worker        "libkeymaster_portable",
44*4d7e907cSAndroid Build Coastguard Worker        "libsoft_attestation_cert",
45*4d7e907cSAndroid Build Coastguard Worker        "libpuresoftkeymasterdevice",
46*4d7e907cSAndroid Build Coastguard Worker        "android.hardware.identity-support-lib",
47*4d7e907cSAndroid Build Coastguard Worker        "android.hardware.keymaster-V3-ndk",
48*4d7e907cSAndroid Build Coastguard Worker        "android.hardware.security.rkp-V3-ndk",
49*4d7e907cSAndroid Build Coastguard Worker    ],
50*4d7e907cSAndroid Build Coastguard Worker}
51*4d7e907cSAndroid Build Coastguard Worker
52*4d7e907cSAndroid Build Coastguard Workercc_library_static {
53*4d7e907cSAndroid Build Coastguard Worker    name: "android.hardware.identity-libeic-library",
54*4d7e907cSAndroid Build Coastguard Worker    vendor_available: true,
55*4d7e907cSAndroid Build Coastguard Worker    srcs: [
56*4d7e907cSAndroid Build Coastguard Worker        "libeic/EicCbor.c",
57*4d7e907cSAndroid Build Coastguard Worker        "libeic/EicSession.c",
58*4d7e907cSAndroid Build Coastguard Worker        "libeic/EicPresentation.c",
59*4d7e907cSAndroid Build Coastguard Worker        "libeic/EicProvisioning.c",
60*4d7e907cSAndroid Build Coastguard Worker        "EicOpsImpl.cc",
61*4d7e907cSAndroid Build Coastguard Worker    ],
62*4d7e907cSAndroid Build Coastguard Worker    export_include_dirs: [
63*4d7e907cSAndroid Build Coastguard Worker        "libeic",
64*4d7e907cSAndroid Build Coastguard Worker    ],
65*4d7e907cSAndroid Build Coastguard Worker    cflags: [
66*4d7e907cSAndroid Build Coastguard Worker        "-DEIC_COMPILATION",
67*4d7e907cSAndroid Build Coastguard Worker        "-Wall",
68*4d7e907cSAndroid Build Coastguard Worker        "-Wextra",
69*4d7e907cSAndroid Build Coastguard Worker        "-DEIC_DEBUG",
70*4d7e907cSAndroid Build Coastguard Worker        // Allow using C2x extensions such as omitting parameter names
71*4d7e907cSAndroid Build Coastguard Worker        "-Wno-c2x-extensions",
72*4d7e907cSAndroid Build Coastguard Worker    ],
73*4d7e907cSAndroid Build Coastguard Worker    shared_libs: [
74*4d7e907cSAndroid Build Coastguard Worker        "libbase",
75*4d7e907cSAndroid Build Coastguard Worker        "libcrypto",
76*4d7e907cSAndroid Build Coastguard Worker    ],
77*4d7e907cSAndroid Build Coastguard Worker    static_libs: [
78*4d7e907cSAndroid Build Coastguard Worker        "android.hardware.identity-support-lib",
79*4d7e907cSAndroid Build Coastguard Worker    ],
80*4d7e907cSAndroid Build Coastguard Worker}
81*4d7e907cSAndroid Build Coastguard Worker
82*4d7e907cSAndroid Build Coastguard Workercc_binary {
83*4d7e907cSAndroid Build Coastguard Worker    name: "android.hardware.identity-service.example",
84*4d7e907cSAndroid Build Coastguard Worker    relative_install_path: "hw",
85*4d7e907cSAndroid Build Coastguard Worker    init_rc: ["identity-default.rc"],
86*4d7e907cSAndroid Build Coastguard Worker    vintf_fragments: ["identity-default.xml"],
87*4d7e907cSAndroid Build Coastguard Worker    vendor: true,
88*4d7e907cSAndroid Build Coastguard Worker    defaults: [
89*4d7e907cSAndroid Build Coastguard Worker        "identity_use_latest_hal_aidl_ndk_static",
90*4d7e907cSAndroid Build Coastguard Worker        "keymint_use_latest_hal_aidl_ndk_static",
91*4d7e907cSAndroid Build Coastguard Worker    ],
92*4d7e907cSAndroid Build Coastguard Worker    cflags: [
93*4d7e907cSAndroid Build Coastguard Worker        "-Wall",
94*4d7e907cSAndroid Build Coastguard Worker        "-Wextra",
95*4d7e907cSAndroid Build Coastguard Worker        "-g",
96*4d7e907cSAndroid Build Coastguard Worker    ],
97*4d7e907cSAndroid Build Coastguard Worker    shared_libs: [
98*4d7e907cSAndroid Build Coastguard Worker        "liblog",
99*4d7e907cSAndroid Build Coastguard Worker        "libcrypto",
100*4d7e907cSAndroid Build Coastguard Worker        "libbinder_ndk",
101*4d7e907cSAndroid Build Coastguard Worker        "libkeymaster_messages",
102*4d7e907cSAndroid Build Coastguard Worker    ],
103*4d7e907cSAndroid Build Coastguard Worker    static_libs: [
104*4d7e907cSAndroid Build Coastguard Worker        "libbase",
105*4d7e907cSAndroid Build Coastguard Worker        "libcppbor",
106*4d7e907cSAndroid Build Coastguard Worker        "libcppcose_rkp",
107*4d7e907cSAndroid Build Coastguard Worker        "libutils",
108*4d7e907cSAndroid Build Coastguard Worker        "libsoft_attestation_cert",
109*4d7e907cSAndroid Build Coastguard Worker        "libkeymaster_portable",
110*4d7e907cSAndroid Build Coastguard Worker        "libsoft_attestation_cert",
111*4d7e907cSAndroid Build Coastguard Worker        "libpuresoftkeymasterdevice",
112*4d7e907cSAndroid Build Coastguard Worker        "android.hardware.identity-support-lib",
113*4d7e907cSAndroid Build Coastguard Worker        "android.hardware.keymaster-V3-ndk",
114*4d7e907cSAndroid Build Coastguard Worker        "android.hardware.identity-libeic-hal-common",
115*4d7e907cSAndroid Build Coastguard Worker        "android.hardware.identity-libeic-library",
116*4d7e907cSAndroid Build Coastguard Worker        "android.hardware.security.rkp-V3-ndk",
117*4d7e907cSAndroid Build Coastguard Worker    ],
118*4d7e907cSAndroid Build Coastguard Worker    srcs: [
119*4d7e907cSAndroid Build Coastguard Worker        "service.cpp",
120*4d7e907cSAndroid Build Coastguard Worker        "FakeSecureHardwareProxy.cpp",
121*4d7e907cSAndroid Build Coastguard Worker    ],
122*4d7e907cSAndroid Build Coastguard Worker    required: [
123*4d7e907cSAndroid Build Coastguard Worker        "android.hardware.identity_credential.xml",
124*4d7e907cSAndroid Build Coastguard Worker    ],
125*4d7e907cSAndroid Build Coastguard Worker}
126*4d7e907cSAndroid Build Coastguard Worker
127*4d7e907cSAndroid Build Coastguard Workercc_test {
128*4d7e907cSAndroid Build Coastguard Worker    name: "libeic_test",
129*4d7e907cSAndroid Build Coastguard Worker    srcs: [
130*4d7e907cSAndroid Build Coastguard Worker        "EicTests.cpp",
131*4d7e907cSAndroid Build Coastguard Worker        "FakeSecureHardwareProxy.cpp",
132*4d7e907cSAndroid Build Coastguard Worker    ],
133*4d7e907cSAndroid Build Coastguard Worker    cflags: [
134*4d7e907cSAndroid Build Coastguard Worker        "-Wall",
135*4d7e907cSAndroid Build Coastguard Worker        "-Wextra",
136*4d7e907cSAndroid Build Coastguard Worker        "-g",
137*4d7e907cSAndroid Build Coastguard Worker        "-DEIC_DEBUG",
138*4d7e907cSAndroid Build Coastguard Worker    ],
139*4d7e907cSAndroid Build Coastguard Worker    local_include_dirs: [
140*4d7e907cSAndroid Build Coastguard Worker        "common",
141*4d7e907cSAndroid Build Coastguard Worker    ],
142*4d7e907cSAndroid Build Coastguard Worker    shared_libs: [
143*4d7e907cSAndroid Build Coastguard Worker        "liblog",
144*4d7e907cSAndroid Build Coastguard Worker        "libcrypto",
145*4d7e907cSAndroid Build Coastguard Worker        "libkeymaster_messages",
146*4d7e907cSAndroid Build Coastguard Worker    ],
147*4d7e907cSAndroid Build Coastguard Worker    static_libs: [
148*4d7e907cSAndroid Build Coastguard Worker        "libbase",
149*4d7e907cSAndroid Build Coastguard Worker        "libcppbor",
150*4d7e907cSAndroid Build Coastguard Worker        "libcppcose_rkp",
151*4d7e907cSAndroid Build Coastguard Worker        "libutils",
152*4d7e907cSAndroid Build Coastguard Worker        "libsoft_attestation_cert",
153*4d7e907cSAndroid Build Coastguard Worker        "libkeymaster_portable",
154*4d7e907cSAndroid Build Coastguard Worker        "libsoft_attestation_cert",
155*4d7e907cSAndroid Build Coastguard Worker        "libpuresoftkeymasterdevice",
156*4d7e907cSAndroid Build Coastguard Worker        "android.hardware.identity-support-lib",
157*4d7e907cSAndroid Build Coastguard Worker        "android.hardware.identity-libeic-library",
158*4d7e907cSAndroid Build Coastguard Worker    ],
159*4d7e907cSAndroid Build Coastguard Worker    test_suites: [
160*4d7e907cSAndroid Build Coastguard Worker        "general-tests",
161*4d7e907cSAndroid Build Coastguard Worker    ],
162*4d7e907cSAndroid Build Coastguard Worker}
163*4d7e907cSAndroid Build Coastguard Worker
164*4d7e907cSAndroid Build Coastguard Workerprebuilt_etc {
165*4d7e907cSAndroid Build Coastguard Worker    name: "android.hardware.identity_credential.xml",
166*4d7e907cSAndroid Build Coastguard Worker    sub_dir: "permissions",
167*4d7e907cSAndroid Build Coastguard Worker    vendor: true,
168*4d7e907cSAndroid Build Coastguard Worker    src: "android.hardware.identity_credential.xml",
169*4d7e907cSAndroid Build Coastguard Worker}
170