]> git.saurik.com Git - cycript.git/blobdiff - configure
Correctly handle "high bytes" in "native" strings.
[cycript.git] / configure
index 397f2e5be196393d8a820114672e6e37aa707abb..a48336f9efa1b3b102d644a04299d86f515aa1e9 100755 (executable)
--- a/configure
+++ b/configure
@@ -11,7 +11,7 @@
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
 #
-# Copyright (C) 2009-2015  Jay Freeman (saurik)
+# Copyright (C) 2009-2016  Jay Freeman (saurik)
 ## -------------------- ##
 ## M4sh Initialization. ##
 ## -------------------- ##
@@ -643,11 +643,14 @@ LTFLAGS
 LTLIBGCC
 LTLIBTERMCAP
 LTLIBREADLINE
-CY_PRELINK_FALSE
-CY_PRELINK_TRUE
 CY_LIBCLANG
+CY_ANDROID_FALSE
+CY_ANDROID_TRUE
+CY_ANDROID
 CY_OBJECTIVEC_FALSE
 CY_OBJECTIVEC_TRUE
+CY_PYTHON_FALSE
+CY_PYTHON_TRUE
 CY_RUBY_FALSE
 CY_RUBY_TRUE
 CY_JAVA_FALSE
@@ -655,8 +658,14 @@ CY_JAVA_TRUE
 LTOBJECTIVEC
 GNUSTEP_CONFIG
 CY_OBJECTIVEC
+CY_PRELINK_FALSE
+CY_PRELINK_TRUE
+LTPYTHON
+CY_PYTHON
 LTRUBY
 CY_RUBY
+LIBRUBY21_LIBS
+LIBRUBY21_CFLAGS
 LTJAVA
 CY_JAVA
 LTLIBFFI
@@ -849,6 +858,7 @@ enable_libtool_lock
 enable_javascript
 enable_console
 enable_attach
+with_python
 with_libclang
 '
       ac_precious_vars='build_alias
@@ -879,6 +889,8 @@ WEBKIT_CFLAGS
 WEBKIT_LIBS
 LIBFFI_CFLAGS
 LIBFFI_LIBS
+LIBRUBY21_CFLAGS
+LIBRUBY21_LIBS
 GNUSTEP_CONFIG'
 
 
@@ -1530,6 +1542,7 @@ Optional Packages:
   --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
   --with-sysroot[=DIR]    Search for dependent libraries within DIR (or the
                           compiler's sysroot if not specified).
+  --with-python           support python (pass the path to python-config)
   --with-libclang         build bridge definitions using this libclang
 
 Some influential environment variables:
@@ -1564,6 +1577,10 @@ Some influential environment variables:
   LIBFFI_CFLAGS
               C compiler flags for LIBFFI, overriding pkg-config
   LIBFFI_LIBS linker flags for LIBFFI, overriding pkg-config
+  LIBRUBY21_CFLAGS
+              C compiler flags for LIBRUBY21, overriding pkg-config
+  LIBRUBY21_LIBS
+              linker flags for LIBRUBY21, overriding pkg-config
   GNUSTEP_CONFIG
               prints information about the current gnustep installation
 
@@ -1641,7 +1658,7 @@ Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 
-Copyright (C) 2009-2015  Jay Freeman (saurik)
+Copyright (C) 2009-2016  Jay Freeman (saurik)
 _ACEOF
   exit
 fi
@@ -22656,7 +22673,7 @@ return sqlite3_open_v2 ();
   return 0;
 }
 _ACEOF
-for ac_lib in '' sqlite3; do
+for ac_lib in '' sqlite3 sqlite; do
   if test -z "$ac_lib"; then
     ac_res="none required"
   else
@@ -23038,6 +23055,9 @@ fi
 
 
 
+    cy_save=$LIBS
+    LIBS=
+
                        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for framework JavaVM" >&5
 $as_echo_n "checking for framework JavaVM... " >&6; }
 if ${ac_cv_framework_JavaVM+:} false; then :
