xref: /aosp_15_r20/prebuilts/build-tools/BUILD.bazel (revision cda5da8d549138a6648c5ee6d7a49cf8f4a657be)
1load("@bazel_tools//tools/python:toolchain.bzl", "py_runtime_pair")
2load(":prebuilt_tool.bzl", "prebuilt_tool")
3
4filegroup(
5    name = "linux-x86",
6    srcs = glob([
7        "common/**",
8        "linux-x86/bin/*",
9        "path/linux-x86/*",
10    ]) + [":linux-x86-libs"],
11    visibility = ["//visibility:public"],
12)
13
14filegroup(
15    name = "linux-x86-libs",
16    srcs = glob(["linux-x86/lib64/*"]),
17    visibility = ["//visibility:private"],
18)
19
20filegroup(
21    name = "linux_musl-x86-libs",
22    srcs = glob(["linux_musl-x86/lib64/*"]),
23    visibility = ["//visibility:private"],
24)
25
26# Used in prebuilt_tool()
27alias(
28    name = "libs",
29    actual = select({
30        "//build/kernel/kleaf/platforms/libc:glibc": ":linux-x86-libs",
31        "//build/kernel/kleaf/platforms/libc:musl": ":linux_musl-x86-libs",
32    }),
33    target_compatible_with = select({
34        "//build/kernel/kleaf/platforms/libc:glibc": [],
35        "//build/kernel/kleaf/platforms/libc:musl": [],
36        "//conditions:default": ["@platforms//:incompatible"],
37    }),
38    visibility = ["//visibility:private"],
39)
40
41py_runtime(
42    name = "python3",
43    files = ["linux-x86/bin/py3-cmd"],
44    interpreter = "linux-x86/bin/py3-cmd",
45    python_version = "PY3",
46    visibility = ["//visibility:public"],
47)
48
49py_runtime_pair(
50    name = "py_runtime_pair",
51    py3_runtime = ":python3",
52    visibility = ["//visibility:public"],
53)
54
55toolchain(
56    name = "py_toolchain",
57    toolchain = ":py_runtime_pair",
58    toolchain_type = "@bazel_tools//tools/python:toolchain_type",
59    visibility = ["//visibility:public"],
60)
61
62py_runtime(
63    name = "python3_musl",
64    files = ["linux_musl-x86/bin/py3-cmd"],
65    interpreter = "linux_musl-x86/bin/py3-cmd",
66    python_version = "PY3",
67    visibility = ["//visibility:private"],
68)
69
70py_runtime_pair(
71    name = "py_runtime_pair_musl",
72    py3_runtime = ":python3_musl",
73    visibility = ["//visibility:private"],
74)
75
76toolchain(
77    name = "py_toolchain_musl",
78    exec_compatible_with = [
79        "@platforms//os:linux",
80        "@platforms//cpu:x86_64",
81        "//build/kernel/kleaf/platforms/libc:musl",
82    ],
83    toolchain = ":py_runtime_pair_musl",
84    toolchain_type = "@bazel_tools//tools/python:toolchain_type",
85    visibility = ["//visibility:private"],
86)
87
88prebuilt_tool(
89    name = "awk",
90    actual = "one-true-awk",
91    visibility = ["//visibility:public"],
92)
93
94prebuilt_tool(
95    name = "bc",
96    actual = "gavinhoward-bc",
97    visibility = ["//visibility:public"],
98)
99
100prebuilt_tool(
101    name = "bison",
102    visibility = ["//visibility:public"],
103)
104
105prebuilt_tool(
106    name = "bzip2",
107    visibility = ["//visibility:public"],
108)
109
110prebuilt_tool(
111    name = "flex",
112    visibility = ["//visibility:public"],
113)
114
115prebuilt_tool(
116    name = "m4",
117    visibility = ["//visibility:public"],
118)
119
120prebuilt_tool(
121    name = "make",
122    visibility = ["//visibility:public"],
123)
124
125prebuilt_tool(
126    name = "openssl",
127    visibility = ["//visibility:public"],
128)
129
130prebuilt_tool(
131    name = "runextractor",
132    visibility = ["//visibility:public"],
133)
134
135prebuilt_tool(
136    name = "soong_zip",
137    visibility = ["//visibility:public"],
138)
139
140prebuilt_tool(
141    name = "toybox",
142    visibility = ["//visibility:public"],
143)
144
145prebuilt_tool(
146    name = "xz",
147    visibility = ["//visibility:public"],
148)
149
150prebuilt_tool(
151    name = "ziptool",
152    visibility = ["//visibility:public"],
153)
154
155# Additional runfiles required by bison
156filegroup(
157    name = "bison.runfiles",
158    srcs = glob([
159        "common/bison/**",
160    ]),
161    visibility = ["//visibility:public"],
162)
163
164# Point to the directory so variables can know where to set BISON_PKGDATADIR to
165filegroup(
166    name = "bison.runfiles_dir",
167    srcs = ["common/bison"],
168    visibility = ["//visibility:public"],
169)
170