[PATCH weston v2 1/2] configure: Make WebP support togglable, and improve its error message.

Bryce Harrington bryce at osg.samsung.com
Sat Feb 20 02:35:00 UTC 2016


On Tue, Feb 16, 2016 at 10:26:25PM -0800, Bryce Harrington wrote:
> On Tue, Feb 16, 2016 at 01:57:51AM +0000, Emmanuel Gil Peyrot wrote:
> > The current way was enabling WebP support whenever libwebp was found,
> > giving no way to the user to disable it if they had the library
> > installed but didn’t want to link against it.  This adds a
> > --without-webp configure option to never link against it, and a
> > --with-webp one to fail the build if it isn’t found, the default being
> > to use it if it is present.
> > 
> > Additionally, we now tell the user when WebP support has been disabled
> > and they try to load a WebP file.
> > 
> > Signed-off-by: Emmanuel Gil Peyrot <linkmauve at linkmauve.fr>
> 
> Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
> 
> This looks fine, only functionality that is lost for webp is reading of
> riff files.

Thanks, pushed:
To ssh://git.freedesktop.org/git/wayland/weston
   e1719c7..58b7a15  master -> master

> > ---
> >  configure.ac          | 12 ++++++++++--
> >  shared/image-loader.c | 11 +++++++++--
> >  2 files changed, 19 insertions(+), 4 deletions(-)
> > 
> > diff --git a/configure.ac b/configure.ac
> > index c32ddc9..878b30a 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 ec75bd4..050f067 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 *
> > -- 
> > 2.7.1
> > 
> > _______________________________________________
> > wayland-devel mailing list
> > wayland-devel at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/wayland-devel
> _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/wayland-devel


More information about the wayland-devel mailing list