]> git.saurik.com Git - cycript.git/blobdiff - configure
Tighten alignment of FFI return values, correctly.
[cycript.git] / configure
index 3cb5c3cece342d0bb3163cf79babc20e3d1f07b9..0326e92060dff363c3ec0017cabf873f7cdd9d28 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,16 +643,26 @@ LTFLAGS
 LTLIBGCC
 LTLIBTERMCAP
 LTLIBREADLINE
-CY_PRELINK_FALSE
-CY_PRELINK_TRUE
 CY_LIBCLANG
 CY_OBJECTIVEC_FALSE
 CY_OBJECTIVEC_TRUE
+CY_PYTHON_FALSE
+CY_PYTHON_TRUE
+CY_RUBY_FALSE
+CY_RUBY_TRUE
 CY_JAVA_FALSE
 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
@@ -845,6 +855,7 @@ enable_libtool_lock
 enable_javascript
 enable_console
 enable_attach
+with_python
 with_libclang
 '
       ac_precious_vars='build_alias
@@ -875,6 +886,8 @@ WEBKIT_CFLAGS
 WEBKIT_LIBS
 LIBFFI_CFLAGS
 LIBFFI_LIBS
+LIBRUBY21_CFLAGS
+LIBRUBY21_LIBS
 GNUSTEP_CONFIG'
 
 
@@ -1526,6 +1539,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:
@@ -1560,6 +1574,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
 
@@ -1637,7 +1655,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
@@ -22652,7 +22670,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
@@ -23034,6 +23052,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 :
@@ -23105,10 +23126,7 @@ if test "x$ac_cv_header_jni_h" = xyes; then :
 
         CY_JAVA=1
 
-
-    cy_save=$LIBS
-    LIBS=
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing JNI_GetCreatedJavaVMs" >&5
+        { $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 :
   $as_echo_n "(cached) " >&6
@@ -23132,7 +23150,7 @@ return JNI_GetCreatedJavaVMs ();
   return 0;
 }
 _ACEOF
-for ac_lib in '' dvm; do
+for ac_lib in '' art dvm; do
   if test -z "$ac_lib"; then
     ac_res="none required"
   else
@@ -23165,21 +23183,522 @@ if test "$ac_res" != no; then :
 
 fi
 
+
+else
+
+        CY_JAVA=0
+
+
+fi
+
+
+fi
     LTJAVA=$LIBS
     LIBS=$cy_save
 
 
 
+
+    cy_save=$LIBS
+    LIBS=
+
+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
 
-        CY_JAVA=0
 
 
+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
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char ruby_init ();
+int
+main ()
+{
+return ruby_init ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' ruby; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_cxx_try_link "$LINENO"; then :
+  ac_cv_search_ruby_init=$ac_res
 fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if ${ac_cv_search_ruby_init+:} false; then :
+  break
+fi
+done
+if ${ac_cv_search_ruby_init+:} false; then :
+
+else
+  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_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
 
+
+else
+
+        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; }
+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
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char ruby_init ();
+int
+main ()
+{
+return ruby_init ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' ruby; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_cxx_try_link "$LINENO"; then :
+  ac_cv_search_ruby_init=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if ${ac_cv_search_ruby_init+:} false; then :
+  break
+fi
+done
+if ${ac_cv_search_ruby_init+:} false; then :
+
+else
+  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_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
+
+
+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
+
+
+    if test "x$with_python" != "xno"; then :
+
+        CY_PYTHON=1
+
+
+    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'
@@ -23272,6 +23791,7 @@ $as_echo "$ac_cv_framework_CoreFoundation" >&6; }
   done
 
 
+            CY_OBJECTIVEC=1
 
 
 
@@ -23392,6 +23912,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
@@ -23472,6 +23998,22 @@ else
   CY_JAVA_FALSE=
 fi
 
+ if test "x$CY_RUBY" = x1; then
+  CY_RUBY_TRUE=
+  CY_RUBY_FALSE='#'
+else
+  CY_RUBY_TRUE='#'
+  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='#'
@@ -23883,10 +24425,22 @@ 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
 fi
+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