[gobject-introspection] Revert "Require libffi.pc"



commit 7deaa9e6176f09ac753935475be8c080383241b2
Author: Johan Dahlin <johan gnome org>
Date:   Fri Dec 4 12:19:08 2009 -0200

    Revert "Require libffi.pc"
    
    This reverts commit 92abbe78dd7ffe0ff6d61db5f2bff0745a69115a and
    494c1c92520917999407832453c11c2247b4e7bb.

 configure.ac                              |   43 +++++++++++++++++++++++++++-
 gobject-introspection-1.0.pc.in           |    2 +-
 gobject-introspection-no-export-1.0.pc.in |    2 +-
 3 files changed, 43 insertions(+), 4 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index f84cd76..fccc076 100644
--- a/configure.ac
+++ b/configure.ac
@@ -127,13 +127,52 @@ AM_CONDITIONAL(HAVE_GIO_UNIX, test x$have_gio_unix = xtrue)
 
 PKG_CHECK_MODULES(SCANNER, [gobject-2.0 gthread-2.0 gio-2.0])
 
+dnl libffi
+PKG_CHECK_MODULES(FFI, libffi, have_ffi_pkgconfig=yes, have_ffi_pkgconfig=no)
+
+if test 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 x"$have_ffi_h" = x"yes"; then
+
+    save_LIBS=$LIBS
+    if test x"$with_ffi" = x"yes" || test x"$with_ffi" = x"auto"; 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
+  if test x"$have_ffi_h" != x"yes" ; then
+    AC_MSG_ERROR([ffi.h not found])
+  fi
+
+  FFI_CFLAGS=
+
+  AC_MSG_RESULT([$have_ffi_h])
+  AC_SUBST(FFI_LIBS)
+  AC_SUBST(FFI_CFLAGS)
+fi
 
 AC_CHECK_SIZEOF(time_t, [], [#include <time.h>])
 
-PKG_CHECK_MODULES(GIREPO, [glib-2.0 gobject-2.0 gmodule-2.0 gio-2.0 libffi])
+PKG_CHECK_MODULES(GIREPO, [glib-2.0 gobject-2.0 gmodule-2.0 gio-2.0])
+
+# 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 $GCOV_LIBS $FFI_LIBS"
+GIREPO_CFLAGS="$GIREPO_CFLAGS $FFI_CFLAGS"
 
 GIREPO_CFLAGS="$GIREPO_CFLAGS $GCOV_CFLAGS"
-GIREPO_LIBS="$GIREPO_LIBS $GCOV_LIBS"
 
 # gtk-doc
 GTK_DOC_CHECK([1.12])
diff --git a/gobject-introspection-1.0.pc.in b/gobject-introspection-1.0.pc.in
index 1efc9a2..f9c85f7 100644
--- a/gobject-introspection-1.0.pc.in
+++ b/gobject-introspection-1.0.pc.in
@@ -13,7 +13,7 @@ girdir=${datadir}/gir-1.0
 typelibdir=${libdir}/girepository-1.0
 
 Cflags: -I${includedir}/gobject-introspection-1.0
-Requires: glib-2.0 gobject-2.0 gmodule-2.0 gthread-2.0 libffi
+Requires: glib-2.0 gobject-2.0 gmodule-2.0 gthread-2.0
 Libs: -L${libdir} -lgirepository-1.0
 
 Name: gobject-introspection
diff --git a/gobject-introspection-no-export-1.0.pc.in b/gobject-introspection-no-export-1.0.pc.in
index 373ab3e..54deae0 100644
--- a/gobject-introspection-no-export-1.0.pc.in
+++ b/gobject-introspection-no-export-1.0.pc.in
@@ -13,7 +13,7 @@ girdir=${datadir}/gir-1.0
 typelibdir=${libdir}/girepository-1.0
 
 Cflags: -I${includedir}/gobject-introspection-1.0
-Requires: glib-2.0 gobject-2.0 gmodule-no-export-2.0 gthread-2.0 libffi
+Requires: glib-2.0 gobject-2.0 gmodule-no-export-2.0 gthread-2.0
 Libs: -L${libdir} -lgirepository-1.0
 
 Name: gobject-introspection



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]