Skip to content

Commit

Permalink
add build_all.sh to allow 1-liner to build development version of the…
Browse files Browse the repository at this point in the history
… compiler (nim-lang#8546)
  • Loading branch information
timotheecour committed Aug 8, 2018
1 parent bd40a35 commit 61afed1
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 8 deletions.
22 changes: 22 additions & 0 deletions build_all.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#! /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(){
echo "\n$@"
"$@"
}

[ -d csources ] || echo_run git clone --depth 1 https://github.com/nim-lang/csources.git
(
## avoid changing dir in case of failure
echo_run cd csources
echo_run sh build.sh
)

echo_run bin/nim c koch
echo_run ./koch boot -d:release
echo_run ./koch tools # Compile Nimble and other tools.
25 changes: 17 additions & 8 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,24 +50,33 @@ Next, to build from source you will need:
other distros as well).

Then, if you are on a \*nix system or Windows, the following steps should compile
Nim from source using ``gcc``, ``git`` and the ``koch`` build tool (in the place
of ``sh build.sh`` you should substitute ``build.bat`` on x86 Windows or
``build64.bat`` on x86_64 Windows):
Nim from source using ``gcc``, ``git`` and the ``koch`` build tool.

**Note: The following commands are for the development version of the compiler.**
For most users, installing the latest stable version is enough. Check out
the installation instructions on the website to do so: https://nim-lang.org/install.html.

```
# step 1:
git clone https://github.com/nim-lang/Nim.git
cd Nim
# step 2 (posix) clones `csources.git`, bootstraps Nim compiler and compiles tools
sh build_all.sh
# step 2 (windows)
git clone --depth 1 https://github.com/nim-lang/csources.git
cd csources
sh build.sh
cd ../
bin/nim c koch
./koch boot -d:release
./koch tools # Compile Nimble and other tools.
# requires `gcc` in your PATH, see also https://nim-lang.org/install_windows.html
build.bat # x86 Windows
build64.bat # x86_64 Windows
cd ..
bin\nim c koch
koch boot -d:release
koch tools # Compile Nimble and other tools
# end of step 2 (windows)
```

Finally, once you have finished the build steps (on Windows, Mac or Linux) you
Expand Down

0 comments on commit 61afed1

Please sign in to comment.