> > So "var2 = var1" creates a copy not a reference I guess?
> >
> > Which implies that ...
> >
> > foo_ss.add(something)
> >
> > ... is different from ...
> >
> > bar_ss = foo_ss
> > bar_ss.add(something)
> >
> > ... which in turn explains why the patch doesn't work at all.
> >
> > Now I'm wondering how I can make trace/meson.build add the trace
> > objects to the module source sets if I can't pass around references
> > to the module source sets?
> >
> > Paolo? Any hints how to tackle this the meson way?
>
> Maybe managing it all in the main meson.build, like the
> e28ab096bf8..da33fc09873 cleanup?
> ("Move the creation of the library to the main meson.build")
I don't see how that'll help.
The fundamental idea is hw/*/meson.build stores the source set in the
new trace_events_config, then trace/meson.build can pick it up there
when it loops over the trace_events_config array, adding the generated
trace source files to the correct source set.
Whenever that loop is in trace/meson.build or the toplevel meson.build
doesn't make much of a difference I think.
I think the problem is meson stores a copy not a reference so the
trace_events_config loop doesn't update the original source set. When
meson loops over the module source sets it doesn't see the updates
because those changes where done on a throw-away copy.
I don't see an easy way out :(
take care,
Gerd