X-Git-Url: https://git.saurik.com/cycript.git/blobdiff_plain/26ff3bc237a78a791560d4872e276e9f6a0cb3ed..b23692f3038296c94d25c84c55ed4c1bb49619cf:/apple-libffi.sh?ds=inline diff --git a/apple-libffi.sh b/apple-libffi.sh index c20b5ba..296d12d 100755 --- a/apple-libffi.sh +++ b/apple-libffi.sh @@ -19,56 +19,4 @@ # along with this program. If not, see . # }}} -set -e - -archs=() -function arch() { - local arch=$1 - local host=$2 - local sdk=$3 - local os=$4 - local min=$5 - shift 5 - - rm -rf "libffi.${arch}" - if ! isysroot=$(xcodebuild -sdk "${sdk}" -version Path); then - return - fi - - archs+=("${arch}") - mkdir "libffi.${arch}" - - flags=() - flags+=(-isysroot "${isysroot}") - flags+=(-m${os}-version-min="${min}") - flags+=(-DPAGE_MAX_SIZE=16384 -DPAGE_MAX_SHIFT=14) - flags+=(-fno-stack-protector) - flags+=(-O3 -g3) - - if [[ ${arch} == arm* && ${arch} != arm64 ]]; then - flags+=(-mthumb) - fi - - cd "libffi.${arch}" - CC="clang -arch ${arch}" CXX="clang++ -arch ${arch}" CFLAGS="${flags[*]}" CPPFLAGS="${flags[*]} $*" ../libffi/configure --host="${host}" - make - cd .. -} - -arch armv6 arm-apple-darwin10 iphoneos iphoneos 2.0 -mllvm -arm-reserve-r9 -arch armv7 arm-apple-darwin10 iphoneos iphoneos 2.0 -arch armv7s arm-apple-darwin10 iphoneos iphoneos 2.0 -arch arm64 aarch64-apple-darwin11 iphoneos iphoneos 2.0 - -arch i386 i386-apple-darwin10 iphonesimulator ios-simulator 4.0 -arch x86_64 x86_64-apple-darwin11 iphonesimulator ios-simulator 4.0 - -libffi=() -for arch in "${archs[@]}"; do - a=libffi."${arch}"/.libs/libffi.a - # sectionForAddress(...) address not in any section file '...' for architecture i386 - ar m "${a}" src/prep_cif.o - libffi+=("${a}") -done - -lipo -create -output libffi.a "${libffi[@]}" +exec ./apple-lib.sh ffi -DPAGE_MAX_SIZE=16384 -DPAGE_MAX_SHIFT=14 -fno-stack-protector