diff options
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/configure.ac b/configure.ac index 90b50f00..8eef4712 100644 --- a/configure.ac +++ b/configure.ac @@ -35,47 +35,47 @@ PKG_CHECK_MODULES(GOBJECT, [gobject-2.0]) PKG_CHECK_MODULES(SCANNER, [gobject-2.0 gthread-2.0]) dnl libffi -AC_MSG_CHECKING(for ffi.h) -AC_ARG_WITH(libffi, - AC_HELP_STRING([--without-ffi], [Disable libffi support]), - with_ffi=$withval, - with_ffi=auto) -if test x"$with_ffi" = xno ; then - have_ffi_h=disabled -else +PKG_CHECK_MODULES(FFI, libffi, have_ffi_pkgconfig=yes, have_ffi_pkgconfig=no) + +if x$have_ffi_pkgconfig = xno ; then + AC_MSG_CHECKING(for ffi.h) + AC_TRY_CPP([#include <ffi.h>], have_ffi_h=yes, have_ffi_h=no) if test $have_ffi_h = yes; then - AC_DEFINE(HAVE_FFI_H,1,[Have ffi.h include file]) + save_LIBS=$LIBS if test x"$with_ffi" = xyes || test x"$with_ffi" = xauto; then other_LIBS= else other_LIBS=$with_ffi fi + AC_SEARCH_LIBS(ffi_call,ffi,,AC_MSG_ERROR([libffi not found]),$other_LIBS) if test x$"ac_cv_search_ffi_call" = x"none required" ; then FFI_LIBS=$other_LIBS else FFI_LIBS="$ac_cv_search_ffi_call $other_LIBS" fi + LIBS=$save_LIBS fi -fi -if test x"$with_ffi" != xauto && test x"$have_ffi_h" != xyes ; then - AC_MSG_ERROR([libffi requested, but ffi.h not found]) -fi -AC_MSG_RESULT([$have_ffi_h]) -AM_CONDITIONAL(HAVE_LIBFFI, test "$have_ffi_h" = "yes") -AC_SUBST(FFI_LIBS) + if test x"$have_ffi_h" != xyes ; then + AC_MSG_ERROR([ffi.h not found]) + fi -dnl if libffi is not found, g_function_info_invoke is not available, -dnl but everything else still works + FFI_CFLAGS= + + AC_MSG_RESULT([$have_ffi_h]) + AC_SUBST(FFI_LIBS) + AC_SUBST(FFI_CFLAGS) +fi PKG_CHECK_MODULES(GIREPO, [glib-2.0 gobject-2.0 gmodule-2.0]) -if test "$have_ffi_h" = "yes"; then - GIREPO_LIBS="$GIREPO_LIBS $FFI_LIBS" -fi +# if we ever remove manual check for ffi and require .pc file, then +# just put libffi in the PKG_CHECK_MODULES(GIREPO) deps +GIREPO_LIBS="$GIREPO_LIBS $FFI_LIBS" +GIREPO_CFLAGS="$GIREPO_CFLAGS $FFI_CFLAGS" GIREPO_CFLAGS="$GIREPO_CFLAGS $GCOV_CFLAGS" |