xref: /aosp_15_r20/external/bazelbuild-rules_rust/examples/musl_cross_compiling/BUILD.bazel (revision d4726bddaa87cc4778e7472feed243fa4b6c267f)
1load("@aspect_bazel_lib//lib:transitions.bzl", "platform_transition_binary")
2load("@bazel_skylib//rules:build_test.bzl", "build_test")
3load("@rules_rust//rust:defs.bzl", "rust_binary")
4
5rust_binary(
6    name = "hello",
7    srcs = ["src/main.rs"],
8    tags = ["manual"],
9)
10
11platform_transition_binary(
12    name = "hello_linux_x86_64_musl",
13    binary = ":hello",
14    target_platform = "//platforms:linux_x86_64_musl",
15)
16
17sh_test(
18    name = "hello_linux_x86_64_musl_test",
19    srcs = ["hello_linux_musl_test.sh"],
20    args = [
21        "$(rootpath :hello_linux_x86_64_musl)",
22        "'ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), static-pie linked'",
23    ],
24    data = [":hello_linux_x86_64_musl"],
25)
26
27platform_transition_binary(
28    name = "hello_linux_arm64_musl",
29    binary = ":hello",
30    target_platform = "//platforms:linux_arm64_musl",
31)
32
33sh_test(
34    name = "hello_linux_arm64_musl_test",
35    srcs = ["hello_linux_musl_test.sh"],
36    args = [
37        "$(rootpath :hello_linux_arm64_musl)",
38        "'ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), statically linked'",
39    ],
40    data = [":hello_linux_arm64_musl"],
41)
42
43rust_binary(
44    name = "keyring",
45    srcs = ["src/keyring.rs"],
46    tags = ["manual"],
47    deps = ["@cu//:keyring"],
48)
49
50platform_transition_binary(
51    name = "keyring_linux_x86_64_musl",
52    binary = ":keyring",
53    target_platform = "//platforms:linux_x86_64_musl",
54)
55
56build_test(
57    name = "keyring_linux_x86_64_musl_build_test",
58    targets = [":keyring_linux_x86_64_musl"],
59)
60