summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAnatoly Galiulin <galiulin.anatoly@gmail.com>2016-12-16 14:26:47 +0700
committerAnatoly Galiulin <galiulin.anatoly@gmail.com>2016-12-16 14:26:47 +0700
commitb99f3743e7371cc2975d5b9a7a6b0cbb7eb7f742 (patch)
tree3ef02172b452f02d79f393eb31d420004b8529c0
parentaedafb99787d3613c6776bea625d9a43b2b7a8ea (diff)
downloadNim-b99f3743e7371cc2975d5b9a7a6b0cbb7eb7f742.tar.gz
Use ``out`` compiler option when linking static library
-rw-r--r--compiler/extccomp.nim10
1 files changed, 8 insertions, 2 deletions
diff --git a/compiler/extccomp.nim b/compiler/extccomp.nim
index 735b44028..402c9592e 100644
--- a/compiler/extccomp.nim
+++ b/compiler/extccomp.nim
@@ -659,8 +659,14 @@ proc compileCFile(list: TLinkedList, script: var Rope, cmds: var TStringSeq,
 
 proc getLinkCmd(projectfile, objfiles: string): string =
   if optGenStaticLib in gGlobalOptions:
-    let name = splitFile(gProjectName).name
-    result = CC[cCompiler].buildLib % ["libfile", (libNameTmpl() % name),
+    var libname: string
+    if options.outFile.len > 0:
+      libname = options.outFile.expandTilde
+      if not libname.isAbsolute():
+        libname = getCurrentDir() / libname
+    else:
+      libname = (libNameTmpl() % splitFile(gProjectName).name)
+    result = CC[cCompiler].buildLib % ["libfile", libname,
                                        "objfiles", objfiles]
   else:
     var linkerExe = getConfigVar(cCompiler, ".linkerexe")