diff --git a/configure.ac b/configure.ac index 91c8c13b..276584f9 100644 --- a/configure.ac +++ b/configure.ac @@ -293,9 +293,17 @@ fi PKG_CHECK_MODULES(PIXMAN, [pixman-1]) PKG_CHECK_MODULES(PNG, [libpng]) -PKG_CHECK_MODULES(WEBP, [libwebp], [have_webp=yes], [have_webp=no]) + +AC_ARG_WITH([webp], + AS_HELP_STRING([--without-webp], + [Use libwebp for WebP decoding support [default=auto]])) +AS_IF([test "x$with_webp" != "xno"], + [PKG_CHECK_MODULES(WEBP, [libwebp], [have_webp=yes], [have_webp=no])], + [have_webp=no]) AS_IF([test "x$have_webp" = "xyes"], - [AC_DEFINE([HAVE_WEBP], [1], [Have webp])]) + [AC_DEFINE([HAVE_WEBP], [1], [Have webp])], + [AS_IF([test "x$with_webp" = "xyes"], + [AC_MSG_ERROR([WebP support explicitly requested, but libwebp couldn't be found])])]) AC_ARG_ENABLE(vaapi-recorder, [ --enable-vaapi-recorder],, enable_vaapi_recorder=auto) diff --git a/shared/image-loader.c b/shared/image-loader.c index ec75bd4f..050f0677 100644 --- a/shared/image-loader.c +++ b/shared/image-loader.c @@ -352,6 +352,15 @@ load_webp(FILE *fp) config.output.u.RGBA.stride); } +#else + +static pixman_image_t * +load_webp(FILE *fp) +{ + fprintf(stderr, "WebP support disabled at compile-time\n"); + return NULL; +} + #endif @@ -364,9 +373,7 @@ struct image_loader { static const struct image_loader loaders[] = { { { 0x89, 'P', 'N', 'G' }, 4, load_png }, { { 0xff, 0xd8 }, 2, load_jpeg }, -#ifdef HAVE_WEBP { { 'R', 'I', 'F', 'F' }, 4, load_webp } -#endif }; pixman_image_t *