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", ) cc_binary( name = "hello-embind", srcs = ["hello-embind.cc"], # It's probably a good idea to use select() and config_setting # to add different linkopts to BASE_LINKOPTS depending on things # like a "opt" or "dbg" compilation mode. linkopts = [ "--bind", # Enable embind "-sMODULARIZE", ], # 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", )