diff --git a/bazel/emscripten_toolchain/BUILD.bazel b/bazel/emscripten_toolchain/BUILD.bazel index 3cd086064e..a5c4d69c8d 100644 --- a/bazel/emscripten_toolchain/BUILD.bazel +++ b/bazel/emscripten_toolchain/BUILD.bazel @@ -12,6 +12,14 @@ filegroup( ], ) +py_binary( + name = "emcc_compile", + main = "emscripten/emcc.py", + srcs = [ + "@emscripten_bin_linux//:emscripten/emcc.py", + ], +) + filegroup( name = "compiler_files", srcs = [ @@ -19,6 +27,7 @@ filegroup( "emcc.bat", "@emsdk//:compiler_files", ":common_files", + ":emcc_compile" ], ) @@ -66,6 +75,7 @@ emscripten_cc_toolchain_config_rule( "@bazel_tools//src/conditions:host_windows": "bat", "//conditions:default": "sh", }), + emcc = ":emcc_compile", ) cc_toolchain( diff --git a/bazel/emscripten_toolchain/toolchain.bzl b/bazel/emscripten_toolchain/toolchain.bzl index c3c9f43347..b1e510416c 100644 --- a/bazel/emscripten_toolchain/toolchain.bzl +++ b/bazel/emscripten_toolchain/toolchain.bzl @@ -81,7 +81,7 @@ def _impl(ctx): ################################################################ # Tools ################################################################ - clang_tool = tool(path = emcc_script) + clang_tool = tool(tool = ctx.executable.emcc) clif_match_tool = tool(path = "dummy_clif_matcher") link_tool = tool(path = emcc_link_script) archive_tool = tool(path = emar_script) @@ -1135,6 +1135,7 @@ emscripten_cc_toolchain_config_rule = rule( "em_config": attr.label(mandatory = True, allow_single_file = True), "emscripten_binaries": attr.label(mandatory = True, cfg = "exec"), "script_extension": attr.string(mandatory = True, values = ["sh", "bat"]), + "emcc": attr.label(mandatory = True, executable = True, allow_files = True, cfg = "exec"), }, provides = [CcToolchainConfigInfo], )