aboutsummaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 92e541384..fad749e34 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -135,13 +135,20 @@ i32 linker_stage(lbGenerator *gen) {
if (is_arch_wasm()) {
timings_start_section(timings, str_lit("wasm-ld"));
- result = system_exec_command_line_app("wasm-ld",
- "\"%.*s\\bin\\wasm-ld\" \"%.*s.wasm-obj\" -o \"%.*s.wasm\" %.*s %.*s",
- LIT(build_context.ODIN_ROOT),
- LIT(output_base), LIT(output_base), LIT(build_context.link_flags), LIT(build_context.extra_linker_flags));
- if (result) {
- return result;
+
+ if (build_context.metrics.arch == TargetArch_wasm32) {
+ result = system_exec_command_line_app("wasm-ld",
+ "\"%.*s\\bin\\wasm-ld\" \"%.*s.wasm.o\" -o \"%.*s.wasm\" %.*s %.*s",
+ LIT(build_context.ODIN_ROOT),
+ LIT(output_base), LIT(output_base), LIT(build_context.link_flags), LIT(build_context.extra_linker_flags));
+ } else {
+ GB_ASSERT(build_context.metrics.arch == TargetArch_wasm64);
+ result = system_exec_command_line_app("wasm-ld",
+ "\"%.*s\\bin\\wasm-ld\" \"%.*s.wasm.o\" -o \"%.*s.wasm\" %.*s %.*s",
+ LIT(build_context.ODIN_ROOT),
+ LIT(output_base), LIT(output_base), LIT(build_context.link_flags), LIT(build_context.extra_linker_flags));
}
+ return result;
}
if (build_context.cross_compiling && selected_target_metrics->metrics == &target_essence_amd64) {