@@ -7,36 +7,27 @@ Pod::Spec.new do |s|
77 s . homepage = "https://github.com/FredericJacobs/OpenSSL-Pod"
88 s . license = 'BSD-style Open Source'
99 s . source = { :http => "https://www.openssl.org/source/openssl-1.0.1i.tar.gz" , :sha1 => "74eed314fa2c93006df8d26cd9fc630a101abd76" }
10- s . preserve_paths = "file.tgz" , "opensslIncludes/*"
11- s . source_files = "opensslIncludes/*.h" , "**/*.h"
10+ s . source_files = "opensslIncludes/openssl/*.h"
1211 s . header_dir = "openssl"
1312 s . license = { :type => 'OpenSSL (OpenSSL/SSLeay)' , :file => 'LICENSE' }
1413
1514 s . prepare_command = <<-CMD
1615 VERSION="1.0.1i"
17- SDKVERSION=`/usr/bin/xcodebuild -version - sdk 2> /dev/null | grep SDKVersion | tail -n 1 | awk '{ print $2 }' `
16+ SDKVERSION=`xcrun --sdk iphoneos --show- sdk-version 2> /dev/null`
1817
19- CURRENTPATH=`pwd`
18+ BASEPATH="${PWD}"
19+ CURRENTPATH="/tmp/openssl"
2020 ARCHS="i386 x86_64 armv7 armv7s arm64"
2121 DEVELOPER=`xcode-select -print-path`
2222
23+ mkdir -p "${CURRENTPATH}"
2324 mkdir -p "${CURRENTPATH}/bin"
24- mkdir -p "${CURRENTPATH}/lib"
25- mkdir -p "${CURRENTPATH}/opensslIncludes"
26- mkdir -p "${CURRENTPATH}/opensslIncludes/openssl"
2725
26+ cp "file.tgz" "${CURRENTPATH}/file.tgz"
27+ cd "${CURRENTPATH}"
2828 tar -xzf file.tgz
29+ cd "openssl-${VERSION}"
2930
30- cd openssl-${VERSION}
31- cd include/openssl
32-
33- for link in $(find . -type l)
34- do
35- dir=$(readlink $link)
36- cp $dir ../../../opensslIncludes/openssl
37- done
38-
39- cd ../..
4031 for ARCH in ${ARCHS}
4132 do
4233 CONFIGURE_FOR="iphoneos-cross"
@@ -63,32 +54,42 @@ Pod::Spec.new do |s|
6354 mkdir -p "${CURRENTPATH}/bin/${PLATFORM}${SDKVERSION}-${ARCH}.sdk"
6455 LOG="${CURRENTPATH}/bin/${PLATFORM}${SDKVERSION}-${ARCH}.sdk/build-openssl-${VERSION}.log"
6556
57+ LIPO_LIBSSL="${LIPO_LIBSSL} ${CURRENTPATH}/bin/${PLATFORM}${SDKVERSION}-${ARCH}.sdk/lib/libssl.a"
58+ LIPO_LIBCRYPTO="${LIPO_LIBCRYPTO} ${CURRENTPATH}/bin/${PLATFORM}${SDKVERSION}-${ARCH}.sdk/lib/libcrypto.a"
59+
6660 ./Configure ${CONFIGURE_FOR} --openssldir="${CURRENTPATH}/bin/${PLATFORM}${SDKVERSION}-${ARCH}.sdk" > "${LOG}" 2>&1
6761 sed -ie "s!^CFLAG=!CFLAG=-isysroot ${CROSS_TOP}/SDKs/${CROSS_SDK} !" "Makefile"
6862
6963 make >> "${LOG}" 2>&1
70- make install >> "${LOG}" 2>&1
64+ make all install_sw >> "${LOG}" 2>&1
7165 make clean >> "${LOG}" 2>&1
7266 done
7367
7468
7569 echo "Build library..."
76- lipo -create ${CURRENTPATH}/bin/iPhoneSimulator${SDKVERSION}-i386.sdk/lib/libssl.a ${CURRENTPATH}/bin/iPhoneSimulator${SDKVERSION}-x86_64.sdk/lib/libssl.a ${CURRENTPATH}/bin/iPhoneOS${SDKVERSION}-armv7.sdk/lib/libssl.a ${CURRENTPATH}/bin/iPhoneOS${SDKVERSION}-armv7s.sdk/lib/libssl.a ${CURRENTPATH}/bin/iPhoneOS${SDKVERSION}-arm64.sdk/lib/libssl.a -output ${CURRENTPATH}/lib/libssl.a
77- lipo -create ${CURRENTPATH}/bin/iPhoneSimulator${SDKVERSION}-i386.sdk/lib/libcrypto.a ${CURRENTPATH}/bin/iPhoneSimulator${SDKVERSION}-x86_64.sdk/lib/libcrypto.a ${CURRENTPATH}/bin/iPhoneOS${SDKVERSION}-armv7.sdk/lib/libcrypto.a ${CURRENTPATH}/bin/iPhoneOS${SDKVERSION}-armv7s.sdk/lib/libcrypto.a ${CURRENTPATH}/bin/iPhoneOS${SDKVERSION}-arm64.sdk/lib/libcrypto.a -output ${CURRENTPATH}/lib/libcrypto.a
70+ rm -rf "${BASEPATH}/lib/"
71+ mkdir -p "${BASEPATH}/lib/"
72+ lipo -create ${LIPO_LIBSSL} -output "${BASEPATH}/lib/libssl.a"
73+ lipo -create ${LIPO_LIBCRYPTO} -output "${BASEPATH}/lib/libcrypto.a"
74+
75+ echo "Copying headers..."
76+ rm -rf "${BASEPATH}/opensslIncludes/"
77+ mkdir -p "${BASEPATH}/opensslIncludes/"
78+ cp -RL "${CURRENTPATH}/openssl-${VERSION}/include/openssl" "${BASEPATH}/opensslIncludes/"
7879
80+ cd "${BASEPATH}"
7981 echo "Building done."
82+
8083 echo "Cleaning up..."
81- rm -rf ${CURRENTPATH}/openssl-${VERSION}
82- rm -R ${CURRENTPATH}/bin
83- rm -rf file.tgz
84+ rm -rf "${CURRENTPATH}"
8485 echo "Done."
8586 CMD
8687
8788 s . ios . platform = :ios
88- s . ios . public_header_files = "opensslIncludes/*.h"
89+ s . ios . public_header_files = "opensslIncludes/openssl/ *.h"
8990 s . ios . vendored_libraries = "lib/libcrypto.a" , "lib/libssl.a"
9091
91- s . libraries = 'crypto' , 'ssl'
92- s . requires_arc = false
92+ s . libraries = 'crypto' , 'ssl'
93+ s . requires_arc = false
9394
9495end
0 commit comments