From: Cristy Date: Sun, 19 Nov 2017 17:35:18 +0000 (-0500) Subject: Support the WebP Mux library X-Git-Tag: 7.0.7-12~64 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=692b678722fa713ad622261236e363af14a8c1a0;p=imagemagick Support the WebP Mux library --- diff --git a/Makefile.in b/Makefile.in index b5292e987..9b8ad1f05 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1710,7 +1710,7 @@ coders_wbmp_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ $@ @WITH_MODULES_TRUE@am_coders_wbmp_la_rpath = -rpath $(codersdir) coders_webp_la_DEPENDENCIES = $(MAGICKCORE_LIBS) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) am_coders_webp_la_OBJECTS = coders/coders_webp_la-webp.lo coders_webp_la_OBJECTS = $(am_coders_webp_la_OBJECTS) coders_webp_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ @@ -2814,6 +2814,9 @@ WARN_CFLAGS = @WARN_CFLAGS@ WARN_CXXFLAGS = @WARN_CXXFLAGS@ WARN_LDFLAGS = @WARN_LDFLAGS@ WARN_SCANNERFLAGS = @WARN_SCANNERFLAGS@ +WEBPMUX_CFLAGS = @WEBPMUX_CFLAGS@ +WEBPMUX_LIBS = @WEBPMUX_LIBS@ +WEBP_CFLAGS = @WEBP_CFLAGS@ WEBP_LIBS = @WEBP_LIBS@ WMF_CFLAGS = @WMF_CFLAGS@ WMF_LIBS = @WMF_LIBS@ @@ -4077,7 +4080,7 @@ coders_wbmp_la_LIBADD = $(MAGICKCORE_LIBS) coders_webp_la_SOURCES = coders/webp.c coders_webp_la_CPPFLAGS = $(MAGICK_CODER_CPPFLAGS) coders_webp_la_LDFLAGS = $(MODULECOMMONFLAGS) -coders_webp_la_LIBADD = $(MAGICKCORE_LIBS) $(WEBP_LIBS) $(MATH_LIBS) +coders_webp_la_LIBADD = $(MAGICKCORE_LIBS) $(WEBPMUX_LIBS) $(WEBP_LIBS) $(MATH_LIBS) # WMF coder module coders_wmf_la_SOURCES = coders/wmf.c diff --git a/coders/Makefile.am b/coders/Makefile.am index 7141abe98..5204bc0a8 100644 --- a/coders/Makefile.am +++ b/coders/Makefile.am @@ -1050,7 +1050,7 @@ coders_wbmp_la_LIBADD = $(MAGICKCORE_LIBS) coders_webp_la_SOURCES = coders/webp.c coders_webp_la_CPPFLAGS = $(MAGICK_CODER_CPPFLAGS) coders_webp_la_LDFLAGS = $(MODULECOMMONFLAGS) -coders_webp_la_LIBADD = $(MAGICKCORE_LIBS) $(WEBP_LIBS) $(MATH_LIBS) +coders_webp_la_LIBADD = $(MAGICKCORE_LIBS) $(WEBPMUX_LIBS) $(WEBP_LIBS) $(MATH_LIBS) # WMF coder module coders_wmf_la_SOURCES = coders/wmf.c diff --git a/coders/webp.c b/coders/webp.c index 05dfb28b1..11e2c1462 100644 --- a/coders/webp.c +++ b/coders/webp.c @@ -57,6 +57,7 @@ #include "MagickCore/memory_.h" #include "MagickCore/option.h" #include "MagickCore/pixel-accessor.h" +#include "MagickCore/profile.h" #include "MagickCore/quantum-private.h" #include "MagickCore/static.h" #include "MagickCore/string_.h" @@ -68,6 +69,9 @@ #if defined(MAGICKCORE_WEBP_DELEGATE) #include #include +#if defined(MAGICKCORE_WEBPMUX_DELEGATE) +#include +#endif #endif /* @@ -378,6 +382,59 @@ static Image *ReadWEBPImage(const ImageInfo *image_info, break; } WebPFreeDecBuffer(webp_image); +#if defined(MAGICKCORE_WEBPMUX_DELEGATE) + { + StringInfo + *profile; + + uint32_t + webp_flags = 0; + + WebPData + content = { stream, length }, + chunk ={ 0 }; + + WebPMux + *mux; + + /* + Extract any profiles. + */ + mux=WebPMuxCreate(&content,0); + WebPMuxGetFeatures(mux,&webp_flags); + if (webp_flags & ICCP_FLAG) + { + WebPMuxGetChunk(mux,"ICCP",&chunk); + profile=BlobToStringInfo(chunk.bytes,chunk.size); + if (profile != (StringInfo *) NULL) + { + SetImageProfile(image,"ICC",profile,exception); + profile=DestroyStringInfo(profile); + } + } + if (webp_flags & EXIF_FLAG) + { + WebPMuxGetChunk(mux,"EXIF",&chunk); + profile=BlobToStringInfo(chunk.bytes,chunk.size); + if (profile != (StringInfo *) NULL) + { + SetImageProfile(image,"EXIF",profile,exception); + profile=DestroyStringInfo(profile); + } + } + if (webp_flags & XMP_FLAG) + { + WebPMuxGetChunk(mux,"XMP",&chunk); + profile=BlobToStringInfo(chunk.bytes,chunk.size); + if (profile != (StringInfo *) NULL) + { + SetImageProfile(image,"XMP",profile,exception); + profile=DestroyStringInfo(profile); + } + } + WebPMuxDelete(mux); + } +#endif stream=(unsigned char*) RelinquishMagickMemory(stream); (void) CloseBlob(image); return(image); diff --git a/config/config.h.in b/config/config.h.in index 4050e6fa8..b13b934d1 100644 --- a/config/config.h.in +++ b/config/config.h.in @@ -973,6 +973,9 @@ /* Version number of package */ #undef VERSION +/* Define if you have WEBPMUX library */ +#undef WEBPMUX_DELEGATE + /* Define if you have WEBP library */ #undef WEBP_DELEGATE diff --git a/configure b/configure index 01a3ebc50..942e18be7 100755 --- a/configure +++ b/configure @@ -760,9 +760,14 @@ WMF_LIBS WMF_CFLAGS WMF_DELEGATE_FALSE WMF_DELEGATE_TRUE -WEBP_LIBS +WEBPMUX_DELEGATE_FALSE +WEBPMUX_DELEGATE_TRUE WEBP_DELEGATE_FALSE WEBP_DELEGATE_TRUE +WEBPMUX_LIBS +WEBPMUX_CFLAGS +WEBP_LIBS +WEBP_CFLAGS TIFF_LIBS TIFF_DELEGATE_FALSE TIFF_DELEGATE_TRUE @@ -1293,6 +1298,10 @@ RSVG_CFLAGS RSVG_LIBS CAIRO_SVG_CFLAGS CAIRO_SVG_LIBS +WEBP_CFLAGS +WEBP_LIBS +WEBPMUX_CFLAGS +WEBPMUX_LIBS XML_CFLAGS XML_LIBS' @@ -2123,6 +2132,12 @@ Some influential environment variables: C compiler flags for CAIRO_SVG, overriding pkg-config CAIRO_SVG_LIBS linker flags for CAIRO_SVG, overriding pkg-config + WEBP_CFLAGS C compiler flags for WEBP, overriding pkg-config + WEBP_LIBS linker flags for WEBP, overriding pkg-config + WEBPMUX_CFLAGS + C compiler flags for WEBPMUX, overriding pkg-config + WEBPMUX_LIBS + linker flags for WEBPMUX, overriding pkg-config XML_CFLAGS C compiler flags for XML, overriding pkg-config XML_LIBS linker flags for XML, overriding pkg-config @@ -4544,7 +4559,7 @@ MAGICK_PATCHLEVEL_VERSION=12 MAGICK_VERSION=7.0.7-12 -MAGICK_GIT_REVISION=21694:15073a984:20171119 +MAGICK_GIT_REVISION=21695:9e7b981d8:20171119 # Substitute library versioning @@ -34824,7 +34839,7 @@ fi # -# Check for WEBP delegate library. +# Check for the WEBP delegate library. # # Check whether --with-webp was given. @@ -34840,88 +34855,176 @@ if test "$with_webp" != 'yes'; then fi have_webp='no' -WEBP_LIBS='' -if test "$with_webp" != 'no'; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: -------------------------------------------------------------" >&5 +have_webpmux='no' +WEBP_CFLAGS="" +WEBP_LIBS="" +WEBP_PKG="" +WEBPMUX_CFLAGS="" +WEBPMUX_LIBS="" +WEBPMUX_PKG="" +if test "x$with_webp" = "xyes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: -------------------------------------------------------------" >&5 $as_echo "-------------------------------------------------------------" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for WEBP" >&5 + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for WEBP" >&5 $as_echo_n "checking for WEBP... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 -$as_echo "" >&6; } - failed=0 - passed=0 - ac_fn_c_check_header_mongrel "$LINENO" "webp/decode.h" "ac_cv_header_webp_decode_h" "$ac_includes_default" -if test "x$ac_cv_header_webp_decode_h" = xyes; then : - passed=`expr $passed + 1` + +if test -n "$WEBP_CFLAGS"; then + pkg_cv_WEBP_CFLAGS="$WEBP_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libwebp\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libwebp") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_WEBP_CFLAGS=`$PKG_CONFIG --cflags "libwebp" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes else - failed=`expr $failed + 1` + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$WEBP_LIBS"; then + pkg_cv_WEBP_LIBS="$WEBP_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libwebp\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libwebp") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_WEBP_LIBS=`$PKG_CONFIG --libs "libwebp" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for WebPPictureInitInternal in -lwebp" >&5 -$as_echo_n "checking for WebPPictureInitInternal in -lwebp... " >&6; } -if ${ac_cv_lib_webp_WebPPictureInitInternal+:} false; then : - $as_echo_n "(cached) " >&6 + +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lwebp $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + WEBP_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libwebp" 2>&1` + else + WEBP_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libwebp" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$WEBP_PKG_ERRORS" >&5 -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char WebPPictureInitInternal (); -int -main () -{ -return WebPPictureInitInternal (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_webp_WebPPictureInitInternal=yes + have_webp=no +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + have_webp=no else - ac_cv_lib_webp_WebPPictureInitInternal=no + WEBP_CFLAGS=$pkg_cv_WEBP_CFLAGS + WEBP_LIBS=$pkg_cv_WEBP_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + have_webp=yes fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for WEBPMUX" >&5 +$as_echo_n "checking for WEBPMUX... " >&6; } + +if test -n "$WEBPMUX_CFLAGS"; then + pkg_cv_WEBPMUX_CFLAGS="$WEBPMUX_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libwebpmux\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libwebpmux") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_WEBPMUX_CFLAGS=`$PKG_CONFIG --cflags "libwebpmux" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_webp_WebPPictureInitInternal" >&5 -$as_echo "$ac_cv_lib_webp_WebPPictureInitInternal" >&6; } -if test "x$ac_cv_lib_webp_WebPPictureInitInternal" = xyes; then : - passed=`expr $passed + 1` + else + pkg_failed=untried +fi +if test -n "$WEBPMUX_LIBS"; then + pkg_cv_WEBPMUX_LIBS="$WEBPMUX_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libwebpmux\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libwebpmux") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_WEBPMUX_LIBS=`$PKG_CONFIG --libs "libwebpmux" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes else - failed=`expr $failed + 1` + pkg_failed=yes +fi + else + pkg_failed=untried fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if WEBP package is complete" >&5 -$as_echo_n "checking if WEBP package is complete... " >&6; } - if test $passed -gt 0; then - if test $failed -gt 0; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no -- some components failed test" >&5 -$as_echo "no -- some components failed test" >&6; } - have_webp='no (failed tests)' - else - WEBP_LIBS='-lwebp' - LIBS="$WEBP_LIBS $LIBS" -$as_echo "#define WEBP_DELEGATE 1" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - have_webp='yes' +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + WEBPMUX_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libwebpmux" 2>&1` + else + WEBPMUX_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libwebpmux" 2>&1` fi - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + # Put the nasty error message in config.log where it belongs + echo "$WEBPMUX_PKG_ERRORS" >&5 + + have_webpmux=no +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } - fi + have_webpmux=no +else + WEBPMUX_CFLAGS=$pkg_cv_WEBPMUX_CFLAGS + WEBPMUX_LIBS=$pkg_cv_WEBPMUX_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + have_webpmux=yes fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 +$as_echo "" >&6; } +fi + +if test "$have_webp" = 'yes'; then + +$as_echo "#define WEBP_DELEGATE 1" >>confdefs.h + + CFLAGS="$WEBP_CFLAGS $CFLAGS" +fi + +if test "$have_webpmux" = 'yes'; then + +$as_echo "#define WEBPMUX_DELEGATE 1" >>confdefs.h + + CFLAGS="$WEBPMUX_CFLAGS $CFLAGS" +fi + if test "$have_webp" = 'yes'; then WEBP_DELEGATE_TRUE= WEBP_DELEGATE_FALSE='#' @@ -34930,6 +35033,16 @@ else WEBP_DELEGATE_FALSE= fi + if test "$have_webpmux" = 'yes'; then + WEBPMUX_DELEGATE_TRUE= + WEBPMUX_DELEGATE_FALSE='#' +else + WEBPMUX_DELEGATE_TRUE='#' + WEBPMUX_DELEGATE_FALSE= +fi + + + @@ -38269,7 +38382,7 @@ fi if test "$build_modules" != 'no'; then MAGICK_DEP_LIBS="$USER_LIBS $LCMS_LIBS $FREETYPE_LIBS $RAQM_LIBS $LQR_LIBS $FFTW_LIBS $FLIF_LIBS $FONTCONFIG_LIBS $XEXT_LIBS $IPC_LIBS $X11_LIBS $XT_LIBS $LZMA_LIBS $BZLIB_LIBS $ZLIB_LIBS $LTDL_LIBS $GDI32_LIBS $MATH_LIBS $GOMP_LIBS $CL_LIBS $UMEM_LIBS $JEMALLOC_LIBS $THREAD_LIBS" else - MAGICK_DEP_LIBS="$USER_LIBS $JBIG_LIBS $LCMS_LIBS $TIFF_LIBS $FREETYPE_LIBS $RAQM_LIBS $JPEG_LIBS $GS_LIBS $LQR_LIBS $PNG_LIBS $AUTOTRACE_LIBS $DJVU_LIBS $FFTW_LIBS $FLIF_LIBS $FPX_LIBS $FONTCONFIG_LIBS $HEIC_LIBS $WEBP_LIBS $WMF_LIBS $DPS_LIBS $XEXT_LIBS $XT_LIBS $IPC_LIBS $X11_LIBS $LZMA_LIBS $BZLIB_LIBS $OPENEXR_LIBS $LIBOPENJP2_LIBS $PANGO_LIBS $RAW_R_LIBS $RSVG_LIBS $XML_LIBS $GVC_LIBS $HEIC_$ZLIB_LIBS $GDI32_LIBS $MATH_LIBS $GOMP_LIBS $CL_LIBS $UMEM_LIBS $JEMALLOC_LIBS $THREAD_LIBS" + MAGICK_DEP_LIBS="$USER_LIBS $JBIG_LIBS $LCMS_LIBS $TIFF_LIBS $FREETYPE_LIBS $RAQM_LIBS $JPEG_LIBS $GS_LIBS $LQR_LIBS $PNG_LIBS $AUTOTRACE_LIBS $DJVU_LIBS $FFTW_LIBS $FLIF_LIBS $FPX_LIBS $FONTCONFIG_LIBS $HEIC_LIBS $WEBPMUX_LIBS $WEBP_LIBS $WMF_LIBS $DPS_LIBS $XEXT_LIBS $XT_LIBS $IPC_LIBS $X11_LIBS $LZMA_LIBS $BZLIB_LIBS $OPENEXR_LIBS $LIBOPENJP2_LIBS $PANGO_LIBS $RAW_R_LIBS $RSVG_LIBS $XML_LIBS $GVC_LIBS $HEIC_$ZLIB_LIBS $GDI32_LIBS $MATH_LIBS $GOMP_LIBS $CL_LIBS $UMEM_LIBS $JEMALLOC_LIBS $THREAD_LIBS" fi @@ -38664,6 +38777,10 @@ if test -z "${WEBP_DELEGATE_TRUE}" && test -z "${WEBP_DELEGATE_FALSE}"; then as_fn_error $? "conditional \"WEBP_DELEGATE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${WEBPMUX_DELEGATE_TRUE}" && test -z "${WEBPMUX_DELEGATE_FALSE}"; then + as_fn_error $? "conditional \"WEBPMUX_DELEGATE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${WMF_DELEGATE_TRUE}" && test -z "${WMF_DELEGATE_FALSE}"; then as_fn_error $? "conditional \"WMF_DELEGATE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 diff --git a/configure.ac b/configure.ac index a19fadbc1..2eb25d14b 100644 --- a/configure.ac +++ b/configure.ac @@ -2774,9 +2774,9 @@ fi dnl =========================================================================== # -# Check for WEBP delegate library. +# Check for the WEBP delegate library. # -AC_ARG_WITH(webp, +AC_ARG_WITH([webp], [AC_HELP_STRING([--without-webp], [disable WEBP support])], [with_webp=$withval], @@ -2787,34 +2787,36 @@ if test "$with_webp" != 'yes'; then fi have_webp='no' -WEBP_LIBS='' -if test "$with_webp" != 'no'; then - AC_MSG_RESULT([-------------------------------------------------------------]) - AC_MSG_CHECKING([for WEBP]) - AC_MSG_RESULT([]) - failed=0 - passed=0 - AC_CHECK_HEADER(webp/decode.h,passed=`expr $passed + 1`,failed=`expr $failed + 1`,) - AC_CHECK_LIB(webp,WebPPictureInitInternal,passed=`expr $passed + 1`,failed=`expr $failed + 1`,) - AC_MSG_CHECKING([if WEBP package is complete]) - if test $passed -gt 0; then - if test $failed -gt 0; then - AC_MSG_RESULT([no -- some components failed test]) - have_webp='no (failed tests)' - else - WEBP_LIBS='-lwebp' - LIBS="$WEBP_LIBS $LIBS" - AC_DEFINE(WEBP_DELEGATE,1,Define if you have WEBP library) - AC_MSG_RESULT([yes]) - have_webp='yes' - fi - else - AC_MSG_RESULT([no]) - fi +have_webpmux='no' +WEBP_CFLAGS="" +WEBP_LIBS="" +WEBP_PKG="" +WEBPMUX_CFLAGS="" +WEBPMUX_LIBS="" +WEBPMUX_PKG="" +if test "x$with_webp" = "xyes"; then + AC_MSG_RESULT([-------------------------------------------------------------]) + PKG_CHECK_MODULES(WEBP,[libwebp], have_webp=yes, have_webp=no) + PKG_CHECK_MODULES(WEBPMUX,[libwebpmux], have_webpmux=yes, have_webpmux=no) + AC_MSG_RESULT([]) fi -AM_CONDITIONAL(WEBP_DELEGATE,test "$have_webp" = 'yes') -AC_SUBST(WEBP_LIBS) +if test "$have_webp" = 'yes'; then + AC_DEFINE(WEBP_DELEGATE,1,Define if you have WEBP library) + CFLAGS="$WEBP_CFLAGS $CFLAGS" +fi + +if test "$have_webpmux" = 'yes'; then + AC_DEFINE(WEBPMUX_DELEGATE,1,Define if you have WEBPMUX library) + CFLAGS="$WEBPMUX_CFLAGS $CFLAGS" +fi + +AM_CONDITIONAL(WEBP_DELEGATE, test "$have_webp" = 'yes') +AM_CONDITIONAL(WEBPMUX_DELEGATE, test "$have_webpmux" = 'yes') +AC_SUBST(WEBPMUX_CFLAGS) +AC_SUBST(WEBPMUX_LIBS) +AC_SUBST(WEBP_CFLAGS) +AC_SUBST(WEBP_LIBS) dnl =========================================================================== @@ -3874,7 +3876,7 @@ fi if test "$build_modules" != 'no'; then MAGICK_DEP_LIBS="$USER_LIBS $LCMS_LIBS $FREETYPE_LIBS $RAQM_LIBS $LQR_LIBS $FFTW_LIBS $FLIF_LIBS $FONTCONFIG_LIBS $XEXT_LIBS $IPC_LIBS $X11_LIBS $XT_LIBS $LZMA_LIBS $BZLIB_LIBS $ZLIB_LIBS $LTDL_LIBS $GDI32_LIBS $MATH_LIBS $GOMP_LIBS $CL_LIBS $UMEM_LIBS $JEMALLOC_LIBS $THREAD_LIBS" else - MAGICK_DEP_LIBS="$USER_LIBS $JBIG_LIBS $LCMS_LIBS $TIFF_LIBS $FREETYPE_LIBS $RAQM_LIBS $JPEG_LIBS $GS_LIBS $LQR_LIBS $PNG_LIBS $AUTOTRACE_LIBS $DJVU_LIBS $FFTW_LIBS $FLIF_LIBS $FPX_LIBS $FONTCONFIG_LIBS $HEIC_LIBS $WEBP_LIBS $WMF_LIBS $DPS_LIBS $XEXT_LIBS $XT_LIBS $IPC_LIBS $X11_LIBS $LZMA_LIBS $BZLIB_LIBS $OPENEXR_LIBS $LIBOPENJP2_LIBS $PANGO_LIBS $RAW_R_LIBS $RSVG_LIBS $XML_LIBS $GVC_LIBS $HEIC_$ZLIB_LIBS $GDI32_LIBS $MATH_LIBS $GOMP_LIBS $CL_LIBS $UMEM_LIBS $JEMALLOC_LIBS $THREAD_LIBS" + MAGICK_DEP_LIBS="$USER_LIBS $JBIG_LIBS $LCMS_LIBS $TIFF_LIBS $FREETYPE_LIBS $RAQM_LIBS $JPEG_LIBS $GS_LIBS $LQR_LIBS $PNG_LIBS $AUTOTRACE_LIBS $DJVU_LIBS $FFTW_LIBS $FLIF_LIBS $FPX_LIBS $FONTCONFIG_LIBS $HEIC_LIBS $WEBPMUX_LIBS $WEBP_LIBS $WMF_LIBS $DPS_LIBS $XEXT_LIBS $XT_LIBS $IPC_LIBS $X11_LIBS $LZMA_LIBS $BZLIB_LIBS $OPENEXR_LIBS $LIBOPENJP2_LIBS $PANGO_LIBS $RAW_R_LIBS $RSVG_LIBS $XML_LIBS $GVC_LIBS $HEIC_$ZLIB_LIBS $GDI32_LIBS $MATH_LIBS $GOMP_LIBS $CL_LIBS $UMEM_LIBS $JEMALLOC_LIBS $THREAD_LIBS" fi AC_SUBST(MAGICK_DEP_LIBS)