fix #18334: handle path with spaces on windows during bootstrap (#18337)

This commit is contained in:
Timothee Cour
2021-06-24 00:58:11 -07:00
committed by GitHub
parent f258e4e70c
commit 55c1953f63
2 changed files with 16 additions and 13 deletions

View File

@@ -7,21 +7,24 @@
# distribution, for details about the copyright.
#
when defined(gcc) and defined(windows):
when defined(x86):
{.link: "../icons/nim.res".}
else:
{.link: "../icons/nim_icon.o".}
import std/[os, strutils, parseopt]
when defined(windows) and not defined(nimKochBootstrap):
# remove workaround pending bootstrap >= 1.5.1
# refs https://github.com/nim-lang/Nim/issues/18334#issuecomment-867114536
# alternative would be to prepend `currentSourcePath.parentDir.quoteShell`
when defined(gcc):
when defined(x86):
{.link: "../icons/nim.res".}
else:
{.link: "../icons/nim_icon.o".}
when defined(amd64) and defined(windows) and defined(vcc):
{.link: "../icons/nim-amd64-windows-vcc.res".}
when defined(i386) and defined(windows) and defined(vcc):
{.link: "../icons/nim-i386-windows-vcc.res".}
when defined(amd64) and defined(vcc):
{.link: "../icons/nim-amd64-windows-vcc.res".}
when defined(i386) and defined(vcc):
{.link: "../icons/nim-i386-windows-vcc.res".}
import
commands, options, msgs,
extccomp, strutils, os, main, parseopt,
idents, lineinfos, cmdlinehelper,
commands, options, msgs, extccomp, main, idents, lineinfos, cmdlinehelper,
pathutils, modulegraphs
from browsers import openDefaultBrowser

View File

@@ -308,7 +308,7 @@ proc boot(args: string) =
var nimi = i.thVersion
if i == 0:
nimi = nimStart
extraOption.add " --skipUserCfg --skipParentCfg"
extraOption.add " --skipUserCfg --skipParentCfg -d:nimKochBootstrap"
# The configs are skipped for bootstrap
# (1st iteration) to prevent newer flags from breaking bootstrap phase.
let ret = execCmdEx(nimStart & " --version")