[gdk-pixbuf] build: Require shared-mime-info on non-Windows



commit 2c2162c86d4f710007cfffbc582a1f0ce8740725
Author: Bastien Nocera <hadess hadess net>
Date:   Tue Aug 1 12:01:54 2017 +0100

    build: Require shared-mime-info on non-Windows
    
    Windows will not be using GIO to do mime-sniffing, but it's a
    requirement on other platforms.

 configure.ac |   58 ++++------------------------------------------------------
 1 files changed, 4 insertions(+), 54 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index b235405..09e15ab 100644
--- a/configure.ac
+++ b/configure.ac
@@ -99,11 +99,6 @@ AC_CANONICAL_HOST
 AC_CHECK_LIBM
 AC_SUBST(LIBM)
 
-AC_ARG_ENABLE(gio-sniffing,
-              [AC_HELP_STRING([--enable-gio-sniffing=@<:@no/yes/auto@:>@],
-                              [enable or disable gio sniffing [default=auto]])],,
-              [enable_gio_sniffing=auto])
-
 AC_MSG_CHECKING([for native Win32])
 LIB_EXE_MACHINE_FLAG=X86
 EXE_MANIFEST_ARCHITECTURE=X86
@@ -669,55 +664,10 @@ AM_CONDITIONAL(INCLUDE_QTIF, [test x"$INCLUDE_qtif" = xyes])
 # check one of the variables here
 AM_CONDITIONAL(INCLUDE_GDIPLUS, [test x"$INCLUDE_gdip_ico" = xyes])
 
-if test x$enable_gio_sniffing = xauto && test x$gio_can_sniff = x; then
-  AC_MSG_CHECKING([if gio can sniff png])
-  gtk_save_LIBS="$LIBS"
-  gtk_save_CFLAGS="$CFLAGS"
-  LIBS="`$PKG_CONFIG --libs gio-2.0`"
-  CFLAGS="`$PKG_CONFIG --cflags gio-2.0`"
-  AC_RUN_IFELSE([AC_LANG_SOURCE([[
-  #include <gio/gio.h>
-  static const gsize data_size = 159;
-  static const guint8 data[] =
-  {
-    0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,
-    0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
-    0x08, 0x02, 0x00, 0x00, 0x00, 0x90, 0x77, 0x53, 0xde, 0x00, 0x00, 0x00,
-    0x01, 0x73, 0x52, 0x47, 0x42, 0x00, 0xae, 0xce, 0x1c, 0xe9, 0x00, 0x00,
-    0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00,
-    0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x00, 0x07, 0x74,
-    0x49, 0x4d, 0x45, 0x07, 0xd8, 0x07, 0x0f, 0x10, 0x08, 0x15, 0x61, 0xd8,
-    0x35, 0x37, 0x00, 0x00, 0x00, 0x19, 0x74, 0x45, 0x58, 0x74, 0x43, 0x6f,
-    0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x00, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
-    0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x47, 0x49, 0x4d, 0x50, 0x57,
-    0x81, 0x0e, 0x17, 0x00, 0x00, 0x00, 0x0c, 0x49, 0x44, 0x41, 0x54, 0x08,
-    0xd7, 0x63, 0xf8, 0xff, 0xff, 0x3f, 0x00, 0x05, 0xfe, 0x02, 0xfe, 0xdc,
-    0xcc, 0x59, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae,
-    0x42, 0x60, 0x82
-  };
-  int
-  main (int argc, char **argv)
-  {
-    char *content_type;
-    char *image_png;
-    g_type_init ();
-    content_type = g_content_type_guess (NULL, data, data_size, NULL);
-    image_png = g_content_type_from_mime_type ("image/png");
-    return !!g_strcmp0 (content_type, image_png);
-  }]])],
-    [gio_can_sniff=yes
-     AC_DEFINE(GDK_PIXBUF_USE_GIO_MIME, 1, [Define if gio can sniff image data])],
-    [gio_can_sniff=no])
-  AC_MSG_RESULT($gio_can_sniff)
-  LIBS="$gtk_save_LIBS"
-  CFLAGS="$gtk_save_CFLAGS"
-else
-  if test x$enable_gio_sniffing = xyes; then
-     gio_can_sniff=yes
-     AC_DEFINE(GDK_PIXBUF_USE_GIO_MIME, 1, [Define if gio can sniff image data])
-  else
-     gio_can_sniff=no
-  fi
+if test x$gio_can_sniff = x; then
+  # Will not run on win32, so require shared-mime-info
+  PKG_CHECK_MODULES(SHARED_MIME_INFO, shared-mime-info)
+  AC_DEFINE(GDK_PIXBUF_USE_GIO_MIME, 1, [Define if gio can sniff image data])
 fi
 
 AM_CONDITIONAL(HAVE_TIFF, test "x$LIBTIFF" != x)


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