OpenSSL 0.9.8lが出たのでWindows Mobile版をビルドしました。今までは、公式にサポートされているeMbedded Visual C++ 3.0とHPC ProのSDKでビルドしていたのですが、手に入らなくなったので、Visual Studio 2005でビルドするようにしてみました。
基本的な流れは、[PATCH] Support Windows CE 5 and laterに書かれている通りです。
まず、新しいバージョンのwcecompatを取得してビルドします。
git clone git://github.com/mauricek/wcecompat.git wcecompat
でソースを取得して、以下のように環境変数を設定します。
set OSVERSION=WCE500 set TARGETCPU=ARMV4I
そして、
perl config.pl
でmakefileができるので、PATH, INCLUDE, LIBを設定してからnmakeでビルドします。
set PATH=C:\Program Files (x86)\Microsoft Visual Studio 8\VC\ce\bin\x86_arm;C:\Program Files (x86)\Microsoft Visual Studio 8\VC\bin;C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\IDE;C:\Cygwin\bin set INCLUDE=C:\Program Files (x86)\Windows CE Tools\wce500\Windows Mobile 5.0 Pocket PC SDK\Include\Armv4i;C:\Program Files (x86)\Microsoft Visual Studio 8\VC\ce\include set LIB=C:\Program Files (x86)\Windows CE Tools\wce500\Windows Mobile 5.0 Pocket PC SDK\Lib\ARMV4I;C:\Program Files (x86)\Microsoft Visual Studio 8\VC\ce\lib\armv4i nmake
wcecompatができたらOpenSSL 0.9.8lをビルドします。上記のパッチがそのまま当たりますが、追加で修正が必要です。それを含めたパッチをopenssl-0.9.8l.patchとして置きました。
パッチを当てたら後は普通に、
set WCECOMPAT=... perl Configure VC-CE ms\do_ms nmake -f ms\cedll.mak
でビルドできます。