Update build_bazel_rules_nodejs to fix closure compiles (#912)

* Update build_bazel_rules_nodejs to fix closure compiles

* Fix spacing in update_bazel_workspace.sh script

* space
This commit is contained in:
Kevin Lubick
2021-10-19 17:44:48 -04:00
committed by GitHub
parent f8615b4782
commit 40882443a1
3 changed files with 33 additions and 10 deletions

View File

@@ -6,6 +6,6 @@ def deps():
if "build_bazel_rules_nodejs" not in excludes: if "build_bazel_rules_nodejs" not in excludes:
http_archive( http_archive(
name = "build_bazel_rules_nodejs", name = "build_bazel_rules_nodejs",
sha256 = "0f2de53628e848c1691e5729b515022f5a77369c76a09fbe55611e12731c90e3", sha256 = "4501158976b9da216295ac65d872b1be51e3eeb805273e68c516d2eb36ae1fbb",
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/2.0.1/rules_nodejs-2.0.1.tar.gz"], urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.4.1/rules_nodejs-4.4.1.tar.gz"],
) )

View File

@@ -10,16 +10,37 @@ wasm_cc_binary(
cc_target = ":hello-world", cc_target = ":hello-world",
) )
BASE_LINKOPTS = [
"--bind", # Enable embind
"-sMODULARIZE",
]
RELEASE_OPTS = [
"--closure 1", # Run the closure compiler
]
DEBUG_OPTS = [
"--closure 0", # Do not use closure
]
config_setting(
name = "release_opts",
values = {"compilation_mode": "opt"},
)
config_setting(
name = "debug_opts",
values = {"compilation_mode": "dbg"},
)
cc_binary( cc_binary(
name = "hello-embind", name = "hello-embind",
srcs = ["hello-embind.cc"], srcs = ["hello-embind.cc"],
# It's probably a good idea to use select() and config_setting linkopts = select({
# to add different linkopts to BASE_LINKOPTS depending on things ":debug_opts": BASE_LINKOPTS + DEBUG_OPTS,
# like a "opt" or "dbg" compilation mode. ":release_opts": BASE_LINKOPTS + RELEASE_OPTS,
linkopts = [ "//conditions:default": BASE_LINKOPTS + RELEASE_OPTS,
"--bind", # Enable embind }),
"-sMODULARIZE",
],
# This target won't build successfully on its own because of missing emscripten # This target won't build successfully on its own because of missing emscripten
# headers etc. Therefore, we hide it from wildcards. # headers etc. Therefore, we hide it from wildcards.
tags = ["manual"], tags = ["manual"],

View File

@@ -26,4 +26,6 @@ bazel build //hello-world:hello-world-wasm-simd
cd test_external cd test_external
bazel build //:hello-world-wasm bazel build //:hello-world-wasm
bazel build //:hello-embind-wasm bazel build //:hello-embind-wasm --compilation_mode dbg # debug
# Test use of the closure compiler
bazel build //:hello-embind-wasm --compilation_mode opt # release