diff options
author | Andreas Rumpf <rumpf_a@web.de> | 2021-02-11 09:26:51 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-11 09:26:51 +0100 |
commit | 8630ebbbfcbe2d81a258ac7dd10ebbc6616b174c (patch) | |
tree | a354bbc88f15a27b7556bc7cf8ae2527c4a6988e /koch.nim | |
parent | b7dd8e7dff633692f61f8393315016fb4e9bdbee (diff) | |
download | Nim-8630ebbbfcbe2d81a258ac7dd10ebbc6616b174c.tar.gz |
koch.nim: documented the bootstrapping process (#17008)
Diffstat (limited to 'koch.nim')
-rw-r--r-- | koch.nim | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/koch.nim b/koch.nim index 5f5791b86..b5247dd5d 100644 --- a/koch.nim +++ b/koch.nim @@ -284,6 +284,13 @@ proc thVersion(i: int): string = template doUseCpp(): bool = getEnv("NIM_COMPILE_TO_CPP", "false") == "true" proc boot(args: string) = + ## bootstrapping is a process that involves 3 steps: + ## 1. use csources to produce nim1.exe. This nim1.exe is buggy but + ## rock solid for building a Nim compiler. It shouldn't be used for anything else. + ## 2. use nim1.exe to produce nim2.exe. nim2.exe is the one you really need. + ## 3. We use nim2.exe to build nim3.exe. nim3.exe is equal to nim2.exe except for timestamps. + ## This step ensures a minimum amount of quality. We know that nim2.exe can be used + ## for Nim compiler development. var output = "compiler" / "nim".exe var finalDest = "bin" / "nim".exe # default to use the 'c' command: |