summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2019-07-12 10:48:29 +0200
committerAraq <rumpf_a@web.de>2019-07-12 10:48:29 +0200
commit6d125da93f54a681561ffd428ac0b6aeb132aefd (patch)
tree3f77c52281fa76f8f0b8d3493b03315188644d71
parent13253f41544404c614e70d7ad312b54d0e424e55 (diff)
downloadNim-6d125da93f54a681561ffd428ac0b6aeb132aefd.tar.gz
koch/nim: completion of the 'better run' feature
-rw-r--r--compiler/extccomp.nim2
-rw-r--r--compiler/main.nim2
-rw-r--r--koch.nim6
3 files changed, 6 insertions, 4 deletions
diff --git a/compiler/extccomp.nim b/compiler/extccomp.nim
index aeb427a05..76b31cc4d 100644
--- a/compiler/extccomp.nim
+++ b/compiler/extccomp.nim
@@ -1023,7 +1023,7 @@ proc writeJsonBuildInstructions*(conf: ConfigRef) =
     lit "],\L\"linkcmd\": "
     str getLinkCmd(conf, conf.absOutFile, objfiles)
 
-    if optRun in conf.globalOptions:
+    if optRun in conf.globalOptions or isDefined(conf, "nimBetterRun"):
       lit ",\L\"nimfiles\":[\L"
       nimfiles(conf, f)
       lit "]\L"
diff --git a/compiler/main.nim b/compiler/main.nim
index 26c1999e6..c16afafbe 100644
--- a/compiler/main.nim
+++ b/compiler/main.nim
@@ -87,7 +87,7 @@ proc commandCompileToC(graph: ModuleGraph) =
   semanticPasses(graph)
   registerPass(graph, cgenPass)
 
-  if {optRun, optForceFullMake} * conf.globalOptions == {optRun}:
+  if {optRun, optForceFullMake} * conf.globalOptions == {optRun} or isDefined(conf, "nimBetterRun"):
     let proj = changeFileExt(conf.projectFull, "")
     if not changeDetectedViaJsonBuildInstructions(conf, proj):
       # nothing changed
diff --git a/koch.nim b/koch.nim
index bb8e57c45..8845ba85e 100644
--- a/koch.nim
+++ b/koch.nim
@@ -443,10 +443,12 @@ proc temp(args: string) =
   var finalDest = d / "bin" / "nim_temp".exe
   # 125 is the magic number to tell git bisect to skip the current commit.
   var (bootArgs, programArgs) = splitArgs(args)
-  if "doc" notin programArgs and "threads" notin programArgs and "js" notin programArgs:
+  if "doc" notin programArgs and
+      "threads" notin programArgs and
+      "js" notin programArgs:
     bootArgs.add " -d:leanCompiler"
   let nimexec = findNim()
-  exec(nimexec & " c -d:debug --debugger:native " & bootArgs & " " & (d / "compiler" / "nim"), 125)
+  exec(nimexec & " c -d:debug --debugger:native -d:nimBetterRun " & bootArgs & " " & (d / "compiler" / "nim"), 125)
   copyExe(output, finalDest)
   setCurrentDir(origDir)
   if programArgs.len > 0: exec(finalDest & " " & programArgs)