anki/pylib/rsbridge/BUILD.bazel
Damien Elmes bdbcb6d7aa default to a vendored copy of Python
Brings Python in line with our other dependencies, and means users
no longer need to install it prior to building, or deal with
issues caused by having the wrong version available.
2021-10-15 22:14:05 +10:00

54 lines
1.1 KiB
Python

load("@rules_rust//rust:rust.bzl", "rust_library", "rust_test")
load("@rules_rust//cargo:cargo_build_script.bzl", "cargo_build_script")
load("@bazel_skylib//lib:selects.bzl", "selects")
load("//rslib:rustfmt.bzl", "rustfmt_fix", "rustfmt_test")
cargo_build_script(
name = "build_script",
srcs = ["build.rs"],
build_script_env = {
"PYO3_PYTHON": "$(location @python)",
},
data = [
"@python",
],
)
rust_library(
name = "rsbridge",
srcs = ["lib.rs"],
crate_type = "cdylib",
rustc_flags = selects.with_or({
(
"@rules_rust//rust/platform:x86_64-apple-darwin",
): [
"-Clink-arg=-undefined",
"-Clink-arg=dynamic_lookup",
"-Clink-arg=-mmacosx-version-min=10.13",
],
"//conditions:default": [],
}),
visibility = [
"//pylib:__subpackages__",
],
deps = [
":build_script",
"//pylib/rsbridge/cargo:pyo3",
"//rslib:anki",
],
)
rustfmt_test(
name = "format_check",
srcs = glob([
"*.rs",
]),
)
rustfmt_fix(
name = "format",
srcs = glob([
"*.rs",
]),
)