Created
December 3, 2013 23:51
-
-
Save andrep/7779878 to your computer and use it in GitHub Desktop.
A script to run `./configure` for various iOS devices. Lightly tested and WorksForMe™.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh -x -e | |
case "$ARCH" in | |
armv6-apple-darwin10|armv7-apple-darwin10|armv7s-apple-darwin10|arm64-apple-darwin10|i386-apple-darwin11) | |
;; | |
*) | |
cat <<EOF | |
Must set ARCH environment variable to | |
armv6-apple-darwin10 = All iOS devices | |
armv7-apple-darwin10 = All except iPhone 1st, iPhone 3G, iPod Touch 1st, iPod Touch 2nd | |
armv7s-apple-darwin10 = iPhone 5, iPhone 5c, iPhone 5S, iPad 4th, iPad Air, iPad Mini 2nd | |
arm64-apple-darwin10 = iPhone 5s, iPad Air, iPad Mini 2nd | |
i386-apple-darwin11 = iPhone Simulator | |
See <http://en.wikipedia.org/wiki/List_of_iOS_devices#Features> and search for the architecture name for a comprehensive list. | |
EOF | |
exit 2 | |
;; | |
esac | |
clang="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" | |
clangxx="${clang}++" | |
optflags=${OPTFLAGS:--Os} | |
case $ARCH in | |
i386-apple-darwin11) | |
sdk="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk" | |
;; | |
*) | |
sdk="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk" | |
;; | |
esac | |
IPHONEOS_DEPLOYMENT_TARGET=${IPHONEOS_DEPLOYMENT_TARGET:-7.0} | |
export IPHONEOS_DEPLOYMENT_TARGET | |
CC="$clang" | |
CPP="$clang -E" | |
export CC CPP | |
CXX="$clangxx" | |
CXXCPP="$clangxx -E" | |
export CXX CXXCPP | |
CFLAGS="-target $ARCH --sysroot=$sdk $optflags -mios-version-min=$IPHONEOS_DEPLOYMENT_TARGET" | |
CPPFLAGS="$CFLAGS" | |
CXXFLAGS="$CFLAGS -stdlib=libc++" | |
LDFLAGS="$CFLAGS -dead_strip" | |
export CFLAGS CPPFLAGS CXXFLAGS LDFLAGS | |
case $ARCH in | |
arm64-apple-darwin10) | |
host=aarch64-apple-darwin10 | |
;; | |
*) | |
host=$ARCH | |
;; | |
esac | |
${CONFIGURE:-./configure} --host="$host" --disable-shared --disable-dependency-tracking "$@" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment