diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-12-26 20:52:06 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-12-26 20:52:06 +0000 |
| commit | f0ee4f2251f02bdba1243a39f5c1ea639b86c4df (patch) | |
| tree | 47ff79030a1105a5c4845b7f6c5755952fff57ba /src/main/java | |
| parent | b575763e87d750d4330e6e2b1bedc7f28e8342de (diff) | |
Set correct linker flags for wasm64
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/org/shedlang/compiler/backends/wasm/WasmBackend.java | 2 | ||||
| -rw-r--r-- | src/main/java/org/shedlang/compiler/backends/wasm/WasmTarget.java | 14 |
2 files changed, 13 insertions, 3 deletions
diff --git a/src/main/java/org/shedlang/compiler/backends/wasm/WasmBackend.java b/src/main/java/org/shedlang/compiler/backends/wasm/WasmBackend.java index ba309994..cf30d1c7 100644 --- a/src/main/java/org/shedlang/compiler/backends/wasm/WasmBackend.java +++ b/src/main/java/org/shedlang/compiler/backends/wasm/WasmBackend.java @@ -82,6 +82,8 @@ public class WasmBackend implements Backend { var ldArgs = new ArrayList<String>(); ldArgs.add("wasm-ld-16"); + ldArgs.addAll(this.target.linkerFlags()); + ldArgs.add("-o"); ldArgs.add(target.toString()); diff --git a/src/main/java/org/shedlang/compiler/backends/wasm/WasmTarget.java b/src/main/java/org/shedlang/compiler/backends/wasm/WasmTarget.java index 7157e946..ac094c92 100644 --- a/src/main/java/org/shedlang/compiler/backends/wasm/WasmTarget.java +++ b/src/main/java/org/shedlang/compiler/backends/wasm/WasmTarget.java @@ -1,16 +1,24 @@ package org.shedlang.compiler.backends.wasm; +import java.util.List; + public enum WasmTarget { - WASM32("wasm32"), - WASM64("wasm64"); + WASM32("wasm32", List.of()), + WASM64("wasm64", List.of("-mwasm64")); private final String targetName; + private final List<String> linkerFlags; - WasmTarget(String name) { + WasmTarget(String name, List<String> linkerFlags) { this.targetName = name; + this.linkerFlags = linkerFlags; } public String targetName() { return targetName; } + + public List<String> linkerFlags() { + return linkerFlags; + } } |
