• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1load("@rules_cc//cc:defs.bzl", "cc_toolchain")
2load(":dummy_cc_toolchain.bzl", "dummy_cc_config", "dummy_cc_toolchain")
3
4dummy_cc_toolchain(name = "dummy_cc_wasm32")
5
6# When compiling Rust code for wasm32, we avoid linking to cpp code so we introduce a dummy cc
7# toolchain since we know we'll never look it up.
8# TODO(jedmonds@spotify.com): Need to support linking C code to rust code when compiling for wasm32.
9toolchain(
10    name = "dummy_cc_wasm32_toolchain",
11    target_compatible_with = ["//rust/platform/cpu:wasm32"],
12    toolchain = ":dummy_cc_wasm32_toolchain_cc",
13    toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
14)
15
16cc_toolchain(
17    name = "dummy_cc_wasm32_toolchain_cc",
18    all_files = ":empty",
19    compiler_files = ":empty",
20    dwp_files = ":empty",
21    linker_files = ":empty",
22    objcopy_files = ":empty",
23    strip_files = ":empty",
24    supports_param_files = 0,
25    toolchain_config = ":cc_toolchain_config",
26    toolchain_identifier = "dummy_wasm32_cc",
27)
28
29dummy_cc_config(
30    name = "cc_toolchain_config",
31)
32
33filegroup(
34    name = "empty",
35    srcs = [],
36    visibility = ["//:__subpackages__"],
37)
38