なんとな~くしあわせ?の日記

「そしてそれゆえ、知識そのものが力である」 (Nam et ipsa scientia potestas est.) 〜 フランシス・ベーコン

openssl-1.0.2をLinuxからMinGW64向けにクロスコンパイルした

表題どおり
昔のバージョンでもいい気がしたけど、やっぱ脆弱性あると嫌だねーってことで

MinGW64

$ wget https://www.openssl.org/source/openssl-1.0.2.tar.gz
$ tar xvf openssl-1.0.2.tar.gz
$ cd openssl-1.0.2
$ CROSS_COMPILE=x86_64-w64-mingw32- ./Configure -DHAVE_STRUCT_TIMESPEC -L/usr/x86_64-w64-mingw32/lib -lz -lws2_32 --prefix=/usr/x86_64-w64-mingw32/mingw zlib mingw64 shared no-asm
$ make && make install

MinGW32

nasmが必須らしい

c++ - OpenSSL compiles failed on x86 thought was successful for x86_64 - Stack Overflow

$ CROSS_COMPILE=i686-w64-mingw32- ./Configure -DHAVE_STRUCT_TIMESPEC -L/usr/i686-w64-mingw32/lib -lz -lws2_32 --prefix=/usr/i686-w64-mingw32/mingw zlib mingw shared
  • 結構gccの警告出てるんですけどそれは大丈夫なんですかね…
  • そろそろPerlの独自スクリプトを使うのをやめたほうがいいのでは…(貢献するとは言っていない)

あと、以下の変数は変えといたほうがいいかもしれない

INSTALLTOP=/usr/x86_64-w64-mingw32/mingw

# Do not edit this manually. Use Configure --openssldir=DIR do change this!
OPENSSLDIR=/usr/x86_64-w64-mingw32/mingw/ssl