use m4 macro to check evas loaders
authorcaro <caro@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 20 Nov 2008 22:00:50 +0000 (22:00 +0000)
committercaro <caro@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 20 Nov 2008 22:00:50 +0000 (22:00 +0000)
please report any problem

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@37719 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

17 files changed:
configure.ac
m4/evas_check_loader.m4 [new file with mode: 0644]
src/modules/loaders/Makefile.am
src/modules/loaders/edb/Makefile.am
src/modules/loaders/eet/Makefile.am
src/modules/loaders/gif/Makefile.am
src/modules/loaders/jpeg/Makefile.am
src/modules/loaders/pmaps/Makefile.am
src/modules/loaders/png/Makefile.am
src/modules/loaders/svg/Makefile.am
src/modules/loaders/tiff/Makefile.am
src/modules/loaders/xpm/Makefile.am
src/modules/savers/edb/Makefile.am
src/modules/savers/eet/Makefile.am
src/modules/savers/jpeg/Makefile.am
src/modules/savers/png/Makefile.am
src/modules/savers/tiff/Makefile.am

index ad900d7..9bed8fd 100644 (file)
@@ -827,340 +827,39 @@ AM_CONDITIONAL(BUILD_ENGINE_GLITZ_X11, test "x$have_evas_glitz_x11" = "xyes")
 #####################################################################
 ## Image loaders
 
-#######################################
-## GIF
-want_gif="auto";
-have_gif="no";
-
-AC_MSG_CHECKING(whether to enable gif image loader)
-AC_ARG_ENABLE(image-loader-gif,
-  AC_HELP_STRING([--disable-image-loader-gif], [disable GIF image loader]),
-  [ want_gif=$enableval ]
-)
-AC_MSG_RESULT($want_gif)
-
-if test "x$want_gif" = "xyes" -o "x$want_gif" = "xauto"; then
-  AC_CHECK_HEADER(gif_lib.h,
-    [
-      AC_CHECK_LIB(gif, DGifOpenFileName,
-        [
-          gif_libs="-lgif"
-          have_gif="yes"
-        ],
-        [
-          AC_CHECK_LIB(ungif, DGifOpenFileName,
-            [
-              gif_libs="-lungif"
-              have_gif="yes"
-            ],
-            [ have_gif="no" ]
-          )
-        ]
-     )
-    ],
-    [ have_gif="no" ]
-  )
-fi
+EVAS_CHECK_IMAGE_LOADER([Edb], [yes])
 
-if test "x$have_gif" = "xyes"; then
-  AC_DEFINE(BUILD_LOADER_GIF, 1, [GIF Image Loader Support])
-  gif_cflags=""
-else
-  if test "x$want_gif" = "xyes" -a "x$use_strict" = "xyes" ; then
-    AC_MSG_ERROR([GIF not found (strict dependencies checking)])
-  fi
-fi
+EVAS_CHECK_IMAGE_LOADER([Eet], [yes])
+EVAS_CHECK_FONT_LOADER([yes])
 
-AM_CONDITIONAL(BUILD_LOADER_GIF, test "x$have_gif" = "xyes")
+EVAS_CHECK_IMAGE_LOADER([Gif], [yes])
 
-#######################################
-## PNG
-want_png="auto";
-have_png="no";
-
-AC_MSG_CHECKING(whether to enable png image loader)
-AC_ARG_ENABLE(image-loader-png,
-  AC_HELP_STRING([--disable-image-loader-png], [disable PNG image loader]),
-  [ want_png=$enableval ]
-)
-AC_MSG_RESULT($want_png)
-
-if test "x$want_png" = "xyes" -o "x$want_png" = "xauto"; then
-  PKG_CHECK_EXISTS(libpng12,
-    [ PKG_CHECK_MODULES(PNG, libpng12, [ have_png="yes" ], [ have_png="no"]) ],
-    [
-      PKG_CHECK_EXISTS(libpng10,
-        [ PKG_CHECK_MODULES(PNG, libpng10, [ have_png="yes" ], [ have_png="no"]) ],
-        [ PKG_CHECK_MODULES(PNG, libpng, [ have_png="yes" ], [ have_png="no"]) ]
-      )
-    ]
-  )
-fi
-
-if test "x$want_png" = "xyes" -a ! "x$have_png" = "xyes" -a "x$use_strict" = "xyes" ; then
-  AC_MSG_ERROR([PNG not found (strict dependencies checking)])
-fi
-
-AM_CONDITIONAL(BUILD_LOADER_PNG, test "x$have_png" = "xyes")
-
-#######################################
-## JPEG
-want_jpeg="auto";
-have_jpeg="no";
-
-AC_MSG_CHECKING(whether to enable jpeg image loader)
-AC_ARG_ENABLE(image-loader-jpeg,
-  AC_HELP_STRING([--disable-image-loader-jpeg], [disable JPEG image loader]),
-  [ want_jpeg=$enableval ]
-)
-AC_MSG_RESULT($want_jpeg)
+have_evas_image_saver_jpeg="no"
+EVAS_CHECK_IMAGE_LOADER([Jpeg], [yes])
 
-if test "x$want_jpeg" = "xyes" -o "x$want_jpeg" = "xauto"; then
-  AC_CHECK_HEADER(jpeglib.h,
-    [
-      AC_DEFINE(BUILD_LOADER_JPEG, 1, [JPEG Image Loader Support])
-      jpeg_cflags=""
-      jpeg_libs="-ljpeg"
-      have_jpeg="yes"
-      have_jpeg_saver="yes"
-    ],
-    [
-      if test "x$want_jpeg" = "xyes" -a "x$use_strict" = "xyes" ; then
-        AC_MSG_ERROR(JPEG not found (strict dependencies checking))
-      fi
-    ]
-  )
-fi
 dnl Windows has no sigsetjmp function, nor equivalent.
 dnl So we disable the jpeg saver.
+dnl TODO: must find a workaround
 case "$host_os" in
