Hi

On Fri, Sep 15, 2023 at 9:10 PM Stefan Hajnoczi <[email protected]> wrote:
>
> On Fri, 15 Sept 2023 at 09:50, Peter Maydell <[email protected]> wrote:
> >
> > On Fri, 15 Sept 2023 at 10:54, Daniel P. Berrangé <[email protected]> 
> > wrote:
> > > My summary, is that I'd personally be in favour of opening the door
> > > to Rust code as a mandatory pre-requisite for QEMU, at the very least
> > > for system emulators. Not because this particular series is compelling,
> > > but because I think Rust could be more beneficial to QEMU over the long
> > > term than we expect. In terms of consuming it though, if we're going
> > > to replace existing QEMU functionality, then I think we need to bundle
> > > the Rust code and natively integrate it into the build system, as we
> > > have recently started doing with our python deps, to detach ourselves
> > > from the limits of what distros ship.
> >
> > I'm not against this, but there is a fair amount of work here
> > in figuring out how exactly to integrate Rust components
> > into the build system, questions like what our minimum required
> > rust version would be, liasing with downstream distros to
> > check that what we're proposing isn't a nightmare for them
> > to package, etc.
>
> Those details are similar to what librsvg2, libblkio, and other
> libraries (like the sev crate in this patch series) have had to solve.
>
> libblkio uses meson as the build system and has C tests that cover the
> C API. Cargo is still used to build the Rust code. It is possible to
> integrate the two and I think QEMU could take that approach. It's a
> little ugly to glue together the two build systems, but it has been
> shown to work.

That's also what I did ~2y ago, when I added QAPI rust generator:
https://patchew.org/QEMU/[email protected]/

But meson has learned to support rust better during that time, and
there is some upcoming cargo support in 1.3
(https://github.com/mesonbuild/meson/pull/11856).

(I don't know the details)

-- 
Marc-André Lureau

Reply via email to