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