configure: Make jpeglib an optional dependency.
It doesn’t make sense to fail the entire build when jpeglib isn’t present, so this commit makes it optional just like libwebp in the previous one, disabled with --without-jpeg and forced with --with-jpeg. Signed-off-by: Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
This commit is contained in:
parent
b00c79b587
commit
66e1614122
23
configure.ac
23
configure.ac
|
@ -294,6 +294,19 @@ fi
|
|||
PKG_CHECK_MODULES(PIXMAN, [pixman-1])
|
||||
PKG_CHECK_MODULES(PNG, [libpng])
|
||||
|
||||
AC_ARG_WITH([jpeg],
|
||||
AS_HELP_STRING([--without-jpeg],
|
||||
[Use jpeglib for JPEG decoding support [default=auto]]))
|
||||
AS_IF([test "x$with_jpeg" != "xno"],
|
||||
[AC_CHECK_LIB([jpeg], [jpeg_CreateDecompress], [have_jpeglib=yes], [have_jpeglib=no])],
|
||||
[have_jpeglib=no])
|
||||
AS_IF([test "x$have_jpeglib" = "xyes"],
|
||||
[JPEG_LIBS="-ljpeg"
|
||||
AC_SUBST([JPEG_LIBS])
|
||||
AC_DEFINE([HAVE_JPEG], [1], [Have jpeglib])],
|
||||
[AS_IF([test "x$with_jpeg" = "xyes"],
|
||||
[AC_MSG_ERROR([JPEG support explicitly requested, but jpeglib couldn't be found])])])
|
||||
|
||||
AC_ARG_WITH([webp],
|
||||
AS_HELP_STRING([--without-webp],
|
||||
[Use libwebp for WebP decoding support [default=auto]]))
|
||||
|
@ -318,15 +331,6 @@ if test x$enable_vaapi_recorder != xno; then
|
|||
fi
|
||||
AM_CONDITIONAL(ENABLE_VAAPI_RECORDER, test "x$have_libva" = xyes)
|
||||
|
||||
|
||||
AC_CHECK_LIB([jpeg], [jpeg_CreateDecompress], have_jpeglib=yes)
|
||||
if test x$have_jpeglib = xyes; then
|
||||
JPEG_LIBS="-ljpeg"
|
||||
else
|
||||
AC_ERROR([libjpeg not found])
|
||||
fi
|
||||
AC_SUBST(JPEG_LIBS)
|
||||
|
||||
PKG_CHECK_MODULES(CAIRO, [cairo])
|
||||
|
||||
PKG_CHECK_MODULES(TEST_CLIENT, [wayland-client >= 1.10.0])
|
||||
|
@ -686,6 +690,7 @@ AC_MSG_RESULT([
|
|||
|
||||
Colord Support ${have_colord}
|
||||
LCMS2 Support ${have_lcms}
|
||||
libjpeg Support ${have_jpeglib}
|
||||
libwebp Support ${have_webp}
|
||||
libunwind Support ${have_libunwind}
|
||||
VA H.264 encoding Support ${have_libva}
|
||||
|
|
|
@ -30,13 +30,16 @@
|
|||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <jpeglib.h>
|
||||
#include <png.h>
|
||||
#include <pixman.h>
|
||||
|
||||
#include "shared/helpers.h"
|
||||
#include "image-loader.h"
|
||||
|
||||
#ifdef HAVE_JPEG
|
||||
#include <jpeglib.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_WEBP
|
||||
#include <webp/decode.h>
|
||||
#endif
|
||||
|
@ -47,6 +50,14 @@ stride_for_width(int width)
|
|||
return width * 4;
|
||||
}
|
||||
|
||||
static void
|
||||
pixman_image_destroy_func(pixman_image_t *image, void *data)
|
||||
{
|
||||
free(data);
|
||||
}
|
||||
|
||||
#ifdef HAVE_JPEG
|
||||
|
||||
static void
|
||||
swizzle_row(JSAMPLE *row, JDIMENSION width)
|
||||
{
|
||||
|
@ -68,12 +79,6 @@ error_exit(j_common_ptr cinfo)
|
|||
longjmp(cinfo->client_data, 1);
|
||||
}
|
||||
|
||||
static void
|
||||
pixman_image_destroy_func(pixman_image_t *image, void *data)
|
||||
{
|
||||
free(data);
|
||||
}
|
||||
|
||||
static pixman_image_t *
|
||||
load_jpeg(FILE *fp)
|
||||
{
|
||||
|
@ -132,6 +137,17 @@ load_jpeg(FILE *fp)
|
|||
return pixman_image;
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
static pixman_image_t *
|
||||
load_jpeg(FILE *fp)
|
||||
{
|
||||
fprintf(stderr, "JPEG support disabled at compile-time\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
static inline int
|
||||
multiply_alpha(int alpha, int color)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue