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(-)

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