Gauche:Windows/MinGW

Gauche:Windows/MinGW

(2012/11/26 00:42:55 UTC): 0.9.3.3の状況にアップデート

ビルド

MinGW+MSYS環境でセルフビルドできるようになっています。Cygwinは必要ありません。 但し、git headからビルドする場合は、他のUnixプラットフォームと同様、 動作するGaucheが必要です。

ソースtarballからは、./configure; make; make installでOKです。 ソースのトップディレクトリで src/mingw-dist.sh を実行すれば、 configure, makeして../Gauche-mingw-dist/Gauche 以下にインストール するところまで一気に実行されます。

さらに、../Gauche-gl にGauche-glのソースがある場合、 src/mingw-dist.sh --with-gl とすれば、Gauche-glも一緒にコンパイルします。

なお、MinGW版は--prefixで指定したディレクトリはインストール先として 使われるだけで、バイナリそのものは--prefixとは独立しています (ライブラリのディレクトリ等は、実行時のlibgauche.dllの位置を基準にして探されます)。

実行時に最低限必要なのはmingwm10.dllだけです。MinGW版のlibz-1.dll、 libiconv-2.dll、libcharset-1.dllもあれば、rfc.zlib、gauche.charconv が使えます。mingw-dist.shを使うとこれらのdllも../Gauche-mingw-dist/Gauche 以下にコピーされます。

したがって、mingw-dist.shでできた ../Gauche-mingw-dist/ 以下を zipなどで固めて、適当なディレクトリに展開してパスを通せば使えます。

バイナリインストーラ

WiX Toolset ( http://wixtoolset.org/ ) を使ったインストーラを配布しています。 WiX Toolsetにパスが通って居れば、src/mingw-dist.sh --with-installer で winnt/wix の下にmsiファイルが作られます。

インストーラは以下の動作をします。

gosh-noconsole.exeについてはマニュアルの「プラットフォーム依存の機能」を 参照してください。

Unix版との違い

スレッドも使えるようになりました。pthreadではなくWindowsネイティブスレッドを 利用します。

システム系関数 (sys-*) の多くはPOSIXを前提にしているので、 Windowsでは使えなかったり機能に制限があったりします。可能な限りエミュレートするようには していますが。 関数ごとに、マニュアル中に「Windowsネイティブ環境では…」のように 表記してあるので参照してください。

高レベルファイルシステムライブラリ file.util を使うと、プラットフォームの差異は かなり吸収できるでしょう。

Windows特有のシステム関数については、 os.windowsというモジュールにまとめてゆきます。

参考リンク

各種 GNU Library の Windows 版提供状況

必要なら GHG:gc を参考に libxxx.a を作成。ヘッダは MinGW の include に入れること


Last modified : 2012/11/26 00:42:55 UTC