* linux-user vs system build options and libraries
@ 2023-09-11 7:36 Michael Tokarev
2023-09-11 10:10 ` Alex Bennée
0 siblings, 1 reply; 2+ messages in thread
From: Michael Tokarev @ 2023-09-11 7:36 UTC (permalink / raw)
To: QEMU Developers; +Cc: Paolo Bonzini
Hi!
I noticed that linux-user binaries, when built separately (with
--enable-linux-user --disable-system) or when built as part of
system build (--enable-linux-user --enable-system) differ in size
and link with significantly more libraries which they shouldn't
link with. libnuma, liburing, libgnutls, - that's what gets linked,
just to name a few. zlib is also there which most likely shouldn't
be.
Looking at the link lines I see a whole lot of various stuff being
linked, thankfully with --as-needed so most of it gets dropped by
the linker - these are stuff like pixman and many other things.
I already mentioned this before, - to me, whole meson.build options
thing is done a bit backwards: we use have_foo to mean NEED_foo, so
in quite a few places these meanings are wrongly intermixed. Like,
if I try a linux-user build with --enable-spice, it will tried to
be used even if it makes no sense whatsoever. We could check spice
and enable have_spice this way (or spice_libs=/spice_defs= etc),
but only use it in those build targets which actually need it.
Also, which might be a separate issue, --enable-plugins seems to
be in effect for linux-user too, which result in libgmodule being
linked with.
Also, there's no way to build/install just the linux-user parts
without, say, installing keymap files, docs are always built,
and so on..
It looks like we've quite barbarian build system still, even after
conversion to meson :)
/mjt
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: linux-user vs system build options and libraries
2023-09-11 7:36 linux-user vs system build options and libraries Michael Tokarev
@ 2023-09-11 10:10 ` Alex Bennée
0 siblings, 0 replies; 2+ messages in thread
From: Alex Bennée @ 2023-09-11 10:10 UTC (permalink / raw)
To: Michael Tokarev; +Cc: Paolo Bonzini, qemu-devel
Michael Tokarev <mjt@tls.msk.ru> writes:
> Hi!
>
> I noticed that linux-user binaries, when built separately (with
> --enable-linux-user --disable-system) or when built as part of
> system build (--enable-linux-user --enable-system) differ in size
> and link with significantly more libraries which they shouldn't
> link with. libnuma, liburing, libgnutls, - that's what gets linked,
> just to name a few. zlib is also there which most likely shouldn't
> be.
<snip>
>
> Also, which might be a separate issue, --enable-plugins seems to
> be in effect for linux-user too, which result in libgmodule being
> linked with.
TCG plugins should work for both system and non-static *-user builds.
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-09-11 10:12 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-11 7:36 linux-user vs system build options and libraries Michael Tokarev
2023-09-11 10:10 ` Alex Bennée
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).