blob: bb93162cb62b9ad8ff777228894a456436f740e8 [file] [log] [blame]
Brian Silvermancc09f182022-03-09 15:40:20 -08001load("@bazel_skylib//:bzl_library.bzl", "bzl_library")
2load("//bindgen:bindgen.bzl", "rust_bindgen_toolchain")
3
4package(default_visibility = ["//visibility:public"])
5
Brian Silverman5f6f2762022-08-13 19:30:05 -07006toolchain_type(
7 name = "toolchain_type",
Brian Silvermancc09f182022-03-09 15:40:20 -08008)
9
10alias(
Brian Silverman5f6f2762022-08-13 19:30:05 -070011 name = "bindgen_toolchain",
12 actual = "toolchain_type",
13 deprecation = "instead use `@rules_rust//bindgen:toolchain_type`",
14 tags = ["manual"],
15)
16
17bzl_library(
18 name = "bzl_lib",
19 srcs = glob(["**/*.bzl"]),
20 deps = [
21 "//bindgen/3rdparty:bzl_lib",
22 "//rust:bzl_lib",
23 ],
Brian Silvermancc09f182022-03-09 15:40:20 -080024)
25
26rust_bindgen_toolchain(
27 name = "default_bindgen_toolchain_impl",
Brian Silverman5f6f2762022-08-13 19:30:05 -070028 bindgen = "//bindgen/3rdparty:bindgen",
Brian Silvermancc09f182022-03-09 15:40:20 -080029 clang = select({
30 "//rust/platform:osx": "@bindgen_clang_osx//:clang",
31 "//conditions:default": "@bindgen_clang_linux//:clang",
32 }),
33 libclang = select({
34 "//rust/platform:osx": "@bindgen_clang_osx//:libclang",
35 "//conditions:default": "@bindgen_clang_linux//:libclang",
36 }),
37 libstdcxx = select({
38 "//rust/platform:osx": "@bindgen_clang_osx//:libc++",
39 "//conditions:default": None,
40 }),
41)
42
43toolchain(
44 name = "default_bindgen_toolchain",
45 toolchain = "default_bindgen_toolchain_impl",
Brian Silverman5f6f2762022-08-13 19:30:05 -070046 toolchain_type = "//bindgen:toolchain_type",
Brian Silvermancc09f182022-03-09 15:40:20 -080047)