1. softgate
Changes in body
Source | HTML | Preview
@@ -1,22 +1,24 @@
## 準備
* [OpenSSL](http://www.openssl.org/) 1.0.1f のソースをダウンロードして展開
* Win32 用 [nasm 2.11.02](http://www.nasm.us/) バイナリをダウンロードして展開
* Perl は以前からインストールされていた [ActivePerl](http://www.activestate.com/activeperl) 5.16.2 を使用
* nasm, Perl, VC++ にパスを通す
ここでは VS 2013 に含まれる VC++ 12 を使用した。
## ビルド
OpenSSL のソースは `D:\Temp\openssl-1.0.1f` に展開されており、ビルド後に `D:\Libraries\openssl` にインストールすると仮定する。
* `D:\Temp\openssl-1.0.1f` に移動
* `> perl Configure VC-WIN32 --prefix=D:/Libraries/openssl` で Makefile を生成
* `> ms\do_nasm` でアセンブリソースを生成
* `> nmake -f ms\ntdll.mak install` で DLL をビルド&インストール
* `> nmake -f ms\nt.mak install` でスタティックライブラリをビルド&インストール
+テストを実行するならビルドターゲットを test にして `> nmake -f ms\nt.mak test` などとする。最後に passed all tests と表示されれば正常。
+
デフォルトでは、DLL は CRT に動的リンク、スタティックライブラリは CRT に静的リンクされるようなコード生成オプションになっている。したがって、DLL の方は、原則として実行時に VC++ ランタイムが必要。
未確認だが、VC++ 11 以上でコンパイルする場合、XP でも動作するバイナリをビルドするには XP ツールセットを使った方が無難かもしれない(.mak ファイルの CFLAGS に `/D_USING_V110_SDK71_` を追加)。