libmatchbox: fix libpng detection

The configure script looks for libpng12 though pkg-config and if that fails
falls back to looking for library files directly.  The result of this is that
the linkage can change between libpng12 or libpng16 depending on what is
installed in the sysroot.

To resolve this, take a patch from upstream to just link using pkg-config.

(From OE-Core rev: 1f17598031059f498e8681cd09c5b0832622d3ac)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton
2013-12-10 12:13:36 +00:00
committed by Richard Purdie
parent c66ff8bb8f
commit 8bbd5083d0
2 changed files with 72 additions and 1 deletions

View File

@@ -0,0 +1,69 @@
Upstream-Status: Backport
Signed-off-by: Ross Burton <ross.burton@intel.com>
From 19c3d242034748b3c60765683e1ff4e2df970205 Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@intel.com>
Date: Tue, 10 Dec 2013 11:37:32 +0000
Subject: [PATCH] configure: improve libpng detection
Instead of looking for "libpng12" explicitly though pkg-config and then falling
back to library hunting, just use pkg-config to find "libpng" which is provided
by both libpng12 and libpng16.
This also makes the libpng detection deterministic.
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
configure.ac | 29 +++++------------------------
1 file changed, 5 insertions(+), 24 deletions(-)
diff --git a/configure.ac b/configure.ac
index 8a28076..65d7c79 100644
--- a/configure.ac
+++ b/configure.ac
@@ -34,7 +34,7 @@ AC_ARG_ENABLE(jpeg,
enable_jpeg=$enableval, enable_jpeg=no)
AC_ARG_ENABLE(png,
- [ --disable-png disable png support [default=no]],
+ [ --disable-png disable PNG support [default=enabled]],
enable_png=$enableval, enable_png=yes )
AC_ARG_ENABLE(doxygen-docs,
@@ -156,29 +156,10 @@ fi
dnl ------ Check for PNG ---------------------------------------------------
if test x$enable_png != xno; then
- AC_MSG_CHECKING(for libpng12)
- if test x$PKG_CONFIG != xno && $PKG_CONFIG --exists libpng12; then
- AC_MSG_RESULT(yes)
- PNG_LIBS=`$PKG_CONFIG --libs libpng12`
- PNG_CFLAGS=`$PKG_CONFIG --cflags libpng12`
- AC_DEFINE(USE_PNG, [1], [Use Png])
- SUPPORTS_PNG=1
- PNG_REQUIRED="libpng12"
- else
- AC_MSG_RESULT(no)
- # AC_CHECK_HEADERS(png.h, [ have_png_h="yes" ], [ have_png_h="no" ] )
- AC_CHECK_LIB([png], [png_create_read_struct], [have_png="yes"], [have_png="no"])
-
- if test x$have_png=xyes && test x$have_png_h=xyes; then
- AC_DEFINE(USE_PNG, [1], [Use Png])
- SUPPORTS_PNG=1
- PNG_LIBS="-lpng -lz"
- MB_EXTRA_LIBS="$MB_EXTRA_LIBS $PNG_LIBS"
- else
- AC_MSG_WARN([*** Cannot find PNG, disabling support])
- enable_png=no
- fi
- fi
+ PKG_CHECK_MODULES(PNG, libpng)
+ AC_DEFINE(USE_PNG, [1], [Use PNG])
+ SUPPORTS_PNG=1
+ PNG_REQUIRED="libpng"
fi
--
1.8.5

View File

@@ -10,7 +10,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34 \
DEPENDS = "virtual/libx11 libxext expat libxft jpeg libpng zlib libxsettings-client startup-notification"
SRC_URI = "http://downloads.yoctoproject.org/releases/matchbox/${BPN}/${PV}/${BPN}-${PV}.tar.bz2"
SRC_URI = "http://downloads.yoctoproject.org/releases/matchbox/${BPN}/${PV}/${BPN}-${PV}.tar.bz2 \
file://libpng.patch"
SRC_URI[md5sum] = "fc6cc807f55a3e7c752d8013176875d7"
SRC_URI[sha256sum] = "254cab52e304a3512c8df4be59d690cf3921bbb68a28ede7fe26b93534217b53"