Installation
============

Installation on Linux/UNIX
--------------------------

The GNU C Compiler is fully supported, other compilers may work. The C compiler
should be in your ``$PATH`` (most likely the case). Note that some few Linux
distributions do not ship with a GCC compiler preinstalled - then you have to
install it.

Install Nim by downloading the appropriate ``.zip`` file and extracting it
to a directory of your choice. The Nim Compiler will stay in this
directory (unless you copy it somewhere else). The compiler does not need
write access to its directory, so copying the nim folder to ``/opt``
works.

Then run the following command::

  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
its folder. The disadvantage is that you have to add it to your ``PATH``
manually. An alternative is to create a symbolic link in ``/usr/bin``::

  [sudo] ln -s $your_install_dir/bin/nim  /usr/bin/nim

There are also ``install.sh`` and ``deinstall.sh`` scripts for distributing
the files over the UNIX hierarchy. However, updating your Nim installation
is more cumbersome then.


Installation on the Macintosh
-----------------------------

Only MacOS X is supported.
Since MacOS X is UNIX based too, it works like the installation on Linux.
However, for unknown reasons the symbolic link method does not work on MacOS X.
You need to install Apple's developer's tools for the GNU Compiler Collection
or clang.


Installation on Windows
-----------------------

Install Nim by downloading and running the ``nim_$version.exe`` file.
As default, the ``GCC`` compiler is used that is bundled with this installer.
You can change the configuration file ``config/nim.cfg`` to use
another C compiler or change the path to GCC.

Currently, the following C compilers are supported under Windows:

- | Microsoft's Visual C++
  | http://msdn.microsoft.com/visualc
  | (You need the SDK too - but not the full one: Only
    the win32api header files and import libraries are essential.)
- | Gnu C Compiler (the mingw version; the cygwin version has not been tested!)
  | http://www.mingw.org/download.shtml
- | LLVM with Clang or GNU C/C++ frontend
  | http://llvm.org/releases/download.html

However, most testing is done with GCC.

Bootstrapping from GitHub
-------------------------

Take a look at the readme file on github `here <https://github.com/nim-lang/Nim#readme>`_
for instructions.


Installation of Nimble
----------------------

Nimble is Nim's package manager. For the source based installations where you
added Nim's ``bin`` directory to your ``$PATH`` the easiest way of installing
Nimble is via::

  nim e install_nimble.nims
