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/>.
34 rm -rf "libjpeg.${arch}"
35 rm -rf "libvncserver.${arch}"
37 if ! isysroot
=$(xcodebuild -sdk "${sdk}" -version Path); then
41 mkdir "libjpeg.${arch}"
42 mkdir "libvncserver.${arch}"
45 flags
+=(-isysroot "${isysroot}")
46 flags
+=(-m${os}-version-min="${min}")
48 flags
+=(-fvisibility=hidden
)
50 if [[ ${arch} == arm
* && ${arch} != arm64
]]; then
56 function configure
() {
59 CC
="clang -arch ${arch}" CXX
="clang++ -arch ${arch}" CFLAGS
="${flags[*]}" CPPFLAGS
="${flags[*]} ${cpp}" ..
/"${code}"/configure
--host="${host}" --disable-shared "$@"
67 flags
+=(-I"${PWD}/jpeg-9a")
69 jpeg
=${PWD}/libjpeg.
${arch}
72 cd "libvncserver.${arch}"
73 configure libvncserver JPEG_LDFLAGS
="-L${jpeg}/.libs -ljpeg"
80 arch armv6 arm
-apple-darwin10 iphoneos iphoneos
2.0 -mllvm -arm-reserve-r9
81 arch armv7 arm
-apple-darwin11 iphoneos iphoneos
2.0
82 arch arm64 aarch64
-apple-darwin11 iphoneos iphoneos
2.0
86 lipo
-output library
/libjpeg.a
-create $(for arch in "${archs[@]}"; do echo libjpeg.${arch}/.libs/libjpeg.a; done)
87 lipo
-output library
/libvncserver.a
-create $(for arch in "${archs[@]}"; do echo libvncserver.${arch}/libvncserver/.libs/libvncserver.a; done)
89 lipo
-output library
/libsurface
-armv6.dylib
-thin armv7
"$(xcodebuild -sdk iphoneos -version Path)/System/Library/PrivateFrameworks/CoreSurface.framework/CoreSurface"
90 LANG
=C
/sw
/bin
/sed -i -e 's@\(\xCE\xFA\xED\xFE\x0C\x00\x00\x00\)\x09\x00\x00\x00@\1\x06\x00\x00\x00@' library
/libsurface
-armv6.dylib
91 lipo
-output library
/libsurface.dylib
-create library
/libsurface
-armv6.dylib
"$(xcodebuild -sdk iphoneos -version Path)/System/Library/PrivateFrameworks/IOSurface.framework/IOSurface"