summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--compiler/extccomp.nim14
-rw-r--r--compiler/pragmas.nim6
-rw-r--r--install_nimble.nims2
-rw-r--r--install_tools.nims2
-rw-r--r--lib/system.nim2
-rw-r--r--tools/niminst/niminst.nim10
-rw-r--r--tools/niminst/nsis.tmpl2
7 files changed, 24 insertions, 14 deletions
diff --git a/compiler/extccomp.nim b/compiler/extccomp.nim
index fd223388e..8ca34223b 100644
--- a/compiler/extccomp.nim
+++ b/compiler/extccomp.nim
@@ -658,16 +658,16 @@ proc externalFileChanged(cfile: Cfile): bool =
       f.writeLine($currentHash)
       close(f)
 
+proc addExternalFileToCompile*(c: var Cfile) =
+  if optForceFullMake notin gGlobalOptions and not externalFileChanged(c):
+    c.flags.incl CfileFlag.Cached
+  toCompile.add(c)
+
 proc addExternalFileToCompile*(filename: string) =
-  let c = Cfile(cname: filename,
+  var c = Cfile(cname: filename,
     obj: toObjFile(completeCFilePath(changeFileExt(filename, ""), false)),
     flags: {CfileFlag.External})
-  if optForceFullMake in gGlobalOptions or externalFileChanged(c):
-    toCompile.add(c)
-
-proc addExternalFileToCompile*(c: Cfile) =
-  if optForceFullMake in gGlobalOptions or externalFileChanged(c):
-    toCompile.add(c)
+  addExternalFileToCompile(c)
 
 proc compileCFile(list: CFileList, script: var Rope, cmds: var TStringSeq,
                   prettyCmds: var TStringSeq) =
diff --git a/compiler/pragmas.nim b/compiler/pragmas.nim
index 3808b8f58..e750cc390 100644
--- a/compiler/pragmas.nim
+++ b/compiler/pragmas.nim
@@ -419,8 +419,10 @@ proc processCompile(c: PContext, n: PNode) =
     var found = parentDir(n.info.toFullPath) / s
     for f in os.walkFiles(found):
       let nameOnly = extractFilename(f)
-      extccomp.addExternalFileToCompile(Cfile(cname: f,
-          obj: dest % nameOnly, flags: {CfileFlag.External}))
+      var cf = Cfile(cname: f,
+          obj: completeCFilePath(dest % nameOnly),
+          flags: {CfileFlag.External})
+      extccomp.addExternalFileToCompile(cf)
   else:
     let s = expectStrLit(c, n)
     var found = parentDir(n.info.toFullPath) / s
diff --git a/install_nimble.nims b/install_nimble.nims
index e1b665d58..29d89bec8 100644
--- a/install_nimble.nims
+++ b/install_nimble.nims
@@ -3,4 +3,4 @@ mode = ScriptMode.Verbose
 
 echo "This script is deprecated. Use 'koch nimble' instead."
 
-exec "koch nimble"
+exec "./koch nimble"
diff --git a/install_tools.nims b/install_tools.nims
index e7f0aee2c..b0307196c 100644
--- a/install_tools.nims
+++ b/install_tools.nims
@@ -3,4 +3,4 @@ mode = ScriptMode.Verbose
 
 echo "This script is deprecated. Use 'koch tools' instead."
 
-exec "koch tools"
+exec "./koch tools"
diff --git a/lib/system.nim b/lib/system.nim
index 86edccfe9..75014ff26 100644
--- a/lib/system.nim
+++ b/lib/system.nim
@@ -1850,7 +1850,7 @@ const
   NimMinor*: int = 16
     ## is the minor number of Nim's version.
 
-  NimPatch*: int = 0
+  NimPatch*: int = 1
     ## is the patch number of Nim's version.
 
   NimVersion*: string = $NimMajor & "." & $NimMinor & "." & $NimPatch
diff --git a/tools/niminst/niminst.nim b/tools/niminst/niminst.nim
index 76f384fc1..4478151be 100644
--- a/tools/niminst/niminst.nim
+++ b/tools/niminst/niminst.nim
@@ -669,7 +669,15 @@ proc xzDist(c: var ConfigData; windowsZip=false) =
     try:
       if windowsZip:
         if execShellCmd("7z a -tzip $1.zip $1" % proj) != 0:
-          echo("External program failed")
+          echo("External program failed (zip)")
+        when false:
+          writeFile("config.txt", """;!@Install@!UTF-8!
+Title="Nim v$1"
+BeginPrompt="Do you want to configure Nim v$1?"
+RunProgram="tools\downloader.exe"
+;!@InstallEnd@!""" % NimVersion)
+          if execShellCmd("7z a -sfx7zS2.sfx -t7z $1.exe $1" % proj) != 0:
+            echo("External program failed (7z)")
       else:
         if execShellCmd("XZ_OPT=-9 gtar Jcf $1.tar.xz $1 --exclude=.DS_Store" %
                         proj) != 0:
diff --git a/tools/niminst/nsis.tmpl b/tools/niminst/nsis.tmpl
index 95d4652e3..f4eb1d0cd 100644
--- a/tools/niminst/nsis.tmpl
+++ b/tools/niminst/nsis.tmpl
@@ -258,7 +258,7 @@
 
   Function .onInit
     ${GetRoot} "$EXEDIR" $R0
-    ;strCpy $INSTDIR "$R0\?{c.name}"
+    strCpy $INSTDIR "$R0\?{c.name}"
   FunctionEnd