diff options
-rw-r--r-- | compiler/extccomp.nim | 14 | ||||
-rw-r--r-- | compiler/pragmas.nim | 6 | ||||
-rw-r--r-- | install_nimble.nims | 2 | ||||
-rw-r--r-- | install_tools.nims | 2 | ||||
-rw-r--r-- | lib/system.nim | 2 | ||||
-rw-r--r-- | tools/niminst/niminst.nim | 10 | ||||
-rw-r--r-- | tools/niminst/nsis.tmpl | 2 |
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 |