@@ -23110,11 +23130,162 @@ if test "x$ac_cv_header_jni_h" = xyes; then :
         CY_JAVA=1
 
 
+else
+
+        CY_JAVA=0
+
+
+fi
+
+
+fi
+    LTJAVA=$LIBS
+    LIBS=$cy_save
+
+
+
+
     cy_save=$LIBS
     LIBS=
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing JNI_GetCreatedJavaVMs" >&5
-$as_echo_n "checking for library containing JNI_GetCreatedJavaVMs... " >&6; }
-if ${ac_cv_search_JNI_GetCreatedJavaVMs+:} false; then :
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBRUBY21" >&5
+$as_echo_n "checking for LIBRUBY21... " >&6; }
+
+if test -n "$LIBRUBY21_CFLAGS"; then
+    pkg_cv_LIBRUBY21_CFLAGS="$LIBRUBY21_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ruby-2.1\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "ruby-2.1") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_LIBRUBY21_CFLAGS=`$PKG_CONFIG --cflags "ruby-2.1" 2>/dev/null`
+                     test "x$?" != "x0" && pkg_failed=yes
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$LIBRUBY21_LIBS"; then
+    pkg_cv_LIBRUBY21_LIBS="$LIBRUBY21_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ruby-2.1\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "ruby-2.1") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_LIBRUBY21_LIBS=`$PKG_CONFIG --libs "ruby-2.1" 2>/dev/null`
+                     test "x$?" != "x0" && pkg_failed=yes
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+               LIBRUBY21_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "ruby-2.1" 2>&1`
+        else
+               LIBRUBY21_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "ruby-2.1" 2>&1`
+        fi
+       # Put the nasty error message in config.log where it belongs
+       echo "$LIBRUBY21_PKG_ERRORS" >&5
+
+
+                       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for framework Ruby" >&5
+$as_echo_n "checking for framework Ruby... " >&6; }
+if ${ac_cv_framework_Ruby+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+               ac_check_framework_save_LIBS=$LIBS
+               LIBS="-framework Ruby  $LIBS"
+               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+        #include <Ruby/ruby.h>
+
+int
+main ()
+{
+ruby_init();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+
+                       ac_cv_framework_Ruby=yes
+
+else
+  ac_cv_framework_Ruby=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+               LIBS=$ac_check_framework_save_LIBS
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_framework_Ruby" >&5
+$as_echo "$ac_cv_framework_Ruby" >&6; }
+       if test $ac_cv_framework_Ruby = yes; then :
+
+
+  for element in "-framework Ruby"; do
+    haveit=
+    for x in $LIBS; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+      if test "X$x" = "X$element"; then
+        haveit=yes
+        break
+      fi
+    done
+    if test -z "$haveit"; then
+      LIBS="${LIBS}${LIBS:+ }$element"
+    fi
+  done
+
+
+        CY_RUBY=1
+
+
+
+else
+  for ac_header in ruby.h
+do :
+  ac_fn_cxx_check_header_mongrel "$LINENO" "ruby.h" "ac_cv_header_ruby_h" "$ac_includes_default"
+if test "x$ac_cv_header_ruby_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_RUBY_H 1
+_ACEOF
+
+        CY_RUBY=1
+
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing ruby_init" >&5
+$as_echo_n "checking for library containing ruby_init... " >&6; }
+if ${ac_cv_search_ruby_init+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -23127,16 +23298,16 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 #ifdef __cplusplus
 extern "C"
 #endif
-char JNI_GetCreatedJavaVMs ();
+char ruby_init ();
 int
 main ()
 {
-return JNI_GetCreatedJavaVMs ();
+return ruby_init ();
   ;
   return 0;
 }
 _ACEOF
-for ac_lib in '' dvm; do
+for ac_lib in '' ruby; do
   if test -z "$ac_lib"; then
     ac_res="none required"
   else
@@ -23144,46 +23315,45 @@ for ac_lib in '' dvm; do
     LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
   fi
   if ac_fn_cxx_try_link "$LINENO"; then :
-  ac_cv_search_JNI_GetCreatedJavaVMs=$ac_res
+  ac_cv_search_ruby_init=$ac_res
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if ${ac_cv_search_JNI_GetCreatedJavaVMs+:} false; then :
+  if ${ac_cv_search_ruby_init+:} false; then :
   break
 fi
 done
-if ${ac_cv_search_JNI_GetCreatedJavaVMs+:} false; then :
+if ${ac_cv_search_ruby_init+:} false; then :
 
 else
-  ac_cv_search_JNI_GetCreatedJavaVMs=no
+  ac_cv_search_ruby_init=no
 fi
 rm conftest.$ac_ext
 LIBS=$ac_func_search_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_JNI_GetCreatedJavaVMs" >&5
-$as_echo "$ac_cv_search_JNI_GetCreatedJavaVMs" >&6; }
-ac_res=$ac_cv_search_JNI_GetCreatedJavaVMs
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_ruby_init" >&5
+$as_echo "$ac_cv_search_ruby_init" >&6; }
+ac_res=$ac_cv_search_ruby_init
 if test "$ac_res" != no; then :
   test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
 
 fi
 
