MSYS/MinGW用のcygtermをビルドしてみた
MSYSのrxvtはパッチ当てないと日本語環境ではまともに使えないので、下記を参考にcygtermをビルドしてみた。
2007年11月当時のcygtermのソースからすると、現状のcygterm+はだいぶ機能拡張されているので、下記のSubVersionリポジトリから取ってきたソースコードでは、MSYS開発環境ではビルドできない。
strlcpy()とmkdtemp()がMSYS環境に無いからビルドできないが、前者はXFree86から頂いてきた。後者はssh関連の処理で使っていたから、MSYSではsshは使わないだろうとその辺のルートをばっさりコメントアウト。
MinGWのgcc-4.4.0ではコンパイルできないから、Makefileに明示的に
CC = /bin/gcc
と書いて、MSYS開発環境のヘッダファイルを見てくれるgcc-2.95.3-1を使わないといけない。*1
ついでに、source file & executableのファイル名を変えて、アイコンも作り直してみた。投げやりHackの成果はこちら↓
ちなみにcygtermにアイコンつけて、version numberに勝手に3オクテット(?)目を付けたのは私ですw(cygterm+のREADME-jより)
v1.06_02 2006/02/09 (by babydamons@yahoo.co.jp) * CygTermのアイコンが作成されました。("DotWork 2.50"にて作成) "DotWork 2.50" は右記のURLより入手可能です。 http://www5a.biglobe.ne.jp/~suuta/ すばらしいソフトウェアを公開していただき、 "suuta at hamal dot freemal dot ne dot jp"に感謝致します。 * Makefile が修正されました。"clean" ターゲットで cygterm.ico を削除 しないように。 v1.06_01 2006/02/08 (by babydamons@yahoo.co.jp) * 以下の設定ファイルの読み込みをサポート: + /etc/cygterm.conf + ~/.cygtermrc * シェルがユーザのホームディレクトリで起動されるように。 * アカウントの設定情報を /etc/passwd から getpwnam(3) で読み込むように。 アカウント名は環境変数 USERNAME からgetenv(3) で取得してます。 * Makefile 修正:ディフォルトでアイコンつきの .exe をビルドします。
前回はDotWorkでアイコン作りましたが、今回はgimpで作りました。
まともに使える代物になっていたら、cygtermとmsystermが同一ソースコードからビルドできるように整理して、sourceforge.jpのTera Termプロジェクトの仲間に入れてもらってcommitしようと思ったが、msystermから開いたTera TermがMSYS環境からコンソールに見えてないので使い物にならない。当然vimも使えない。
結局、こちらのckwを使ってます。MSYS & ckwは特に問題なく動いてる模様。
最近、rubyやらffmpegやらMinGWでビルドして遊んでますが、高専時代にmuleとかtcshとかSunOS4でコンパイルしてたころを思い出してちょっと懐かしい&楽しいですw