From daaf649bda7231fd0d760802232a36ba62a4ea2d Mon Sep 17 00:00:00 2001 From: Clemens Lang Date: Sun, 13 Aug 2017 21:17:18 +0200 Subject: [PATCH] openjpeg: Fix build against openjpeg 2.2 OpenJPEG 2.2 has some API changes and thus ships its headers in a new include path. Add a configure check (to both meson and autoconf) to detect the newer version of OpenJPEG and add conditional includes. Fix the autoconf test for OpenJPEG 2.1, which checked for HAVE_OPENJPEG, which was always set even for 2.0. https://bugzilla.gnome.org/show_bug.cgi?id=786250 [Peter: drop meson changes for 2017.02.x] Upstream: https://cgit.freedesktop.org/gstreamer/gst-plugins-bad/patch/?id=15f24fef53a955c7c76fc966302cb0453732e657 Signed-off-by: Peter Seiderer --- configure.ac | 7 ++++++- ext/openjpeg/gstopenjpeg.h | 4 +++- 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/configure.ac b/configure.ac index 30e26b8..c4f08c7 100644 --- a/configure.ac +++ b/configure.ac @@ -2813,8 +2813,13 @@ AG_GST_CHECK_FEATURE(OPENJPEG, [openjpeg library], openjpeg, [ if test x"$HAVE_OPENJPEG" = x"yes"; then dnl minor API changes in v2.1 AG_GST_PKG_CHECK_MODULES(OPENJPEG_2_1, libopenjp2 >= 2.1) - if test x"$HAVE_OPENJPEG" = x"yes"; then + if test x"$HAVE_OPENJPEG_2_1" = x"yes"; then AC_DEFINE([HAVE_OPENJPEG_2_1], 1, [Define if OpenJPEG 2.1 is used]) + dnl include paths changed for v2.2 + AG_GST_PKG_CHECK_MODULES(OPENJPEG_2_2, libopenjp2 >= 2.2) + if test x"$HAVE_OPENJPEG_2_2" = x"yes"; then + AC_DEFINE([HAVE_OPENJPEG_2_2], 1, [Define if OpenJPEG 2.2 is used]) + fi fi else # Fallback to v1.5 diff --git a/ext/openjpeg/gstopenjpeg.h b/ext/openjpeg/gstopenjpeg.h index 03ce52e..52410a4 100644 --- a/ext/openjpeg/gstopenjpeg.h +++ b/ext/openjpeg/gstopenjpeg.h @@ -38,7 +38,9 @@ #define OPJ_CPRL CPRL #else #include -# ifdef HAVE_OPENJPEG_2_1 +# if defined(HAVE_OPENJPEG_2_2) +# include +# elif defined(HAVE_OPENJPEG_2_1) # include # else # include -- 2.12.3