X-Git-Url: https://git.saurik.com/cycript.git/blobdiff_plain/012153b8dc30c44a88faabd84922c4f5f02f5578..99bf4160db74c508e5ef00dff1dc053ecf0f5997:/configure.ac diff --git a/configure.ac b/configure.ac index fa4d7dd..9bd0754 100644 --- a/configure.ac +++ b/configure.ac @@ -24,6 +24,7 @@ AC_COPYRIGHT([Copyright (C) 2009-2012 Jay Freeman (saurik)]) AC_CONFIG_SRCDIR([Console.cpp]) AC_CONFIG_AUX_DIR([.]) AC_CONFIG_MACRO_DIR([m4]) +AC_CONFIG_HEADERS([config.h]) AM_INIT_AUTOMAKE([-Wall -Werror foreign]) @@ -137,6 +138,15 @@ done AC_SUBST([CY_ARCH]) dnl }}} +AC_DEFUN([CY_LT_LIB], [ + cy_save=$LIBS + LIBS= + ]$2[ + ]$1[=$LIBS + LIBS=$cy_save + AC_SUBST(]$1[) +]) + dnl --with-frameworks {{{ AC_ARG_WITH([frameworks], [AS_HELP_STRING( [--with-frameworks=DIRS], @@ -148,24 +158,20 @@ AC_ARG_WITH([frameworks], [AS_HELP_STRING( ]) dnl }}} dnl --enable-javascript {{{ AC_DEFUN([CY_CHECK_JAVASCRIPTCORE], [ - PKG_CHECK_MODULES([WEBKIT], [webkit-1.0], [ + AC_CHECK_FRAMEWORK([JavaScriptCore], [ + #include + ], [ + JSEvaluateScript(0, 0, 0, 0, 0, 0); + ], [ AC_SUBST([CY_EXECUTE], [1]) - CY_COMPILE_FLAG([`$PKG_CONFIG --cflags webkit-1.0`]) - AC_LIB_APPENDTOVAR([LIBS], [`$PKG_CONFIG --libs webkit-1.0`]) ], [ - PKG_CHECK_MODULES([WEBKIT], [WebKitGtk], [ - AC_SUBST([CY_EXECUTE], [1]) - CY_COMPILE_FLAG([`$PKG_CONFIG --cflags WebKitGtk`]) - AC_LIB_APPENDTOVAR([LIBS], [`$PKG_CONFIG --libs WebKitGtk`]) - ], [ - AC_CHECK_FRAMEWORK([JavaScriptCore], [ - #include - ], [ - JSEvaluateScript(0, 0, 0, 0, 0, 0); - ], [ + for cy_webkit_pkg in "webkit-1.0" "WebKitGtk"; do + PKG_CHECK_MODULES([WEBKIT], [$cy_webkit_pkg], [ AC_SUBST([CY_EXECUTE], [1]) - ]) - ]) + CY_COMPILE_FLAG([`$PKG_CONFIG --cflags $cy_webkit_pkg`]) + AC_LIB_APPENDTOVAR([LIBS], [`$PKG_CONFIG --libs $cy_webkit_pkg`]) + ], [:]); if test "x$CY_EXECUTE" = x1; then break; fi + done ]) ]) @@ -206,12 +212,13 @@ AM_CONDITIONAL([CY_EXECUTE], [test "x$CY_EXECUTE" = x1]) AS_CASE([$CY_EXECUTE], [1], [ AC_CHECK_HEADERS([ffi.h ffi/ffi.h], [break]) - AS_IF([test "x$ac_cv_header_ffi_h" = xno && test "x$ac_cv_header_ffi_ffi_h" = xno], [ + + CY_LT_LIB([LTLIBFFI], AS_IF([test "x$ac_cv_header_ffi_h" = xno && test "x$ac_cv_header_ffi_ffi_h" = xno], [ CY_CHECK_PKG_CONFIG_LIBFFI ], [ AC_SEARCH_LIBS([ffi_call], [ffi]) AS_CASE([$ac_cv_search_ffi_call], [no], [CY_CHECK_PKG_CONFIG_LIBFFI]) - ]) + ])) AC_LANG_PUSH([Objective C++]) @@ -251,15 +258,6 @@ AS_CASE([$CY_EXECUTE], [1], [ AM_CONDITIONAL([CY_OBJECTIVEC], [test "x$CY_OBJECTIVEC" = x1]) -AC_DEFUN([CY_LT_LIB], [ - cy_save=$LIBS - LIBS= - ]$2[ - ]$1[=$LIBS - LIBS=$cy_save - AC_SUBST(]$1[) -]) - CY_LT_LIB([LTLIBREADLINE], [AX_LIB_READLINE]) AS_CASE([$ax_cv_lib_readline], [no], [AC_MSG_ERROR([missing "libreadline"])]) @@ -273,14 +271,13 @@ AC_LANG_POP([C]) AC_SUBST([LTFLAGS]) AC_SUBST([SO], [$acl_shlibext]) -AC_CHECK_HEADER([mach/mach.h], [ - AC_CHECK_TOOLS([_LIPO], [lipo], [AC_MSG_ERROR([missing "lipo"])]) - AC_CHECK_TOOLS([_NM], [nm], [AC_MSG_ERROR([missing "nm"])]) - AC_CHECK_TOOLS([_OTOOL], [otool], [AC_MSG_ERROR([missing "otool"])]) - AC_SUBST([CY_MACH], [1]) - AC_SUBST([CY_ATTACH_GROUP], [procmod]) -]) - +AS_IF([test "x$CY_EXECUTE" = x1], [ + AC_CHECK_HEADER([mach/mach.h], [ + AC_CHECK_TOOLS([_LIPO], [lipo], [AC_MSG_ERROR([missing "lipo"])]) + AC_CHECK_TOOLS([_NM], [nm], [AC_MSG_ERROR([missing "nm"])]) + AC_CHECK_TOOLS([_OTOOL], [otool], [AC_MSG_ERROR([missing "otool"])]) + AC_SUBST([CY_ATTACH_GROUP], [procmod]) + AC_SUBST([CY_MACH], [1])])]) AM_CONDITIONAL([CY_MACH], [test "x$CY_MACH" = x1]) AC_CONFIG_FILES([Makefile])