diff mbox

configure: check for pixman-1 version

Message ID 1410746038-10488-1-git-send-email-hutao@cn.fujitsu.com
State New
Headers show

Commit Message

Hu Tao Sept. 15, 2014, 1:53 a.m. UTC
commit a93a3af9 introduces use of PIXMAN_TYPE_RGBA, but it's only available
in pixman >= 0.21.8. If pixman doesn't meet the version requirement, qemu
will fail to build with following message:

/home/hutao/qemu/ui/qemu-pixman.c: In function ‘qemu_pixelformat_from_pixman’:
/home/hutao/qemu/ui/qemu-pixman.c:42: error: ‘PIXMAN_TYPE_RGBA’ undeclared (first use in this function)
/home/hutao/qemu/ui/qemu-pixman.c:42: error: (Each undeclared identifier is reported only once
/home/hutao/qemu/ui/qemu-pixman.c:42: error: for each function it appears in.)

This patch fixes the problem by checking the pixman version.

Reported-by: Andreas Gustafsson <gson@gson.org>
Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>
---
 configure | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Comments

Peter Maydell Sept. 15, 2014, 2:23 a.m. UTC | #1
On 14 September 2014 18:53, Hu Tao <hutao@cn.fujitsu.com> wrote:
> commit a93a3af9 introduces use of PIXMAN_TYPE_RGBA, but it's only available
> in pixman >= 0.21.8. If pixman doesn't meet the version requirement, qemu
> will fail to build with following message:
>
> /home/hutao/qemu/ui/qemu-pixman.c: In function ‘qemu_pixelformat_from_pixman’:
> /home/hutao/qemu/ui/qemu-pixman.c:42: error: ‘PIXMAN_TYPE_RGBA’ undeclared (first use in this function)
> /home/hutao/qemu/ui/qemu-pixman.c:42: error: (Each undeclared identifier is reported only once
> /home/hutao/qemu/ui/qemu-pixman.c:42: error: for each function it appears in.)
>
> This patch fixes the problem by checking the pixman version.

This alone is not sufficient, because the version of pixman
we have in our submodule is only 0.18.4. We also need to
bump that if we want to use newer versions (and to note
the increased dependency in our release notes next time
round).

thanks
-- PMM
Hu Tao Sept. 15, 2014, 2:41 a.m. UTC | #2
On Sun, Sep 14, 2014 at 07:23:20PM -0700, Peter Maydell wrote:
> On 14 September 2014 18:53, Hu Tao <hutao@cn.fujitsu.com> wrote:
> > commit a93a3af9 introduces use of PIXMAN_TYPE_RGBA, but it's only available
> > in pixman >= 0.21.8. If pixman doesn't meet the version requirement, qemu
> > will fail to build with following message:
> >
> > /home/hutao/qemu/ui/qemu-pixman.c: In function ‘qemu_pixelformat_from_pixman’:
> > /home/hutao/qemu/ui/qemu-pixman.c:42: error: ‘PIXMAN_TYPE_RGBA’ undeclared (first use in this function)
> > /home/hutao/qemu/ui/qemu-pixman.c:42: error: (Each undeclared identifier is reported only once
> > /home/hutao/qemu/ui/qemu-pixman.c:42: error: for each function it appears in.)
> >
> > This patch fixes the problem by checking the pixman version.
> 
> This alone is not sufficient, because the version of pixman
> we have in our submodule is only 0.18.4. We also need to
> bump that if we want to use newer versions (and to note
> the increased dependency in our release notes next time
> round).

Oh. I didn't noticed that. Should we just bump to the latest stable
pixman? or choose a best version?

Regards,
Hu
Hu Tao Sept. 15, 2014, 3:19 a.m. UTC | #3
CCed Paolo

On Mon, Sep 15, 2014 at 10:41:09AM +0800, Hu Tao wrote:
> On Sun, Sep 14, 2014 at 07:23:20PM -0700, Peter Maydell wrote:
> > On 14 September 2014 18:53, Hu Tao <hutao@cn.fujitsu.com> wrote:
> > > commit a93a3af9 introduces use of PIXMAN_TYPE_RGBA, but it's only available
> > > in pixman >= 0.21.8. If pixman doesn't meet the version requirement, qemu
> > > will fail to build with following message:
> > >
> > > /home/hutao/qemu/ui/qemu-pixman.c: In function ‘qemu_pixelformat_from_pixman’:
> > > /home/hutao/qemu/ui/qemu-pixman.c:42: error: ‘PIXMAN_TYPE_RGBA’ undeclared (first use in this function)
> > > /home/hutao/qemu/ui/qemu-pixman.c:42: error: (Each undeclared identifier is reported only once
> > > /home/hutao/qemu/ui/qemu-pixman.c:42: error: for each function it appears in.)
> > >
> > > This patch fixes the problem by checking the pixman version.
> > 
> > This alone is not sufficient, because the version of pixman
> > we have in our submodule is only 0.18.4. We also need to
> > bump that if we want to use newer versions (and to note
> > the increased dependency in our release notes next time
> > round).
> 
> Oh. I didn't noticed that. Should we just bump to the latest stable
> pixman? or choose a best version?

commit f27b2e1d bumped to pixman-0.28.2, but reverted later by 7b1b5d19 (mistakenly?)

Regards,
Hu
Paolo Bonzini Sept. 15, 2014, 12:22 p.m. UTC | #4
Il 15/09/2014 05:19, Hu Tao ha scritto:
> commit f27b2e1d bumped to pixman-0.28.2, but reverted later by 7b1b5d19 (mistakenly?)

Yes, it was likely a mistake.

Paolo
diff mbox

Patch

diff --git a/configure b/configure
index 961bf6f..1a9daa5 100755
--- a/configure
+++ b/configure
@@ -2737,7 +2737,7 @@  fi
 if test "$pixman" = ""; then
   if test "$want_tools" = "no" -a "$softmmu" = "no"; then
     pixman="none"
-  elif $pkg_config pixman-1 > /dev/null 2>&1; then
+  elif $pkg_config --atleast-version=0.21.8 pixman-1 > /dev/null 2>&1; then
     pixman="system"
   else
     pixman="internal"
@@ -2753,11 +2753,12 @@  if test "$pixman" = "none"; then
   pixman_cflags=
   pixman_libs=
 elif test "$pixman" = "system"; then
+  # pixman version has been checked above
   pixman_cflags=`$pkg_config --cflags pixman-1`
   pixman_libs=`$pkg_config --libs pixman-1`
 else
   if test ! -d ${source_path}/pixman/pixman; then
-    error_exit "pixman not present. Your options:" \
+    error_exit "pixman >= 0.21.8 not present. Your options:" \
         "  (1) Preferred: Install the pixman devel package (any recent" \
         "      distro should have packages as Xorg needs pixman too)." \
         "  (2) Fetch the pixman submodule, using:" \