1// Copyright (C) 2021 The Android Open-Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//      http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14//
15
16// WARNING: Everything listed here will be built on ALL platforms,
17// including x86, the emulator, and the SDK.  Modules must be uniquely
18// named (liblights.panda), and must build everywhere, or limit themselves
19// to only building on ARM if they include assembly. Individual makefiles
20// are responsible for having their own logic, for fine-grained control.
21
22package {
23    default_applicable_licenses: ["Android-Apache-2.0"],
24}
25
26cc_binary {
27    name: "android.hardware.confirmationui-service.cuttlefish",
28    defaults: ["cuttlefish_guest_only"],
29    relative_install_path: "hw",
30    vendor: true,
31
32    stl: "c++_static",
33
34    shared_libs: [
35        "libbinder_ndk",
36        "liblog",
37    ],
38
39    static_libs: [
40        "android.hardware.confirmationui-lib.cuttlefish",
41        "android.hardware.confirmationui-V1-ndk",
42        "android.hardware.security.keymint-V3-ndk",
43        "android.hardware.security.secureclock-V1-ndk",
44        "libbase",
45        "libcutils",
46        "libcuttlefish_confui",
47        "libteeui_hal_support",
48        "libutils",
49        "libcuttlefish_fs",
50        "libcuttlefish_utils",
51    ],
52
53    srcs: [
54        "service.cpp",
55    ],
56
57    cflags: [
58        "-Wall",
59        "-Werror",
60        "-DTEEUI_USE_STD_VECTOR",
61    ],
62
63    installable: false, // installed in APEX
64}
65
66cc_library {
67    name: "android.hardware.confirmationui-lib.cuttlefish",
68    defaults: [
69        "cuttlefish_guest_only",
70        "keymint_use_latest_hal_aidl_ndk_shared",
71    ],
72    vendor: true,
73    shared_libs: [
74        "android.hardware.confirmationui-V1-ndk",
75        "libbase",
76        "libbinder_ndk",
77        "libcutils",
78        "libdmabufheap",
79        "libteeui_hal_support",
80        "libtrusty",
81        "libutils",
82    ],
83
84    export_include_dirs: ["include"],
85
86    srcs: [
87        "TrustyConfirmationUI.cpp",
88        "guest_session.cpp",
89    ],
90    static_libs: [
91        "libcuttlefish_confui",
92        "libcuttlefish_fs",
93        "libcuttlefish_utils",
94    ],
95    cflags: [
96        "-Wall",
97        "-Werror",
98        "-DTEEUI_USE_STD_VECTOR",
99    ],
100}
101
102prebuilt_etc {
103    name: "android.hardware.confirmationui-service.cuttlefish.rc",
104    src: "android.hardware.confirmationui-service.cuttlefish.rc",
105    installable: false,
106}
107
108prebuilt_etc {
109    name: "android.hardware.confirmationui-service.cuttlefish.xml",
110    src: "android.hardware.confirmationui-service.cuttlefish.xml",
111    sub_dir: "vintf",
112    installable: false,
113}
114
115apex {
116    name: "com.google.cf.confirmationui",
117    vendor: true,
118    manifest: "apex_manifest.json",
119    file_contexts: "apex_file_contexts",
120    key: "com.google.cf.apex.key",
121    certificate: ":com.google.cf.apex.certificate",
122    updatable: false,
123
124    binaries: ["android.hardware.confirmationui-service.cuttlefish"],
125    prebuilts: [
126        "android.hardware.confirmationui-service.cuttlefish.rc",
127        "android.hardware.confirmationui-service.cuttlefish.xml",
128    ],
129}
130