aboutsummaryrefslogtreecommitdiff
path: root/src/linker.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2024-05-30 21:58:27 +0100
committergingerBill <bill@gingerbill.org>2024-05-30 21:58:27 +0100
commite737122ce8c6273af7480635d4d113cf7a049914 (patch)
treedc7ce1b9247a1646a81126545e3ff2207c0a4188 /src/linker.cpp
parent8db87170a9f491145cb10a69e52c6c2674efdf71 (diff)
Add experimental target `orca_wasm32`
Diffstat (limited to 'src/linker.cpp')
-rw-r--r--src/linker.cpp20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/linker.cpp b/src/linker.cpp
index c41f10593..b699c0dfb 100644
--- a/src/linker.cpp
+++ b/src/linker.cpp
@@ -69,15 +69,27 @@ gb_internal i32 linker_stage(LinkerData *gen) {
if (is_arch_wasm()) {
timings_start_section(timings, str_lit("wasm-ld"));
+ String extra_orca_flags = {};
+
#if defined(GB_SYSTEM_WINDOWS)
+ if (build_context.metrics.os == TargetOs_orca) {
+ extra_orca_flags = str_lit(" W:/orca/installation/dev-afb9591/bin/liborca_wasm.a --export-dynamic");
+ }
+
result = system_exec_command_line_app("wasm-ld",
- "\"%.*s\\bin\\wasm-ld\" \"%.*s.o\" -o \"%.*s\" %.*s %.*s",
+ "\"%.*s\\bin\\wasm-ld\" \"%.*s.o\" -o \"%.*s\" %.*s %.*s %.*s",
LIT(build_context.ODIN_ROOT),
- LIT(output_filename), LIT(output_filename), LIT(build_context.link_flags), LIT(build_context.extra_linker_flags));
+ LIT(output_filename), LIT(output_filename), LIT(build_context.link_flags), LIT(build_context.extra_linker_flags),
+ LIT(extra_orca_flags));
#else
+ if (build_context.metrics.os == TargetOs_orca) {
+ extra_orca_flags = str_lit(" -L . -lorca --export-dynamic");
+ }
+
result = system_exec_command_line_app("wasm-ld",
- "wasm-ld \"%.*s.o\" -o \"%.*s\" %.*s %.*s",
- LIT(output_filename), LIT(output_filename), LIT(build_context.link_flags), LIT(build_context.extra_linker_flags));
+ "wasm-ld \"%.*s.o\" -o \"%.*s\" %.*s %.*s %.*s",
+ LIT(output_filename), LIT(output_filename), LIT(build_context.link_flags), LIT(build_context.extra_linker_flags),
+ LIT(extra_orca_flags));
#endif
return result;
}