aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2024-03-19 16:56:46 +0000
committerMichael Williamson <mike@zwobble.org>2024-03-19 17:05:57 +0000
commit0908a609fc1ad35308796b0bad1e05d37bfdb331 (patch)
treeb949dd00ee0e2228862fce6fd3aacaa35be2a858 /src/main/java
parent1807d79af7cc070212d1cb307454bbcc6e132905 (diff)
Use Python script to build runtime
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/backends/llvm/LlvmBackend.java7
-rw-r--r--src/main/java/org/shedlang/compiler/backends/wasm/WasmBackend.java7
-rw-r--r--src/main/java/org/shedlang/compiler/filesystem/ShedCompilerFiles.java7
3 files changed, 15 insertions, 6 deletions
diff --git a/src/main/java/org/shedlang/compiler/backends/llvm/LlvmBackend.java b/src/main/java/org/shedlang/compiler/backends/llvm/LlvmBackend.java
index 6c0fb441..e000ccaf 100644
--- a/src/main/java/org/shedlang/compiler/backends/llvm/LlvmBackend.java
+++ b/src/main/java/org/shedlang/compiler/backends/llvm/LlvmBackend.java
@@ -145,9 +145,10 @@ public class LlvmBackend implements Backend {
clangArgs.add(input.toString());
}
- var runtimeDir = ShedCompilerFiles.getRoot()
- .resolve("runtime/target")
- .resolve(this.target.targetName());
+ var runtimeDir = ShedCompilerFiles.targetDir(
+ this.target.targetName(),
+ "mark-and-sweep"
+ );
clangArgs.add(runtimeDir.resolve("libpatio.a").toString());
clangArgs.add(runtimeDir.resolve("libshed.a").toString());
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 759e72e3..8c1f64f0 100644
--- a/src/main/java/org/shedlang/compiler/backends/wasm/WasmBackend.java
+++ b/src/main/java/org/shedlang/compiler/backends/wasm/WasmBackend.java
@@ -125,9 +125,10 @@ public class WasmBackend implements Backend {
ldArgs.add(input.toString());
}
- var runtimeDir = ShedCompilerFiles.getRoot()
- .resolve("runtime/target")
- .resolve(this.target.targetName());
+ var runtimeDir = ShedCompilerFiles.targetDir(
+ this.target.targetName(),
+ "mark-and-sweep"
+ );
ldArgs.add(runtimeDir.resolve("libpatio.a").toString());
ldArgs.add(runtimeDir.resolve("libshed.a").toString());
ldArgs.add(runtimeDir.resolve("libwalloc.a").toString());
diff --git a/src/main/java/org/shedlang/compiler/filesystem/ShedCompilerFiles.java b/src/main/java/org/shedlang/compiler/filesystem/ShedCompilerFiles.java
index 62e61567..5c195448 100644
--- a/src/main/java/org/shedlang/compiler/filesystem/ShedCompilerFiles.java
+++ b/src/main/java/org/shedlang/compiler/filesystem/ShedCompilerFiles.java
@@ -10,4 +10,11 @@ public class ShedCompilerFiles {
// TODO: don't assume we're in the project root
return Path.of(".");
}
+
+ public static Path targetDir(String targetName, String profileName) {
+ return getRoot()
+ .resolve("runtime/target")
+ .resolve(targetName)
+ .resolve(profileName);
+ }
}