summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorVarriount <Varriount@users.noreply.github.com>2015-01-17 13:48:05 -0500
committerVarriount <Varriount@users.noreply.github.com>2015-01-17 13:48:05 -0500
commit9847f762e4bc6e01a3303b42a48d576a6751477d (patch)
treee38b4fbff6124c0fab5f0e5a4bbefd34bf33a776
parent5d013cd626d9211bb927fe58bbcf6e03031492c8 (diff)
parent23c87d4e258c161f45b4fe4c89d832ad5fc116ba (diff)
downloadNim-9847f762e4bc6e01a3303b42a48d576a6751477d.tar.gz
Merge pull request #1951 from noway421/bootstrap-install-docs-fix
Documented faster way to bootstrap-build Nim
-rwxr-xr-xbuild.bat22
-rwxr-xr-x[-rw-r--r--]build.sh0
-rwxr-xr-xinstall.bat.template6
-rw-r--r--install.txt2
-rw-r--r--readme.md18
-rw-r--r--web/download.txt8
6 files changed, 39 insertions, 17 deletions
diff --git a/build.bat b/build.bat
new file mode 100755
index 000000000..b68d626f6
--- /dev/null
+++ b/build.bat
@@ -0,0 +1,22 @@
+
+if not exist "csources"(
+	git clone --depth 1 https://github.com/nim-lang/csources.git
+)
+
+cd "csources"
+
+for /f "skip=1 delims=" %%x in ('wmic cpu get addresswidth') do if not defined AddressWidth set AddressWidth=%%x
+if %AddressWidth%==64 (
+	call build64.bat
+) else (
+	call build.bat
+)
+
+cd ".."
+
+./bin/nim c koch
+./koch boot -d:release
+
+xcopy /Y install.bat.template install.bat
+
+pause
\ No newline at end of file
diff --git a/build.sh b/build.sh
index 139c28359..139c28359 100644..100755
--- a/build.sh
+++ b/build.sh
diff --git a/install.bat.template b/install.bat.template
new file mode 100755
index 000000000..f49c898cc
--- /dev/null
+++ b/install.bat.template
@@ -0,0 +1,6 @@
+
+if not "%1"=="" (
+	./koch install %1
+) else (
+	./koch install
+)
diff --git a/install.txt b/install.txt
index deca55599..f308ef12f 100644
--- a/install.txt
+++ b/install.txt
@@ -17,7 +17,7 @@ works.
 
 Then run the following command::
 
-  sh build.sh
+  ./build.sh
 
 Unlike other software, Nim does not distribute its files over the whole file
 hierarchy. This has the advantage that you can deinstall it by just deleting
diff --git a/readme.md b/readme.md
index d5968982b..7790f4a3f 100644
--- a/readme.md
+++ b/readme.md
@@ -29,23 +29,21 @@ To build from source you will need:
 
 If you are on a fairly modern *nix system, the following steps should work:
 
-```
+```bash
 $ git clone git://github.com/Araq/Nim.git
 $ cd Nim
-$ git clone --depth 1 git://github.com/nim-lang/csources
-$ cd csources && sh build.sh
-$ cd ..
-$ bin/nim c koch
-$ ./koch boot -d:release
+$ ./build.sh
 ```
 
-``koch install [dir]`` may then be used to install Nim, or you can simply
+``./koch install [dir]`` may then be used to install Nim, or you can simply
 add it to your PATH. More ``koch`` related options are documented in
 [doc/koch.txt](doc/koch.txt).
 
-The above steps can be performed on Windows in a similar fashion, the
-``build.bat`` and ``build64.bat`` (for x86_64 systems) are provided to be used
-instead of ``build.sh``.
+The above steps can be performed on Windows in a similar fashion, use
+``build.bat`` instead of ``build.sh``. Make sure you have mingw and git in
+your PATH. If you want to use different compiler, run script and then
+manually change `CC` and `LINKER` variables in `csources/build.bat` or
+`csources/build64.bat`.
 
 ## Getting help
 A [forum](http://forum.nim-lang.org/) is available if you have any
diff --git a/web/download.txt b/web/download.txt
index 497781ad6..0d66247f2 100644
--- a/web/download.txt
+++ b/web/download.txt
@@ -24,7 +24,7 @@ like systems. Binary packages may be provided later.
 Download `nim-0.10.2.zip <download/nim-0.10.2.zip>`_, extract it and follow
 these instructions:
 
-* sh build.sh
+* ./build.sh
 * Add ``$your_install_dir/bin`` to your PATH.
 
 There are other ways to install Nim (like using the ``install.sh`` script),
@@ -39,11 +39,7 @@ Change the branch to suit your needs::
 
   git clone -b master git://github.com/Araq/Nim.git
   cd Nim
-  git clone -b master --depth 1 git://github.com/nim-lang/csources
-  cd csources && sh build.sh
-  cd ..
-  bin/nim c koch
-  ./koch boot -d:release
+  ./build.sh
 
 The ``master`` branch always contains the latest stable version of the compiler.
 If you want bleeding edge then switch to the ``devel`` branch and follow