4 # Configure for base system so simulator is covered
7 # Make for iOS and iOS simulator
10 # Merge libs into final version for xcode import
12 export PREFIX
="$(pwd)/libsodium-ios"
13 export IOS32_PREFIX
="$PREFIX/tmp/ios32"
14 export IOS64_PREFIX
="$PREFIX/tmp/ios64"
15 export SIMULATOR32_PREFIX
="$PREFIX/tmp/simulator32"
16 export SIMULATOR64_PREFIX
="$PREFIX/tmp/simulator64"
17 export IOS_SIMULATOR_VERSION_MIN
=${IOS_SIMULATOR_VERSION_MIN-"5.1.1"}
18 export IOS_VERSION_MIN
=${IOS_VERSION_MIN-"5.1.1"}
19 export XCODEDIR
=$
(xcode-select
-p)
21 mkdir
-p $SIMULATOR32_PREFIX $SIMULATOR64_PREFIX $IOS32_PREFIX $IOS64_PREFIX ||
exit 1
23 # Build for the simulator
24 export BASEDIR
="${XCODEDIR}/Platforms/iPhoneSimulator.platform/Developer"
25 export PATH
="${BASEDIR}/usr/bin:$BASEDIR/usr/sbin:$PATH"
26 export SDK
="${BASEDIR}/SDKs/iPhoneSimulator.sdk"
29 export CFLAGS
="-O2 -arch i386 -isysroot ${SDK} -mios-simulator-version-min=${IOS_SIMULATOR_VERSION_MIN} -flto"
30 export LDFLAGS
="-arch i386 -isysroot ${SDK} -mios-simulator-version-min=${IOS_SIMULATOR_VERSION_MIN} -flto"
32 make distclean
> /dev
/null
34 .
/configure
--disable-shared \
36 --prefix="$SIMULATOR32_PREFIX" ||
exit 1
38 make -j3 install ||
exit 1
41 export CFLAGS
="-O2 -arch x86_64 -isysroot ${SDK} -mios-simulator-version-min=${IOS_SIMULATOR_VERSION_MIN} -flto"
42 export LDFLAGS
="-arch x86_64 -isysroot ${SDK} -mios-simulator-version-min=${IOS_SIMULATOR_VERSION_MIN} -flto"
44 make distclean
> /dev
/null
46 .
/configure
--disable-shared \
48 --prefix="$SIMULATOR64_PREFIX"
50 make -j3 install ||
exit 1
53 export BASEDIR
="${XCODEDIR}/Platforms/iPhoneOS.platform/Developer"
54 export PATH
="${BASEDIR}/usr/bin:$BASEDIR/usr/sbin:$PATH"
55 export SDK
="${BASEDIR}/SDKs/iPhoneOS.sdk"
58 export CFLAGS
="-O2 -mthumb -arch armv7 -isysroot ${SDK} -mios-version-min=${IOS_VERSION_MIN} -flto"
59 export LDFLAGS
="-mthumb -arch armv7 -isysroot ${SDK} -mios-version-min=${IOS_VERSION_MIN} -flto"
61 make distclean
> /dev
/null
63 .
/configure
--host=arm-apple-darwin10 \
66 --prefix="$IOS32_PREFIX" ||
exit 1
68 make -j3 install ||
exit 1
71 export CFLAGS
="-O2 -arch arm64 -isysroot ${SDK} -mios-version-min=${IOS_VERSION_MIN} -flto"
72 export LDFLAGS
="-arch arm64 -isysroot ${SDK} -mios-version-min=${IOS_VERSION_MIN} -flto"
74 make distclean
> /dev
/null
76 .
/configure
--host=arm-apple-darwin10 \
79 --prefix="$IOS64_PREFIX" ||
exit 1
81 make -j3 install ||
exit 1
83 # Create universal binary and include folder
84 rm -fr -- "$PREFIX/include" "$PREFIX/libsodium.a" 2> /dev
/null
85 mkdir
-p -- "$PREFIX/lib"
87 "$SIMULATOR32_PREFIX/lib/libsodium.a" \
88 "$SIMULATOR64_PREFIX/lib/libsodium.a" \
89 "$IOS32_PREFIX/lib/libsodium.a" \
90 "$IOS64_PREFIX/lib/libsodium.a" \
91 -output "$PREFIX/lib/libsodium.a"
92 mv -f -- "$IOS32_PREFIX/include" "$PREFIX/"
95 echo "libsodium has been installed into $PREFIX"
97 file -- "$PREFIX/lib/libsodium.a"
100 rm -rf -- "$PREFIX/tmp"
101 make distclean
> /dev
/null