xref: /aosp_15_r20/external/bazelbuild-rules_rust/examples/zig_cross_compiling/BUILD.bazel (revision d4726bddaa87cc4778e7472feed243fa4b6c267f)
1load("@aspect_bazel_lib//lib:transitions.bzl", "platform_transition_filegroup")
2load("@crate_index//:defs.bzl", "aliases", "all_crate_deps")
3load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
4load("@rules_rust//rust:defs.bzl", "rust_binary")
5
6rust_binary(
7    name = "uses_ring",
8    srcs = ["src/main.rs"],
9    aliases = aliases(),
10    # We don't care about building this for our own platform, this just exists for the transition
11    tags = ["manual"],
12    deps = all_crate_deps(normal = True) + [":check_merged_flags"],
13)
14
15cargo_build_script(
16    name = "check_merged_flags",
17    srcs = ["src/check_merged_flags.rs"],
18    build_script_env = {
19        "CFLAGS": "cbeep",
20        "CXXFLAGS": "cxxbeep",
21        "LDFLAGS": "ldbeep",
22    },
23)
24
25platform(
26    name = "aarch64_linux",
27    constraint_values = [
28        "@platforms//os:linux",
29        "@platforms//cpu:aarch64",
30    ],
31)
32
33platform_transition_filegroup(
34    name = "uses_ring_arm",
35    srcs = [":uses_ring"],
36    target_platform = "aarch64_linux",
37)
38