diff mbox series

meson: Don't make object files for dtrace on macOS

Message ID 20200823090546.47957-1-r.bolshakov@yadro.com (mailing list archive)
State New, archived
Headers show
Series meson: Don't make object files for dtrace on macOS | expand

Commit Message

Roman Bolshakov Aug. 23, 2020, 9:05 a.m. UTC
dtrace on macOS uses unresolved symbols with a special prefix to define
probes [1], only headers should be generated for USDT (dtrace(1)). But
it doesn't support backwards compatible no-op -G flag [2] and implicit
build rules fail.

1. https://markmail.org/message/6grq2ygr5nwdwsnb
2. https://markmail.org/message/5xrxt2w5m42nojkz

Cc: Daniel P. Berrangé <berrange@redhat.com>
Cc: Cameron Esfahani <dirty@apple.com>
Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
---
 trace/meson.build | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

This is an update of the previous patch that is no longer valid due to
conversion of the build system to meson:
https://lists.gnu.org/archive/html/qemu-devel/2020-08/msg02493.html

Comments

Daniel P. Berrangé Aug. 24, 2020, 2:24 p.m. UTC | #1
On Sun, Aug 23, 2020 at 12:05:47PM +0300, Roman Bolshakov wrote:
> dtrace on macOS uses unresolved symbols with a special prefix to define
> probes [1], only headers should be generated for USDT (dtrace(1)). But
> it doesn't support backwards compatible no-op -G flag [2] and implicit
> build rules fail.
> 
> 1. https://markmail.org/message/6grq2ygr5nwdwsnb
> 2. https://markmail.org/message/5xrxt2w5m42nojkz
> 
> Cc: Daniel P. Berrangé <berrange@redhat.com>
> Cc: Cameron Esfahani <dirty@apple.com>
> Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
> ---
>  trace/meson.build | 13 ++++++++-----
>  1 file changed, 8 insertions(+), 5 deletions(-)

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>

Regards,
Daniel
Roman Bolshakov Aug. 25, 2020, 9:04 a.m. UTC | #2
On Mon, Aug 24, 2020 at 03:24:31PM +0100, Daniel P. Berrangé wrote:
> On Sun, Aug 23, 2020 at 12:05:47PM +0300, Roman Bolshakov wrote:
> > dtrace on macOS uses unresolved symbols with a special prefix to define
> > probes [1], only headers should be generated for USDT (dtrace(1)). But
> > it doesn't support backwards compatible no-op -G flag [2] and implicit
> > build rules fail.
> > 
> > 1. https://markmail.org/message/6grq2ygr5nwdwsnb
> > 2. https://markmail.org/message/5xrxt2w5m42nojkz
> > 
> > Cc: Daniel P. Berrangé <berrange@redhat.com>
> > Cc: Cameron Esfahani <dirty@apple.com>
> > Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
> > ---
> >  trace/meson.build | 13 ++++++++-----
> >  1 file changed, 8 insertions(+), 5 deletions(-)
> 
> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
> 

Paolo, should it go through your meson-fixes tree?

Regards,
Roman
Paolo Bonzini Aug. 25, 2020, 9:20 a.m. UTC | #3
Yes, I have already queued it.

Paolo

Il mar 25 ago 2020, 11:04 Roman Bolshakov <r.bolshakov@yadro.com> ha
scritto:

> On Mon, Aug 24, 2020 at 03:24:31PM +0100, Daniel P. Berrangé wrote:
> > On Sun, Aug 23, 2020 at 12:05:47PM +0300, Roman Bolshakov wrote:
> > > dtrace on macOS uses unresolved symbols with a special prefix to define
> > > probes [1], only headers should be generated for USDT (dtrace(1)). But
> > > it doesn't support backwards compatible no-op -G flag [2] and implicit
> > > build rules fail.
> > >
> > > 1. https://markmail.org/message/6grq2ygr5nwdwsnb
> > > 2. https://markmail.org/message/5xrxt2w5m42nojkz
> > >
> > > Cc: Daniel P. Berrangé <berrange@redhat.com>
> > > Cc: Cameron Esfahani <dirty@apple.com>
> > > Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
> > > ---
> > >  trace/meson.build | 13 ++++++++-----
> > >  1 file changed, 8 insertions(+), 5 deletions(-)
> >
> > Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
> >
>
> Paolo, should it go through your meson-fixes tree?
>
> Regards,
> Roman
>
>
diff mbox series

Patch

diff --git a/trace/meson.build b/trace/meson.build
index 56e870848e..1c1fb31a61 100644
--- a/trace/meson.build
+++ b/trace/meson.build
@@ -39,12 +39,15 @@  foreach dir : [ '.' ] + trace_events_subdirs
                                    output: fmt.format('trace-dtrace', 'h'),
                                    input: trace_dtrace,
                                    command: [ 'dtrace', '-o', '@OUTPUT@', '-h', '-s', '@INPUT@' ])
-    trace_dtrace_o = custom_target(fmt.format('trace-dtrace', 'o'),
-                                   output: fmt.format('trace-dtrace', 'o'),
-                                   input: trace_dtrace,
-                                   command: [ 'dtrace', '-o', '@OUTPUT@', '-G', '-s', '@INPUT@' ])
+    trace_ss.add(trace_dtrace_h)
+    if host_machine.system() != 'darwin'
+      trace_dtrace_o = custom_target(fmt.format('trace-dtrace', 'o'),
+                                     output: fmt.format('trace-dtrace', 'o'),
+                                     input: trace_dtrace,
+                                     command: [ 'dtrace', '-o', '@OUTPUT@', '-G', '-s', '@INPUT@' ])
+      trace_ss.add(trace_dtrace_o)
+    endif
 
-    trace_ss.add(trace_dtrace_h, trace_dtrace_o)
     genh += trace_dtrace_h
   endif
 endforeach