summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--build_all.sh22
-rw-r--r--readme.md25
2 files changed, 39 insertions, 8 deletions
diff --git a/build_all.sh b/build_all.sh
new file mode 100644
index 000000000..cd5ea3d59
--- /dev/null
+++ b/build_all.sh
@@ -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.
diff --git a/readme.md b/readme.md
index bdc7c7549..e4fb52bd0 100644
--- a/readme.md
+++ b/readme.md
@@ -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