diff options
Diffstat (limited to 'compiler/nimeval.nim')
-rw-r--r-- | compiler/nimeval.nim | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/compiler/nimeval.nim b/compiler/nimeval.nim index 09d1eb1da..11e899cae 100644 --- a/compiler/nimeval.nim +++ b/compiler/nimeval.nim @@ -81,6 +81,9 @@ proc findNimStdLib*(): string = ## Returns "" on failure. try: let nimexe = os.findExe("nim") + # this can't work with choosenim shims, refs https://github.com/dom96/choosenim/issues/189 + # it'd need `nim dump --dump.format:json . | jq -r .libpath` + # which we should simplify as `nim dump --key:libpath` if nimexe.len == 0: return "" result = nimexe.splitPath()[0] /../ "lib" if not fileExists(result / "system.nim"): @@ -93,8 +96,8 @@ proc findNimStdLib*(): string = proc findNimStdLibCompileTime*(): string = ## Same as ``findNimStdLib`` but uses source files used at compile time, ## and asserts on error. - const sourcePath = currentSourcePath() - result = sourcePath.parentDir.parentDir / "lib" + const exe = getCurrentCompilerExe() + result = exe.splitFile.dir.parentDir / "lib" doAssert fileExists(result / "system.nim"), "result:" & result proc createInterpreter*(scriptName: string; |