summary refs log tree commit diff stats
path: root/doc/koch.rst
diff options
context:
space:
mode:
Diffstat (limited to 'doc/koch.rst')
-rw-r--r--doc/koch.rst151
1 files changed, 0 insertions, 151 deletions
diff --git a/doc/koch.rst b/doc/koch.rst
deleted file mode 100644
index a58d386ea..000000000
--- a/doc/koch.rst
+++ /dev/null
@@ -1,151 +0,0 @@
-===============================
-   Nim maintenance script
-===============================
-
-:Version: |nimversion|
-
-.. contents::
-
-.. raw:: html
-  <blockquote><p>
-  "A great chef is an artist that I truly respect" -- Robert Stack.
-  </p></blockquote>
-
-
-Introduction
-============
-
-The `koch`:idx: program is Nim's maintenance script. It is a replacement
-for make and shell scripting with the advantage that it is much more portable.
-The word *koch* means *cook* in German. ``koch`` is used mainly to build the
-Nim compiler, but it can also be used for other tasks. This document
-describes the supported commands and their options.
-
-
-Commands
-========
-
-boot command
-------------
-
-The `boot`:idx: command bootstraps the compiler, and it accepts different
-options:
-
--d:release
-  By default a debug version is created, passing this option will
-  force a release build, which is much faster and should be preferred
-  unless you are debugging the compiler.
--d:tinyc
-  Include the `Tiny C <http://bellard.org/tcc/>`_ backend. This
-  option is not supported on Windows.
--d:useGnuReadline
-  Includes the `rdstdin module <rdstdin.html>`_ for `interactive
-  mode <nimc.html#nim-interactive-mode>`_ (aka ``nim i``).
-  This is not needed on Windows. On other platforms this may
-  incorporate the GNU readline library.
--d:nativeStacktrace
-  Use native stack traces (only for Mac OS X or Linux).
--d:noCaas
-  Builds Nim without compiler as a service (CAAS) support. CAAS
-  support is required for functionality like Nim's `idetool
-  <idetools.html>`_ command used to integrate the compiler with
-  `external IDEs <https://github.com/Araq/Nim/wiki/Editor-Support>`_.
--d:avoidTimeMachine
-  Only for Mac OS X, activating this switch will force excluding
-  the generated ``nimcache`` directories from Time Machine backups.
-  By default ``nimcache`` directories will be included in backups,
-  and just for the Nim compiler itself it means backing up 20MB
-  of generated files each time you update the compiler. Using this
-  option will make the compiler invoke the `tmutil
-  <https://developer.apple.com/library/mac/documentation/Darwin/Reference/Manpages/man8/tmutil.8.html>`_
-  command on all ``nimcache`` directories, setting their backup
-  exclusion bit.
-
-  You can use the following command to locate all ``nimcache``
-  directories and check their backup exclusion bit::
-
-    $ find . -type d -name nimcache -exec tmutil isexcluded \{\} \;
--d:useFFI
-  Nim code can use the `foreign function interface (FFI)
-  <manual.html#foreign-function-interface>`_ at runtime, but macros
-  are limited to pure Nim code at compilation time.  Enabling
-  this switch will allow macros to execute non-nim code at
-  compilation time (eg. open a file and write to it).
---gc:refc|v2|markAndSweep|boehm|go|none
-  Selects which garbage collection strategy to use for the compiler
-  and generated code. See the `Nim's Garbage Collector <gc.html>`_
-  documentation for more information.
-
-After compilation is finished you will hopefully end up with the nim
-compiler in the ``bin`` directory. You can add Nim's ``bin`` directory to
-your ``$PATH`` or use the `install command`_ to place it where it will be
-found.
-
-clean command
--------------
-
-The `clean`:idx: command removes all generated files.
-
-csource command
----------------
-
-The `csource`:idx: command builds the C sources for installation. It accepts
-the same options as you would pass to the `boot command`_.
-
-inno command
-------------
-
-The `inno`:idx: command builds the `Inno Setup installer for Windows
-<http://www.jrsoftware.org/isinfo.php>`_.
-
-install command
----------------
-
-The `install`:idx: command installs Nim to the specified directory, which
-is required as a parameter. For example, on Unix platforms you could run::
-
-  $ ./koch install /usr/local/bin
-
-temp command
-------------
-
-The temp command builds the Nim compiler but with a different final name
-(``nim_temp``), so it doesn't overwrite your normal compiler. You can use
-this command to test different options, the same you would issue for the `boot
-command`_.
-
-test command
-------------
-
-The `test`:idx: command can also be invoked with the alias ``tests``. This
-command will compile and run ``tests/testament/tester.nim``, which is the main
-driver of Nim's test suite. You can pass options to the ``test`` command,
-they will be forwarded to the tester. See its source code for available
-options.
-
-update command
---------------
-
-The `update`:idx: command updates nim to the latest version from github.
-For this command to work you need to have compiled ``koch`` itself with the
-``-d:withUpdate`` switch.
-
-web command
------------
-
-The `web`:idx: command converts the documentation in the ``doc`` directory
-from rst to HTML. It also repeats the same operation but places the result in
-the ``web/upload`` which can be used to update the website at
-http://nim-lang.org.
-
-By default the documentation will be built in parallel using the number of
-available CPU cores. If any documentation build sub commands fail, they will
-be rerun in serial fashion so that meaninful error output can be gathered for
-inspection. The ``--parallelBuild:n`` switch or configuration option can be
-used to force a specific number of parallel jobs or run everything serially
-from the start (``n == 1``).
-
-zip command
------------
-
-The `zip`:idx: command builds the installation ZIP package.