]> git.saurik.com Git - cycript.git/blobdiff - apple-configure.sh
Instance's toPointer() should return as CFTypeRef.
[cycript.git] / apple-configure.sh
index 68625e591267acfacc5d12aba5544b6b3dd2278d..f22fc0b5e794d06ed7b48532009ef1622adf87be 100755 (executable)
@@ -1,7 +1,7 @@
 #!/usr/bin/env bash
 
-# Cycript - Optimizing JavaScript Compiler/Runtime
-# Copyright (C) 2009-2015  Jay Freeman (saurik)
+# Cycript - The Truly Universal Scripting Language
+# Copyright (C) 2009-2016  Jay Freeman (saurik)
 
 # GNU Affero General Public License, Version 3 {{{
 #
@@ -23,15 +23,6 @@ set -e
 
 cd "${0%%/*}"
 
-if ! which aclocal; then
-    touch aclocal.m4; fi
-if ! which autoconf; then
-    touch configure.ac; fi
-if ! which automake; then
-    touch Makefile.in; fi
-if ! which autoheader; then
-    touch config.h.in; fi
-
 flags=("$@")
 ccf=(-g0 -O3)
 
@@ -41,6 +32,9 @@ function path() {
 
 xcs=$(xcode-select --print-path)
 mac=$(path macosx)
+xct="${xcs}/Toolchains/XcodeDefault.xctoolchain/usr/lib"
+
+system=1
 
 function configure() {
     local dir=$1
@@ -74,16 +68,18 @@ function configure() {
     ldf+=" -L../libuv.${arch}/.libs"
 
     ../configure --enable-maintainer-mode "${flags[@]}" --prefix="/usr" "$@" \
+        --with-libclang="-rpath ${xct} ${xct}/libclang.dylib" \
         CC="${cc} ${flg}" CXX="${cxx} ${flg}" OBJCXX="${cxx} ${flg}" \
         CFLAGS="${ccf[*]}" CXXFLAGS="${ccf[*]}" OBJCXXFLAGS="${ccf[*]} ${obc}" \
-        CPPFLAGS="${cpf}" LDFLAGS="${ldf}"
+        CPPFLAGS="${cpf}" LDFLAGS="${ldf}" CY_SYSTEM="$((1<<system++))"
 
     cd ..
 }
 
 for arch in i386 x86_64; do
     configure "osx-${arch}" "${mac}" "${arch}" "-mmacosx-version-min=10.6" \
-        false "-I../readline.osx" "-L../readline.osx" ""
+        false "-I../readline.osx" "-L../readline.osx" "" \
+        --with-python=/usr/bin/python-config
 done
 
 for arch in i386 x86_64; do
@@ -97,7 +93,11 @@ for arch in armv6 armv7 armv7s arm64; do
     ldf=""
 
     flg=()
-    if [[ ${arch} != armv6 ]]; then
+    if [[ ${arch} == arm64 ]]; then
+        cpf+=" -I../extra.${arch}"
+        cpf+=" -I../readline.${arch}"
+        ldf+=" -L../readline.${arch}"
+    elif [[ ${arch} != armv6 ]]; then
         flg+=(--disable-console)
     else
         flg+=(LTLIBGCC="-lgcc_s.1")
@@ -107,6 +107,9 @@ for arch in armv6 armv7 armv7s arm64; do
         ldf+=" -L../sysroot.ios/usr/lib"
     fi
 
+    ldf+=" -Wl,-dead_strip"
+    ldf+=" -Wl,-no_dead_strip_inits_and_terms"
+
     if [[ ${arch} == arm64 ]]; then
         min=7.0
     else