aboutsummaryrefslogtreecommitdiff
path: root/src/server/build.odin
diff options
context:
space:
mode:
authorDanielGavin <danielgavin5@hotmail.com>2024-05-02 20:57:16 +0200
committerDanielGavin <danielgavin5@hotmail.com>2024-05-02 20:57:16 +0200
commitdb1941ff2fe38dea52ad522566c75fc861ddabc1 (patch)
treeb07f6ea0482c2d97365894e2c7af03c449dc0eb3 /src/server/build.odin
parent49a63471d91120a23ec86f1621e99155d1be55c2 (diff)
Use filepath.abs on ols executable path
Diffstat (limited to 'src/server/build.odin')
-rw-r--r--src/server/build.odin17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/server/build.odin b/src/server/build.odin
index 9d0d550..aca1796 100644
--- a/src/server/build.odin
+++ b/src/server/build.odin
@@ -75,8 +75,12 @@ try_build_package :: proc(pkg_name: string) {
return
}
- arena: runtime.Arena
- result := runtime.arena_init(&arena, mem.Megabyte * 40, runtime.default_allocator())
+ arena: runtime.Arena
+ result := runtime.arena_init(
+ &arena,
+ mem.Megabyte * 40,
+ runtime.default_allocator(),
+ )
defer runtime.arena_destroy(&arena)
{
@@ -156,7 +160,14 @@ setup_index :: proc() {
)
indexer.index = make_memory_index(symbol_collection)
- dir_exe := path.dir(os.args[0])
+ dir_exe, ok := filepath.abs(path.dir(os.args[0], context.temp_allocator))
+
+ if !ok {
+ log.error(
+ "Failed to find ols executable path to build the builtin packages",
+ )
+ return
+ }
try_build_package(path.join({dir_exe, "builtin"}))
}