1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- ===============================
- 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:useLinenoise
- Use the linenoise library for interactive mode (not needed on Windows).
- 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.
- 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`_.
- 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 ``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.
- 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
- https://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``).
|