Gauche-tkが無事動きました。0.9.2のHEADからGaucheをビルドすれば、CygwinとMinGWの両方でサンプルが動きました。
動かし方
- 0.9.2のHEADからGaucheをインストールする。詳しくはhttp://practical-scheme.net/gauche/download-j.htmlをみてください。cygwinはそのまま./configure からの make 、 make install でインストールできます。MinGW版はインストーラーとZipにまとめた物を作りました。
- https://github.com/shirok/Gauche-tkからtk.scmをダウンロードする。
- tk.scm を C:/Program Files (x86)/Gauche/share/gauche/site/lib 等ロードパスの通った所へコピーする。
- まだ入っていなればTcl/Tkの処理系をインストールする。ActiveTclが楽です。http://www.activestate.com/activetcl
- ソースにtcl/tk処理系へのパスを設定する。
;; simple button example (use tk) (wish-path "c:/Tcl/bin/wish.exe") ; ←これを追加 (tk-init '()) (tk-button '.b :text "Click me" :command (^[] (print "Yeah!"))) (tk-pack '.b) (tk-mainloop)
これで、gosh button.scmで、Tkのボタンが表示されます。
Mingw版インストーラー
本来はmakeの過程で自動的に作られそうなのですが、今回は手動で作りました。
※shiroさんからコメントいただきました。NSISによるインストーラー作成は、すでにサポート外になっています。
- Gaucheのソースディレクトリーから、winnt\nsisの位置にnsis用のディレクトリーがあります。
- そのディレクトリーに移動した後、file-list.scmを使って、setup.nsiを作成します。..\..\..\Gauche-mingw-dist\が、新しくMingwでコンパイルしたGaucheへのパスです。
- その後、作成したsetup.nsiを使ってmakensisを呼び出します。
> ..\..\..\Gauche-mingw-dist\Gauche\bin\gosh.exe file-list.scm ..\..\..\Gauche-mingw-dist\Gauche setup.nsi.in 9.2 > makensis setup.nsi
MinGW版 Gauche ダウンロード
作成したMinGW用インストーラーはここです。
Gauche-mingw-9.2.0.0_20120409.exe
ビルド結果をZipファイルにまとめたもの。
Gauche-mingw-9.2.0.0_20120409.zip
※http://practical-scheme.net/gauche/index-j.htmlによるとNSISインストーラーは、いくつか問題が有るみたいです。環境変数のPATHが長い人は要注意です。自分でPATHやら設定できる人はZIP版を使ってください。