Added libgsf
[fedora-mingw.git] / libgsf / mingw32-libgsf-1.14.10-better-bz2-detection.patch
diff --git a/libgsf/mingw32-libgsf-1.14.10-better-bz2-detection.patch b/libgsf/mingw32-libgsf-1.14.10-better-bz2-detection.patch
new file mode 100644 (file)
index 0000000..08fc7f0
--- /dev/null
@@ -0,0 +1,57 @@
+--- libgsf-1.14.10.orig/configure.in   2008-10-19 13:37:35.000000000 +0100
++++ libgsf-1.14.10.mingw/configure.in  2008-11-22 17:04:10.000000000 +0000
+@@ -321,30 +321,36 @@
+ with_bz2=false
+ if test "x$test_bz2" = xtrue ; then
+-   AC_CHECK_LIB(bz2, BZ2_bzDecompressInit, 
+-              bz2_ok=yes,
+-              bz2_ok=no
+-              AC_MSG_WARN(*** BZ2 support disabled (BZ2 library not found) ***))
+-
+-   if test "$bz2_ok" = yes; then
+-      AC_MSG_CHECKING([for bzlib.h])
+-      AC_PREPROC_IFELSE(
+-      [AC_LANG_SOURCE(
++   dnl AC_CHECK_LIB doesn't work with the Windows port of libbz2 because
++   dnl it uses the __stdcall calling convention where the callee cleans
++   dnl up the stack.  You have to include <bzlib.h> in order to get the
++   dnl right calling convention, and the link fails if not.  Since we
++   dnl require both -lbz2 and <bzlib.h>, just test if a program which
++   dnl uses both can be compiled.
++
++   old_LIBS="$LIBS"
++   LIBS="-lbz2 $LIBS"
++   AC_LINK_IFELSE(
++     [AC_LANG_SOURCE(
+       [[#include <stdio.h>
+-      #undef PACKAGE
+-      #undef VERSION
+-      #undef HAVE_STDLIB_H
+-      #include <bzlib.h>]])],
+-        bz2_ok=yes,
+-        bz2_ok=no)
+-      AC_MSG_RESULT($bz2_ok)
+-   fi
++        #undef PACKAGE
++        #undef VERSION
++        #undef HAVE_STDLIB_H
++        #include <bzlib.h>
++          main ()
++          {
++            return BZ2_bzDecompressInit (NULL, 0, 0);
++          }
++        ]])],
++     bz2_ok=yes,
++     bz2_ok=no)
++   LIBS="$old_LIBS"
+    if test "$bz2_ok" = yes; then
+       AC_DEFINE(HAVE_BZ2, 1, [Is bzip2 available and enabled])
+       BZ2_LIBS="-lbz2"
+    else
+-      AC_MSG_WARN(*** BZ2 support disabled (BZ2 header not found) ***)
++      AC_MSG_WARN(*** BZ2 support disabled (BZ2 header or library not found) ***)
+    fi
+ else
+    AC_MSG_WARN([BZ2 support disabled, as requested (Use --with-bz2 to enable)])