Use emsdk as external bazel dependency (#766)
* Makes provided bazel rules look up @emsdk workspace instead of local workspace * Uses system-specific emscripten binaries instead of defaulting to linux * Provides macros for loading emsdk dependencies (nodejs and emscripten binaries) * Unhardcodes paths in bazel rules and .sh wrappers * `update_bazel_workspace.sh` now updates `revisions.bzl` * `emscripten_deps()` can be fed with specific emscripten version * Adds external usage test Addresses #650 and #696
This commit is contained in:
44
bazel/BUILD
Normal file
44
bazel/BUILD
Normal file
@@ -0,0 +1,44 @@
|
||||
package(default_visibility = ['//visibility:public'])
|
||||
|
||||
config_setting(
|
||||
name = "linux",
|
||||
constraint_values = [
|
||||
"@platforms//os:linux",
|
||||
"@platforms//cpu:x86_64",
|
||||
],
|
||||
)
|
||||
|
||||
config_setting(
|
||||
name = "macos",
|
||||
constraint_values = [
|
||||
"@platforms//os:macos",
|
||||
"@platforms//cpu:x86_64",
|
||||
],
|
||||
)
|
||||
|
||||
config_setting(
|
||||
name = "windows",
|
||||
constraint_values = [
|
||||
"@platforms//os:windows",
|
||||
"@platforms//cpu:x86_64",
|
||||
],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "binaries",
|
||||
actual = select({
|
||||
":linux": "@emscripten_bin_linux//:all",
|
||||
":macos": "@emscripten_bin_mac//:all",
|
||||
":windows": "@emscripten_bin_win//:all",
|
||||
}),
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "node_modules",
|
||||
actual = select({
|
||||
":linux": "@emscripten_npm_linux//:node_modules",
|
||||
":macos": "@emscripten_npm_mac//:node_modules",
|
||||
":windows": "@emscripten_npm_win//:node_modules",
|
||||
}),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user