-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathBUILD.bazel
117 lines (106 loc) · 2.98 KB
/
BUILD.bazel
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# Copyright (C) 2021 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
load("//build/kernel/kleaf:hermetic_tools.bzl", "hermetic_tools")
load("@kernel_toolchain_info//:dict.bzl", "CLANG_VERSION")
package(default_visibility = ["//visibility:public"])
hermetic_tools(
name = "hermetic-tools",
srcs = glob(
[
"build-tools/path/**",
],
allow_empty = False,
) + [
"//prebuilts/clang/host/linux-x86/clang-{}:bin/llvm-strings".format(CLANG_VERSION),
],
host_tools = [
"bash",
"install",
"perl",
"rsync",
"sh",
"tar",
],
deps = glob(
["build-tools/sysroot/**"],
allow_empty = False,
) + [
"//prebuilts/build-tools:linux-x86",
"//prebuilts/kernel-build-tools:linux-x86",
"@prebuilt_ndk//:sysroot",
],
)
filegroup(
name = "kernel-build-scripts",
srcs = [
"_setup_env.sh",
"build.sh",
"build_utils.sh",
],
)
filegroup(
name = "kernel-abi-scripts",
srcs = [
"abi/compare_to_symbol_list",
"abi/flatten_symbol_list",
"abi/process_symbols",
"abi/symbols.allow",
"abi/symbols.deny",
],
)
filegroup(
name = "dump-abi-scripts",
srcs = [
"abi/abitool.py",
"abi/dump_abi",
],
)
filegroup(
name = "diff-abi-scripts",
srcs = [
"abi/abitool.py",
"abi/diff_abi",
],
)
_GKI_CERTIFICATION_BINARIES_PREFIX = "//prebuilts/kernel-build-tools:linux-x86/bin/"
_GKI_CERTIFICATION_BINARIES = [
"avbtool",
"certify_bootimg",
]
genrule(
name = "gki_certification_tools",
srcs = [_GKI_CERTIFICATION_BINARIES_PREFIX + tool for tool in _GKI_CERTIFICATION_BINARIES],
outs = ["gki_certification_tools.tar.gz"],
# Clear PATH to ensure hermeticity.
cmd = """
PATH=
$(location :hermetic-tools/tar) -c \\
-C $$($(location :hermetic-tools/dirname) $$($(location :hermetic-tools/dirname) $(location {prefix}{first}))) \\
{files} | \\
$(location :hermetic-tools/gzip) > $@
""".format(
files = " ".join(["bin/" + tool for tool in _GKI_CERTIFICATION_BINARIES]),
first = _GKI_CERTIFICATION_BINARIES[0],
prefix = _GKI_CERTIFICATION_BINARIES_PREFIX,
),
tools = [
":hermetic-tools/dirname",
":hermetic-tools/gzip",
":hermetic-tools/tar",
],
)
exports_files([
"abi/extract_symbols",
"abi/filter_abi",
])