# Nim メンテナンス・スクリプト

- マニュアル
- 標準ライブラリ
- 索引

検索

バージョン: | 1.0.6

> "偉大なる料理人こそ心より尊敬すべき芸術家です。" -- ロバート・スタック

# はじめに

koch プログラムは Nim のメンテナンス・スクリプトです。make コマンドやシェルスクリプトよりも高い汎用性がある優れたツールです。koch の由来はドイツ語であり、日本語で料理人の意味です。`koch` の主な用途は Nim コンパイラのビルドですが、それ以外にもあります。このドキュメントでは koch のコマンドとオプションを説明します。

# コマンド

## boot コマンド

boot コマンドはコンパイラのブートストラップです。ビルドオプションを指定できます。

-d:release
  デフォルトではデバッグバージョンを作成します。このオプションを指定すると強制的にリリースビルドになります。動作速度向上のため、コンパイラのデバッグをしていないのであれば、このオプションを指定してください。
-d:useLinenoise
  インタラクティブモードで linenoise ライブラリを使います (Windows では不要)。

コンパイル終了後、成功すれば Nim コンパイラは `bin` ディレクトリに生成されます。Nim の `bin` ディレクトリのパスは環境変数 `$PATH` へ追加できます。また、 `bin` ディレクトリのパスを確認するには install コマンドを実行します。

## csource コマンド

csource コマンドはインストール用の C ソースをビルドします。boot コマンドと同じオプションを指定できます。

## temp コマンド

temp コマンドは、標準コンパイラを上書きせずに一時ファイル名 (`nim_temp`) で Nim コンパイラをビルドします。このコマンドは boot コマンドに問題があると思われるときに、ビルドオプションのテストで使えます。

## test コマンド

test コマンド`は tests` コマンドを呼び出すためのエイリアスです。このコマンドは Nim のテストスイートにおけるメインドライバです。 `testament/tester.nim` のコンパイル、および実行します。`test` コマンドにオプションを指定すると、テスターへ転送します。利用できるオプションについてはソースコードを参照してください。

## web コマンド

web コマンドは `doc` ディレクトリにある rst 形式のファイルを HTML 形式のドキュメンテーションへ一括変換します。また、この変換処理はウェブサイト https://nim-lang.org/ の更新で使うドキュメンテーション一式を `web/upload` へ出力します。

デフォルトでは利用できる CPU コア数を使い、ドキュメンテーションを並列ビルドします。ドキュメンテーションのビルドにおいてサブコマンドが失敗したならば、エラーの詳細を出力後に直列ビルドを再実行します。`--parallelBuild:n` スイッチやコンフィギュレーションオプションは並列ジョブ数の強制指定、または起動から一貫して直列ジョブで実行するために使います (`n == 1`)。