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//libgbl", 33 "@gbl//libsafemath", 34 "@gbl//libstorage", 35 "@gbl//libutils", 36 "@spin", 37 "@zerocopy", 38 ], 39) 40 41rust_test( 42 name = "libefi_test", 43 crate = ":libefi", 44 rustc_flags = ANDROID_RUST_LINTS, 45 deps = [ 46 "@gbl//libavb:sysdeps", 47 "@zbi", 48 ], 49) 50 51rust_library( 52 name = "mocks", 53 srcs = glob(["mocks/**/*.rs"]), 54 crate_name = "efi_mocks", 55 rustc_flags = ANDROID_RUST_LINTS, 56 deps = [ 57 "@gbl//libefi", 58 "@gbl//libefi_types", 59 "@gbl//liberror", 60 "@mockall", 61 ], 62) 63 64rust_test( 65 name = "mocks_test", 66 crate = ":mocks", 67 rustc_flags = ANDROID_RUST_LINTS, 68) 69