-    LTJAVA=$LIBS
-    LIBS=$cy_save
-
-
 
 else
 
-        CY_JAVA=0
+        CY_RUBY=0
 
 
 fi
 
+done
 
 fi
-
+elif test $pkg_failed = untried; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 
                        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for framework Ruby" >&5
 $as_echo_n "checking for framework Ruby... " >&6; }
@@ -23261,10 +23431,7 @@ _ACEOF
 
         CY_RUBY=1
 
-
-    cy_save=$LIBS
-    LIBS=
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing ruby_init" >&5
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing ruby_init" >&5
 $as_echo_n "checking for library containing ruby_init... " >&6; }
 if ${ac_cv_search_ruby_init+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -23318,24 +23485,166 @@ ac_res=$ac_cv_search_ruby_init
 if test "$ac_res" != no; then :
   test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
+
+fi
+
+
+else
+
+        CY_RUBY=0
+
+
+fi
+
+done
+
 fi
+else
+       LIBRUBY21_CFLAGS=$pkg_cv_LIBRUBY21_CFLAGS
+       LIBRUBY21_LIBS=$pkg_cv_LIBRUBY21_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+        CY_RUBY=1
+
+
+  for element in `$PKG_CONFIG --cflags ruby-2.1`; do
+    haveit=
+    for x in $CPPFLAGS; do
 
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+      if test "X$x" = "X$element"; then
+        haveit=yes
+        break
+      fi
+    done
+    if test -z "$haveit"; then
+      CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
+    fi
+  done
+
+
+  for element in `$PKG_CONFIG --libs ruby-2.1`; do
+    haveit=
+    for x in $LIBS; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+      if test "X$x" = "X$element"; then
+        haveit=yes
+        break
+      fi
+    done
+    if test -z "$haveit"; then
+      LIBS="${LIBS}${LIBS:+ }$element"
+    fi
+  done
+
+
+fi
     LTRUBY=$LIBS
     LIBS=$cy_save
 
 
 
+
+# Check whether --with-python was given.
+if test "${with_python+set}" = set; then :
+  withval=$with_python;
 else
+  with_python=no
+fi
 
-        CY_RUBY=0
 
+    if test "x$with_python" != "xno"; then :
 
-fi
+        CY_PYTHON=1
 
-done
 
+    cy_save=$LIBS
+    LIBS=
+
+
+  for element in `$with_python --includes`; do
+    haveit=
+    for x in $CPPFLAGS; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+      if test "X$x" = "X$element"; then
+        haveit=yes
+        break
+      fi
+    done
+    if test -z "$haveit"; then
+      CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
+    fi
+  done
+
+
+  for element in `$with_python --ldflags`; do
+    haveit=
+    for x in $LIBS; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+      if test "X$x" = "X$element"; then
+        haveit=yes
+        break
+      fi
+    done
+    if test -z "$haveit"; then
+      LIBS="${LIBS}${LIBS:+ }$element"
+    fi
+  done
+
+
+    LTPYTHON=$LIBS
+    LIBS=$cy_save
+
+
+
+else
+
+        CY_PYTHON=0
+
+
+fi
+
+     if test "x$with_python" != "xno"; then
+  CY_PRELINK_TRUE=
+  CY_PRELINK_FALSE='#'
+else
+  CY_PRELINK_TRUE='#'
+  CY_PRELINK_FALSE=
 fi
 
+
     ac_ext=mm
 ac_cpp='$OBJCXXCPP $CPPFLAGS'
 ac_compile='$OBJCXX -c $OBJCXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -23428,6 +23737,7 @@ $as_echo "$ac_cv_framework_CoreFoundation" >&6; }
   done
 
 
+            CY_OBJECTIVEC=1
 
 
 
@@ -23548,6 +23858,7 @@ done
 
             if test "x$GNUSTEP_CONFIG" != x; then :
 
+                CY_OBJECTIVEC=1
 
 
   for element in `$GNUSTEP_CONFIG --objc-flags`; do
 
 
 
+else
+
+        CY_OBJECTIVEC=0
+
+
 fi
 
     ac_ext=cpp
@@ -23636,6 +23952,14 @@ else
   CY_RUBY_FALSE=
 fi
 
+ if test "x$CY_PYTHON" = x1; then
+  CY_PYTHON_TRUE=
+  CY_PYTHON_FALSE='#'
+else
+  CY_PYTHON_TRUE='#'
+  CY_PYTHON_FALSE=
+fi
+
  if test "x$CY_OBJECTIVEC" = x1; then
   CY_OBJECTIVEC_TRUE=
   CY_OBJECTIVEC_FALSE='#'
@@ -23645,6 +23969,36 @@ else
 fi
 
 
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#ifndef __ANDROID__
+#error
+#endif
+
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
+    CY_ANDROID=1
+
+
+else
+
+    CY_ANDROID=0
+
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+ if test "x$CY_ANDROID" = x1; then
+  CY_ANDROID_TRUE=
+  CY_ANDROID_FALSE='#'
+else
+  CY_ANDROID_TRUE='#'
+  CY_ANDROID_FALSE=
+fi
+
+
 
 # Check whether --with-libclang was given.
 if test "${with_libclang+set}" = set; then :
@@ -24047,6 +24401,10 @@ if test -z "${CY_EXECUTE_TRUE}" && test -z "${CY_EXECUTE_FALSE}"; then
   as_fn_error $? "conditional \"CY_EXECUTE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+if test -z "${CY_PRELINK_TRUE}" && test -z "${CY_PRELINK_FALSE}"; then
+  as_fn_error $? "conditional \"CY_PRELINK\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 if test -z "${CY_JAVA_TRUE}" && test -z "${CY_JAVA_FALSE}"; then
   as_fn_error $? "conditional \"CY_JAVA\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -24055,10 +24413,18 @@ if test -z "${CY_RUBY_TRUE}" && test -z "${CY_RUBY_FALSE}"; then
   as_fn_error $? "conditional \"CY_RUBY\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+if test -z "${CY_PYTHON_TRUE}" && test -z "${CY_PYTHON_FALSE}"; then
+  as_fn_error $? "conditional \"CY_PYTHON\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 if test -z "${CY_OBJECTIVEC_TRUE}" && test -z "${CY_OBJECTIVEC_FALSE}"; then
   as_fn_error $? "conditional \"CY_OBJECTIVEC\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+if test -z "${CY_ANDROID_TRUE}" && test -z "${CY_ANDROID_FALSE}"; then
+  as_fn_error $? "conditional \"CY_ANDROID\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 if test -z "${CY_PRELINK_TRUE}" && test -z "${CY_PRELINK_FALSE}"; then
   as_fn_error $? "conditional \"CY_PRELINK\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5