• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1load("@rules_cc//cc:defs.bzl", "cc_binary")
2load("//bazel:transitions.bzl", "platform_transition_binary")
3
4package(default_visibility = ["//visibility:public"])
5
6# Disabled targets need the user to supply a sysroot in `flake.nix` first.
7
8# platform_transition_binary(
9#     name = "cc_binary_aarch64-apple-darwin",
10#     binary = ":cc_binary",
11#     target_platform = "//bazel/platforms:aarch64-apple-darwin",
12# )
13
14# platform_transition_binary(
15#     name = "cc_binary_aarch64-apple-ios",
16#     binary = ":cc_binary",
17#     target_platform = "//bazel/platforms:aarch64-apple-ios",
18# )
19
20platform_transition_binary(
21    name = "cc_binary_aarch64-linux-android",
22    binary = ":cc_binary",
23    target_platform = "//bazel/platforms:aarch64-linux-android",
24)
25
26platform_transition_binary(
27    name = "cc_binary_aarch64-unknown-linux-gnu",
28    binary = ":cc_binary",
29    target_platform = "//bazel/platforms:aarch64-unknown-linux-gnu",
30)
31
32platform_transition_binary(
33    name = "cc_binary_wasm32-unknown-unknown",
34    binary = ":cc_binary",
35    target_platform = "//bazel/platforms:wasm32-unknown-unknown",
36)
37
38platform_transition_binary(
39    name = "cc_binary_wasm32-wasi",
40    binary = ":cc_binary",
41    target_platform = "//bazel/platforms:wasm32-wasi",
42)
43
44# platform_transition_binary(
45#     name = "cc_binary_x86_64-apple-darwin",
46#     binary = ":cc_binary",
47#     target_platform = "//bazel/platforms:x86_64-apple-darwin",
48# )
49
50# platform_transition_binary(
51#     name = "cc_binary_x86_64-pc-windows-msvc",
52#     binary = ":cc_binary",
53#     target_platform = "//bazel/platforms:x86_64-pc-windows-msvc",
54# )
55
56platform_transition_binary(
57    name = "cc_binary_x86_64-unknown-linux-gnu",
58    binary = ":cc_binary",
59    target_platform = "//bazel/platforms:x86_64-unknown-linux-gnu",
60)
61
62platform_transition_binary(
63    name = "cc_binary_x86_64-unknown-nixos-gnu",
64    binary = ":cc_binary",
65    target_platform = "//bazel/platforms:x86_64-unknown-nixos-gnu",
66)
67
68cc_binary(
69    name = "cc_binary",
70    srcs = select({
71        # See comment in `cc_binary_wasm32.cc`.
72        "@platforms//os:none": ["cc_binary_wasm32-unknown-unknown.cc"],
73        "//conditions:default": ["cc_binary.cc"],
74    }),
75    tags = ["platform_missing"],
76    deps = [
77        "//cc_library",
78        "//rust_library:rust_library_cc",
79    ],
80)
81