diff mbox

[2/4] .travis.yml: reduce target list on core configure tweaks

Message ID 1460735821-12775-3-git-send-email-alex.bennee@linaro.org
State New
Headers show

Commit Message

Alex Bennée April 15, 2016, 3:56 p.m. UTC
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(-)

-- 
2.7.4

Comments

Peter Maydell April 15, 2016, 4:07 p.m. UTC | #1
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
Alex Bennée April 18, 2016, 9:15 a.m. UTC | #2
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
Peter Maydell April 18, 2016, 9:17 a.m. UTC | #3
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
Alex Bennée April 18, 2016, 9:50 a.m. UTC | #4
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
diff mbox

Patch

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=""