PocketPuTTY ISO2022版を構築する

結論:
実行バイナリを構築した。
正常に動作した。
他にも欲しい人は居そうなので一応、以下に置いておくが無保証。以下の構築手順を見て自前で構築した方が安全。


EUC-JPの通るPocketPuTTYが無いと、いちいちサーバ側でShift_JISに変換しなくてはならないので非常に不便なので、さっさとバイナリを構築する事にする。


まずは、ここの「ソフトウェア開発ツール」の項目に従い、eMbedded Visual C++その他をインストールした。

  • http://w-zero3.org/?%A5%BD%A5%D5%A5%C8%A5%A6%A5%A7%A5%A2#r0b30cc9
    • ノートPCの貴重な空き容量300Mぐらいを消費したが、仕方が無い。
    • 途中で「.NET何とかも入れないか?」と聞かれ、入れようとしたら、なんか600Mぐらい空き容量が必要なようで、そんなに空き容量は無いのでキャンセルした。それでも問題なく構築は完了したので結果オーライとする。


次に、PocketPuTTY本家のリポジトリからパッチ対象のソースをもらってくる。
これにはsubversionが必要。
自分は以前のnds開発環境構築時にcuisubversionを入れていたので、それを使った。

svn export svn://svn.teamforge.net/pocketputty/development pocketputty

が、tortoisesvn等でも問題ない筈。多分。


機能追加パッチとISO2022パッチをもらってくる。これが一番重要。

zipを解凍し、二つのpatchをさっきのpocketputtyディレクトリに入れる。


パッチを当てる。patchコマンドが必要。
自分は以前のnds開発環境構築時にmingwが入っていたので、それのpatchを使った。
が、vectorとかでも入手できたような気はする。
pocketputtyディレクトリに入って、以下のコマンドを実行。

patch -p0 -i PocketPuTTY.patch
patch -p1 -i PocketPuTTY.iso2022.patch


ビルドする。
eMbedded Visual C++を起動し、ファイル→ワークスペースを開く、で、pocketputty/wince/evc4/putty.vcpを開く。
ビルド→アクティブな構成の設定で、Debug版ではなくRelease版を構築するように変更しておく。
そして、ビルド→ビルド。
エラーが出る。
なんかiso2022回りのファイルが読み込まれてない。
どうも、パッチが、プロジェクトファイルの方にはノータッチなのが原因のようだ。
プロジェクト→プロジェクトへ追加→ファイルで、iso2022.cとiso2022.hを追加する事で、正常にビルドできた。


これで、実行バイナリのサイズは結構大きいが、多機能なPuTTYが使えるようになった。