1# Copyright (C) 2023 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 15load("@gbl//toolchain:gbl_workspace_util.bzl", "ANDROID_RUST_LINTS") 16load("@rules_rust//rust:defs.bzl", "rust_library", "rust_test") 17 18package( 19 default_visibility = ["//visibility:public"], 20) 21 22rust_library( 23 name = "libefi", 24 srcs = glob(["src/**/*.rs"]), 25 crate_name = "efi", 26 rustc_flags = ANDROID_RUST_LINTS, 27 deps = [ 28 "@arrayvec", 29 "@gbl//libasync", 30 "@gbl//libefi_types", 31 "@gbl//liberror", 32 "@gbl//libfastboot", 33 "@gbl//libgbl", 34 "@gbl//libsafemath", 35 "@gbl//libstorage", 36 "@gbl//libutils", 37 "@spin", 38 "@zerocopy", 39 ], 40) 41 42rust_test( 43 name = "libefi_test", 44 crate = ":libefi", 45 rustc_flags = ANDROID_RUST_LINTS, 46 deps = [ 47 "@gbl//libavb:sysdeps", 48 "@zbi", 49 ], 50) 51 52rust_library( 53 name = "mocks", 54 srcs = glob(["mocks/**/*.rs"]), 55 crate_name = "efi_mocks", 56 rustc_flags = ANDROID_RUST_LINTS, 57 deps = [ 58 "@gbl//libefi", 59 "@gbl//libefi_types", 60 "@gbl//liberror", 61 "@mockall", 62 ], 63) 64 65rust_test( 66 name = "mocks_test", 67 crate = ":mocks", 68 rustc_flags = ANDROID_RUST_LINTS, 69) 70