-   mingw*|cegcc*)
-   have_jpeg_saver="no"
-   ;;
-esac
-AM_CONDITIONAL(BUILD_LOADER_JPEG, test "x$have_jpeg" = "xyes")
-AM_CONDITIONAL(BUILD_SAVER_JPEG, test "x$have_jpeg_saver" = "xyes")
-
-#######################################
-## EET
-#
-# first, check whether the user WANTS to use EET
-want_eet_image_loader="auto"
-want_eet_font_loader="auto"
-have_eet=no
-AC_ARG_ENABLE(image-loader-eet,
-  AC_HELP_STRING(
-    [--disable-image-loader-eet],
-    [disable EET image loader. [[default=enabled]]]
-  ),
-  [want_eet_image_loader=$enableval]
-)
-
-AC_ARG_ENABLE(font-loader-eet,
-  AC_HELP_STRING(
-    [--disable-font-loader-eet],
-    [disable EET font loader. [[default=enabled]]]
-  ),
-  [want_eet_font_loader=$enableval]
-)
-
-# next, if she does, check whether EET is available
-if test "x$want_eet_image_loader" = "xyes" -o "x$want_eet_font_loader" = "xyes" -o "x$want_eet_image_loader" = "xauto" -o "x$want_eet_font_loader" = "xauto"; then
-  PKG_CHECK_MODULES(EET, eet >= 1.0.1, [have_eet="yes"],
-    [
-      if test "x$want_eet_image_loader" = "xyes" -a "x$use_strict" = "xyes" -o "x$want_eet_font_loader" = "xyes" -a "x$use_strict" = "xyes"; then
-        AC_MSG_ERROR([EET not found (strict dependencies checking)])
+   mingw* | cegcc*)
+      ;;
+   *)
+      if test "x${have_evas_image_loader_jpeg}" = "xyes" ; then
+         have_evas_image_saver_jpeg="yes"
       fi
-    ]
-  )
-fi
-
-# finally, spew out the result
-AC_MSG_CHECKING(whether to enable eet font loader)
-if test "x$want_eet_font_loader" = "xyes" -o "x$want_eet_font_loader" = "xauto" -a "x$have_eet" = "xyes"; then
-  AC_DEFINE(BUILD_FONT_LOADER_EET, 1, [EET Font Loader Support])
-  have_eet_font_loader="yes"
-else
-  have_eet_font_loader="no"
-fi
-AC_MSG_RESULT($have_eet_font_loader)
-
-AC_MSG_CHECKING(whether to enable eet image loader)
-if test "x$want_eet_image_loader" = "xyes" -o "x$want_eet_image_loader" = "xauto" -a "x$have_eet" = "xyes"; then
-  AC_DEFINE(BUILD_LOADER_EET, 1, [EET Image Loader Support])
-  have_eet_image_loader="yes"
-else
-  have_eet_image_loader="no"
-fi
-AC_MSG_RESULT($have_eet_image_loader)
-
-AM_CONDITIONAL(BUILD_LOADER_EET, test "x$have_eet_image_loader" = "xyes")
-
-#######################################
-## EDB
-#
-# first, check whether the user WANTS to use EDB
-have_edb=no
-AC_ARG_ENABLE(image-loader-edb,
-  AC_HELP_STRING(
-    [--enable-image-loader-edb],
-    [enable EDB image loader.]
-  ),
-  [want_edb_image_loader=$enableval],
-  [want_edb_image_loader=no]
-)
-
-# next, if she does, check whether EDB is available
-if test "$want_edb_image_loader" = yes; then
-  PKG_CHECK_MODULES(EDB, edb, have_edb=yes, have_edb=no)
-fi
-
-# finally, spew out the result
-AC_MSG_CHECKING(whether to enable edb image loader)
-if test "$want_edb_image_loader" = yes -a "$have_edb" = yes; then
-  AC_DEFINE(BUILD_LOADER_EDB, 1, [EDB Image Loader Support])
-  have_edb_image_loader=yes
-else
-  have_edb_image_loader=no
-fi
-AC_MSG_RESULT($have_edb_image_loader)
-
-AM_CONDITIONAL(BUILD_LOADER_EDB, test $have_edb_image_loader = yes)
-
-#######################################
-## TIFF
-want_tiff="auto";
-have_tiff="no";
-
-AC_MSG_CHECKING(whether to enable tiff image loader)
-AC_ARG_ENABLE(image-loader-tiff,
-  AC_HELP_STRING([--disable-image-loader-tiff], [disable TIFF image loader]),
-  [ want_tiff=$enableval ]
-)
-AC_MSG_RESULT($want_tiff)
-
-if test "x$want_tiff" = "xyes" -o "x$want_tiff" = "xauto"; then
-  AC_CHECK_HEADER(tiffio.h,
-    [
-      AC_CHECK_LIB(tiff, TIFFReadScanline,
-        [
-          tiff_libs="-ltiff"
-          have_tiff="yes"
-        ],
-        [
-          AC_CHECK_LIB(tiff, TIFFReadScanline,
-            [
-              tiff_libs="-ltiff -ljpeg -lz -lm"
-              have_tiff="yes"
-            ],
-            [
-              AC_CHECK_LIB(tiff34, TIFFReadScanline,
-                [
-                  tiff_libs="-ltiff34 -ljpeg -lz -lm"
-                  have_tiff="yes"
-                ],
-                [
-                  have_tiff="no"
-                ]
-              )
-            ]
-          )
-        ]
-      )
-    ],
-    [ have_tiff="no" ]
-  )
-fi
-
-if test "x$have_tiff" = "xyes"; then
-  AC_DEFINE(BUILD_LOADER_TIFF, 1, [TIFF Image Loader Support])
-  tiff_cflags=""
-else
-  if test "x$want_tiff" = "xyes" -a "x$use_strict" = "xyes" ; then
-    AC_MSG_ERROR([TIFF not found (strict dependencies checking)])
-  fi
-fi
-
-AM_CONDITIONAL(BUILD_LOADER_TIFF, test x$have_tiff = xyes)
-
-#######################################
-## XPM
-have_xpm="yes";
-AC_MSG_CHECKING(whether to enable xpm image loader)
-AC_ARG_ENABLE(image-loader-xpm,
-  AC_HELP_STRING([--disable-image-loader-xpm], [disable XPM image loader]),
-  [ have_xpm=$enableval ]
-)
-AC_MSG_RESULT($have_xpm)
-
-xpm_cflags=""
-xpm_libs=""
-
-AM_CONDITIONAL(BUILD_LOADER_XPM, test x$have_xpm = xyes)
-
-#######################################
-## SVG
-want_svg="auto";
-have_svg="no";
-
-AC_MSG_CHECKING(whether to enable svg image loader)
-AC_ARG_ENABLE(image-loader-svg,
-  AC_HELP_STRING([--disable-image-loader-svg], [disable SVG image loader]),
-  [ want_svg=$enableval ]
-)
-AC_MSG_RESULT($want_svg)
-
-svg_cflags=""
-svg_libs=""
-if test "x$want_svg" = "xyes" -o "x$want_svg" = "xauto"; then
-  # Check if really available
-  PKG_CHECK_MODULES(SVG, librsvg-2.0 >= 2.14.0,
-    [ have_svg="yes" ],
-    [ have_svg="no" ]
-  )
-  if test "x$have_svg" = "xyes"; then
-    PKG_CHECK_MODULES(CAIRO_SVG, cairo-svg,
-      [
-        have_svg="yes"
-        svg_cflags="$SVG_CFLAGS $CAIRO_SVG_CFLAGS"
-        svg_libs="$SVG_LIBS $CAIRO_SVG_LIBS"
-      ],
-      [
-        PKG_CHECK_MODULES(LIBSVG_CAIRO, libsvg-cairo,
-          [
-            have_svg="yes"
-            svg_cflags="$SVG_CFLAGS $LIBSVG_CAIRO_CFLAGS"
-            svg_libs="$SVG_LIBS $LIBSVG_CAIRO_LIBS"
-          ],
-          [
-            have_svg="no"
-          ]
-        )
-      ]
-    )
-  fi
-fi
+      ;;
+esac
+AM_CONDITIONAL([BUILD_SAVER_JPEG], [test "x${have_evas_image_saver_jpeg}" = "xyes"])
 
