X-Git-Url: https://git.saurik.com/cycript.git/blobdiff_plain/abc804faac8186e04cbe0a1d2f34923875d33563..f6fa3c2112ee8b0aa26ab0765674601a9800db77:/xcode.sh diff --git a/xcode.sh b/xcode.sh index 3144218..45b2ea9 100755 --- a/xcode.sh +++ b/xcode.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash # Cycript - Optimizing JavaScript Compiler/Runtime # Copyright (C) 2009-2013 Jay Freeman (saurik) @@ -59,12 +59,16 @@ function configure() { rm -rf build."${dir}" mkdir build."${dir}" cd build."${dir}" - CPP="${cc} -E" CC="${cc} ${flg}" CXXCPP="${cxx} -E" CXX="${cxx} ${flg}" OBJCXX="${cxx} ${flg}" ../configure "${flags[@]}" --prefix="/usr" "$@" + + CC="${cc} ${flg}" CXX="${cxx} ${flg}" OBJCXX="${cxx} ${flg}" \ + ../configure --enable-maintainer-mode "${flags[@]}" --prefix="/usr" "$@" + cd .. } for arch in i386 x86_64; do - configure "mac-${arch}" "${mac}" "-arch ${arch} -mmacosx-version-min=10.6" CPPFLAGS="-I../readline" LDFLAGS="-L../readline" + configure "mac-${arch}" "${mac}" "-arch ${arch} -mmacosx-version-min=10.6" \ + CPPFLAGS="-I../readline" LDFLAGS="-L../readline" done function build() { @@ -73,13 +77,40 @@ function build() { local flg=$3 shift 3 - configure "${dir}" "${sdk}" "${flg}" "$@" --enable-static --with-pic #CPPFLAGS="-idirafter ${mac}/usr/include" + configure "${dir}" "${sdk}" "${flg}" "$@" --enable-static --with-pic } -for arch in i386; do - build "sim-${arch}" iphonesimulator "-arch ${arch} -mios-simulator-version-min=2.0" OBJCXXFLAGS="-fobjc-abi-version=2 -fobjc-legacy-dispatch" CPPFLAGS="-I../libffi.${arch}/include" LDFLAGS="-L.." --disable-console +for arch in i386 x86_64; do + build "sim-${arch}" iphonesimulator "-arch ${arch} -mios-simulator-version-min=4.0" \ + OBJCXXFLAGS="-fobjc-abi-version=2 -fobjc-legacy-dispatch" \ + CPPFLAGS="-I../libffi.${arch}/include" \ + LDFLAGS="-L.." \ + --disable-console done -for arch in armv6 armv7; do - build "ios-${arch}" iphoneos5.1 "-arch ${arch} -miphoneos-version-min=2.0" --host=arm-apple-darwin10 CPPFLAGS="-I../libffi.${arch}/include -I../sysroot.ios/usr/include -I../sysroot.ios/usr/include/apr-1" LTLIBAPR="../sysroot.ios/usr/lib/libapr-1.dylib" LDFLAGS="-L.. -L../sysroot.ios/usr/lib" +for arch in armv6 armv7 armv7s arm64; do + cpf="-I../libffi.${arch}/include" + ldf="-L.." + + flg=() + if [[ ${arch} != armv6 ]]; then + flg+=(--disable-console) + else + flg+=(LTLIBAPR="../sysroot.ios/usr/lib/libapr-1.dylib") + flg+=(LTLIBGCC="-lgcc_s.1") + cpf+=" -include ${PWD}/xcode.h" + cpf+=" -mllvm -arm-reserve-r9" + cpf+=" -I../sysroot.ios/usr/include -I../sysroot.ios/usr/include/apr-1" + ldf+=" -L../sysroot.ios/usr/lib" + fi + + if [[ ${arch} == arm64 ]]; then + min=7.0 + else + min=2.0 + #cpf+=" -mthumb" + fi + + build "ios-${arch}" iphoneos "-arch ${arch} -miphoneos-version-min=${min}" --host=arm-apple-darwin10 \ + CPPFLAGS="${cpf}" LDFLAGS="${ldf}" "${flg[@]}" --host=arm-apple-darwin10 done