On 08/11/2018 18:14, Eduardo Habkost wrote: > Keeping in mind that I might be talking about extra challenges we > won't address right now (no cart before the horse), I have new > questions: > > Why you say backends are not a target configuration and > accelerators are? What's the definition of "target > configuration"?
Something that affects the way > Are we explicitly restricting the scope of this work to > enabling/disabling device emulation code right now? Why? Why > wouldn't we use kconfig to enable/disable simple backends with no > host dependency like SLIRP? I think it would be more confusing if some backends were to use kconfig and some wouldn't. We could certainly add something like config VHOST_NET depends on HOST_LINUX default y config SPICE depends on HAVE_SPICE_SERVER default Y etc. but I think we agree it's more of a long term idea. > Don't we want to make backends configurable per binary, too? > e.g.: I would expect the default configuration for a NEMU-like > binary to disable many backends. Sure, we could do that. However, right now you cannot have multiple binaries for a single target, so you couldn't have one single build include both a "full-blown" and a "reduced" x86 target. Therefore, including e.g. SLIRP in qemu-system-arm but not in qemu-system-x86_64 does not seem too interesting to me. It would be different if you could build qemu-system-arm, qemu-system-x86_64, qemu-system-x86_64-lite, etc. Paolo > >> It would surely be possible for configure to call into minikconf to >> parse a configuration file and apply dependencies (do we actually have >> dependencies across configure options?) or something like that, but >> let's not put the cart before the horse... > > Agreed. >