-if test "x$want_svg" = "xyes" -a ! "x$have_svg" = "xyes" -a "x$use_strict" = "xyes" ; then
-  AC_MSG_ERROR([SVG not found (strict dependencies checking)])
-fi
+EVAS_CHECK_IMAGE_LOADER([PMAPS], [yes])
 
-AM_CONDITIONAL(BUILD_LOADER_SVG, test x$have_svg = xyes)
+EVAS_CHECK_IMAGE_LOADER([PNG], [yes])
 
-#######################################
-## PMAPS
-have_pmaps="yes";
-AC_MSG_CHECKING(whether to enable pmaps image loader)
-AC_ARG_ENABLE(image-loader-pmaps,
-  AC_HELP_STRING([--disable-image-loader-pmaps], [disable PMAPS image loader]),
-  [ have_pmaps=$enableval ]
-)
-AC_MSG_RESULT($have_pmaps)
+EVAS_CHECK_IMAGE_LOADER([SVG], [yes])
 
-pmaps_cflags=""
-pmaps_libs=""
+EVAS_CHECK_IMAGE_LOADER([Tiff], [yes])
 
-AM_CONDITIONAL(BUILD_LOADER_PMAPS, test x$have_pmaps = xyes)
+EVAS_CHECK_IMAGE_LOADER([XPM], [yes])
 
 
 #####################################################################
@@ -1750,18 +1449,6 @@ AC_SUBST(qt_cflags)
 AC_SUBST(qt_libs)
 AC_SUBST(qt_moc)
 
-AC_SUBST(gif_cflags)
-AC_SUBST(gif_libs)
-AC_SUBST(jpeg_cflags)
-AC_SUBST(jpeg_libs)
-AC_SUBST(tiff_cflags)
-AC_SUBST(tiff_libs)
-AC_SUBST(xpm_cflags)
-AC_SUBST(xpm_libs)
-AC_SUBST(svg_cflags)
-AC_SUBST(svg_libs)
-AC_SUBST(pmaps_cflags)
-AC_SUBST(pmaps_libs)
 AC_SUBST(altivec_cflags)
 AC_SUBST(pthread_cflags)
 AC_SUBST(pthread_libs)
@@ -1893,20 +1580,20 @@ echo "  DirectFB...................: $have_evas_directfb"
 # FIXME: xrender engine to be written
 echo
 echo "Image Loaders:"
-echo "  GIF.....................: $have_gif"
-echo "  PNG.....................: $have_png"
-echo "  JPEG....................: $have_jpeg"
-echo "  EET.....................: $have_eet_image_loader"
-echo "  EDB.....................: $have_edb_image_loader"
-echo "  TIFF....................: $have_tiff"
-echo "  XPM.....................: $have_xpm"
-echo "  SVG.....................: $have_svg"
-echo "  PMAPS...................: $have_pmaps"
+echo "  EDB.....................: $have_evas_image_loader_edb"
+echo "  EET.....................: $have_evas_image_loader_eet"
+echo "  GIF.....................: $have_evas_image_loader_gif"
+echo "  JPEG....................: $have_evas_image_loader_jpeg"
+echo "  PMAPS...................: $have_evas_image_loader_pmaps"
+echo "  PNG.....................: $have_evas_image_loader_png"
+echo "  SVG.....................: $have_evas_image_loader_svg"
+echo "  TIFF....................: $have_evas_image_loader_tiff"
+echo "  XPM.....................: $have_evas_image_loader_xpm"
 # FIXME: need to add modular image loader system
 # FIXME: add more image loader modules
 echo
 echo "Font Sourcing Systems:"
