qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] Fix out-of-tree and cross compile builds for pi


From: Stefan Weil
Subject: Re: [Qemu-devel] [PATCH] Fix out-of-tree and cross compile builds for pixman
Date: Sun, 04 Nov 2012 13:10:49 +0100
User-agent: Mozilla/5.0 (X11; Linux i686; rv:16.0) Gecko/20121011 Thunderbird/16.0.1

Am 03.11.2012 21:15, schrieb Blue Swirl:
On Sat, Nov 3, 2012 at 7:02 PM, Peter Maydell <address@hidden> wrote:
On 3 November 2012 19:47, Blue Swirl <address@hidden> wrote:
--- a/Makefile
+++ b/Makefile
@@ -122,7 +122,7 @@ subdir-pixman: pixman/Makefile
         $(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C pixman V="$(V)" 
all,)

  pixman/Makefile: $(SRC_PATH)/pixman/configure
-       (cd pixman; $(SRC_PATH)/pixman/configure --disable-shared 
--enable-static)
+       (cd pixman; CC=$(CC) LD=$(LD) AR=$(AR) NM=$(NM) RANLIB=$(RANLIB) 
$(SRC_PATH)/pixman/configure --disable-shared --enable-static)
Not tested, but aren't there quoting issues here if you're
building with --cc='ccache gcc' ?
Yes. Also configure fails because the variables are not expanded and
directory pixman/pixman does not exist. Funny how it worked earlier.

I struggle with the same issue, and there are more problems caused
by the internal pixman code.

The dependencies are wrong because pixman is built too late:
$(TOOLS) also depends on it. It is not trivial to model them correctly.
IMHO it would be better to build the internal pixman immediately when
QEMU's configure is called. Then QEMU's make can always rely on an
existing pixman.

The internal pixman code is also too old for cross compilations with
MinGW-w64. It already fails when running configure.

Newer versions of pixman compile after a trivial modification which
is needed to avoid redefined symbols:

diff --git a/pixman/pixman-mmx.c b/pixman/pixman-mmx.c
index 1a014fd..723c245 100644
--- a/pixman/pixman-mmx.c
+++ b/pixman/pixman-mmx.c
@@ -61,7 +61,7 @@ _mm_empty (void)
 #endif

 #ifdef USE_X86_MMX
-# if (defined(__SUNPRO_C) || defined(_MSC_VER))
+# if (defined(__SUNPRO_C) || defined(_MSC_VER) || defined(__WIN64))
 #  include <xmmintrin.h>
 # else
 /* We have to compile with -msse to use xmmintrin.h, but that causes SSE

More changes are needed to avoid typical MinGW-w64 compiler warnings
(pointer to int conversions without uintptr_t).

Up to now, I did not test the resulting code, so maybe there will be more
surprises.

Regards
Stefan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]