forked from nim-lang/Nim
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build_all.sh
35 lines (27 loc) · 898 Bytes
/
build_all.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#! /bin/sh
# build development version of the compiler; can be rerun safely
set -u # error on undefined variables
set -e # exit on first error
echo_run(){
printf "\n$*\n"
"$@"
}
[ -d csources ] || echo_run git clone --depth 1 https://github.com/nim-lang/csources.git
nim_csources=bin/nim_csources
build_nim_csources(){
## avoid changing dir in case of failure
(
echo_run cd csources
echo_run sh build.sh
)
# keep $nim_csources in case needed to investigate bootstrap issues
# without having to rebuild from csources
echo_run cp bin/nim $nim_csources
}
[ -f $nim_csources ] || echo_run build_nim_csources
# Note: if fails, may need to `cd csources && git pull`
# Note: --skipUserCfg is to prevent newer flags from
# breaking bootstrap phase
echo_run bin/nim c --skipUserCfg koch
echo_run ./koch boot -d:release
echo_run ./koch tools # Compile Nimble and other tools.