Skip to content

Commit

Permalink
koch.nim: Make bootstrapping in C++ mode robust
Browse files Browse the repository at this point in the history
  • Loading branch information
Araq committed Jan 16, 2019
1 parent 8947779 commit 2039dad
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions koch.nim
Original file line number Diff line number Diff line change
Expand Up @@ -277,14 +277,16 @@ proc boot(args: string) =
var output = "compiler" / "nim".exe
var finalDest = "bin" / "nim".exe
# default to use the 'c' command:
let defaultCommand = if getEnv("NIM_COMPILE_TO_CPP", "false") == "true": "cpp" else: "c"
let bootOptions = if args.len == 0 or args.startsWith("-"): defaultCommand else: ""
echo "boot: defaultCommand: ", defaultCommand, " bootOptions: ", bootOptions
let useCpp = getEnv("NIM_COMPILE_TO_CPP", "false") == "true"
let smartNimcache = (if "release" in args: "nimcache/r_" else: "nimcache/d_") &
hostOs & "_" & hostCpu

copyExe(findStartNim(), 0.thVersion)
for i in 0..2:
for i in 0..2+ord(useCpp):
# do the first iteration in C mode in order to avoid problem #10315:
let defaultCommand = if useCpp and i > 0: "cpp" else: "c"
let bootOptions = if args.len == 0 or args.startsWith("-"): defaultCommand else: ""

echo "iteration: ", i+1
let extraOption = if i == 0:
"--skipUserCfg --skipParentCfg"
Expand Down

0 comments on commit 2039dad

Please sign in to comment.