summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--compiler/installer.ini6
-rw-r--r--tools/niminst/niminst.nim8
2 files changed, 10 insertions, 4 deletions
diff --git a/compiler/installer.ini b/compiler/installer.ini
index acc82002d..40050a2f7 100644
--- a/compiler/installer.ini
+++ b/compiler/installer.ini
@@ -89,8 +89,6 @@ Files: "bin/c2nim.exe"
 Files: "bin/nimgrep.exe"
 Files: "bin/nimsuggest.exe"
 Files: "bin/nimble.exe"
-Files: "bin/makelink.exe"
-Files: "bin/*.dll"
 
 Files: "koch.exe"
 Files: "finish.exe"
@@ -105,6 +103,10 @@ Download: r"Support DLLs|bin|nim_dlls.zip|479|http://nim-lang.org/download/dlls.
 Download: r"Aporia Text Editor|dist|aporia.zip|97997|http://nim-lang.org/download/aporia-0.4.0.zip|aporia-0.4.0\bin\aporia.exe"
 ; for now only NSIS supports optional downloads
 
+[WinBin]
+Files: "$NIMINSTDEPS/makelink.exe"
+Files: "$NIMINSTDEPS/*.dll"
+
 [UnixBin]
 Files: "bin/nim"
 
diff --git a/tools/niminst/niminst.nim b/tools/niminst/niminst.nim
index ff9d8881d..66ea52447 100644
--- a/tools/niminst/niminst.nim
+++ b/tools/niminst/niminst.nim
@@ -313,7 +313,7 @@ proc parseIniFile(c: var ConfigData) =
       of cfgSectionStart:
         section = normalize(k.section)
       of cfgKeyValuePair:
-        var v = k.value % c.vars
+        var v = `%`(k.value, c.vars, {useEnvironment})
         c.vars[k.key] = v
 
         case section
@@ -621,7 +621,7 @@ proc xzDist(c: var ConfigData; windowsZip=false) =
   let proj = toLowerAscii(c.name) & "-" & c.version
   let tmpDir = if c.outdir.len == 0: "build" else: c.outdir
 
-  template processFile(destFile, src) =
+  proc processFile(destFile, src: string) =
     let dest = tmpDir / destFile
     echo "Copying ", src, " to ", dest
     if not existsFile(src):
@@ -648,6 +648,10 @@ proc xzDist(c: var ConfigData; windowsZip=false) =
         var dir = buildDir(osA, cpuA)
         for k, f in walkDir("build" / dir):
           if k == pcFile: processFile(proj / dir / extractFilename(f), f)
+  else:
+    for f in items(c.cat[fcWinBin]):
+      let filename = f.extractFilename
+      processFile(proj / "bin" / filename, f)
 
   let osSpecific = if windowsZip: fcWindows else: fcUnix
   for cat in items({fcConfig..fcOther, osSpecific, fcNimble}):