2015/9/24 更新:
昨天试图在Xcode7上编译最新版本openssl,发现已经有了更简单的方案:
https://github.com/x2on/OpenSSL-for-iPhone
下载下来直接跑 build-libssl.sh 即可。全自动,连下载openssl都帮你搞定……
强烈推荐使用这种方法来做
-----------------------------------------
1. 首先要有个openssl的源码包 http://www.openssl.org/source/
#define OPENSSL_VERSION_TEXT "OpenSSL 1.0.0e 6 Sep 2011"
static volatile sig_atomic_t intr_signal;
static volatile int intr_signal;
会在openssl的同级目录生成ssllibs目录,其中ssllibs/libcrypto.a ssllibs/libssl.a 是最终编译完并合并完各框架版本的lib文件
======
OpenSSL_ios_Build.zip
下载地址:http://download.csdn.net/detail/piao_polar/5090392
内容(注意直接拷贝到话要小心行尾符,mac port可能未必支持以windows风格的行尾符做行尾的shell文件,有问题请直接下载一份)
openssl_make_macOS.sh
#openssl(ios) build shell Ruoqian,Chen <[email protected]> #put this shell file in openssl dir #chmod 777 openssl_make_macOS.sh #File Tree #------- # .. # openssl/openssl_make_macOS.sh // this shell file # openssl/patch_mf_i386.diff // patch file # openssl/patch_mf_armv6.diff # openssl/patch_mf_armv7.diff # ssllibs/libcrypto.a // out # ssllibs/libssl.a // out #----------- rm -rf ../ssllibs mkdir ../ssllibs mkdir ../ssllibs/openssl_i386 ../ssllibs/openssl_armv6 ../ssllibs/openssl_armv7 make clean ./configure BSD-generic32 #CC= /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc -arch i386 #CFLAG= -DOPENSSL_THREADS -pthread -D_THREAD_SAFE -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DTERMIOS -O3 -fomit-frame-pointer -Wall -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk patch Makefile < patch_mf_i386.diff make > ../ssllibs/openssl_i386/make_i386.log mv libcrypto.a libssl.a ../ssllibs/openssl_i386 make clean ./configure BSD-generic32 #CC= /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -arch armv6 #CFLAG= -DOPENSSL_THREADS -pthread -D_THREAD_SAFE -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DTERMIOS -O3 -fomit-frame-pointer -Wall -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk patch Makefile < patch_mf_armv6.diff make > ../ssllibs/openssl_armv6/make_armv6.log mv libcrypto.a libssl.a ../ssllibs/openssl_armv6 make clean ./configure BSD-generic32 #CC= /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -arch armv7 #CFLAG= -DOPENSSL_THREADS -pthread -D_THREAD_SAFE -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DTERMIOS -O3 -fomit-frame-pointer -Wall -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk patch Makefile < patch_mf_armv7.diff make > ../ssllibs/openssl_armv7/make_armv7.log mv libcrypto.a libssl.a ../ssllibs/openssl_armv7 lipo -create ../ssllibs/openssl_i386/libcrypto.a ../ssllibs/openssl_armv6/libcrypto.a ../ssllibs/openssl_armv7/libcrypto.a -output ../ssllibs/libcrypto.a lipo -create ../ssllibs/openssl_i386/libssl.a ../ssllibs/openssl_armv6/libssl.a ../ssllibs/openssl_armv7/libssl.a -output ../ssllibs/libssl.a
patch_mf_i386.diff
62,63c62,63 < CC= gcc < CFLAG= -DOPENSSL_THREADS -pthread -D_THREAD_SAFE -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DTERMIOS -O3 -fomit-frame-pointer -Wall --- > CC= /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc -arch i386 > CFLAG= -DOPENSSL_THREADS -pthread -D_THREAD_SAFE -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DTERMIOS -O3 -fomit-frame-pointer -w -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk
patch_mf_armv6.diff
62,63c62,63 < CC= gcc < CFLAG= -DOPENSSL_THREADS -pthread -D_THREAD_SAFE -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DTERMIOS -O3 -fomit-frame-pointer -Wall --- > CC= /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -arch armv6 > CFLAG= -DOPENSSL_THREADS -pthread -D_THREAD_SAFE -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DTERMIOS -O3 -fomit-frame-pointer -Wall -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk
patch_mf_armv7.diff
62,63c62,63 < CC= gcc < CFLAG= -DOPENSSL_THREADS -pthread -D_THREAD_SAFE -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DTERMIOS -O3 -fomit-frame-pointer -Wall --- > CC= /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -arch armv7 > CFLAG= -DOPENSSL_THREADS -pthread -D_THREAD_SAFE -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DTERMIOS -O3 -fomit-frame-pointer -Wall -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk