# These are "proxy" symbols used to pass config-host.mak values
# down to Kconfig.  See also kconfig_external_symbols in
# meson.build: these two need to be kept in sync.

config LINUX
    bool

config OPENGL
    bool

config X11
    bool

config SPICE
    bool

config IVSHMEM
    bool

config TPM
    bool

config VHOST_USER
    bool

config VHOST_VDPA
    bool

config VHOST_KERNEL
    bool

config VIRTFS
    bool

config PVRDMA
    bool

config MULTIPROCESS_ALLOWED
    bool
    imply MULTIPROCESS

config FUZZ
    bool
    select SPARSE_MEM

config VFIO_USER_SERVER_ALLOWED
    bool
    imply VFIO_USER_SERVER

config HV_BALLOON_POSSIBLE
    bool
