]>
git.saurik.com Git - cycript.git/blob - apple-configure.sh
   3 # Cycript - The Truly Universal Scripting Language 
   4 # Copyright (C) 2009-2016  Jay Freeman (saurik) 
   6 # GNU Affero General Public License, Version 3 {{{ 
   8 # This program is free software: you can redistribute it and/or modify 
   9 # it under the terms of the GNU Affero General Public License as published by 
  10 # the Free Software Foundation, either version 3 of the License, or 
  11 # (at your option) any later version. 
  13 # This program is distributed in the hope that it will be useful, 
  14 # but WITHOUT ANY WARRANTY; without even the implied warranty of 
  15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
  16 # GNU Affero General Public License for more details. 
  18 # You should have received a copy of the GNU Affero General Public License 
  19 # along with this program.  If not, see <http://www.gnu.org/licenses/>. 
  30     xcodebuild 
-sdk "$1" -version Path
 
  33 xcs
=$(xcode-select --print-path) 
  35 xct
="${xcs}/Toolchains/XcodeDefault.xctoolchain/usr/lib" 
  39 function configure
() { 
  50     set -- "$@" --enable-static --with-pic 
  52     cc
=$(xcrun --sdk "${sdk}" -f clang) 
  53     cxx
=$(xcrun --sdk "${sdk}" -f clang++) 
  55     flg
="-arch ${arc} ${min}" 
  56     flg
+=" -isysroot $(path "${sdk}")" 
  63         cpf
+=" -I../libffi.${arch}/include" 
  64         ldf
+=" -L../libffi.${arch}/.libs" 
  67     cpf
+=" -I../libuv/include" 
  68     ldf
+=" -L../libuv.${arch}/.libs" 
  70     ..
/configure 
--enable-maintainer-mode "${flags[@]}" --prefix="/usr" "$@" \
 
  71         --with-libclang="-rpath ${xct} ${xct}/libclang.dylib" \
 
  72         CC
="${cc} ${flg}" CXX
="${cxx} ${flg}" OBJCXX
="${cxx} ${flg}" \
 
  73         CFLAGS
="${ccf[*]}" CXXFLAGS
="${ccf[*]}" OBJCXXFLAGS
="${ccf[*]} ${obc}" \
 
  74         CPPFLAGS
="${cpf}" LDFLAGS
="${ldf}" CY_SYSTEM
="$((1<<system++))" 
  79 for arch 
in i386 x86_64
; do 
  80     configure 
"osx-${arch}" "${mac}" "${arch}" "-mmacosx-version-min=10.6" \
 
  81         false 
"-I../readline.osx" "-L../readline.osx" "" \
 
  82         --with-python=/usr
/bin
/python
-config 
  85 for arch 
in i386 x86_64
; do 
  86     configure 
"sim-${arch}" iphonesimulator 
"${arch}" "-mios-simulator-version-min=4.0" \
 
  87         true 
"" "" "-fobjc-abi-version=2 -fobjc-legacy-dispatch" \
 
  91 for arch 
in armv6 armv7 armv7s arm64
; do 
  96     if [[ ${arch} == arm64 
]]; then 
  97         cpf
+=" -I../extra.${arch}" 
  98         cpf
+=" -I../readline.${arch}" 
  99         ldf
+=" -L../readline.${arch}" 
 100     elif [[ ${arch} != armv6 
]]; then 
 101         flg
+=(--disable-console) 
 103         flg
+=(LTLIBGCC
="-lgcc_s.1") 
 104         cpf
+=" -include ${PWD}/xcode.h" 
 105         cpf
+=" -mllvm -arm-reserve-r9" 
 106         cpf
+=" -I../sysroot.ios/usr/include" 
 107         ldf
+=" -L../sysroot.ios/usr/lib" 
 110     ldf
+=" -Wl,-dead_strip" 
 111     ldf
+=" -Wl,-no_dead_strip_inits_and_terms" 
 113     if [[ ${arch} == arm64 
]]; then 
 117         ldf
+=" -Wl,-segalign,4000" 
 121     configure 
"ios-${arch}" iphoneos 
"${arch}" "-miphoneos-version-min=${min}" \
 
 122         true 
"${cpf[*]}" "${ldf[*]}" "" \
 
 123         --host=arm
-apple-darwin10 LFLAGS
="--ecs --meta-ecs" "${flg[@]}"