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)。