]> git.saurik.com Git - cycript.git/blobdiff - xcode.sh
Apparently, __pthread_set_self takes tsd address.
[cycript.git] / xcode.sh
index 3144218f8c8a2a5932d65dc615bb7a944e05b78a..1ad065029b0c986d56022d74d0a704fbe82c6184 100755 (executable)
--- 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,39 @@ 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+=" -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