All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] libmatchbox: fix libpng detection
@ 2013-12-10 12:13 Ross Burton
  2013-12-10 12:13 ` [PATCH 2/2] libmatchbox: use PACKAGECONFIG Ross Burton
  0 siblings, 1 reply; 4+ messages in thread
From: Ross Burton @ 2013-12-10 12:13 UTC (permalink / raw)
  To: openembedded-core

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.

Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 .../libmatchbox/libmatchbox/libpng.patch           |   69 ++++++++++++++++++++
 .../libmatchbox/libmatchbox_1.11.bb                |    4 +-
 2 files changed, 72 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-graphics/libmatchbox/libmatchbox/libpng.patch

diff --git a/meta/recipes-graphics/libmatchbox/libmatchbox/libpng.patch b/meta/recipes-graphics/libmatchbox/libmatchbox/libpng.patch
new file mode 100644
index 0000000..8cd507f
--- /dev/null
+++ b/meta/recipes-graphics/libmatchbox/libmatchbox/libpng.patch
@@ -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
+
diff --git a/meta/recipes-graphics/libmatchbox/libmatchbox_1.11.bb b/meta/recipes-graphics/libmatchbox/libmatchbox_1.11.bb
index d162a78..118c808 100644
--- a/meta/recipes-graphics/libmatchbox/libmatchbox_1.11.bb
+++ b/meta/recipes-graphics/libmatchbox/libmatchbox_1.11.bb
@@ -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"
 
-- 
1.7.10.4



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 2/2] libmatchbox: use PACKAGECONFIG
  2013-12-10 12:13 [PATCH 1/2] libmatchbox: fix libpng detection Ross Burton
@ 2013-12-10 12:13 ` Ross Burton
  2013-12-14 14:18   ` Trevor Woerner
  0 siblings, 1 reply; 4+ messages in thread
From: Ross Burton @ 2013-12-10 12:13 UTC (permalink / raw)
  To: openembedded-core

Use PACKAGECONFIG to offer some flexibility to the libmatchbox configuration,
and remove two spurious build dependencies (expat and libstartup-notification).

Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/recipes-graphics/libmatchbox/libmatchbox_1.11.bb |    9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-graphics/libmatchbox/libmatchbox_1.11.bb b/meta/recipes-graphics/libmatchbox/libmatchbox_1.11.bb
index 118c808..e2e971e 100644
--- a/meta/recipes-graphics/libmatchbox/libmatchbox_1.11.bb
+++ b/meta/recipes-graphics/libmatchbox/libmatchbox_1.11.bb
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34 \
                     file://libmb/mbexp.c;endline=20;md5=28c0aef3b23e308464f5dae6a11b0d2f \
                     file://libmb/mbdotdesktop.c;endline=21;md5=5a287156b3207e851c1d68d09c439b51"
 
-DEPENDS = "virtual/libx11 libxext expat libxft jpeg libpng zlib libxsettings-client startup-notification"
+DEPENDS = "virtual/libx11 libxext"
 
 SRC_URI = "http://downloads.yoctoproject.org/releases/matchbox/${BPN}/${PV}/${BPN}-${PV}.tar.bz2 \
            file://libpng.patch"
@@ -18,4 +18,9 @@ SRC_URI[sha256sum] = "254cab52e304a3512c8df4be59d690cf3921bbb68a28ede7fe26b93534
 
 inherit autotools pkgconfig
 
-EXTRA_OECONF = "--enable-jpeg --enable-xsettings"
+PACKAGECONFIG ??= "jpeg png xft xsettings"
+PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg,jpeg"
+PACKAGECONFIG[pango] = "--enable-pango,--disable-pango,pango"
+PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng"
+PACKAGECONFIG[xft] = "--enable-xft,--disable-xft,libxft"
+PACKAGECONFIG[xsettings] = "--enable-xsettings,--disable-xsettings,libxsettings-client"
-- 
1.7.10.4



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH 2/2] libmatchbox: use PACKAGECONFIG
  2013-12-10 12:13 ` [PATCH 2/2] libmatchbox: use PACKAGECONFIG Ross Burton
@ 2013-12-14 14:18   ` Trevor Woerner
  2013-12-16 12:06     ` Burton, Ross
  0 siblings, 1 reply; 4+ messages in thread
From: Trevor Woerner @ 2013-12-14 14:18 UTC (permalink / raw)
  To: Ross Burton, openembedded-core

Hi Ross,

Your commit message and your commit don't seem to agree. I.e. you say
you've removed 2 dependencies, but it looks like you've actually removed
more than just 2.

On 12/10/13 07:13, Ross Burton wrote:
> Use PACKAGECONFIG to offer some flexibility to the libmatchbox configuration,
> and remove two spurious build dependencies (expat and libstartup-notification).
[snip]
> -DEPENDS = "virtual/libx11 libxext expat libxft jpeg libpng zlib libxsettings-client startup-notification"
> +DEPENDS = "virtual/libx11 libxext"


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 2/2] libmatchbox: use PACKAGECONFIG
  2013-12-14 14:18   ` Trevor Woerner
@ 2013-12-16 12:06     ` Burton, Ross
  0 siblings, 0 replies; 4+ messages in thread
From: Burton, Ross @ 2013-12-16 12:06 UTC (permalink / raw)
  To: Trevor Woerner; +Cc: OE-core

On 14 December 2013 14:18, Trevor Woerner <trevor.woerner@linaro.org> wrote:
> Hi Ross,
>
> Your commit message and your commit don't seem to agree. I.e. you say
> you've removed 2 dependencies, but it looks like you've actually removed
> more than just 2.

The other dependencies just moved into PACKAGECONFIG statements.

Ross


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2013-12-16 12:06 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-12-10 12:13 [PATCH 1/2] libmatchbox: fix libpng detection Ross Burton
2013-12-10 12:13 ` [PATCH 2/2] libmatchbox: use PACKAGECONFIG Ross Burton
2013-12-14 14:18   ` Trevor Woerner
2013-12-16 12:06     ` Burton, Ross

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.