libsodium/dist-build/ios.sh

71 lines
2.1 KiB
Bash
Raw Normal View History

#! /bin/sh
#
# Step 1.
# Configure for base system so simulator is covered
#
# Step 2.
2014-12-16 13:33:58 -05:00
# Make for iOS armv7, armv7s and arm64
#
# Step 3.
# Merge libs into final version for xcode import
export PREFIX="$(pwd)/libsodium-ios"
2014-12-12 03:35:38 -05:00
export IOS_PREFIX="$PREFIX/tmp/ios"
export OSX32_PREFIX="$PREFIX/tmp/osx32"
export OSX64_PREFIX="$PREFIX/tmp/osx64"
mkdir -p $IOS_PREFIX $OSX32_PREFIX $OSX64_PREFIX || exit 1
# Build for OSX32 First
export CFLAGS="-Oz -arch i386"
2014-12-11 00:21:15 -05:00
./configure --disable-shared \
--enable-minimal \
--prefix="$OSX32_PREFIX" || exit 1
2014-12-11 00:21:15 -05:00
make clean > /dev/null && make -j3 check && make -j3 install || exit 1
# Cleanup
2014-12-11 00:27:10 -05:00
make distclean > /dev/null
# Build for OSX64 Then
export CFLAGS="-Oz -arch x86_64"
./configure --disable-shared \
--enable-minimal \
--prefix="$OSX64_PREFIX"
make clean > /dev/null && make -j3 check && make -j3 install || exit 1
# Cleanup
make distclean > /dev/null || exit 1
# Build for iOS
2013-11-18 17:59:25 -05:00
export XCODEDIR=$(xcode-select -p)
export BASEDIR="${XCODEDIR}/Platforms/iPhoneOS.platform/Developer"
export PATH="${BASEDIR}/usr/bin:$BASEDIR/usr/sbin:$PATH"
2014-11-20 17:01:35 -05:00
export SDK="${BASEDIR}/SDKs/iPhoneOS.sdk"
2014-12-26 17:01:38 -05:00
export IPHONEOS_VERSION_MIN=${IPHONEOS_VERSION_MIN-"5.1.1"}
2014-12-16 13:33:58 -05:00
export CFLAGS="-Oz -mthumb -arch armv7 -arch armv7s -arch arm64 -isysroot ${SDK} -miphoneos-version-min=${IPHONEOS_VERSION_MIN}"
export LDFLAGS="-mthumb -arch armv7 -arch armv7s -arch arm64 -isysroot ${SDK} -miphoneos-version-min=${IPHONEOS_VERSION_MIN}"
./configure --host=arm-apple-darwin10 \
--disable-shared \
--enable-minimal \
--prefix="$IOS_PREFIX" || exit 1
make clean > /dev/null && make -j3 install || exit 1
# Create universal binary and include folder
rm -fr -- "$PREFIX/include" "$PREFIX/libsodium.a" 2> /dev/null
mkdir -p -- "$PREFIX"
lipo -create "$IOS_PREFIX/lib/libsodium.a" "$OSX32_PREFIX/lib/libsodium.a" "$OSX64_PREFIX/lib/libsodium.a" -output "$PREFIX/libsodium.a"
mv -f -- "$IOS_PREFIX/include" "$PREFIX/"
2014-12-11 00:27:10 -05:00
echo
echo "libsodium has been installed into $PREFIX"
2014-12-11 00:27:10 -05:00
echo
2014-12-11 00:43:55 -05:00
file -- "$PREFIX/libsodium.a"
# Cleanup
rm -rf -- "$PREFIX/tmp"
2014-12-11 00:27:10 -05:00
make distclean > /dev/null