yyamasak
10/16/2014 - 12:46 AM

Kitgen Build System メモ

Kitgen Build System メモ

2014-10-16現在、kbs.tclはtcl8.5.16, tcl8.6.2に対応していない。

あとパッケージ類も、最新のバージョンではなかったりする。

fossilで配布しているソースコードは、anonymousユーザーで、ワンタイムパスワード認証しないといけない。

今のところkbs.tclでは自動的にダウンロードができない(fossil.exeを使えばよいのだが。) 一時的な回避策として、ローカルウェブサーバを立ててダウンロードさせる必要があった。

本題ではないが、おすすめのお手軽ウェブサーバはこれ。

実行ファイル1つ起動して、ウィンドウにファイルまたはフォルダをドラッグアンドドロップするだけでURLが割り当てられる。

最後にVFSにパッケージをコピーする段階でmakeが失敗する。

  • dde 1.3, dde 1.4
  • reg 1.2, reg 1.3

が競合して、失敗していた。8.5をビルドしたあとは、buildWindowsNT\libに入ってるddeとregをリネームするか、削除するのがよい。 あるいは、以下のパッチを当てる。このファイルも自動ダウンロードなので、一回は失敗する必要があるが。

catch {;# tcl with dde and registry under windows
- _package shared dde {} {} {} [glob ../lib/dde*]
+ _package shared dde {} {} {} [lindex [glob ../lib/dde*] end]
- _package shared registry {} {} {} [glob ../lib/reg*]
+ _package shared registry {} {} {} [lindex [glob ../lib/reg*] end]
}

これでMinGWシェルで以下を実行すれば、基本的に自動的に処理が完了する。

kbs.tcl -r -vq -v -make=/bin/make -unzip=/bin/gunzip --enable-threads install kbskit8.5
kbs.tcl -r -vq -v -make=/bin/make -unzip=/bin/gunzip install kbskit8.6

C:/src/kitgen/buildWindowsNT/bin/kbsvq8.5-gui.exeみたいなファイルができる。

失敗したらクリーンアップしてからリトライしたほうがよい。

kbs.tcl -make=/bin/make -unzip=/bin/gunzip clean kbskit8.5
kbs.tcl -make=/bin/make -unzip=/bin/gunzip clean kbskit8.6

ActiveTclに付属するbasekitよりも重たいのは、主にアジア圏のencodingやtzdataが全て含まれるためである。