diff options
author | Araq <rumpf_a@web.de> | 2013-04-08 16:38:49 +0200 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2013-04-08 16:38:49 +0200 |
commit | 5893a9195c10181392262bf1a541737c2e2a142f (patch) | |
tree | 73f8fd3d0766eaeb839b642c210fcfa4a23a39dd /compiler/pragmas.nim | |
parent | c4edcf3ea2fef970c3528f74cf3abb988a69e0e2 (diff) | |
download | Nim-5893a9195c10181392262bf1a541737c2e2a142f.tar.gz |
implemented --dynlibOverride option for static linking of 'dynlib'
Diffstat (limited to 'compiler/pragmas.nim')
-rw-r--r-- | compiler/pragmas.nim | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/compiler/pragmas.nim b/compiler/pragmas.nim index 8f06beecd..ba761739a 100644 --- a/compiler/pragmas.nim +++ b/compiler/pragmas.nim @@ -202,6 +202,8 @@ proc getLib(c: PContext, kind: TLibKind, path: PNode): PLib = result = newLib(kind) result.path = path Append(c.libs, result) + if path.kind in {nkStrLit..nkTripleStrLit}: + result.isOverriden = options.isDynLibOverride(path.strVal) proc expectDynlibNode(c: PContext, n: PNode): PNode = if n.kind != nkExprColonExpr: @@ -225,8 +227,9 @@ proc processDynLib(c: PContext, n: PNode, sym: PSym) = else: if n.kind == nkExprColonExpr: var lib = getLib(c, libDynamic, expectDynlibNode(c, n)) - addToLib(lib, sym) - incl(sym.loc.flags, lfDynamicLib) + if not lib.isOverriden: + addToLib(lib, sym) + incl(sym.loc.flags, lfDynamicLib) else: incl(sym.loc.flags, lfExportLib) # since we'll be loading the dynlib symbols dynamically, we must use |