MinGWでSSLが使えるcurlをビルドするのはちょっと大変でした。以下に私が行った手順を記録しておきます。
First, build OpenSSL
まずOpenSSLをダウンロードし展開します。以下の操作はすべてMinGWのbashを想定しています。
$ wget http://www.openssl.org/source/openssl-1.0.1i.tar.gz
$ tar xzf openssl-1.0.1i.tar.gz
$ cd openssl-1.0.1i
ここでOpenSSLのConfigureに工夫が必要です。このConfigureにはperlが必要っぽいので、なければ入れてください。
$ ./Configure mingw shared zlib-dynamic
ポイントは./configを使わないことと、sharedを指定することです。zlib-dynamicはオマケですが、まぁ指定しておいて損はないでしょう、たぶん。
あとは普通にコンパイルとインストールをしましょう。
$ make && make install
インストールディレクトリは/usr/local/sslになります。またその下のbinディレクトリには2つdllがあるはずですから、それらを/usr/local/binにコピーしておきます。
$ cp /usr/local/ssl/bin/*.dll /usr/local/bin
Then, build curl
次にcurlをダウンロードして展開しましょう。
$ wget http://curl.haxx.se/download/curl-7.37.1.tar.bz2
$ tar xjf curl-7.37.1.tar.bz2
$ cd curl-7.37.1
curlのconfigureにも一工夫が必要でした。
$ ./configure --with-ssl --enable-shared --disable-static
SSLを使うように--with-sslを指定するのは当然として、--enable-sharedと--disable-staticを指定して、DLLを利用するバージョンだけを作るようにしましょう。
あとは普通にコンパイルとインストールです。
$ make && make install
おっと最後にcurlのルート証明書をインストールしなきゃいけません。
$ wget http://curl.haxx.se/ca/cacert.pem
$ cp cacert.pem /usr/local/bin/curl-ca-bundle.crt
以上。MinGWでSSLが有効になったcurlを使えるようになりました。