-echo "  EET.....................: $have_eet_font_loader"
+echo "  EET.....................: $have_evas_font_loader_eet"
 echo
 echo "Font Searching Systems:"
 echo "  Fontconfig..............: $have_fontconfig"
diff --git a/m4/evas_check_loader.m4 b/m4/evas_check_loader.m4
new file mode 100644 (file)
index 0000000..c8a9a8f
--- /dev/null
@@ -0,0 +1,361 @@
+dnl use: EVAS_CHECK_LOADER_DEP_EDB(loader[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
+
+AC_DEFUN([EVAS_CHECK_LOADER_DEP_EDB],
+[
+
+have_dep="no"
+evas_image_loader_[]$1[]_cflags=""
+evas_image_loader_[]$1[]_libs=""
+
+PKG_CHECK_MODULES([EDB], [edb], [have_dep="yes"], [have_dep="no"])
+evas_image_loader_[]$1[]_cflags="${EDB_CFLAGS}"
+evas_image_loader_[]$1[]_libs="${EDB_LIBS}"
+
+AC_SUBST([evas_image_loader_$1_cflags])
+AC_SUBST([evas_image_loader_$1_libs])
+
+if test "x${have_dep}" = "xyes" ; then
+  m4_default([$2], [:])
+else
+  m4_default([$3], [:])
+fi
+
+])
+
+dnl use: EVAS_CHECK_LOADER_DEP_EET(loader[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
+
+AC_DEFUN([EVAS_CHECK_LOADER_DEP_EET],
+[
+
+have_dep="no"
+evas_image_loader_[]$1[]_cflags=""
+evas_image_loader_[]$1[]_libs=""
+
+PKG_CHECK_MODULES([EET], [eet >= 1.0.1], [have_dep="yes"], [have_dep="no"])
+evas_image_loader_[]$1[]_cflags="${EET_CFLAGS}"
+evas_image_loader_[]$1[]_libs="${EET_LIBS}"
+
+AC_SUBST([evas_image_loader_$1_cflags])
+AC_SUBST([evas_image_loader_$1_libs])
+
+if test "x${have_dep}" = "xyes" ; then
+  m4_default([$2], [:])
+else
+  m4_default([$3], [:])
+fi
+
+])
+
+dnl use: EVAS_CHECK_LOADER_DEP_GIF(loader[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
+
+AC_DEFUN([EVAS_CHECK_LOADER_DEP_GIF],
+[
+
+have_dep="no"
+evas_image_loader_[]$1[]_cflags=""
+evas_image_loader_[]$1[]_libs=""
+
+AC_CHECK_HEADER([gif_lib.h], [have_dep="yes"])
+
+if test "x${have_dep}"  = "xyes" ; then
+   AC_CHECK_LIB([gif],
+      [DGifOpenFileName],
+      [
+       evas_image_loader_[]$1[]_libs="-lgif"
+      ],
+      [have_dep="no"]
+   )
+
+   if test "x${have_dep}"  = "xno" ; then
+      AC_CHECK_LIB([ungif],
+         [DGifOpenFileName],
+         [
+          have_dep="yes"
+          evas_image_loader_[]$1[]_libs="-lungif"
+         ]
+      )
+   fi
+fi
+
+AC_SUBST([evas_image_loader_$1_cflags])
+AC_SUBST([evas_image_loader_$1_libs])
+
+if test "x${have_dep}" = "xyes" ; then
+  m4_default([$2], [:])
+else
+  m4_default([$3], [:])
+fi
+
+])
+
+dnl use: EVAS_CHECK_LOADER_DEP_JPEG(loader[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
+
+AC_DEFUN([EVAS_CHECK_LOADER_DEP_JPEG],
+[
+
+have_dep="no"
+evas_image_loader_[]$1[]_cflags=""
+evas_image_loader_[]$1[]_libs=""
+
+AC_CHECK_HEADER([jpeglib.h], [have_dep="yes"])
+
+if test "x${have_dep}"  = "xyes" ; then
+   AC_CHECK_LIB([jpeg],
+      [jpeg_CreateDecompress],
+      [evas_image_loader_[]$1[]_libs="-ljpeg"],
+      [have_dep="no"]
+   )
+fi
+
+AC_SUBST([evas_image_loader_$1_cflags])
+AC_SUBST([evas_image_loader_$1_libs])
+
+if test "x${have_dep}" = "xyes" ; then
+  m4_default([$2], [:])
+else
+  m4_default([$3], [:])
+fi
+
+])
+
+dnl use: EVAS_CHECK_LOADER_DEP_PMAPS(loader[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
+
+AC_DEFUN([EVAS_CHECK_LOADER_DEP_PMAPS],
+[
+
+have_dep="yes"
+evas_image_loader_[]$1[]_cflags=""
+evas_image_loader_[]$1[]_libs=""
+
+AC_SUBST([evas_image_loader_$1_cflags])
+AC_SUBST([evas_image_loader_$1_libs])
+
+if test "x${have_dep}" = "xyes" ; then
+  m4_default([$2], [:])
+else
+  m4_default([$3], [:])
+fi
+
+])
+
+dnl use: EVAS_CHECK_LOADER_DEP_PNG(loader[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
+
+AC_DEFUN([EVAS_CHECK_LOADER_DEP_PNG],
+[
+
+have_dep="no"
+evas_image_loader_[]$1[]_cflags=""
+evas_image_loader_[]$1[]_libs=""
+
+PKG_CHECK_EXISTS([libpng12],
+   [PKG_CHECK_MODULES([PNG], [libpng12], [have_dep="yes"], [have_dep="no"])],
+   [PKG_CHECK_EXISTS([libpng10],
+       [PKG_CHECK_MODULES([PNG], [libpng10], [have_dep="yes"], [have_dep="no"])],
+       [PKG_CHECK_MODULES([PNG], [libpng], [have_dep="yes"], [have_dep="no"])])]
+)
+
+evas_image_loader_[]$1[]_cflags="${PNG_CFLAGS}"
+evas_image_loader_[]$1[]_libs="${PNG_LIBS}"
+
+AC_SUBST([evas_image_loader_$1_cflags])
+AC_SUBST([evas_image_loader_$1_libs])
+
+if test "x${have_dep}" = "xyes" ; then
+  m4_default([$2], [:])
+else
+  m4_default([$3], [:])
+fi
+
+])
+
+dnl use: EVAS_CHECK_LOADER_DEP_SVG(loader[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
+
+AC_DEFUN([EVAS_CHECK_LOADER_DEP_SVG],
+[
+
+have_dep="no"
+evas_image_loader_[]$1[]_cflags=""
+evas_image_loader_[]$1[]_libs=""
+
+PKG_CHECK_MODULES([SVG], [librsvg-2.0 >= 2.14.0],
+   [have_dep="yes"],
+   [have_svg="no"]
+)
+
+if test "x${have_dep}" = "xyes" ; then
+   PKG_CHECK_MODULES([CAIRO_SVG], [cairo-svg],
+      [
+       evas_image_loader_[]$1[]_cflags="${SVG_CFLAGS} ${CAIRO_SVG_CFLAGS}"
+       evas_image_loader_[]$1[]_libs="${SVG_LIBS} ${CAIRO_SVG_LIBS}"
+      ],
+      [have_dep="no"]
+   )
+   if test "x${have_dep}" = "xno" ; then
+      PKG_CHECK_MODULES([LIBSVG_CAIRO], [libsvg-cairo],
+         [
+          have_dep="yes"
+          evas_image_loader_[]$1[]_cflags="${SVG_CFLAGS} ${LIBSVG_CAIRO_CFLAGS}"
+          evas_image_loader_[]$1[]_libs="${SVG_LIBS} ${LIBSVG_CAIRO_LIBS}"
+         ]
+      )
+   fi
+fi
+
+AC_SUBST([evas_image_loader_$1_cflags])
+AC_SUBST([evas_image_loader_$1_libs])
+
+if test "x${have_dep}" = "xyes" ; then
+  m4_default([$2], [:])
+else
+  m4_default([$3], [:])
+fi
+
+])
+
+dnl use: EVAS_CHECK_LOADER_DEP_TIFF(loader[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
+
+AC_DEFUN([EVAS_CHECK_LOADER_DEP_TIFF],
+[
+
+have_dep="no"
+evas_image_loader_[]$1[]_cflags=""
+evas_image_loader_[]$1[]_libs=""
+
+AC_CHECK_HEADER([tiffio.h], [have_dep="yes"])
+
+if test "x${have_dep}"  = "xyes" ; then
+   AC_CHECK_LIB([tiff],
+      [TIFFReadScanline],
+      [
+       evas_image_loader_[]$1[]_libs="-ltiff"
+      ],
+      [have_dep="no"]
+   )
+
+   if test "x${have_dep}"  = "xno" ; then
+      AC_CHECK_LIB([tiff],
+         [TIFFReadScanline],
+         [
+          have_dep="yes"
+          evas_image_loader_[]$1[]_libs="-ltiff -ljpeg -lz -lm"
+         ]
+      )
+   fi
+
+   if test "x${have_dep}"  = "xno" ; then
+      AC_CHECK_LIB([tiff34],
+         [TIFFReadScanline],
+         [
+          have_dep="yes"
+          evas_image_loader_[]$1[]_libs="-ltiff34 -ljpeg -lz -lm"
+         ]
+      )
+   fi
+fi
+
+AC_SUBST([evas_image_loader_$1_cflags])
+AC_SUBST([evas_image_loader_$1_libs])
+
+if test "x${have_dep}" = "xyes" ; then
+  m4_default([$2], [:])
+else
+  m4_default([$3], [:])
+fi
+
+])
+
+dnl use: EVAS_CHECK_LOADER_DEP_XPM(loader[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
+
+AC_DEFUN([EVAS_CHECK_LOADER_DEP_XPM],
+[
+
+have_dep="yes"
+evas_image_loader_[]$1[]_cflags=""
+evas_image_loader_[]$1[]_libs=""
+
+AC_SUBST([evas_image_loader_$1_cflags])
+AC_SUBST([evas_image_loader_$1_libs])
+
+if test "x${have_dep}" = "xyes" ; then
+  m4_default([$2], [:])
+else
+  m4_default([$3], [:])
+fi
+
+])
+
+dnl use: EVAS_CHECK_IMAGE_LOADER(loader, want_loader, macro)
+
+
+AC_DEFUN([EVAS_CHECK_IMAGE_LOADER],
+[
+
+m4_pushdef([UP], m4_toupper([[$1]]))
+m4_pushdef([DOWN], m4_tolower([[$1]]))
+
+want_loader="$2"
+have_evas_image_loader_[]DOWN="no"
+
+AC_ARG_ENABLE([image-loader-[]DOWN],
+   [AC_HELP_STRING([--disable-image-loader-[]DOWN], [disable $1 image loader])],
+   [want_loader=${enableval}]
+)
+
+AC_MSG_CHECKING([whether to enable $1 image loader])
+AC_MSG_RESULT([${want_loader}])
+
+if test "x${want_loader}" = "xyes" -o "x${want_loader}" = "xauto"; then
+   m4_default([EVAS_CHECK_LOADER_DEP_]m4_defn([UP]))(DOWN, [have_evas_image_loader_[]DOWN="yes"], [have_evas_image_loader_[]DOWN="no"])
+fi
+
+if test "x${have_evas_image_loader_[]DOWN}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+   AC_MSG_ERROR([$1 dependencies not found (strict dependencies checking)])
+fi
+
+if test "x${have_evas_image_loader_[]DOWN}" = "xyes" ; then
+   AC_DEFINE(BUILD_LOADER_[]UP, [1], [UP Image Loader Support])
+fi
+
+AM_CONDITIONAL(BUILD_LOADER_[]UP, [test "x${have_evas_image_loader_[]DOWN}" = "xyes"])
+
+m4_popdef([UP], [DOWN])
+
+])
+
+dnl use: EVAS_CHECK_FONT_LOADER(want)
+
+
+AC_DEFUN([EVAS_CHECK_FONT_LOADER],
+[
+
+pushdef([UP], translit([$1], [a-z], [A-Z]))dnl
+pushdef([DOWN], translit([$1], [A-Z], [a-z]))dnl
+
+want_loader="$1"
+have_evas_font_loader_eet="no"
+
+AC_ARG_ENABLE([font-loader-eet],
+   [AC_HELP_STRING([--disable-font-loader-eet],
+       [disable EET font loader. [[default=enabled]]])],
+   [want_loader=${enableval}]
+)
+
+AC_MSG_CHECKING([whether to enable Eet font loader])
+AC_MSG_RESULT([${want_loader}])
+
+if test "x$want_loader" = "xyes" -o "x$want_loader" = "xauto"; then
+    PKG_CHECK_MODULES([EET], [eet >= 1.0.1], [have_evas_font_loader_eet="yes"], [have_evas_font_loader_eet="yes"])
+fi
+
+if test "x${have_evas_font_loader_eet}" = "xno" -a "x$want_loader" = "xyes" -a "x$use_strict" = "xyes" ; then
+   AC_MSG_ERROR([Eet dependencies not found (strict dependencies checking)])
+fi
+
+if test "x$have_evas_font_loader_eet" = "xyes" ; then
+   AC_DEFINE([BUILD_FONT_LOADER_EET], [1], [EET Font Loader Support])
+fi
+
+popdef([UP])
+popdef([DOWN])
+
+])
index fceae72..e505efd 100644 (file)
@@ -16,10 +16,18 @@ if BUILD_LOADER_JPEG
 jpeg_subdir = jpeg
 endif
 
+if BUILD_LOADER_PMAPS
+pmaps_subdir = pmaps
+endif
+
 if BUILD_LOADER_PNG
 png_subdir = png
 endif
 
+if BUILD_LOADER_SVG
+svg_subdir = svg
+endif
+
 if BUILD_LOADER_TIFF
 tiff_subdir = tiff
 endif
@@ -28,13 +36,5 @@ if BUILD_LOADER_XPM
 xpm_subdir = xpm
 endif
 
-if BUILD_LOADER_SVG
-svg_subdir = svg
-endif
-
-if BUILD_LOADER_PMAPS
-pmaps_subdir = pmaps
-endif
-
 
-SUBDIRS = $(edb_subdir) $(eet_subdir) $(gif_subdir) $(jpeg_subdir) $(png_subdir) $(tiff_subdir) $(xpm_subdir) $(svg_subdir) $(pmaps_subdir)
+SUBDIRS = $(edb_subdir) $(eet_subdir) $(gif_subdir) $(jpeg_subdir) $(pmaps_subdir) $(png_subdir) $(svg_subdir) $(tiff_subdir) $(xpm_subdir)
index 953755b..75a8caa 100644 (file)
@@ -1,11 +1,13 @@
 
 MAINTAINERCLEANFILES = Makefile.in
 
-AM_CPPFLAGS           = -I. \
-                        -I$(top_srcdir)/src/lib \
-                        -I$(top_srcdir)/src/lib/include \
-                        @FREETYPE_CFLAGS@ @EDB_CFLAGS@ \
-                        @EINA_CFLAGS@
+AM_CPPFLAGS = \
+-I. \
+-I$(top_srcdir)/src/lib \
+-I$(top_srcdir)/src/lib/include \
+@FREETYPE_CFLAGS@ \
+@evas_image_loader_edb_cflags@ \
+@EINA_CFLAGS@
 
 pkgdir                 = $(libdir)/evas/modules/loaders/edb/$(MODULE_ARCH)
 
@@ -13,8 +15,6 @@ pkg_LTLIBRARIES        = module.la
 
 module_la_SOURCES      = evas_image_load_edb.c
 
-module_la_LIBADD       = @EDB_LIBS@ @EINA_LIBS@ $(top_builddir)/src/lib/libevas.la
+module_la_LIBADD       = @evas_image_loader_edb_libs@ @EINA_LIBS@ $(top_builddir)/src/lib/libevas.la
 module_la_LDFLAGS      = @lt_no_undefined@ -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
-
-EXTRA_DIST             = evas_image_load_edb.c
index afda140..175f136 100644 (file)
@@ -6,7 +6,7 @@ AM_CPPFLAGS = \
 -I$(top_srcdir)/src/lib \
 -I$(top_srcdir)/src/lib/include \
 @FREETYPE_CFLAGS@ \
-@EET_CFLAGS@ \
+@evas_image_loader_eet_cflags@ \
 @EINA_CFLAGS@
 
 AM_CFLAGS = @WIN32_CFLAGS@
@@ -17,6 +17,6 @@ pkg_LTLIBRARIES = module.la
 
 module_la_SOURCES = evas_image_load_eet.c
 
-module_la_LIBADD = @EINA_LIBS@ @EET_LIBS@ $(top_builddir)/src/lib/libevas.la
+module_la_LIBADD = @EINA_LIBS@ @evas_image_loader_eet_libs@ $(top_builddir)/src/lib/libevas.la
 module_la_LDFLAGS = @lt_no_undefined@ @lt_enable_auto_import@ -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
index f15a20c..4dc75bc 100644 (file)
@@ -5,7 +5,8 @@ AM_CPPFLAGS = \
 -I. \
 -I$(top_srcdir)/src/lib \
 -I$(top_srcdir)/src/lib/include \
-@FREETYPE_CFLAGS@ @gif_cflags@ \
+@FREETYPE_CFLAGS@ \
+@evas_image_loader_gif_cflags@ \
 @EINA_CFLAGS@
 
 AM_CFLAGS = @WIN32_CFLAGS@
@@ -16,6 +17,6 @@ pkg_LTLIBRARIES = module.la
 
 module_la_SOURCES = evas_image_load_gif.c
 
-module_la_LIBADD = @EINA_LIBS@ @gif_libs@ $(top_builddir)/src/lib/libevas.la
+module_la_LIBADD = @EINA_LIBS@ @evas_image_loader_gif_libs@ $(top_builddir)/src/lib/libevas.la
 module_la_LDFLAGS = @lt_no_undefined@ @lt_enable_auto_import@ -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
index 75bb54f..d410af4 100644 (file)
@@ -7,7 +7,7 @@ AM_CPPFLAGS = \
 -I$(top_srcdir)/src/lib/include \
 @FREETYPE_CFLAGS@ \
 @EINA_CFLAGS@ \
-@jpeg_cflags@ \
+@evas_image_loader_jpeg_cflags@ \
 @EVIL_CFLAGS@ \
 @WIN32_CPPFLAGS@
 
@@ -19,6 +19,6 @@ pkg_LTLIBRARIES = module.la
 
 module_la_SOURCES = evas_image_load_jpeg.c
 
-module_la_LIBADD = @EINA_LIBS@ @EVIL_LIBS@ @jpeg_libs@ $(top_builddir)/src/lib/libevas.la
+module_la_LIBADD = @EINA_LIBS@ @EVIL_LIBS@ @evas_image_loader_jpeg_libs@ $(top_builddir)/src/lib/libevas.la
 module_la_LDFLAGS = @lt_no_undefined@ @lt_enable_auto_import@ -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
index c146207..eeca821 100644 (file)
@@ -7,7 +7,7 @@ AM_CPPFLAGS = \
 -I$(top_srcdir)/src/lib/include \
 @FREETYPE_CFLAGS@ \
 @EINA_CFLAGS@ \
-@pmaps_cflags@ \
+@evas_image_loader_pmaps_cflags@ \
 @EVIL_CFLAGS@ \
 @WIN32_CPPFLAGS@
 
@@ -19,6 +19,6 @@ pkg_LTLIBRARIES = module.la
 
 module_la_SOURCES = evas_image_load_pmaps.c
 
-module_la_LIBADD = @EINA_LIBS@ @EVIL_LIBS@ $(top_builddir)/src/lib/libevas.la
+module_la_LIBADD = @evas_image_loader_pmaps_libs@ @EINA_LIBS@ @EVIL_LIBS@ $(top_builddir)/src/lib/libevas.la
 module_la_LDFLAGS = @lt_no_undefined@ @lt_enable_auto_import@ -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
index 7395ef1..0aeddc6 100644 (file)
@@ -7,7 +7,7 @@ AM_CPPFLAGS = \
 -I$(top_srcdir)/src/lib/include \
 @FREETYPE_CFLAGS@ \
 @EINA_CFLAGS@ \
-@PNG_CFLAGS@ \
+@evas_image_loader_png_cflags@ \
 @EVIL_CFLAGS@ \
 @WIN32_CPPFLAGS@
 
@@ -17,6 +17,6 @@ pkg_LTLIBRARIES = module.la
 
 module_la_SOURCES = evas_image_load_png.c
 
-module_la_LIBADD = @EINA_LIBS@ @PNG_LIBS@ @EVIL_LIBS@ $(top_builddir)/src/lib/libevas.la
+module_la_LIBADD = @EINA_LIBS@ @evas_image_loader_png_libs@ @EVIL_LIBS@ $(top_builddir)/src/lib/libevas.la
 module_la_LDFLAGS = @lt_no_undefined@ @lt_enable_auto_import@ -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
index e8f5935..6e5f9ee 100644 (file)
@@ -7,7 +7,7 @@ AM_CPPFLAGS = \
 -I$(top_srcdir)/src/lib/include \
 @FREETYPE_CFLAGS@ \
 @EINA_CFLAGS@ \
-@svg_cflags@
+@evas_image_loader_svg_cflags@
 
 AM_CFLAGS = @WIN32_CFLAGS@
 
@@ -17,6 +17,6 @@ pkg_LTLIBRARIES = module.la
 
 module_la_SOURCES = evas_image_load_svg.c
 
-module_la_LIBADD = @EINA_LIBS@ @svg_libs@ $(top_builddir)/src/lib/libevas.la
+module_la_LIBADD = @EINA_LIBS@ @evas_image_loader_svg_libs@ $(top_builddir)/src/lib/libevas.la
 module_la_LDFLAGS = @lt_no_undefined@ @lt_enable_auto_import@ -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
index e4e2591..7da47b5 100644 (file)
@@ -7,7 +7,7 @@ AM_CPPFLAGS = \
 -I$(top_srcdir)/src/lib/include \
 @FREETYPE_CFLAGS@ \
 @EINA_CFLAGS@ \
-@tiff_cflags@ \
+@evas_image_loader_tiff_cflags@ \
 @EVIL_CFLAGS@ \
 @WIN32_CPPFLAGS@
 
@@ -19,6 +19,6 @@ pkg_LTLIBRARIES = module.la
 
 module_la_SOURCES = evas_image_load_tiff.c
 
-module_la_LIBADD = @EINA_LIBS@ @EVIL_LIBS@ @tiff_libs@ $(top_builddir)/src/lib/libevas.la
+module_la_LIBADD = @EINA_LIBS@ @EVIL_LIBS@ @evas_image_loader_tiff_cflags@ $(top_builddir)/src/lib/libevas.la
 module_la_LDFLAGS = @lt_no_undefined@ @lt_enable_auto_import@ -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
index 762ad93..8b45306 100644 (file)
@@ -7,7 +7,7 @@ AM_CPPFLAGS = \
 -I$(top_srcdir)/src/lib/include \
 @FREETYPE_CFLAGS@ \
 @EINA_CFLAGS@ \
-@xpm_cflags@ \
+@evas_image_loader_xpm_cflags@ \
 @EVIL_CFLAGS@ \
 @WIN32_CPPFLAGS@
 
@@ -19,6 +19,6 @@ pkg_LTLIBRARIES = module.la
 
 module_la_SOURCES = evas_image_load_xpm.c
 
-module_la_LIBADD = @EINA_LIBS@ @EVIL_LIBS@ $(top_builddir)/src/lib/libevas.la
+module_la_LIBADD = @EINA_LIBS@ @EVIL_LIBS@ @evas_image_loader_xpm_libs@ $(top_builddir)/src/lib/libevas.la
 module_la_LDFLAGS = @lt_no_undefined@ @lt_enable_auto_import@ -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
index 06da4ca..c3dff5d 100644 (file)
@@ -4,7 +4,7 @@ MAINTAINERCLEANFILES = Makefile.in
 AM_CPPFLAGS           = -I. \
                         -I$(top_srcdir)/src/lib \
                         -I$(top_srcdir)/src/lib/include \
-                        @FREETYPE_CFLAGS@ @EDB_CFLAGS@ \
+                        @FREETYPE_CFLAGS@ @evas_image_loader_edb_cflags@ \
                         @EINA_CFLAGS@
 
 pkgdir                 = $(libdir)/evas/modules/savers/edb/$(MODULE_ARCH)
@@ -13,7 +13,7 @@ pkg_LTLIBRARIES        = module.la
 
 module_la_SOURCES      = evas_image_save_edb.c
 
-module_la_LIBADD       = @EINA_LIBS@ @EDB_LIBS@ $(top_builddir)/src/lib/libevas.la
+module_la_LIBADD       = @EINA_LIBS@ @evas_image_loader_edb_libs@ $(top_builddir)/src/lib/libevas.la
 module_la_LDFLAGS      = @lt_no_undefined@ -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
 
index acbaa0c..58e9601 100644 (file)
@@ -7,7 +7,7 @@ AM_CPPFLAGS = \
 -I$(top_srcdir)/src/lib/include \
 @FREETYPE_CFLAGS@ \
 @EINA_CFLAGS@ \
-@EET_CFLAGS@
+@evas_image_loader_eet_cflags@
 
 AM_CFLAGS = @WIN32_CFLAGS@
 
@@ -17,6 +17,6 @@ pkg_LTLIBRARIES = module.la
 
 module_la_SOURCES = evas_image_save_eet.c
 
-module_la_LIBADD = @EINA_LIBS@ @EET_LIBS@ $(top_builddir)/src/lib/libevas.la
+module_la_LIBADD = @EINA_LIBS@ @evas_image_loader_eet_libs@ $(top_builddir)/src/lib/libevas.la
 module_la_LDFLAGS = @lt_no_undefined@ @lt_enable_auto_import@ -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
index 0b56644..952813d 100644 (file)
@@ -7,7 +7,7 @@ AM_CPPFLAGS= \
 -I$(top_srcdir)/src/lib/include \
 @FREETYPE_CFLAGS@ \
 @EINA_CFLAGS@ \
-@jpeg_cflags@
+@evas_image_loader_jpeg_cflags@
 
 AM_CFLAGS = @WIN32_CFLAGS@
 
@@ -17,6 +17,6 @@ pkg_LTLIBRARIES = module.la
 
 module_la_SOURCES = evas_image_save_jpeg.c
 
-module_la_LIBADD = @EINA_LIBS@ @jpeg_libs@ $(top_builddir)/src/lib/libevas.la
+module_la_LIBADD = @EINA_LIBS@ @evas_image_loader_jpeg_libs@ $(top_builddir)/src/lib/libevas.la
 module_la_LDFLAGS = @lt_no_undefined@ @lt_enable_auto_import@ -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
index bf9ab81..227b1c8 100644 (file)
@@ -7,7 +7,7 @@ AM_CPPFLAGS = \
 -I$(top_srcdir)/src/lib/include \
 @FREETYPE_CFLAGS@ \
 @EINA_CFLAGS@ \
-@PNG_CFLAGS@ \
+@evas_image_loader_png_cflags@ \
 @EVIL_CFLAGS@ \
 @WIN32_CPPFLAGS@
 
@@ -19,6 +19,6 @@ pkg_LTLIBRARIES = module.la
 
 module_la_SOURCES = evas_image_save_png.c
 
-module_la_LIBADD = @EINA_LIBS@ @PNG_LIBS@ @EVIL_LIBS@ $(top_builddir)/src/lib/libevas.la
+module_la_LIBADD = @EINA_LIBS@ @evas_image_loader_png_libs@ @EVIL_LIBS@ $(top_builddir)/src/lib/libevas.la
 module_la_LDFLAGS = @lt_no_undefined@ @lt_enable_auto_import@ -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
index a3bd860..d528cfc 100644 (file)
@@ -7,7 +7,7 @@ AM_CPPFLAGS = \
 -I$(top_srcdir)/src/lib/include \
 @FREETYPE_CFLAGS@ \
 @EINA_CFLAGS@ \
-@tiff_cflags@
+@evas_image_loader_tiff_cflags@
 
 AM_CFLAGS = @WIN32_CFLAGS@
 
@@ -17,6 +17,6 @@ pkg_LTLIBRARIES = module.la
 
 module_la_SOURCES = evas_image_save_tiff.c
 
-module_la_LIBADD = @EINA_LIBS@ @tiff_libs@ $(top_builddir)/src/lib/libevas.la
+module_la_LIBADD = @EINA_LIBS@ @evas_image_loader_tiff_libs@ $(top_builddir)/src/lib/libevas.la
 module_la_LDFLAGS = @lt_no_undefined@ @lt_enable_auto_import@ -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static