1. 程式人生 > >openssl交叉編譯 mips環境

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。