xref: /aosp_15_r20/system/nvram/hal/Android.bp (revision 7ba4dab5cc5e3c8f3eb594dcf3b33f99d9214aee)
1*7ba4dab5SXin Li//
2*7ba4dab5SXin Li// Copyright (C) 2016 The Android Open-Source Project
3*7ba4dab5SXin Li//
4*7ba4dab5SXin Li// Licensed under the Apache License, Version 2.0 (the "License");
5*7ba4dab5SXin Li// you may not use this file except in compliance with the License.
6*7ba4dab5SXin Li// You may obtain a copy of the License at
7*7ba4dab5SXin Li//
8*7ba4dab5SXin Li//      http://www.apache.org/licenses/LICENSE-2.0
9*7ba4dab5SXin Li//
10*7ba4dab5SXin Li// Unless required by applicable law or agreed to in writing, software
11*7ba4dab5SXin Li// distributed under the License is distributed on an "AS IS" BASIS,
12*7ba4dab5SXin Li// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*7ba4dab5SXin Li// See the License for the specific language governing permissions and
14*7ba4dab5SXin Li// limitations under the License.
15*7ba4dab5SXin Li//
16*7ba4dab5SXin Li
17*7ba4dab5SXin Lipackage {
18*7ba4dab5SXin Li    default_applicable_licenses: ["Android-Apache-2.0"],
19*7ba4dab5SXin Li}
20*7ba4dab5SXin Li
21*7ba4dab5SXin Lisubdirs = [
22*7ba4dab5SXin Li    "tests",
23*7ba4dab5SXin Li]
24*7ba4dab5SXin Li
25*7ba4dab5SXin Li// A static library providing glue logic that simplifies creation of NVRAM HAL
26*7ba4dab5SXin Li// modules.
27*7ba4dab5SXin Licc_library_static {
28*7ba4dab5SXin Li    name: "libnvram-hal",
29*7ba4dab5SXin Li    srcs: ["nvram_device_adapter.cpp"],
30*7ba4dab5SXin Li    cflags: [
31*7ba4dab5SXin Li        "-Wall",
32*7ba4dab5SXin Li        "-Werror",
33*7ba4dab5SXin Li        "-Wextra",
34*7ba4dab5SXin Li    ],
35*7ba4dab5SXin Li    export_include_dirs: ["include"],
36*7ba4dab5SXin Li    shared_libs: ["libnvram-messages"],
37*7ba4dab5SXin Li}
38*7ba4dab5SXin Li
39*7ba4dab5SXin Li// nvram.testing is the software-only testing NVRAM HAL module backed by the
40*7ba4dab5SXin Li// fake_nvram daemon.
41*7ba4dab5SXin Licc_library_shared {
42*7ba4dab5SXin Li    name: "nvram.testing",
43*7ba4dab5SXin Li    relative_install_path: "hw",
44*7ba4dab5SXin Li    srcs: [
45*7ba4dab5SXin Li        "testing_module.c",
46*7ba4dab5SXin Li        "testing_nvram_implementation.cpp",
47*7ba4dab5SXin Li    ],
48*7ba4dab5SXin Li    cflags: [
49*7ba4dab5SXin Li        "-Wall",
50*7ba4dab5SXin Li        "-Werror",
51*7ba4dab5SXin Li        "-Wextra",
52*7ba4dab5SXin Li        "-fvisibility=hidden",
53*7ba4dab5SXin Li    ],
54*7ba4dab5SXin Li    static_libs: ["libnvram-hal"],
55*7ba4dab5SXin Li    shared_libs: [
56*7ba4dab5SXin Li        "libnvram-messages",
57*7ba4dab5SXin Li        "libcutils",
58*7ba4dab5SXin Li        "libbase",
59*7ba4dab5SXin Li    ],
60*7ba4dab5SXin Li
61*7ba4dab5SXin Li}
62*7ba4dab5SXin Li
63*7ba4dab5SXin Licc_binary {
64*7ba4dab5SXin Li    name: "fake-nvram",
65*7ba4dab5SXin Li    srcs: [
66*7ba4dab5SXin Li        "fake_nvram.cpp",
67*7ba4dab5SXin Li        "fake_nvram_storage.cpp",
68*7ba4dab5SXin Li    ],
69*7ba4dab5SXin Li
70*7ba4dab5SXin Li    cflags: [
71*7ba4dab5SXin Li        "-Wall",
72*7ba4dab5SXin Li        "-Werror",
73*7ba4dab5SXin Li        "-Wextra",
74*7ba4dab5SXin Li    ],
75*7ba4dab5SXin Li    static_libs: ["libnvram-core"],
76*7ba4dab5SXin Li    shared_libs: [
77*7ba4dab5SXin Li        "libnvram-messages",
78*7ba4dab5SXin Li        "libcrypto",
79*7ba4dab5SXin Li        "libminijail",
80*7ba4dab5SXin Li        "liblog",
81*7ba4dab5SXin Li        "libcutils",
82*7ba4dab5SXin Li        "libbase",
83*7ba4dab5SXin Li    ],
84*7ba4dab5SXin Li
85*7ba4dab5SXin Li    init_rc: ["fake-nvram.rc"],
86*7ba4dab5SXin Li    required: ["fake-nvram-seccomp.policy"],
87*7ba4dab5SXin Li}
88*7ba4dab5SXin Li
89*7ba4dab5SXin Li// seccomp policy for fake_nvram.
90*7ba4dab5SXin Liprebuilt_usr_share {
91*7ba4dab5SXin Li    name: "fake-nvram-seccomp.policy",
92*7ba4dab5SXin Li    sub_dir: "policy",
93*7ba4dab5SXin Li    arch: {
94*7ba4dab5SXin Li        arm: {
95*7ba4dab5SXin Li            src: "fake-nvram-seccomp-arm.policy",
96*7ba4dab5SXin Li        },
97*7ba4dab5SXin Li        arm64: {
98*7ba4dab5SXin Li            src: "fake-nvram-seccomp-arm64.policy",
99*7ba4dab5SXin Li        },
100*7ba4dab5SXin Li        riscv64: {
101*7ba4dab5SXin Li            src: "fake-nvram-seccomp-riscv64.policy",
102*7ba4dab5SXin Li        },
103*7ba4dab5SXin Li        x86: {
104*7ba4dab5SXin Li            src: "fake-nvram-seccomp-x86.policy",
105*7ba4dab5SXin Li        },
106*7ba4dab5SXin Li        x86_64: {
107*7ba4dab5SXin Li            src: "fake-nvram-seccomp-x86_64.policy",
108*7ba4dab5SXin Li        },
109*7ba4dab5SXin Li    },
110*7ba4dab5SXin Li}
111