* [Qemu-devel] [PATCH] Fix out-of-tree and cross compile builds for pixman
@ 2012-11-03 18:47 Blue Swirl
2012-11-03 19:02 ` Peter Maydell
0 siblings, 1 reply; 10+ messages in thread
From: Blue Swirl @ 2012-11-03 18:47 UTC (permalink / raw)
To: qemu-devel; +Cc: blauwirbel
Pass the selected set of compile tools (cc, ld, nm, ar, ranlib)
to pixman configure.
Fix out-of-tree compiler paths so that pixman-version.h in build
directory can be found.
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
---
Makefile | 2 +-
configure | 8 ++++++--
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/Makefile b/Makefile
index ca14a21..15a3080 100644
--- 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)
$(SRC_PATH)/pixman/configure:
(cd $(SRC_PATH)/pixman; autoreconf -v --install)
diff --git a/configure b/configure
index b6948f7..42c958d 100755
--- a/configure
+++ b/configure
@@ -252,9 +252,11 @@ done
cc="${CC-${cross_prefix}gcc}"
ar="${AR-${cross_prefix}ar}"
+nm="${NM-${cross_prefix}nm}"
objcopy="${OBJCOPY-${cross_prefix}objcopy}"
ld="${LD-${cross_prefix}ld}"
libtool="${LIBTOOL-${cross_prefix}libtool}"
+ranlib="${RANLIB-${cross_prefix}ranlib}"
strip="${STRIP-${cross_prefix}strip}"
windres="${WINDRES-${cross_prefix}windres}"
pkg_config_exe="${PKG_CONFIG-${cross_prefix}pkg-config}"
@@ -2121,8 +2123,8 @@ else
echo " git submodule update --init pixman"
exit 1
fi
- pixman_cflags="-I${source_path}/pixman/pixman"
- pixman_libs="-Lpixman/pixman/.libs -lpixman-1"
+ pixman_cflags="-I\$(SRC_PATH)/pixman/pixman -I\$(BUILD_DIR)/pixman/pixman"
+ pixman_libs="-L\$(BUILD_DIR)/pixman/pixman/.libs -lpixman-1"
fi
QEMU_CFLAGS="$QEMU_CFLAGS $pixman_cflags"
libs_softmmu="$libs_softmmu $pixman_libs"
@@ -3634,8 +3636,10 @@ echo "CC_I386=$cc_i386" >> $config_host_mak
echo "HOST_CC=$host_cc" >> $config_host_mak
echo "OBJCC=$objcc" >> $config_host_mak
echo "AR=$ar" >> $config_host_mak
+echo "NM=$nm" >> $config_host_mak
echo "OBJCOPY=$objcopy" >> $config_host_mak
echo "LD=$ld" >> $config_host_mak
+echo "RANLIB=$ranlib" >> $config_host_mak
echo "WINDRES=$windres" >> $config_host_mak
echo "LIBTOOL=$libtool" >> $config_host_mak
echo "CFLAGS=$CFLAGS" >> $config_host_mak
--
1.7.2.5
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH] Fix out-of-tree and cross compile builds for pixman
2012-11-03 18:47 [Qemu-devel] [PATCH] Fix out-of-tree and cross compile builds for pixman Blue Swirl
@ 2012-11-03 19:02 ` Peter Maydell
2012-11-03 20:15 ` Blue Swirl
0 siblings, 1 reply; 10+ messages in thread
From: Peter Maydell @ 2012-11-03 19:02 UTC (permalink / raw)
To: Blue Swirl; +Cc: qemu-devel
On 3 November 2012 19:47, Blue Swirl <blauwirbel@gmail.com> 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' ?
-- PMM
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH] Fix out-of-tree and cross compile builds for pixman
2012-11-03 19:02 ` Peter Maydell
@ 2012-11-03 20:15 ` Blue Swirl
2012-11-04 12:10 ` Stefan Weil
2012-11-07 11:43 ` Gerd Hoffmann
0 siblings, 2 replies; 10+ messages in thread
From: Blue Swirl @ 2012-11-03 20:15 UTC (permalink / raw)
To: Peter Maydell; +Cc: qemu-devel
On Sat, Nov 3, 2012 at 7:02 PM, Peter Maydell <peter.maydell@linaro.org> wrote:
> On 3 November 2012 19:47, Blue Swirl <blauwirbel@gmail.com> 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.
>
> -- PMM
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH] Fix out-of-tree and cross compile builds for pixman
2012-11-03 20:15 ` Blue Swirl
@ 2012-11-04 12:10 ` Stefan Weil
2012-11-07 2:33 ` Johnson, Eric
2012-11-07 11:47 ` Gerd Hoffmann
2012-11-07 11:43 ` Gerd Hoffmann
1 sibling, 2 replies; 10+ messages in thread
From: Stefan Weil @ 2012-11-04 12:10 UTC (permalink / raw)
To: Blue Swirl; +Cc: Peter Maydell, qemu-devel
Am 03.11.2012 21:15, schrieb Blue Swirl:
> On Sat, Nov 3, 2012 at 7:02 PM, Peter Maydell <peter.maydell@linaro.org> wrote:
>> On 3 November 2012 19:47, Blue Swirl <blauwirbel@gmail.com> 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
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH] Fix out-of-tree and cross compile builds for pixman
2012-11-04 12:10 ` Stefan Weil
@ 2012-11-07 2:33 ` Johnson, Eric
2012-11-07 11:47 ` Gerd Hoffmann
1 sibling, 0 replies; 10+ messages in thread
From: Johnson, Eric @ 2012-11-07 2:33 UTC (permalink / raw)
To: Stefan Weil, Blue Swirl; +Cc: Peter Maydell, qemu-devel@nongnu.org
> -----Original Message-----
> From: qemu-devel-bounces+ericj=mips.com@nongnu.org [mailto:qemu-devel-
> bounces+ericj=mips.com@nongnu.org] On Behalf Of Stefan Weil
> Sent: Sunday, November 04, 2012 4:11 AM
> To: Blue Swirl
> Cc: Peter Maydell; qemu-devel@nongnu.org
> Subject: Re: [Qemu-devel] [PATCH] Fix out-of-tree and cross compile builds
> for pixman
>
> Am 03.11.2012 21:15, schrieb Blue Swirl:
> > On Sat, Nov 3, 2012 at 7:02 PM, Peter Maydell <peter.maydell@linaro.org>
> wrote:
> >> On 3 November 2012 19:47, Blue Swirl <blauwirbel@gmail.com> 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
>
I was able to get a parallel out-of-tree build to work with the following changes. I'm not sure if it violates any rules about make features or configure processing.
Unless order only dependencies are not allowed the following should fix the build order for pixman and the tools.
diff --git a/Makefile b/Makefile
index ca14a21..42dcf92 100644
--- a/Makefile
+++ b/Makefile
@@ -118,6 +118,8 @@ endif
subdir-libcacard: $(oslib-obj-y) $(trace-obj-y) qemu-timer-common.o
+$(TOOLS): | subdir-pixman
+
subdir-pixman: pixman/Makefile
$(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C pixman V="$(V)" all,)
The following change does the internal pixman configuration during the QEMU configuration.
The upside is that the environment variables get passed to the sub-configure. Probably still need the Makefile fixes for CC="$(CC)", etc. just in case the pixman configuration dependencies are updated.
The down side is that \$(BUILD_DIR) and \$(SRC_PATH) cannot be used. Instead I used `pwd` and ${source_path}. Maybe with some more work the pixman configuration would work using the make variables.
diff --git a/configure b/configure
index 7290f50..97c7d15 100755
--- a/configure
+++ b/configure
@@ -2121,8 +2121,19 @@ else
echo " git submodule update --init pixman"
exit 1
fi
- pixman_cflags="-I${source_path}/pixman/pixman"
- pixman_libs="-Lpixman/pixman/.libs -lpixman-1"
+
+ if [ "$source_path" != `pwd` ]; then
+ pixman_cflags="-I$source_path/pixman/pixman -I`pwd`/pixman/pixman"
+ pixman_libs="-L`pwd`/pixman/pixman/.libs -lpixman-1"
+ mkdir -p pixman
+ else
+ pixman_cflags="-I$source_path/pixman/pixman"
+ pixman_libs="-Lpixman/pixman/.libs -lpixman-1"
+ fi
+ if test ! -f ${source_path}/pixman/configure; then
+ (cd ${source_path}/pixman; autoreconf -v --install)
+ fi
+ (cd pixman; ${source_path}/pixman/configure --disable-shared --enable-static)
fi
QEMU_CFLAGS="$QEMU_CFLAGS $pixman_cflags"
libs_softmmu="$libs_softmmu $pixman_libs"
There are some dependencies issues that cause unneeded rebuilds and links but I think those exist despite these changes.
For example libcacard/cutils.d is being included for the top-level make but has relative dependencies ../config-host.h and ../qapi-types.h. Those dependencies work when the PWD is $(BUILD_DIR)/libcacard but not at the top level $(BUILD_DIR).
The objects that are being unnecessarily rebuild are:
CC osdep.o
CC cutils.o
CC qemu-timer-common.o
CC oslib-posix.o
This then results in unneeded relinking.
-Eric
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH] Fix out-of-tree and cross compile builds for pixman
2012-11-04 12:10 ` Stefan Weil
2012-11-07 2:33 ` Johnson, Eric
@ 2012-11-07 11:47 ` Gerd Hoffmann
2012-11-17 9:56 ` Stefan Weil
1 sibling, 1 reply; 10+ messages in thread
From: Gerd Hoffmann @ 2012-11-07 11:47 UTC (permalink / raw)
To: Stefan Weil; +Cc: Blue Swirl, Peter Maydell, qemu-devel
Hi,
> 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:
I'd prefer to not have local patches. Can you submit the patch to
upstream pixman? Then we can just switch to a fixed checkout to get w64
going.
thanks,
Gerd
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH] Fix out-of-tree and cross compile builds for pixman
2012-11-07 11:47 ` Gerd Hoffmann
@ 2012-11-17 9:56 ` Stefan Weil
0 siblings, 0 replies; 10+ messages in thread
From: Stefan Weil @ 2012-11-17 9:56 UTC (permalink / raw)
To: Gerd Hoffmann; +Cc: Blue Swirl, Peter Maydell, qemu-devel
Am 07.11.2012 12:47, schrieb Gerd Hoffmann:
> Hi,
>
>> 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:
>
> I'd prefer to not have local patches. Can you submit the patch to
> upstream pixman? Then we can just switch to a fixed checkout to get w64
> going.
>
> thanks,
> Gerd
I sent three patches which are now in the official pixman git repository,
so we can switch to the next labelled version as soon as it is available
(maybe pixman-0.28.1).
Regards,
Stefan
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH] Fix out-of-tree and cross compile builds for pixman
2012-11-03 20:15 ` Blue Swirl
2012-11-04 12:10 ` Stefan Weil
@ 2012-11-07 11:43 ` Gerd Hoffmann
2012-11-07 20:06 ` Johnson, Eric
1 sibling, 1 reply; 10+ messages in thread
From: Gerd Hoffmann @ 2012-11-07 11:43 UTC (permalink / raw)
To: Blue Swirl; +Cc: Peter Maydell, qemu-devel
On 11/03/12 21:15, Blue Swirl wrote:
> On Sat, Nov 3, 2012 at 7:02 PM, Peter Maydell <peter.maydell@linaro.org> wrote:
>> On 3 November 2012 19:47, Blue Swirl <blauwirbel@gmail.com> 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.
Turned out part of the issue is that having pixman-devel installed
masked some of the build issues of the internal pixman even when
building --without-pixman-system, so my build testing was incomplete.
Pushed test branch:
git://git.kraxel.org/qemu rebase/pixman
Dependency issue isn't tackled yet, but non-parallel builds are working
fine for me. Feedback is welcome.
cheers,
Gerd
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH] Fix out-of-tree and cross compile builds for pixman
2012-11-07 11:43 ` Gerd Hoffmann
@ 2012-11-07 20:06 ` Johnson, Eric
2012-11-07 20:57 ` Johnson, Eric
0 siblings, 1 reply; 10+ messages in thread
From: Johnson, Eric @ 2012-11-07 20:06 UTC (permalink / raw)
To: Gerd Hoffmann, Blue Swirl; +Cc: Peter Maydell, qemu-devel@nongnu.org
This may not be the prettiest fix for the pixman dependency but it seems to work.
diff --git a/configure b/configure
index f0bc726..fcb744e 100755
--- a/configure
+++ b/configure
@@ -4154,6 +4154,10 @@ echo "QEMU_CFLAGS+=$cflags" >> $config_target_mak
echo "QEMU_INCLUDES+=$includes" >> $config_target_mak
done # for target in $targets
+
+if [ "$pixman" = "internal" ]; then
+ echo "config-host.h: pixman/Makefile" >> $config_host_mak
+fi
# build tree in object directory in case the source is not in the current directory
DIRS="tests tests/tcg tests/tcg/cris tests/tcg/lm32"
> -----Original Message-----
> From: qemu-devel-bounces+ericj=mips.com@nongnu.org [mailto:qemu-devel-
> bounces+ericj=mips.com@nongnu.org] On Behalf Of Gerd Hoffmann
> Sent: Wednesday, November 07, 2012 3:43 AM
> To: Blue Swirl
> Cc: Peter Maydell; qemu-devel@nongnu.org
> Subject: Re: [Qemu-devel] [PATCH] Fix out-of-tree and cross compile builds
> for pixman
>
> On 11/03/12 21:15, Blue Swirl wrote:
> > On Sat, Nov 3, 2012 at 7:02 PM, Peter Maydell <peter.maydell@linaro.org>
> wrote:
> >> On 3 November 2012 19:47, Blue Swirl <blauwirbel@gmail.com> 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.
>
> Turned out part of the issue is that having pixman-devel installed
> masked some of the build issues of the internal pixman even when
> building --without-pixman-system, so my build testing was incomplete.
>
> Pushed test branch:
> git://git.kraxel.org/qemu rebase/pixman
>
> Dependency issue isn't tackled yet, but non-parallel builds are working
> fine for me. Feedback is welcome.
>
> cheers,
> Gerd
>
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH] Fix out-of-tree and cross compile builds for pixman
2012-11-07 20:06 ` Johnson, Eric
@ 2012-11-07 20:57 ` Johnson, Eric
0 siblings, 0 replies; 10+ messages in thread
From: Johnson, Eric @ 2012-11-07 20:57 UTC (permalink / raw)
To: Gerd Hoffmann, Blue Swirl; +Cc: Peter Maydell, qemu-devel@nongnu.org
Sorry, I didn’t let the make finish but I think there will be linking errors with the previous because libpixman-1.a may not be built.
The following changes to Gerd's rebase/pixman branch will completely build (except s390x).
On RHEL 5.7 (no pixman on system):
$ ../kraxel.org/configure --without-system-pixman
$ make -k -j8
diff --git a/configure b/configure
index f0bc726..d946937 100755
--- a/configure
+++ b/configure
@@ -3955,9 +3955,6 @@ if test "$target_softmmu" = "yes" ; then
if test "$smartcard_nss" = "yes" ; then
echo "subdir-$target: subdir-libcacard" >> $config_host_mak
fi
- if test "$pixman" = "internal" ; then
- echo "subdir-$target: subdir-pixman" >> $config_host_mak
- fi
case "$target_arch2" in
i386|x86_64)
echo "CONFIG_HAVE_CORE_DUMP=y" >> $config_target_mak
@@ -4154,6 +4151,10 @@ echo "QEMU_CFLAGS+=$cflags" >> $config_target_mak
echo "QEMU_INCLUDES+=$includes" >> $config_target_mak
done # for target in $targets
+
+if [ "$pixman" = "internal" ]; then
+ echo "config-host.h: subdir-pixman" >> $config_host_mak
+fi
# build tree in object directory in case the source is not in the current directory
DIRS="tests tests/tcg tests/tcg/cris tests/tcg/lm32"
cc1: warnings being treated as errors
/home/ericj/work/qemu/kraxel.org/hw/s390x/event-facility.c: In function 'command_handler':
/home/ericj/work/qemu/kraxel.org/hw/s390x/event-facility.c:110: warning: 'rc' may be used uninitialized in this function
make[1]: *** [hw/s390x/event-facility.o] Error 1
> -----Original Message-----
> From: qemu-devel-bounces+ericj=mips.com@nongnu.org [mailto:qemu-devel-
> bounces+ericj=mips.com@nongnu.org] On Behalf Of Johnson, Eric
> Sent: Wednesday, November 07, 2012 12:07 PM
> To: Gerd Hoffmann; Blue Swirl
> Cc: Peter Maydell; qemu-devel@nongnu.org
> Subject: Re: [Qemu-devel] [PATCH] Fix out-of-tree and cross compile builds
> for pixman
>
> This may not be the prettiest fix for the pixman dependency but it seems
> to work.
>
> diff --git a/configure b/configure
> index f0bc726..fcb744e 100755
> --- a/configure
> +++ b/configure
> @@ -4154,6 +4154,10 @@ echo "QEMU_CFLAGS+=$cflags" >> $config_target_mak
> echo "QEMU_INCLUDES+=$includes" >> $config_target_mak
>
> done # for target in $targets
> +
> +if [ "$pixman" = "internal" ]; then
> + echo "config-host.h: pixman/Makefile" >> $config_host_mak
> +fi
>
> # build tree in object directory in case the source is not in the current
> directory
> DIRS="tests tests/tcg tests/tcg/cris tests/tcg/lm32"
>
> > -----Original Message-----
> > From: qemu-devel-bounces+ericj=mips.com@nongnu.org [mailto:qemu-devel-
> > bounces+ericj=mips.com@nongnu.org] On Behalf Of Gerd Hoffmann
> > Sent: Wednesday, November 07, 2012 3:43 AM
> > To: Blue Swirl
> > Cc: Peter Maydell; qemu-devel@nongnu.org
> > Subject: Re: [Qemu-devel] [PATCH] Fix out-of-tree and cross compile
> builds
> > for pixman
> >
> > On 11/03/12 21:15, Blue Swirl wrote:
> > > On Sat, Nov 3, 2012 at 7:02 PM, Peter Maydell
> <peter.maydell@linaro.org>
> > wrote:
> > >> On 3 November 2012 19:47, Blue Swirl <blauwirbel@gmail.com> 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.
> >
> > Turned out part of the issue is that having pixman-devel installed
> > masked some of the build issues of the internal pixman even when
> > building --without-pixman-system, so my build testing was incomplete.
> >
> > Pushed test branch:
> > git://git.kraxel.org/qemu rebase/pixman
> >
> > Dependency issue isn't tackled yet, but non-parallel builds are working
> > fine for me. Feedback is welcome.
> >
> > cheers,
> > Gerd
> >
^ permalink raw reply related [flat|nested] 10+ messages in thread
end of thread, other threads:[~2012-11-17 9:56 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-03 18:47 [Qemu-devel] [PATCH] Fix out-of-tree and cross compile builds for pixman Blue Swirl
2012-11-03 19:02 ` Peter Maydell
2012-11-03 20:15 ` Blue Swirl
2012-11-04 12:10 ` Stefan Weil
2012-11-07 2:33 ` Johnson, Eric
2012-11-07 11:47 ` Gerd Hoffmann
2012-11-17 9:56 ` Stefan Weil
2012-11-07 11:43 ` Gerd Hoffmann
2012-11-07 20:06 ` Johnson, Eric
2012-11-07 20:57 ` Johnson, Eric
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).