OpenSSL と zlib を予めコンパイルしたので、いよいよ cURL本体のコンパイルに移ります。
zlib と OpenSSL のコンパイル方法については、以下のリンクにあります。
» cURL のコンパイル
- OpenSSL をコンパイルしたフォルダ内の out32dll の名前を out32に変更する
- out32フォルダには本来、静的リンク用の libssl32.lib と libeay32.lib が置かれているのですが、動的リンク用のライブラリをこれに代えます。すると、curl.exe は OpenSSL を静的リンクしたつもりになりますが、実際は DLL が必要なバージョンになります。
- curl-7.21.7.tar.gz を解凍する
- Visual C++ のコマンドプロンプトを開く
- zlib と OpenSSL をコンパイルしてあるディレクトリを環境変数で指定する。
set ZLIB_PATH=G:\zlib-1.2.5 set OPENSSL_PATH=G:\openssl-1.0.0d
- cURL を解凍したディレクトリへ移動し、以下のコマンドを実行する
> nmake vc-ssl-zlib VC=vc10 RTLIBCFG=static
- Visual C++ 2008 をお使いの場合は以下のようになります。
> nmake vc-ssl-zlib VC=vc9 RTLIBCFG=static
- Visual C++ 2008 をお使いの場合は以下のようになります。
- 以上で、srcフォルダの下に curl.exe が生成される。
コンパイル自体は簡単なのですが、今回のビルド条件
- 全て静的コンパイル(Microsoft Windows の動的ライブラリ(DLL)不要)
- libcurl と zlib は静的リンク、OpenSSL のみ動的リンク
- OpenSSL 1.0.0系ベース
上記を満たすには Makefile の変更などが多少必要となりました。
cURL 自体は、コンパイル時に、RTLIBCFG=static と指定することで、curl.exe 自体を Visual C++ のランタイム不要でコンパイルできます。ただしそのためには、関係する OpenSSL と zlib も Visual C++ のランタイムが要らないようにコンパイルしておく必要があります。
» バイナリ
今回の成果を以下に置いておきますので、もし必要な方がいらっしゃいましたら、ダウンロードしてお使いください。
ソースコードの一切の改変、改竄が無く、オリジナルのライセンスの元に再配布されます。
•著作権
cURL
Copyright © 1996 – 2011, Daniel Stenberg, <daniel@haxx.se>.
OpenSSL
Copyright © 1995-1998 Eric Young (eay@cryptsoft.com) All rights reserved.
Copyright © 1998-2012 The OpenSSL Project. All rights reserved.
•ライセンス
cURL
MIT/X ライセンスです。詳細については、Copyright – License を参照してください。
OpenSSL
OpenSSL は著作権表示を見てもらっても分かるとおり、途中からチーム体制の開発に変わっています。そのためライセンスについては、BSD-style のライセンスと、OpenSSLライセンスの Dual ライセンスとなります。詳細については、License を参照してください。
配布物はオリジナルを改竄せずにコンパイルした バイナリ形式の OpenSSL です。ライセンスについては LICENSE ファイルを参照してください。(同梱もされています。)
なお、LICENSE を閲覧して同意しない、あるいは本サイトよりダウンロードした配布物に含まれる LICENSE ファイルを閲覧して同意しなかったとしても、本サイトよりダウンロードした OpenSSL のバイナリを使用した時点で、当該ライセンスに同意したものと見なします。
•ダウンロード
cURL
- Version 7.21.7 → curl-7.21.7-win32-ssl.zip
OpenSSL
- Version 0.9.8系 最新版 → openssl-0.9.8x-win32-bin_dynamic.zip
- Version 1.0.0系 最新版 → openssl-1.0.0j-win32-bin_dynamic.zip
- Version 1.0.1系 最新版 → openssl-1.0.1c-win32-bin_dynamic.zip
この curl.exe は 1.0.0ベースの OpenSSL ライブラリでリンクしています。
関連するコンテンツ
- cURL のコンパイル – zlib編
- cURL のコンパイル – OpenSSL編
- OpenSSL for Windows
- UT-VPN も PacketiX VPN 接続マネージャで管理したい
- EmEditor が進化してた
コメントを残す