From: Jay Freeman (saurik) Date: Wed, 23 Nov 2011 12:09:22 +0000 (+0000) Subject: Add support for iOS Simulator. X-Git-Tag: v0.9.451~3 X-Git-Url: https://git.saurik.com/cycript.git/commitdiff_plain/05733577d986c26de6678c495ab24dfe4458076d Add support for iOS Simulator. --- diff --git a/simulate.sh b/simulate.sh new file mode 100755 index 0000000..ca81215 --- /dev/null +++ b/simulate.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +export DYLD_ROOT_PATH=/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk +export DYLD_FALLBACK_LIBRARY_PATH=/usr/lib +export DYLD_FALLBACK_FRAMEWORK_PATH=/System/Library/Frameworks + +exec arch -i386 cycript "$@" diff --git a/simulator.sh b/simulator.sh new file mode 100755 index 0000000..37ff153 --- /dev/null +++ b/simulator.sh @@ -0,0 +1,61 @@ +#!/usr/bin/env bash + +set -e + +rm -rf sysroot.sim +mkdir -p sysroot.sim + +plt=iPhoneSimulator +dev=/Developer/Platforms/${plt}.platform/Developer +sdk=${dev}/SDKs/${plt}5.0.sdk + +mkdir -p sysroot.sim/usr/include +cp -a /usr/include/ffi sysroot.sim/usr/include + +mkdir -p sysroot.sim/usr/lib +cp -a /usr/lib/libffi.dylib sysroot.sim/usr/lib +cp -a /usr/lib/libapr-1.* sysroot.sim/usr/lib + +ln -s /System/Library/Frameworks/WebKit.framework/Versions/A/Headers sysroot.sim/usr/include/WebKit + +mkdir -p sysroot.sim/Library/Frameworks/JavaScriptCore.framework +ln -s "${sdk}"/System/Library/PrivateFrameworks/JavaScriptCore.framework/JavaScriptCore sysroot.sim/Library/Frameworks/JavaScriptCore.framework +ln -s /System/Library/Frameworks/JavaScriptCore.framework/Headers sysroot.sim/Library/Frameworks/JavaScriptCore.framework + +export CC=${dev}/usr/bin/gcc +export CXX=${dev}/usr/bin/g++ +export OBJCXX=${dev}/usr/bin/g++ + +flags_i386=() +flags_i386+=(-isysroot "${sdk}") + +flags_i386+=(-Fsysroot.sim/Library/Frameworks) +flags_i386+=(-Isysroot.sim/usr/include) +flags_i386+=(-Lsysroot.sim/usr/lib) + +flags_i386+=(-F"${sdk}"/System/Library/PrivateFrameworks) +flags_i386+=(-framework WebCore) + +flags=() +for flag in "${flags_i386[@]}"; do + flags+=(-Xarch_i386 "${flag}") +done + +flags+=(-fobjc-abi-version=2) + +cflags=${flags[*]} +export CFLAGS=${cflags} +export CXXFLAGS=${cflags} +export OBJCXXFLAGS=${cflags} + +export OBJCXXFLAGS="${OBJCXXFLAGS} -Xarch_i386 -fobjc-legacy-dispatch" + +lflags=() +for flag in "${flags[@]}"; do + lflags+=("-Xcompiler ${flag}") +done + +lflags=${lflags[*]} +export LTFLAGS=${lflags} + +./configure --prefix=/usr "$@"