1//
2// Copyright (C) 2022 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8//      http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15
16package {
17    default_applicable_licenses: ["Android-Apache-2.0"],
18}
19
20cc_binary {
21    name: "android.hardware.identity-service.remote",
22    relative_install_path: "hw",
23    vendor: true,
24    cflags: [
25        "-Wall",
26        "-Wextra",
27        "-g",
28    ],
29    stl: "c++_static",
30    shared_libs: [
31        "liblog",
32        "libcrypto",
33        "libbinder_ndk",
34    ],
35    static_libs: [
36        "libbase",
37        "libcppbor",
38        "libcppcose_rkp",
39        "libutils",
40        "libsoft_attestation_cert",
41        "libkeymaster_portable",
42        "libsoft_attestation_cert",
43        "libpuresoftkeymasterdevice",
44        "android.hardware.identity-support-lib",
45        "android.hardware.identity-V3-ndk",
46        "android.hardware.keymaster-V3-ndk",
47        "android.hardware.security.keymint-V1-ndk",
48    ],
49    local_include_dirs: [
50        "common",
51        "libeic",
52    ],
53    srcs: [
54        "service.cpp",
55        "RemoteSecureHardwareProxy.cpp",
56        "common/IdentityCredential.cpp",
57        "common/IdentityCredentialStore.cpp",
58        "common/WritableIdentityCredential.cpp",
59        "libeic/EicCbor.c",
60        "libeic/EicPresentation.c",
61        "libeic/EicProvisioning.c",
62        "libeic/EicOpsImpl.cc",
63    ],
64    installable: false, // installed in APEX
65}
66
67prebuilt_etc {
68    name: "android.hardware.identity_credential.remote.xml",
69    sub_dir: "permissions",
70    vendor: true,
71    src: "android.hardware.identity_credential.remote.xml",
72    installable: false,
73}
74
75prebuilt_etc {
76    name: "android.hardware.identity-service.remote.xml",
77    src: "android.hardware.identity-service.remote.xml",
78    sub_dir: "vintf",
79    installable: false,
80}
81
82prebuilt_etc {
83    name: "android.hardware.identity-service.remote.rc",
84    src: "android.hardware.identity-service.remote.rc",
85    installable: false,
86}
87
88apex {
89    name: "com.google.cf.identity",
90    vendor: true,
91    manifest: "apex_manifest.json",
92    file_contexts: "apex_file_contexts",
93    key: "com.google.cf.apex.key",
94    certificate: ":com.google.cf.apex.certificate",
95    updatable: false,
96
97    binaries: ["android.hardware.identity-service.remote"],
98    prebuilts: [
99        "android.hardware.identity-service.remote.rc",
100        "android.hardware.identity-service.remote.xml",
101        "android.hardware.identity_credential.remote.xml",
102    ],
103}
104