xref: /aosp_15_r20/bootable/libbootloader/gbl/libgbl/BUILD (revision 5225e6b173e52d2efc6bcf950c27374fd72adabc)
1*5225e6b1SAndroid Build Coastguard Worker# Copyright (C) 2024 The Android Open Source Project
2*5225e6b1SAndroid Build Coastguard Worker#
3*5225e6b1SAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License");
4*5225e6b1SAndroid Build Coastguard Worker# you may not use this file except in compliance with the License.
5*5225e6b1SAndroid Build Coastguard Worker# You may obtain a copy of the License at
6*5225e6b1SAndroid Build Coastguard Worker#
7*5225e6b1SAndroid Build Coastguard Worker#     http://www.apache.org/licenses/LICENSE-2.0
8*5225e6b1SAndroid Build Coastguard Worker#
9*5225e6b1SAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
10*5225e6b1SAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS,
11*5225e6b1SAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*5225e6b1SAndroid Build Coastguard Worker# See the License for the specific language governing permissions and
13*5225e6b1SAndroid Build Coastguard Worker# limitations under the License.
14*5225e6b1SAndroid Build Coastguard Worker
15*5225e6b1SAndroid Build Coastguard Workerload("@gbl//toolchain:gbl_workspace_util.bzl", "ANDROID_RUST_LINTS")
16*5225e6b1SAndroid Build Coastguard Workerload("@rules_rust//rust:defs.bzl", "rust_library", "rust_test")
17*5225e6b1SAndroid Build Coastguard Worker
18*5225e6b1SAndroid Build Coastguard Workerrust_library(
19*5225e6b1SAndroid Build Coastguard Worker    name = "libgbl",
20*5225e6b1SAndroid Build Coastguard Worker    srcs = glob(
21*5225e6b1SAndroid Build Coastguard Worker        ["**/*.rs"],
22*5225e6b1SAndroid Build Coastguard Worker        exclude = ["tests/**/*.rs"],
23*5225e6b1SAndroid Build Coastguard Worker    ),
24*5225e6b1SAndroid Build Coastguard Worker    aliases = {"@itertools_noalloc": "itertools_noalloc"},
25*5225e6b1SAndroid Build Coastguard Worker    edition = "2021",
26*5225e6b1SAndroid Build Coastguard Worker    rustc_flags = ANDROID_RUST_LINTS,
27*5225e6b1SAndroid Build Coastguard Worker    visibility = ["//visibility:public"],
28*5225e6b1SAndroid Build Coastguard Worker    deps = [
29*5225e6b1SAndroid Build Coastguard Worker        "@arrayvec",
30*5225e6b1SAndroid Build Coastguard Worker        "@avb",
31*5225e6b1SAndroid Build Coastguard Worker        "@avb//:avb_bindgen",
32*5225e6b1SAndroid Build Coastguard Worker        "@bitflags",
33*5225e6b1SAndroid Build Coastguard Worker        "@crc32fast",
34*5225e6b1SAndroid Build Coastguard Worker        "@cstr",
35*5225e6b1SAndroid Build Coastguard Worker        "@gbl//libabr",
36*5225e6b1SAndroid Build Coastguard Worker        "@gbl//libasync",
37*5225e6b1SAndroid Build Coastguard Worker        "@gbl//libboot",
38*5225e6b1SAndroid Build Coastguard Worker        "@gbl//libbootimg",
39*5225e6b1SAndroid Build Coastguard Worker        "@gbl//libbootparams",
40*5225e6b1SAndroid Build Coastguard Worker        "@gbl//libdttable",
41*5225e6b1SAndroid Build Coastguard Worker        "@gbl//liberror",
42*5225e6b1SAndroid Build Coastguard Worker        "@gbl//libfastboot",
43*5225e6b1SAndroid Build Coastguard Worker        "@gbl//libfdt",
44*5225e6b1SAndroid Build Coastguard Worker        "@gbl//libmisc",
45*5225e6b1SAndroid Build Coastguard Worker        "@gbl//libsafemath",
46*5225e6b1SAndroid Build Coastguard Worker        "@gbl//libstorage",
47*5225e6b1SAndroid Build Coastguard Worker        "@gbl//libutils",
48*5225e6b1SAndroid Build Coastguard Worker        "@itertools_noalloc",
49*5225e6b1SAndroid Build Coastguard Worker        "@lz4_flex",
50*5225e6b1SAndroid Build Coastguard Worker        "@spin",
51*5225e6b1SAndroid Build Coastguard Worker        "@static_assertions",
52*5225e6b1SAndroid Build Coastguard Worker        "@uuid",
53*5225e6b1SAndroid Build Coastguard Worker        "@zbi",
54*5225e6b1SAndroid Build Coastguard Worker        "@zerocopy",
55*5225e6b1SAndroid Build Coastguard Worker        "@zune_inflate",
56*5225e6b1SAndroid Build Coastguard Worker    ],
57*5225e6b1SAndroid Build Coastguard Worker)
58*5225e6b1SAndroid Build Coastguard Worker
59*5225e6b1SAndroid Build Coastguard Workerrust_test(
60*5225e6b1SAndroid Build Coastguard Worker    name = "libgbl_test",
61*5225e6b1SAndroid Build Coastguard Worker    aliases = {"@itertools_noalloc": "itertools_noalloc"},
62*5225e6b1SAndroid Build Coastguard Worker    compile_data = [
63*5225e6b1SAndroid Build Coastguard Worker        "@gbl//libstorage/test:test_data",
64*5225e6b1SAndroid Build Coastguard Worker    ],
65*5225e6b1SAndroid Build Coastguard Worker    crate = ":libgbl",
66*5225e6b1SAndroid Build Coastguard Worker    crate_features = ["uuid"],
67*5225e6b1SAndroid Build Coastguard Worker    data = [
68*5225e6b1SAndroid Build Coastguard Worker        "@gbl//libdttable/test/data:all",
69*5225e6b1SAndroid Build Coastguard Worker        "@gbl//libfdt/test/data:all",
70*5225e6b1SAndroid Build Coastguard Worker        "@gbl//libgbl/testdata:cert_metadata.bin",
71*5225e6b1SAndroid Build Coastguard Worker        "@gbl//libgbl/testdata:cert_permanent_attributes.bad.bin",
72*5225e6b1SAndroid Build Coastguard Worker        "@gbl//libgbl/testdata:cert_permanent_attributes.bad.hash",
73*5225e6b1SAndroid Build Coastguard Worker        "@gbl//libgbl/testdata:cert_permanent_attributes.bin",
74*5225e6b1SAndroid Build Coastguard Worker        "@gbl//libgbl/testdata:cert_permanent_attributes.hash",
75*5225e6b1SAndroid Build Coastguard Worker        "@gbl//libgbl/testdata:sparse_test.bin",
76*5225e6b1SAndroid Build Coastguard Worker        "@gbl//libgbl/testdata:sparse_test_blk1024.bin",
77*5225e6b1SAndroid Build Coastguard Worker        "@gbl//libgbl/testdata:sparse_test_raw.bin",
78*5225e6b1SAndroid Build Coastguard Worker        "@gbl//libgbl/testdata:testkey_rsa4096_pub.bin",
79*5225e6b1SAndroid Build Coastguard Worker        "@gbl//libgbl/testdata:vbmeta_a.bin",
80*5225e6b1SAndroid Build Coastguard Worker        "@gbl//libgbl/testdata:vbmeta_b.bin",
81*5225e6b1SAndroid Build Coastguard Worker        "@gbl//libgbl/testdata:vbmeta_r.bin",
82*5225e6b1SAndroid Build Coastguard Worker        "@gbl//libgbl/testdata:vbmeta_slotless.bin",
83*5225e6b1SAndroid Build Coastguard Worker        "@gbl//libgbl/testdata:writeback_test_disk.bin",
84*5225e6b1SAndroid Build Coastguard Worker        "@gbl//libgbl/testdata:zircon_a.vbmeta",
85*5225e6b1SAndroid Build Coastguard Worker        "@gbl//libgbl/testdata:zircon_a.vbmeta.cert",
86*5225e6b1SAndroid Build Coastguard Worker        "@gbl//libgbl/testdata:zircon_a.zbi",
87*5225e6b1SAndroid Build Coastguard Worker        "@gbl//libgbl/testdata:zircon_b.zbi",
88*5225e6b1SAndroid Build Coastguard Worker        "@gbl//libgbl/testdata:zircon_r.zbi",
89*5225e6b1SAndroid Build Coastguard Worker        "@gbl//libgbl/testdata:zircon_slotless.zbi",
90*5225e6b1SAndroid Build Coastguard Worker    ],
91*5225e6b1SAndroid Build Coastguard Worker    rustc_flags = ANDROID_RUST_LINTS,
92*5225e6b1SAndroid Build Coastguard Worker    deps = [
93*5225e6b1SAndroid Build Coastguard Worker        "@avb//:avb_crypto_ops_sha_impl_staticlib",
94*5225e6b1SAndroid Build Coastguard Worker        "@avb//:avb_test",
95*5225e6b1SAndroid Build Coastguard Worker        "@gbl//libasync:cyclic_executor",
96*5225e6b1SAndroid Build Coastguard Worker        "@gbl//libavb:sysdeps",
97*5225e6b1SAndroid Build Coastguard Worker        "@itertools",
98*5225e6b1SAndroid Build Coastguard Worker        "@itertools_noalloc",
99*5225e6b1SAndroid Build Coastguard Worker        "@static_assertions",
100*5225e6b1SAndroid Build Coastguard Worker        "@uuid",
101*5225e6b1SAndroid Build Coastguard Worker    ],
102*5225e6b1SAndroid Build Coastguard Worker)
103