Gitignore zig crap
This commit is contained in:
@ -0,0 +1,66 @@
|
||||
load("@emsdk//emscripten_toolchain:wasm_rules.bzl", "wasm_cc_binary")
|
||||
|
||||
cc_binary(
|
||||
name = "hello-world",
|
||||
srcs = ["hello-world.cc"],
|
||||
)
|
||||
|
||||
wasm_cc_binary(
|
||||
name = "hello-world-wasm",
|
||||
cc_target = ":hello-world",
|
||||
outputs = [
|
||||
"hello-world.js",
|
||||
"hello-world.wasm",
|
||||
],
|
||||
)
|
||||
|
||||
BASE_LINKOPTS = [
|
||||
"--bind", # Enable embind
|
||||
"-sMODULARIZE",
|
||||
"--pre-js",
|
||||
"hello-embind-interface.js",
|
||||
]
|
||||
|
||||
RELEASE_OPTS = [
|
||||
"--closure=1", # Run the closure compiler
|
||||
# Tell closure about the externs file, so as not to minify our JS public API.
|
||||
"--closure-args=--externs=$(location hello-embind-externs.js)"
|
||||
]
|
||||
|
||||
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(
|
||||
name = "hello-embind",
|
||||
srcs = ["hello-embind.cc"],
|
||||
features = ["emcc_debug_link"],
|
||||
additional_linker_inputs = [
|
||||
"hello-embind-externs.js",
|
||||
"hello-embind-interface.js",
|
||||
],
|
||||
linkopts = select({
|
||||
":debug_opts": BASE_LINKOPTS + DEBUG_OPTS,
|
||||
":release_opts": BASE_LINKOPTS + RELEASE_OPTS,
|
||||
"//conditions:default": BASE_LINKOPTS + RELEASE_OPTS,
|
||||
}),
|
||||
# This target won't build successfully on its own because of missing emscripten
|
||||
# headers etc. Therefore, we hide it from wildcards.
|
||||
tags = ["manual"],
|
||||
)
|
||||
|
||||
wasm_cc_binary(
|
||||
name = "hello-embind-wasm",
|
||||
cc_target = ":hello-embind",
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user