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