|
rdobuilder |
775784 |
#! /bin/sh
|
|
rdobuilder |
775784 |
#
|
|
rdobuilder |
775784 |
# Step 1.
|
|
rdobuilder |
775784 |
# Configure for base system so simulator is covered
|
|
rdobuilder |
775784 |
#
|
|
rdobuilder |
775784 |
# Step 2.
|
|
rdobuilder |
775784 |
# Make for watchOS and watchOS simulator
|
|
rdobuilder |
775784 |
#
|
|
rdobuilder |
775784 |
# Step 3.
|
|
rdobuilder |
775784 |
# Merge libs into final version for xcode import
|
|
rdobuilder |
775784 |
|
|
rdobuilder |
775784 |
export PREFIX="$(pwd)/libsodium-watchos"
|
|
rdobuilder |
775784 |
export WATCHOS32_PREFIX="$PREFIX/tmp/watchos32"
|
|
rdobuilder |
775784 |
export WATCHOS64_32_PREFIX="$PREFIX/tmp/watchos64_32"
|
|
rdobuilder |
775784 |
export SIMULATOR32_PREFIX="$PREFIX/tmp/simulator32"
|
|
rdobuilder |
775784 |
export SIMULATOR64_PREFIX="$PREFIX/tmp/simulator64"
|
|
rdobuilder |
775784 |
export XCODEDIR=$(xcode-select -p)
|
|
rdobuilder |
775784 |
|
|
rdobuilder |
775784 |
export WATCHOS_SIMULATOR_VERSION_MIN=${WATCHOS_SIMULATOR_VERSION_MIN-"4.0.0"}
|
|
rdobuilder |
775784 |
export WATCHOS_VERSION_MIN=${WATCHOS_VERSION_MIN-"4.0.0"}
|
|
rdobuilder |
775784 |
|
|
rdobuilder |
775784 |
mkdir -p $SIMULATOR32_PREFIX $SIMULATOR64_PREFIX $WATCHOS32_PREFIX $WATCHOS64_32_PREFIX || exit 1
|
|
rdobuilder |
775784 |
|
|
rdobuilder |
775784 |
# Build for the simulator
|
|
rdobuilder |
775784 |
export BASEDIR="${XCODEDIR}/Platforms/WatchSimulator.platform/Developer"
|
|
rdobuilder |
775784 |
export PATH="${BASEDIR}/usr/bin:$BASEDIR/usr/sbin:$PATH"
|
|
rdobuilder |
775784 |
export SDK="${BASEDIR}/SDKs/WatchSimulator.sdk"
|
|
rdobuilder |
775784 |
|
|
rdobuilder |
775784 |
## i386 simulator
|
|
rdobuilder |
775784 |
export CFLAGS="-O2 -arch i386 -isysroot ${SDK} -mwatchos-simulator-version-min=${WATCHOS_SIMULATOR_VERSION_MIN}"
|
|
rdobuilder |
775784 |
export LDFLAGS="-arch i386 -isysroot ${SDK} -mwatchos-simulator-version-min=${WATCHOS_SIMULATOR_VERSION_MIN}"
|
|
rdobuilder |
775784 |
|
|
rdobuilder |
775784 |
make distclean > /dev/null
|
|
rdobuilder |
775784 |
|
|
rdobuilder |
775784 |
if [ -z "$LIBSODIUM_FULL_BUILD" ]; then
|
|
rdobuilder |
775784 |
export LIBSODIUM_ENABLE_MINIMAL_FLAG="--enable-minimal"
|
|
rdobuilder |
775784 |
else
|
|
rdobuilder |
775784 |
export LIBSODIUM_ENABLE_MINIMAL_FLAG=""
|
|
rdobuilder |
775784 |
fi
|
|
rdobuilder |
775784 |
|
|
rdobuilder |
775784 |
./configure --host=i686-apple-darwin10 \
|
|
rdobuilder |
775784 |
--disable-shared \
|
|
rdobuilder |
775784 |
${LIBSODIUM_ENABLE_MINIMAL_FLAG} \
|
|
rdobuilder |
775784 |
--prefix="$SIMULATOR32_PREFIX" || exit 1
|
|
rdobuilder |
775784 |
|
|
rdobuilder |
775784 |
|
|
rdobuilder |
775784 |
NPROCESSORS=$(getconf NPROCESSORS_ONLN 2>/dev/null || getconf _NPROCESSORS_ONLN 2>/dev/null)
|
|
rdobuilder |
775784 |
PROCESSORS=${NPROCESSORS:-3}
|
|
rdobuilder |
775784 |
|
|
rdobuilder |
775784 |
make -j${PROCESSORS} install || exit 1
|
|
rdobuilder |
775784 |
|
|
rdobuilder |
775784 |
## x86_64 simulator
|
|
rdobuilder |
775784 |
export CFLAGS="-O2 -arch x86_64 -isysroot ${SDK} -mwatchos-simulator-version-min=${WATCHOS_SIMULATOR_VERSION_MIN}"
|
|
rdobuilder |
775784 |
export LDFLAGS="-arch x86_64 -isysroot ${SDK} -mwatchos-simulator-version-min=${WATCHOS_SIMULATOR_VERSION_MIN}"
|
|
rdobuilder |
775784 |
|
|
rdobuilder |
775784 |
make distclean > /dev/null
|
|
rdobuilder |
775784 |
|
|
rdobuilder |
775784 |
./configure --host=x86_64-apple-darwin10 \
|
|
rdobuilder |
775784 |
--disable-shared \
|
|
rdobuilder |
775784 |
${LIBSODIUM_ENABLE_MINIMAL_FLAG} \
|
|
rdobuilder |
775784 |
--prefix="$SIMULATOR64_PREFIX"
|
|
rdobuilder |
775784 |
|
|
rdobuilder |
775784 |
make -j${PROCESSORS} install || exit 1
|
|
rdobuilder |
775784 |
|
|
rdobuilder |
775784 |
# Build for watchOS
|
|
rdobuilder |
775784 |
export BASEDIR="${XCODEDIR}/Platforms/WatchOS.platform/Developer"
|
|
rdobuilder |
775784 |
export PATH="${BASEDIR}/usr/bin:$BASEDIR/usr/sbin:$PATH"
|
|
rdobuilder |
775784 |
export SDK="${BASEDIR}/SDKs/WatchOS.sdk"
|
|
rdobuilder |
775784 |
|
|
rdobuilder |
775784 |
## 32-bit watchOS
|
|
rdobuilder |
775784 |
export CFLAGS="-fembed-bitcode -O2 -mthumb -arch armv7k -isysroot ${SDK} -mwatchos-version-min=${WATCHOS_VERSION_MIN}"
|
|
rdobuilder |
775784 |
export LDFLAGS="-fembed-bitcode -mthumb -arch armv7k -isysroot ${SDK} -mwatchos-version-min=${WATCHOS_VERSION_MIN}"
|
|
rdobuilder |
775784 |
|
|
rdobuilder |
775784 |
make distclean > /dev/null
|
|
rdobuilder |
775784 |
|
|
rdobuilder |
775784 |
./configure --host=arm-apple-darwin10 \
|
|
rdobuilder |
775784 |
--disable-shared \
|
|
rdobuilder |
775784 |
${LIBSODIUM_ENABLE_MINIMAL_FLAG} \
|
|
rdobuilder |
775784 |
--prefix="$WATCHOS32_PREFIX" || exit 1
|
|
rdobuilder |
775784 |
|
|
rdobuilder |
775784 |
make -j${PROCESSORS} install || exit 1
|
|
rdobuilder |
775784 |
|
|
rdobuilder |
775784 |
## 64-bit arm64_32 watchOS
|
|
rdobuilder |
775784 |
export CFLAGS="-fembed-bitcode -O2 -mthumb -arch arm64_32 -isysroot ${SDK} -mwatchos-version-min=${WATCHOS_VERSION_MIN}"
|
|
rdobuilder |
775784 |
export LDFLAGS="-fembed-bitcode -mthumb -arch arm64_32 -isysroot ${SDK} -mwatchos-version-min=${WATCHOS_VERSION_MIN}"
|
|
rdobuilder |
775784 |
|
|
rdobuilder |
775784 |
make distclean > /dev/null
|
|
rdobuilder |
775784 |
|
|
rdobuilder |
775784 |
./configure --host=arm-apple-darwin10 \
|
|
rdobuilder |
775784 |
--disable-shared \
|
|
rdobuilder |
775784 |
${LIBSODIUM_ENABLE_MINIMAL_FLAG} \
|
|
rdobuilder |
775784 |
--prefix="$WATCHOS64_32_PREFIX" || exit 1
|
|
rdobuilder |
775784 |
|
|
rdobuilder |
775784 |
make -j${PROCESSORS} install || exit 1
|
|
rdobuilder |
775784 |
|
|
rdobuilder |
775784 |
# Create universal binary and include folder
|
|
rdobuilder |
775784 |
rm -fr -- "$PREFIX/include" "$PREFIX/libsodium.a" 2> /dev/null
|
|
rdobuilder |
775784 |
mkdir -p -- "$PREFIX/lib"
|
|
rdobuilder |
775784 |
lipo -create \
|
|
rdobuilder |
775784 |
"$SIMULATOR32_PREFIX/lib/libsodium.a" \
|
|
rdobuilder |
775784 |
"$SIMULATOR64_PREFIX/lib/libsodium.a" \
|
|
rdobuilder |
775784 |
"$WATCHOS32_PREFIX/lib/libsodium.a" \
|
|
rdobuilder |
775784 |
"$WATCHOS64_32_PREFIX/lib/libsodium.a" \
|
|
rdobuilder |
775784 |
-output "$PREFIX/lib/libsodium.a"
|
|
rdobuilder |
775784 |
mv -f -- "$WATCHOS32_PREFIX/include" "$PREFIX/"
|
|
rdobuilder |
775784 |
|
|
rdobuilder |
775784 |
echo
|
|
rdobuilder |
775784 |
echo "libsodium has been installed into $PREFIX"
|
|
rdobuilder |
775784 |
echo
|
|
rdobuilder |
775784 |
file -- "$PREFIX/lib/libsodium.a"
|
|
rdobuilder |
775784 |
|
|
rdobuilder |
775784 |
# Cleanup
|
|
rdobuilder |
775784 |
rm -rf -- "$PREFIX/tmp"
|
|
rdobuilder |
775784 |
make distclean > /dev/null
|