From bb8a3e7e221c36effd528605a6eb8ecd0f8b22dd Mon Sep 17 00:00:00 2001
From: Pablo Lopez
Date: Fri, 20 Feb 2026 17:37:13 +0200
Subject: [PATCH] fix: add install_name for mac (#8)
not to hardcode the paths
---
ffi/internal/ffi_library.nim | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/ffi/internal/ffi_library.nim b/ffi/internal/ffi_library.nim
index 3f1b757..158e03e 100644
--- a/ffi/internal/ffi_library.nim
+++ b/ffi/internal/ffi_library.nim
@@ -30,7 +30,14 @@ macro declareLibrary*(libraryName: static[string]): untyped =
nnkExprColonExpr.newTree(ident"passl", newStrLitNode(soName))
)
)
-
+ elif defined(macosx):
+ ## Generates {.passl: "-install_name @rpath/libwaku.dylib".}
+ let installName = fmt"-install_name @rpath/lib{libraryName}.dylib"
+ res.add(
+ newNimNode(nnkPragma).add(
+ nnkExprColonExpr.newTree(ident"passl", newStrLitNode(installName))
+ )
+ )
## proc lib{libraryName}NimMain() {.importc.}
let libNimMainName = ident(fmt"lib{libraryName}NimMain")
let importcPragma = nnkPragma.newTree(ident"importc")