wasm_cc_binary: Specify a default OS. Allow users to override platform. (#1262)
* wasm_cc_binary: Specify a default OS. Allow users to override platform. Problem: https://github.com/proxy-wasm/proxy-wasm-cpp-sdk/pull/157#discussion_r1277763118 This is solving the problem in two different ways. Please let me know your thoughts about both approaches, as either will work. Signed-off-by: Martijn Stevenson <mstevenson@google.com> * Rework platform selection to trigger os:wasi off standalone attr Signed-off-by: Martijn Stevenson <mstevenson@google.com> --------- Signed-off-by: Martijn Stevenson <mstevenson@google.com>
This commit is contained in:
@@ -84,3 +84,11 @@ platform(
|
|||||||
"@platforms//cpu:wasm32",
|
"@platforms//cpu:wasm32",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
platform(
|
||||||
|
name = "platform_wasi",
|
||||||
|
constraint_values = [
|
||||||
|
"@platforms//cpu:wasm32",
|
||||||
|
"@platforms//os:wasi",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|||||||
@@ -25,7 +25,9 @@ def _wasm_transition_impl(settings, attr):
|
|||||||
if attr.simd:
|
if attr.simd:
|
||||||
features.append("wasm_simd")
|
features.append("wasm_simd")
|
||||||
|
|
||||||
|
platform = "@emsdk//:platform_wasm"
|
||||||
if attr.standalone:
|
if attr.standalone:
|
||||||
|
platform = "@emsdk//:platform_wasi"
|
||||||
features.append("wasm_standalone")
|
features.append("wasm_standalone")
|
||||||
|
|
||||||
return {
|
return {
|
||||||
@@ -35,7 +37,7 @@ def _wasm_transition_impl(settings, attr):
|
|||||||
"//command_line_option:features": features,
|
"//command_line_option:features": features,
|
||||||
"//command_line_option:dynamic_mode": "off",
|
"//command_line_option:dynamic_mode": "off",
|
||||||
"//command_line_option:linkopt": linkopts,
|
"//command_line_option:linkopt": linkopts,
|
||||||
"//command_line_option:platforms": ["@emsdk//:platform_wasm"],
|
"//command_line_option:platforms": [platform],
|
||||||
"//command_line_option:custom_malloc": "@emsdk//emscripten_toolchain:malloc",
|
"//command_line_option:custom_malloc": "@emsdk//emscripten_toolchain:malloc",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user