orca windows

This commit is contained in:
laytan
2024-06-05 19:28:40 +02:00
parent 8455e159f5
commit 08382cb05d
3 changed files with 10 additions and 8 deletions
+1 -1
View File
@@ -1080,7 +1080,7 @@ gb_global TargetMetrics target_orca_wasm32 = {
TargetOs_orca, TargetOs_orca,
TargetArch_wasm32, TargetArch_wasm32,
4, 4, 8, 16, 4, 4, 8, 16,
str_lit("wasm32-freestanding-js"), str_lit("wasm32-wasi-js"),
}; };
+4 -6
View File
@@ -72,12 +72,10 @@ gb_internal i32 linker_stage(LinkerData *gen) {
gbString extra_orca_flags = gb_string_make(temporary_allocator(), ""); gbString extra_orca_flags = gb_string_make(temporary_allocator(), "");
gbString inputs = gb_string_make(temporary_allocator(), ""); gbString inputs = gb_string_make(temporary_allocator(), "");
inputs = gb_string_append_fmt(inputs, "\"%.*s.o\"", LIT(output_filename)); inputs = gb_string_append_fmt(inputs, "\"%.*s.o\"", LIT(output_filename));
if (build_context.metrics.os == TargetOs_orca) { if (build_context.metrics.os == TargetOs_orca) {
// TODO: Orca windows.
gbString orca_sdk_path = gb_string_make(temporary_allocator(), ""); gbString orca_sdk_path = gb_string_make(temporary_allocator(), "");
if (!system_exec_command_line_app_output("orca sdk-path", &orca_sdk_path)) { if (!system_exec_command_line_app_output("orca sdk-path", &orca_sdk_path)) {
gb_printf_err("executing `orca sdk-path` failed, make sure Orca is installed and added to your path\n"); gb_printf_err("executing `orca sdk-path` failed, make sure Orca is installed and added to your path\n");
@@ -95,10 +93,10 @@ gb_internal i32 linker_stage(LinkerData *gen) {
#if defined(GB_SYSTEM_WINDOWS) #if defined(GB_SYSTEM_WINDOWS)
result = system_exec_command_line_app("wasm-ld", result = system_exec_command_line_app("wasm-ld",
"\"%.*s\\bin\\wasm-ld\" \"%.*s.o\" -o \"%.*s\" %.*s %.*s %.*s", "\"%.*s\\bin\\wasm-ld\" %s -o \"%.*s\" %.*s %.*s %s",
LIT(build_context.ODIN_ROOT), LIT(build_context.ODIN_ROOT),
LIT(output_filename), LIT(output_filename), LIT(build_context.link_flags), LIT(build_context.extra_linker_flags), inputs, LIT(output_filename), LIT(build_context.link_flags), LIT(build_context.extra_linker_flags),
LIT(extra_orca_flags)); extra_orca_flags);
#else #else
result = system_exec_command_line_app("wasm-ld", result = system_exec_command_line_app("wasm-ld",
"wasm-ld %s -o \"%.*s\" %.*s %.*s %s", "wasm-ld %s -o \"%.*s\" %.*s %.*s %s",
+5 -1
View File
@@ -155,7 +155,11 @@ gb_internal i32 system_exec_command_line_app(char const *name, char const *fmt,
return exit_code; return exit_code;
} }
// TODO: windows. #if defined(GB_SYSTEM_WINDOWS)
#define popen _popen
#define pclose _pclose
#endif
gb_internal bool system_exec_command_line_app_output(char const *command, gbString *output) { gb_internal bool system_exec_command_line_app_output(char const *command, gbString *output) {
GB_ASSERT(output); GB_ASSERT(output);