The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/libsodium/dist-build/ios.sh

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 #! /bin/sh
    2 #
    3 #  Step 1.
    4 #  Configure for base system so simulator is covered
    5 #  
    6 #  Step 2.
    7 #  Make for iOS and iOS simulator
    8 #
    9 #  Step 3.
   10 #  Merge libs into final version for xcode import
   11 
   12 export PREFIX="$(pwd)/libsodium-ios"
   13 export IOS32_PREFIX="$PREFIX/tmp/ios32"
   14 export IOS32s_PREFIX="$PREFIX/tmp/ios32s"
   15 export IOS64_PREFIX="$PREFIX/tmp/ios64"
   16 export SIMULATOR32_PREFIX="$PREFIX/tmp/simulator32"
   17 export SIMULATOR64_PREFIX="$PREFIX/tmp/simulator64"
   18 export XCODEDIR=$(xcode-select -p)
   19 
   20 export IOS_SIMULATOR_VERSION_MIN=${IOS_SIMULATOR_VERSION_MIN-"6.0.0"}
   21 export IOS_VERSION_MIN=${IOS_VERSION_MIN-"6.0.0"}
   22 
   23 mkdir -p $SIMULATOR32_PREFIX $SIMULATOR64_PREFIX $IOS32_PREFIX $IOS32s_PREFIX $IOS64_PREFIX || exit 1
   24 
   25 # Build for the simulator
   26 export BASEDIR="${XCODEDIR}/Platforms/iPhoneSimulator.platform/Developer"
   27 export PATH="${BASEDIR}/usr/bin:$BASEDIR/usr/sbin:$PATH"
   28 export SDK="${BASEDIR}/SDKs/iPhoneSimulator.sdk"
   29 
   30 ## i386 simulator
   31 export CFLAGS="-O2 -arch i386 -isysroot ${SDK} -mios-simulator-version-min=${IOS_SIMULATOR_VERSION_MIN}"
   32 export LDFLAGS="-arch i386 -isysroot ${SDK} -mios-simulator-version-min=${IOS_SIMULATOR_VERSION_MIN}"
   33 
   34 make distclean > /dev/null
   35 
   36 if [ -z "$LIBSODIUM_FULL_BUILD" ]; then
   37   export LIBSODIUM_ENABLE_MINIMAL_FLAG="--enable-minimal"
   38 else
   39   export LIBSODIUM_ENABLE_MINIMAL_FLAG=""
   40 fi
   41 
   42 ./configure --host=i686-apple-darwin10 \
   43             --disable-shared \
   44             ${LIBSODIUM_ENABLE_MINIMAL_FLAG} \
   45             --prefix="$SIMULATOR32_PREFIX" || exit 1
   46 
   47 
   48 NPROCESSORS=$(getconf NPROCESSORS_ONLN 2>/dev/null || getconf _NPROCESSORS_ONLN 2>/dev/null)
   49 PROCESSORS=${NPROCESSORS:-3}
   50 
   51 make -j${PROCESSORS} install || exit 1
   52 
   53 ## x86_64 simulator
   54 export CFLAGS="-O2 -arch x86_64 -isysroot ${SDK} -mios-simulator-version-min=${IOS_SIMULATOR_VERSION_MIN}"
   55 export LDFLAGS="-arch x86_64 -isysroot ${SDK} -mios-simulator-version-min=${IOS_SIMULATOR_VERSION_MIN}"
   56 
   57 make distclean > /dev/null
   58 
   59 ./configure --host=x86_64-apple-darwin10 \
   60             --disable-shared \
   61             ${LIBSODIUM_ENABLE_MINIMAL_FLAG} \
   62             --prefix="$SIMULATOR64_PREFIX"
   63 
   64 make -j${PROCESSORS} install || exit 1
   65 
   66 # Build for iOS
   67 export BASEDIR="${XCODEDIR}/Platforms/iPhoneOS.platform/Developer"
   68 export PATH="${BASEDIR}/usr/bin:$BASEDIR/usr/sbin:$PATH"
   69 export SDK="${BASEDIR}/SDKs/iPhoneOS.sdk"
   70 
   71 ## 32-bit iOS
   72 export CFLAGS="-fembed-bitcode -O2 -mthumb -arch armv7 -isysroot ${SDK} -mios-version-min=${IOS_VERSION_MIN}"
   73 export LDFLAGS="-fembed-bitcode -mthumb -arch armv7 -isysroot ${SDK} -mios-version-min=${IOS_VERSION_MIN}"
   74 
   75 make distclean > /dev/null
   76 
   77 ./configure --host=arm-apple-darwin10 \
   78             --disable-shared \
   79             ${LIBSODIUM_ENABLE_MINIMAL_FLAG} \
   80             --prefix="$IOS32_PREFIX" || exit 1
   81 
   82 make -j${PROCESSORS} install || exit 1
   83 
   84 ## 32-bit armv7s iOS
   85 export CFLAGS="-fembed-bitcode -O2 -mthumb -arch armv7s -isysroot ${SDK} -mios-version-min=${IOS_VERSION_MIN}"
   86 export LDFLAGS="-fembed-bitcode -mthumb -arch armv7s -isysroot ${SDK} -mios-version-min=${IOS_VERSION_MIN}"
   87 
   88 make distclean > /dev/null
   89 
   90 ./configure --host=arm-apple-darwin10 \
   91             --disable-shared \
   92             ${LIBSODIUM_ENABLE_MINIMAL_FLAG} \
   93             --prefix="$IOS32s_PREFIX" || exit 1
   94 
   95 make -j${PROCESSORS} install || exit 1
   96 
   97 ## 64-bit iOS
   98 export CFLAGS="-fembed-bitcode -O2 -arch arm64 -isysroot ${SDK} -mios-version-min=${IOS_VERSION_MIN} -fembed-bitcode"
   99 export LDFLAGS="-fembed-bitcode -arch arm64 -isysroot ${SDK} -mios-version-min=${IOS_VERSION_MIN} -fembed-bitcode"
  100 
  101 make distclean > /dev/null
  102 
  103 ./configure --host=arm-apple-darwin10 \
  104             --disable-shared \
  105             ${LIBSODIUM_ENABLE_MINIMAL_FLAG} \
  106             --prefix="$IOS64_PREFIX" || exit 1
  107 
  108 make -j${PROCESSORS} install || exit 1
  109 
  110 # Create universal binary and include folder
  111 rm -fr -- "$PREFIX/include" "$PREFIX/libsodium.a" 2> /dev/null
  112 mkdir -p -- "$PREFIX/lib"
  113 lipo -create \
  114   "$SIMULATOR32_PREFIX/lib/libsodium.a" \
  115   "$SIMULATOR64_PREFIX/lib/libsodium.a" \
  116   "$IOS32_PREFIX/lib/libsodium.a" \
  117   "$IOS32s_PREFIX/lib/libsodium.a" \
  118   "$IOS64_PREFIX/lib/libsodium.a" \
  119   -output "$PREFIX/lib/libsodium.a"
  120 mv -f -- "$IOS32_PREFIX/include" "$PREFIX/"
  121 
  122 echo
  123 echo "libsodium has been installed into $PREFIX"
  124 echo
  125 file -- "$PREFIX/lib/libsodium.a"
  126 
  127 # Cleanup
  128 rm -rf -- "$PREFIX/tmp"
  129 make distclean > /dev/null

Cache object: d6a0c250b8429da00a4a4d8b3b8d3f05


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.