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/>. 
  27 for deb 
in apr
-lib_1.3
.3-2 libffi_1
:3.0.10-5 ncurses_5.7
-12 readline_6.0
-7; do 
  28     deb
=${deb}_iphoneos
-arm.deb
 
  29     [[ -f "${deb}" ]] || wget http
://apt.saurik.com
/debs
/"${deb}" 
  31     ar -x "${deb}" "${tar}" 
  32     PATH
=/sw
/bin
:$PATH tar -C sysroot.ios 
-xf "${tar}" 
  36 mkdir -p sysroot.ios
/usr
/include
/ffi
 
  37 mv -v sysroot.ios
/usr
/include
/{,ffi
/}ffi.h
 
  40 dev
=/Developer
/Platforms
/${plt}.platform
/Developer
 
  41 sdk
=${dev}/SDKs
/${plt}5.0.sdk
 
  43 ln -s /System
/Library
/Frameworks
/WebKit.framework
/Versions
/A
/Headers sysroot.ios
/usr
/include
/WebKit
 
  45 mkdir -p sysroot.ios
/Library
/Frameworks
/JavaScriptCore.framework
 
  46 ln -s "${sdk}"/System
/Library
/PrivateFrameworks
/JavaScriptCore.framework
/JavaScriptCore sysroot.ios
/Library
/Frameworks
/JavaScriptCore.framework
 
  47 ln -s /System
/Library
/Frameworks
/JavaScriptCore.framework
/Headers sysroot.ios
/Library
/Frameworks
/JavaScriptCore.framework
 
  49 export CC
=${dev}/usr
/bin
/gcc
 
  50 export CXX
=${dev}/usr
/bin
/g
++ 
  51 export OBJCXX
=${dev}/usr
/bin
/g
++ 
  54 flags_armv6
+=(-isysroot "${sdk}") 
  56 flags_armv6
+=(-Fsysroot.ios
/Library
/Frameworks
) 
  57 flags_armv6
+=(-Isysroot.ios
/usr
/include
) 
  58 flags_armv6
+=(-Lsysroot.ios
/usr
/lib
) 
  60 flags_armv6
+=(-F"${sdk}"/System
/Library
/PrivateFrameworks
) 
  61 flags_armv6
+=(-framework WebCore
) 
  65 for flag 
in "${flags_armv6[@]}"; do 
  66     flags
+=(-Xarch_armv6 "${flag}") 
  70 export CFLAGS
=${cflags} 
  71 export CXXFLAGS
=${cflags} 
  72 export OBJCXXFLAGS
=${cflags} 
  75 for flag 
in "${flags[@]}"; do 
  76     lflags
+=("-Xcompiler ${flag}") 
  80 export LTFLAGS
=${lflags} 
  82 .
/configure 
--prefix=/usr 
"$@" 
  83 sed --in-place='' -e 's/\(-arch armv6\) -arch i386 -arch x86_64/\1/' GNUmakefile
 
  87 PATH
=/sw
/bin
:$PATH make arch
=iphoneos
-arm dll
=dylib depends
='apr-lib, readline, libffi (>= 1:3.0.10-5), adv-cmds' package