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