]>
git.saurik.com Git - cycript.git/blob - apple-libffi.sh
ac980dfc143513dd499bb3fbac9f6d1dffdfba4c
   3 # Cycript - Optimizing JavaScript Compiler/Runtime 
   4 # Copyright (C) 2009-2013  Jay Freeman (saurik) 
   6 # GNU General Public License, Version 3 {{{ 
   8 # Cycript is free software: you can redistribute it and/or modify 
   9 # it under the terms of the GNU General Public License as published 
  10 # by the Free Software Foundation, either version 3 of the License, 
  11 # or (at your option) any later version. 
  13 # Cycript is distributed in the hope that it will be useful, but 
  14 # WITHOUT ANY WARRANTY; without even the implied warranty of 
  15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
  16 # GNU General Public License for more details. 
  18 # You should have received a copy of the GNU General Public License 
  19 # along with Cycript.  If not, see <http://www.gnu.org/licenses/>. 
  33     rm -rf "libffi.${arch}" 
  34     if ! isysroot
=$(xcodebuild -sdk "${sdk}" -version Path); then 
  39     mkdir "libffi.${arch}" 
  42     flags
+=(-isysroot "${isysroot}") 
  43     flags
+=(-m${os}-version-min="${min}") 
  44     flags
+=(-no-integrated-as) 
  45     flags
+=(-fno-stack-protector) 
  48     if [[ ${arch} == arm
* && ${arch} != arm64 
]]; then 
  53     CC
="clang -arch ${arch}" CFLAGS
="${flags[*]}" CPPFLAGS
="${flags[*]} $*" ..
/libffi
/configure 
--host="${host}" 
  58 arch armv6 arm
-apple-darwin10 iphoneos iphoneos 
2.0 -mllvm -arm-reserve-r9 
  59 arch armv7 arm
-apple-darwin10 iphoneos iphoneos 
2.0 
  60 arch armv7s arm
-apple-darwin10 iphoneos iphoneos 
2.0 
  61 arch arm64 aarch64
-apple-darwin11 iphoneos iphoneos 
2.0 
  63 arch i386 i386
-apple-darwin10 iphonesimulator ios
-simulator 4.0 
  64 arch x86_64 x86_64
-apple-darwin11 iphonesimulator ios
-simulator 4.0 
  67 for arch 
in "${archs[@]}"; do 
  68     a
=libffi.
"${arch}"/.libs
/libffi.a
 
  69     # sectionForAddress(...) address not in any section file '...' for architecture i386 
  70     ar m 
"${a}" src
/prep_cif.o
 
  74 lipo 
-create -output libffi.a 
"${libffi[@]}"