diff mbox series

meson: Only generate trace files for selected targets

Message ID 20210224120923.3154325-1-philmd@redhat.com
State New
Headers show
Series meson: Only generate trace files for selected targets | expand

Commit Message

Philippe Mathieu-Daudé Feb. 24, 2021, 12:09 p.m. UTC
We don't need to generate trace files for targets we
are not building. Restrict the the ones selected.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 meson.build | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

Comments

Paolo Bonzini Feb. 24, 2021, 12:26 p.m. UTC | #1
On 24/02/21 13:09, Philippe Mathieu-Daudé wrote:
> We don't need to generate trace files for targets we
> are not building. Restrict the the ones selected.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>   meson.build | 10 +---------
>   1 file changed, 1 insertion(+), 9 deletions(-)
> 
> diff --git a/meson.build b/meson.build
> index 05a67c20d93..c9b0433667d 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -1826,15 +1826,6 @@
>     trace_events_subdirs += [
>       'accel/tcg',
>       'hw/core',
> -    'target/arm',
> -    'target/hppa',
> -    'target/i386',
> -    'target/i386/kvm',
> -    'target/mips',
> -    'target/ppc',
> -    'target/riscv',
> -    'target/s390x',
> -    'target/sparc',
>     ]
>   endif
>   
> @@ -2166,6 +2157,7 @@
>     t = target_arch[arch].apply(config_target, strict: false)
>     arch_srcs += t.sources()
>     arch_deps += t.dependencies()
> +  trace_events_subdirs += ['target' / arch]
>   
>     target_common = common_ss.apply(config_target, strict: false)
>     objects = common_all.extract_objects(target_common.sources())
> 

Is this still okay if there is no trace-events file for a given arch?

Paolo
Philippe Mathieu-Daudé Feb. 24, 2021, 12:51 p.m. UTC | #2
On 2/24/21 1:26 PM, Paolo Bonzini wrote:
> On 24/02/21 13:09, Philippe Mathieu-Daudé wrote:
>> We don't need to generate trace files for targets we
>> are not building. Restrict the the ones selected.
>>
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>> ---
>>   meson.build | 10 +---------
>>   1 file changed, 1 insertion(+), 9 deletions(-)
>>
>> diff --git a/meson.build b/meson.build
>> index 05a67c20d93..c9b0433667d 100644
>> --- a/meson.build
>> +++ b/meson.build
>> @@ -1826,15 +1826,6 @@
>>     trace_events_subdirs += [
>>       'accel/tcg',
>>       'hw/core',
>> -    'target/arm',
>> -    'target/hppa',
>> -    'target/i386',
>> -    'target/i386/kvm',
>> -    'target/mips',
>> -    'target/ppc',
>> -    'target/riscv',
>> -    'target/s390x',
>> -    'target/sparc',
>>     ]
>>   endif
>>   @@ -2166,6 +2157,7 @@
>>     t = target_arch[arch].apply(config_target, strict: false)
>>     arch_srcs += t.sources()
>>     arch_deps += t.dependencies()
>> +  trace_events_subdirs += ['target' / arch]
>>       target_common = common_ss.apply(config_target, strict: false)
>>     objects = common_all.extract_objects(target_common.sources())
>>
> 
> Is this still okay if there is no trace-events file for a given arch?

No problem in my usual build configs, but I kicked a CI build to check
the all of them and be sure.
Peter Maydell Feb. 24, 2021, 1:11 p.m. UTC | #3
On Wed, 24 Feb 2021 at 12:11, Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
>
> We don't need to generate trace files for targets we
> are not building. Restrict the the ones selected.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>  meson.build | 10 +---------
>  1 file changed, 1 insertion(+), 9 deletions(-)
>
> diff --git a/meson.build b/meson.build
> index 05a67c20d93..c9b0433667d 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -1826,15 +1826,6 @@
>    trace_events_subdirs += [
>      'accel/tcg',
>      'hw/core',
> -    'target/arm',
> -    'target/hppa',
> -    'target/i386',
> -    'target/i386/kvm',
> -    'target/mips',
> -    'target/ppc',
> -    'target/riscv',
> -    'target/s390x',
> -    'target/sparc',
>    ]
>  endif
>
> @@ -2166,6 +2157,7 @@
>    t = target_arch[arch].apply(config_target, strict: false)
>    arch_srcs += t.sources()
>    arch_deps += t.dependencies()
> +  trace_events_subdirs += ['target' / arch]

