diff options
Diffstat (limited to 'src/main.cpp')
| -rw-r--r-- | src/main.cpp | 19 |
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) { |