Oh I didn't know that there was a i386_user_ss in order to see that it was
intended that they were shared that way, so I initially thought that
i386_ss was user only until I saw it in the build.

On Thu, Jul 15, 2021 at 11:35 AM Peter Maydell <peter.mayd...@linaro.org>
wrote:

> On Thu, 15 Jul 2021 at 17:25, Kenneth Adam Miller
> <kennethadammil...@gmail.com> wrote:
> >
> > Well certainly, I know they are different executables. I'm just trying
> to understand how the different targets work.
> >
> > By subsumes, I mean that just looking at the meson.build for i386, you
> can see that there are files added to the i386_ss, but not visibly added to
> the softmmu target. But the softmmu target has those files built whenever
> you configure and build it.
>
> In the meson.build files, i386_ss is files built for both softmmu and user;
> i386_user_ss is files built for usermode only; i386_softmmu_ss is files
> built for softmmu only. target/i386/meson.build sets target_arch,
> target_softmmu_arch and target_user_arch to these sourcesets.
> The top level meson.build adds the relevant target_* sourcesets to the
> set of sources required to build the various executables.
>
> Some source files also use #ifdefs: you can look for ifdefs on
> CONFIG_USER_ONLY and CONFIG_SOFTMMU to find code that's conditionally
> compiled in different ways for the two executables.
>
> -- PMM
>

Reply via email to