openssl交叉編譯 mips環境
最近需要使用openssl庫,選用了https://www.openssl.org/地址下的OpenSSL 1.0.1p版本
如果只是正常環境下使用openssl,編譯比較簡單,只需要解壓縮openssl 1.0.1p版本
然後進入根目錄按照如下命令:
1、./configure --prefix=/user/local
2、make & make install
這樣就可以在編譯並安裝到/user/local路徑下面。
一般情況下,我們需要把openssl應用到不同的環境中,這樣需要我們進行交叉編譯。
以下交叉編譯的步驟:
1、./configure no-asm shared --prefix=/user/local/mips
2、修改makefile
我們可以在openssl的根目錄下找到makefile檔案。需要修改的通過紅色標註出來,也就是我修改過的地方
CC= mipsel-openwrt-linux-gcc
CFLAG= -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -O3 -Wall
DEPFLAG= -DOPENSSL_NO_EC_NISTP_64_GCC_128 -DOPENSSL_NO_GMP -DOPENSSL_NO_JPAKE -DOPENSSL_NO_MD2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SCTP -DOPENSSL_NO_STORE -DOPENSSL_NO_UNIT_TEST
PEX_LIBS=
EX_LIBS= -ldl
EXE_EXT=
ARFLAGS=
AR= mipsel-openwrt-linux-ar $(ARFLAGS) r
RANLIB= mipsel-openwrt-linux-ranlib
NM= mipsel-openwrt-linux-nm
PERL= /usr/bin/perl
TAR= tar
TARFLAGS= --no-recursion --record-size=10240
MAKEDEPPROG= gcc
LIBDIR=lib
修改完成儲存。
如果是mips交叉編譯,修改完makefile後仍需要將此makefile檔案中的-m64 字尾
makefile全篇應該一共只有兩處。
3、執行make,即可看到在根目錄下有動態庫libcrypto.so libcrypto.so.1.0.0 libssl.so libssl.so.1.0.0 和 靜態庫libcrypto.a libssl.a。