* [Qemu-devel] [PATCH 0/4] Current Travis queue
@ 2016-04-15 15:56 Alex Bennée
2016-04-15 15:56 ` [Qemu-devel] [PATCH 1/4] ./configure: accept stems to match a range of targets Alex Bennée
` (3 more replies)
0 siblings, 4 replies; 9+ messages in thread
From: Alex Bennée @ 2016-04-15 15:56 UTC (permalink / raw)
To: qemu-devel; +Cc: Alex Bennée
Hi,
The only addition is Stefan's libnfs-dev patch which will increase our
coverage. However I would like to get some consensus about the
configure hack for build stems. It doesn't provide globbing but IMHO
stem support is good enough for the common build cases (and preferable
to massive --target-list definitions). Obviously it makes things for
travis neater but I hope it is useful to normal configure users as
well.
Alex Bennée (3):
./configure: accept stems to match a range of targets
.travis.yml: reduce target list on core configure tweaks
.travis.yml: add trusty GCE target
Stefan Hajnoczi (1):
.travis.yml: add libnfs-dev for NFS block driver
.travis.yml | 29 ++++++++++++++++++++---------
configure | 19 +++++++++++++++++--
2 files changed, 37 insertions(+), 11 deletions(-)
--
2.7.4
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Qemu-devel] [PATCH 1/4] ./configure: accept stems to match a range of targets
2016-04-15 15:56 [Qemu-devel] [PATCH 0/4] Current Travis queue Alex Bennée
@ 2016-04-15 15:56 ` Alex Bennée
2016-04-15 15:56 ` [Qemu-devel] [PATCH 2/4] .travis.yml: reduce target list on core configure tweaks Alex Bennée
` (2 subsequent siblings)
3 siblings, 0 replies; 9+ messages in thread
From: Alex Bennée @ 2016-04-15 15:56 UTC (permalink / raw)
To: qemu-devel; +Cc: Alex Bennée
This is useful if you want to build all targets of a given architecture
or type. A simple submatch to an real target will add it to the list.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
configure | 19 +++++++++++++++++--
1 file changed, 17 insertions(+), 2 deletions(-)
diff --git a/configure b/configure
index 5db29f0..1e04a4f 100755
--- a/configure
+++ b/configure
@@ -1247,7 +1247,8 @@ Standard options:
--target-list=LIST set target list (default: build everything)
$(echo Available targets: $default_target_list | \
fold -s -w 53 | sed -e 's/^/ /')
-
+ LIST can contain stems to match sets of targets
+ (e.g. softmmu will match all softmmu targets)
Advanced options (experts only):
--source-path=PATH path of source code [$source_path]
--cross-prefix=PREFIX use PREFIX for compile tools [$cross_prefix]
@@ -1640,15 +1641,29 @@ fi
# Check that we recognised the target name; this allows a more
# friendly error message than if we let it fall through.
+final_target_list=""
for target in $target_list; do
case " $default_target_list " in
*" $target "*)
+ final_target_list="$target $final_target_list"
;;
*)
- error_exit "Unknown target name '$target'"
+ # Maybe we can match to range of targets?
+ exp="no"
+ for match in $default_target_list; do
+ if test "${match#*$target}" != "$match" ; then
+ final_target_list="$match $final_target_list"
+ exp="yes"
+ fi
+ done
+ if test "$exp" = "no"; then
+ error_exit "Unknown target name '$target'"
+ fi
;;
esac
done
+target_list=$final_target_list
+
# see if system emulation was really requested
case " $target_list " in
--
2.7.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Qemu-devel] [PATCH 2/4] .travis.yml: reduce target list on core configure tweaks
2016-04-15 15:56 [Qemu-devel] [PATCH 0/4] Current Travis queue Alex Bennée
2016-04-15 15:56 ` [Qemu-devel] [PATCH 1/4] ./configure: accept stems to match a range of targets Alex Bennée
@ 2016-04-15 15:56 ` Alex Bennée
2016-04-15 16:07 ` Peter Maydell
2016-04-15 15:57 ` [Qemu-devel] [PATCH 3/4] .travis.yml: add libnfs-dev for NFS block driver Alex Bennée
2016-04-15 15:57 ` [Qemu-devel] [PATCH 4/4] .travis.yml: add trusty GCE target Alex Bennée
3 siblings, 1 reply; 9+ messages in thread
From: Alex Bennée @ 2016-04-15 15:56 UTC (permalink / raw)
To: qemu-devel; +Cc: Alex Bennée
A number of configure options only really affect the core code and any
arch specific stuff should be flushed out by other builds:
- trace-backends, log build is all targets, others can be less
- --disable-build, ensuring disabling stuff doesn't break host
- co-routine, default already built with all, common API
- tcg interpreter is front end agnostic
I've used the ./configure --target-list stem support to do all of one
arch type in each reduced build.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
.travis.yml | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index 50ac17f..d13bffc 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -45,10 +45,10 @@ env:
matrix:
- CONFIG=""
- CONFIG="--enable-debug --enable-debug-tcg --enable-trace-backends=log"
- - CONFIG="--disable-linux-aio --disable-cap-ng --disable-attr --disable-brlapi --disable-uuid --disable-libusb"
- - CONFIG="--enable-modules"
- - CONFIG="--with-coroutine=ucontext"
- - CONFIG="--with-coroutine=sigaltstack"
+ - CONFIG="--disable-linux-aio --disable-cap-ng --disable-attr --disable-brlapi --disable-uuid --disable-libusb --target-list=86"
+ - CONFIG="--enable-modules --target-list=86"
+ - CONFIG="--with-coroutine=ucontext --target-list=arm"
+ - CONFIG="--with-coroutine=sigaltstack --target-list=ppc"
git:
# we want to do this ourselves
submodules: false
@@ -70,19 +70,19 @@ matrix:
- env: CONFIG="--enable-gprof --enable-gcov --disable-pie"
compiler: gcc
# We manually include builds which we disable "make check" for
- - env: CONFIG="--enable-debug --enable-tcg-interpreter"
+ - env: CONFIG="--enable-debug --enable-tcg-interpreter --target-list=mips"
TEST_CMD=""
compiler: gcc
- - env: CONFIG="--enable-trace-backends=simple"
+ - env: CONFIG="--enable-trace-backends=simple --target-list=alpha"
TEST_CMD=""
compiler: gcc
- - env: CONFIG="--enable-trace-backends=ftrace"
+ - env: CONFIG="--enable-trace-backends=ftrace --target-list=s390"
TEST_CMD=""
compiler: gcc
- - env: CONFIG="--enable-trace-backends=ust"
+ - env: CONFIG="--enable-trace-backends=ust --target-list=sparc"
TEST_CMD=""
compiler: gcc
- - env: CONFIG="--with-coroutine=gthread"
+ - env: CONFIG="--with-coroutine=gthread --target-list=sh4"
TEST_CMD=""
compiler: gcc
- env: CONFIG=""
--
2.7.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Qemu-devel] [PATCH 3/4] .travis.yml: add libnfs-dev for NFS block driver
2016-04-15 15:56 [Qemu-devel] [PATCH 0/4] Current Travis queue Alex Bennée
2016-04-15 15:56 ` [Qemu-devel] [PATCH 1/4] ./configure: accept stems to match a range of targets Alex Bennée
2016-04-15 15:56 ` [Qemu-devel] [PATCH 2/4] .travis.yml: reduce target list on core configure tweaks Alex Bennée
@ 2016-04-15 15:57 ` Alex Bennée
2016-04-15 15:57 ` [Qemu-devel] [PATCH 4/4] .travis.yml: add trusty GCE target Alex Bennée
3 siblings, 0 replies; 9+ messages in thread
From: Alex Bennée @ 2016-04-15 15:57 UTC (permalink / raw)
To: qemu-devel; +Cc: Stefan Hajnoczi, Alex Bennée
From: Stefan Hajnoczi <stefanha@redhat.com>
Let's ensure that block/nfs.o is built in Travis.
This patch depends on the following build fixes:
1. block/nfs: add missing #include "qapi/error.h"
2. block/nfs: add missing #include "qemu/cutils.h"
This patch also depends on Travis adding libnfs-dev to the list of
approved packages. This patch can be safely committed but will not do
anything until the Travis maintainers allow libnfs-dev to be installed.
Please see the GitHub Issue I raised here:
https://github.com/travis-ci/apt-package-whitelist/issues/2788
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
.travis.yml | 1 +
1 file changed, 1 insertion(+)
diff --git a/.travis.yml b/.travis.yml
index d13bffc..262b5ef 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -17,6 +17,7 @@ addons:
- libgtk-3-dev
- libiscsi-dev
- liblttng-ust-dev
+ - libnfs-dev
- libncurses5-dev
- libnss3-dev
- libpixman-1-dev
--
2.7.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Qemu-devel] [PATCH 4/4] .travis.yml: add trusty GCE target
2016-04-15 15:56 [Qemu-devel] [PATCH 0/4] Current Travis queue Alex Bennée
` (2 preceding siblings ...)
2016-04-15 15:57 ` [Qemu-devel] [PATCH 3/4] .travis.yml: add libnfs-dev for NFS block driver Alex Bennée
@ 2016-04-15 15:57 ` Alex Bennée
3 siblings, 0 replies; 9+ messages in thread
From: Alex Bennée @ 2016-04-15 15:57 UTC (permalink / raw)
To: qemu-devel; +Cc: Alex Bennée
If we want to run our docker based tests we'll need to do them on a
normal VM with docker support. Lets just enable the build on trusty for
now to check against a newer Ubuntu.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
--
v2
- use custom before_install to apt-get build-dep qemu
- disable addon for trusty build
- add -qq to apt line
---
.travis.yml | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/.travis.yml b/.travis.yml
index 262b5ef..ed5a026 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -89,3 +89,13 @@ matrix:
- env: CONFIG=""
os: osx
compiler: clang
+ - env: CONFIG=""
+ sudo: required
+ addons:
+ dist: trusty
+ compiler: gcc
+ before_install:
+ - sudo apt-get update -qq
+ - sudo apt-get build-dep -qq qemu
+ - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ
+ - git submodule update --init --recursive
--
2.7.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [Qemu-devel] [PATCH 2/4] .travis.yml: reduce target list on core configure tweaks
2016-04-15 15:56 ` [Qemu-devel] [PATCH 2/4] .travis.yml: reduce target list on core configure tweaks Alex Bennée
@ 2016-04-15 16:07 ` Peter Maydell
2016-04-18 9:15 ` Alex Bennée
0 siblings, 1 reply; 9+ messages in thread
From: Peter Maydell @ 2016-04-15 16:07 UTC (permalink / raw)
To: Alex Bennée; +Cc: QEMU Developers
On 15 April 2016 at 16:56, Alex Bennée <alex.bennee@linaro.org> wrote:
> A number of configure options only really affect the core code and any
> arch specific stuff should be flushed out by other builds:
>
> - trace-backends, log build is all targets, others can be less
> - --disable-build, ensuring disabling stuff doesn't break host
> - co-routine, default already built with all, common API
> - tcg interpreter is front end agnostic
>
> I've used the ./configure --target-list stem support to do all of one
> arch type in each reduced build.
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
> .travis.yml | 18 +++++++++---------
> 1 file changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/.travis.yml b/.travis.yml
> index 50ac17f..d13bffc 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -45,10 +45,10 @@ env:
> matrix:
> - CONFIG=""
> - CONFIG="--enable-debug --enable-debug-tcg --enable-trace-backends=log"
> - - CONFIG="--disable-linux-aio --disable-cap-ng --disable-attr --disable-brlapi --disable-uuid --disable-libusb"
> - - CONFIG="--enable-modules"
> - - CONFIG="--with-coroutine=ucontext"
> - - CONFIG="--with-coroutine=sigaltstack"
> + - CONFIG="--disable-linux-aio --disable-cap-ng --disable-attr --disable-brlapi --disable-uuid --disable-libusb --target-list=86"
> + - CONFIG="--enable-modules --target-list=86"
I'm not really convinced by the wildcarding, and this seems like
a good demonstration of why it's overbroad. "86" ??
The wildcarding gives you a configure command that will
potentially change behaviour as we introduce new targets,
too; that makes me a bit nervous.
thanks
-- PMM
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Qemu-devel] [PATCH 2/4] .travis.yml: reduce target list on core configure tweaks
2016-04-15 16:07 ` Peter Maydell
@ 2016-04-18 9:15 ` Alex Bennée
2016-04-18 9:17 ` Peter Maydell
0 siblings, 1 reply; 9+ messages in thread
From: Alex Bennée @ 2016-04-18 9:15 UTC (permalink / raw)
To: Peter Maydell; +Cc: QEMU Developers
Peter Maydell <peter.maydell@linaro.org> writes:
> On 15 April 2016 at 16:56, Alex Bennée <alex.bennee@linaro.org> wrote:
>> A number of configure options only really affect the core code and any
>> arch specific stuff should be flushed out by other builds:
>>
>> - trace-backends, log build is all targets, others can be less
>> - --disable-build, ensuring disabling stuff doesn't break host
>> - co-routine, default already built with all, common API
>> - tcg interpreter is front end agnostic
>>
>> I've used the ./configure --target-list stem support to do all of one
>> arch type in each reduced build.
>>
>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>> ---
>> .travis.yml | 18 +++++++++---------
>> 1 file changed, 9 insertions(+), 9 deletions(-)
>>
>> diff --git a/.travis.yml b/.travis.yml
>> index 50ac17f..d13bffc 100644
>> --- a/.travis.yml
>> +++ b/.travis.yml
>> @@ -45,10 +45,10 @@ env:
>> matrix:
>> - CONFIG=""
>> - CONFIG="--enable-debug --enable-debug-tcg --enable-trace-backends=log"
>> - - CONFIG="--disable-linux-aio --disable-cap-ng --disable-attr --disable-brlapi --disable-uuid --disable-libusb"
>> - - CONFIG="--enable-modules"
>> - - CONFIG="--with-coroutine=ucontext"
>> - - CONFIG="--with-coroutine=sigaltstack"
>> + - CONFIG="--disable-linux-aio --disable-cap-ng --disable-attr --disable-brlapi --disable-uuid --disable-libusb --target-list=86"
>> + - CONFIG="--enable-modules --target-list=86"
>
> I'm not really convinced by the wildcarding, and this seems like
> a good demonstration of why it's overbroad. "86" ??
Blame the x86 naming scheme for that. It works nicely for building all
arm, mips and ppc stuff quite nicely.
> The wildcarding gives you a configure command that will
> potentially change behaviour as we introduce new targets,
> too; that makes me a bit nervous.
Well it doesn't stop you using the full names but I take your point.
What about a different selection flag for selecting by backends?
>
> thanks
> -- PMM
--
Alex Bennée
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Qemu-devel] [PATCH 2/4] .travis.yml: reduce target list on core configure tweaks
2016-04-18 9:15 ` Alex Bennée
@ 2016-04-18 9:17 ` Peter Maydell
2016-04-18 9:50 ` Alex Bennée
0 siblings, 1 reply; 9+ messages in thread
From: Peter Maydell @ 2016-04-18 9:17 UTC (permalink / raw)
To: Alex Bennée; +Cc: QEMU Developers
On 18 April 2016 at 10:15, Alex Bennée <alex.bennee@linaro.org> wrote:
> Peter Maydell <peter.maydell@linaro.org> writes:
>> The wildcarding gives you a configure command that will
>> potentially change behaviour as we introduce new targets,
>> too; that makes me a bit nervous.
>
> Well it doesn't stop you using the full names but I take your point.
> What about a different selection flag for selecting by backends?
Am I right in guessing that the reason you don't want to just
say --target-list=arm-softmmu,arm-linux-user is that that won't
work on non-Linux hosts?
thanks
-- PMM
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Qemu-devel] [PATCH 2/4] .travis.yml: reduce target list on core configure tweaks
2016-04-18 9:17 ` Peter Maydell
@ 2016-04-18 9:50 ` Alex Bennée
0 siblings, 0 replies; 9+ messages in thread
From: Alex Bennée @ 2016-04-18 9:50 UTC (permalink / raw)
To: Peter Maydell; +Cc: QEMU Developers
Peter Maydell <peter.maydell@linaro.org> writes:
> On 18 April 2016 at 10:15, Alex Bennée <alex.bennee@linaro.org> wrote:
>> Peter Maydell <peter.maydell@linaro.org> writes:
>>> The wildcarding gives you a configure command that will
>>> potentially change behaviour as we introduce new targets,
>>> too; that makes me a bit nervous.
>>
>> Well it doesn't stop you using the full names but I take your point.
>> What about a different selection flag for selecting by backends?
>
> Am I right in guessing that the reason you don't want to just
> say --target-list=arm-softmmu,arm-linux-user is that that won't
> work on non-Linux hosts?
Not really. The main use case is for ppc and mips targets which have
lots of variant builds for all the various sizes and endianess.
>
> thanks
> -- PMM
--
Alex Bennée
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2016-04-18 9:51 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-15 15:56 [Qemu-devel] [PATCH 0/4] Current Travis queue Alex Bennée
2016-04-15 15:56 ` [Qemu-devel] [PATCH 1/4] ./configure: accept stems to match a range of targets Alex Bennée
2016-04-15 15:56 ` [Qemu-devel] [PATCH 2/4] .travis.yml: reduce target list on core configure tweaks Alex Bennée
2016-04-15 16:07 ` Peter Maydell
2016-04-18 9:15 ` Alex Bennée
2016-04-18 9:17 ` Peter Maydell
2016-04-18 9:50 ` Alex Bennée
2016-04-15 15:57 ` [Qemu-devel] [PATCH 3/4] .travis.yml: add libnfs-dev for NFS block driver Alex Bennée
2016-04-15 15:57 ` [Qemu-devel] [PATCH 4/4] .travis.yml: add trusty GCE target Alex Bennée
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).