2010年12月16日 星期四

Compile OpenSSL for iPhone

Step 1:
下載OpenSSL代碼
Link : http://www.openssl.org/source/
我使用的是 openssl-1.0.0c 版本
openssl-1.0.0c.tar.gz
以下Step在MacOS下完成

Step 2:
使用OpenSSL代碼內的config進行設定
命令如下:
./config --openssldir="Compile後的lib路徑" no-asm
./config --openssldir=/Users/Kito/Desktop/openssl_ios/ no-asm


Step 3:
修改Makefile
找 CC= cc
改為CC= /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2
(Mac OS的iPhone SDK平台GCC Compiler)

在CFLAG參數中找 -arch i386
改為 -arch armv6

在CFLAG參數開始位置加上嫁下參數:
-isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk
(Mac OS的iPhone SDK路徑)

找 SHARED_LDFLAGS=-arch i386 -dynamiclib
改為 SHARED_LDFLAGS=-arch armv6 -dynamiclib

找 PEX_LIBS= -Wl, -search_paths_firstxc
改為 PEX_LIBS= -Wl


Step 4:
修改代碼
本來完成以上Step已經可以進行Compile
不過這樣會有error發生,所以要修改代碼
開啟 "代碼文件夾/crypto/ui/ui_openssl.c" 這個檔案

static volatile sig_atomic_t intr_signal;
改成
static volatile int intr_signal;


Step 5:
Build Lib
完成Step 4之後,
就可以行makefile Build Libraries
make
make install