This will catch all the 'target/foo' entries deleted above,
but what about 'target/i386/kvm' ?

thanks
-- PMM
Philippe Mathieu-Daudé Feb. 24, 2021, 1:30 p.m. UTC | #4
On 2/24/21 2:11 PM, Peter Maydell wrote:
> On Wed, 24 Feb 2021 at 12:11, Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
>>
>> We don't need to generate trace files for targets we
>> are not building. Restrict the the ones selected.
>>
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>> ---
>>  meson.build | 10 +---------
>>  1 file changed, 1 insertion(+), 9 deletions(-)
>>
>> diff --git a/meson.build b/meson.build
>> index 05a67c20d93..c9b0433667d 100644
>> --- a/meson.build
>> +++ b/meson.build
>> @@ -1826,15 +1826,6 @@
>>    trace_events_subdirs += [
>>      'accel/tcg',
>>      'hw/core',
>> -    'target/arm',
>> -    'target/hppa',
>> -    'target/i386',
>> -    'target/i386/kvm',
>> -    'target/mips',
>> -    'target/ppc',
>> -    'target/riscv',
>> -    'target/s390x',
>> -    'target/sparc',
>>    ]
>>  endif
>>
>> @@ -2166,6 +2157,7 @@
>>    t = target_arch[arch].apply(config_target, strict: false)
>>    arch_srcs += t.sources()
>>    arch_deps += t.dependencies()
>> +  trace_events_subdirs += ['target' / arch]
> 
> This will catch all the 'target/foo' entries deleted above,
> but what about 'target/i386/kvm' ?

Yes, this doesn't work as expected... I just figured it was
working in my build directories because the trace header
previously generated are still present. I should have tested
in an empty directory before posting.

Regards,

Phil.
Philippe Mathieu-Daudé Feb. 24, 2021, 6:02 p.m. UTC | #5
On 2/24/21 1:51 PM, Philippe Mathieu-Daudé wrote:
> On 2/24/21 1:26 PM, Paolo Bonzini wrote:
>> On 24/02/21 13:09, Philippe Mathieu-Daudé wrote:
>>> We don't need to generate trace files for targets we
>>> are not building. Restrict the the ones selected.
>>>
>>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>>> ---
>>>   meson.build | 10 +---------
>>>   1 file changed, 1 insertion(+), 9 deletions(-)
>>>
>>> diff --git a/meson.build b/meson.build
>>> index 05a67c20d93..c9b0433667d 100644
>>> --- a/meson.build
>>> +++ b/meson.build
>>> @@ -1826,15 +1826,6 @@
>>>     trace_events_subdirs += [
>>>       'accel/tcg',
>>>       'hw/core',
>>> -    'target/arm',
>>> -    'target/hppa',
>>> -    'target/i386',
>>> -    'target/i386/kvm',
>>> -    'target/mips',
>>> -    'target/ppc',
>>> -    'target/riscv',
>>> -    'target/s390x',
>>> -    'target/sparc',
>>>     ]
>>>   endif
>>>   @@ -2166,6 +2157,7 @@
>>>     t = target_arch[arch].apply(config_target, strict: false)
>>>     arch_srcs += t.sources()
>>>     arch_deps += t.dependencies()
>>> +  trace_events_subdirs += ['target' / arch]
>>>       target_common = common_ss.apply(config_target, strict: false)
>>>     objects = common_all.extract_objects(target_common.sources())
>>>
>>
>> Is this still okay if there is no trace-events file for a given arch?

No, it is *not* Okay :>

> 
> No problem in my usual build configs, but I kicked a CI build to check
> the all of them and be sure.
diff mbox series

Patch

diff --git a/meson.build b/meson.build
index 05a67c20d93..c9b0433667d 100644
--- a/meson.build
+++ b/meson.build
@@ -1826,15 +1826,6 @@ 
   trace_events_subdirs += [
     'accel/tcg',
     'hw/core',
-    'target/arm',
-    'target/hppa',
-    'target/i386',
-    'target/i386/kvm',
-    'target/mips',
-    'target/ppc',
-    'target/riscv',
-    'target/s390x',
-    'target/sparc',
   ]
 endif
 
@@ -2166,6 +2157,7 @@ 
   t = target_arch[arch].apply(config_target, strict: false)
   arch_srcs += t.sources()
   arch_deps += t.dependencies()
+  trace_events_subdirs += ['target' / arch]
 
   target_common = common_ss.apply(config_target, strict: false)
   objects = common_all.extract_objects(target_common.sources())