. "$GRIMOIRE/FUNCTIONS" &&

local QEMU_ARCH_FILE="$SPELL_DIRECTORY/archs"
persistent_add QEMU_ARCHS &&

# deliberately uses query, see locale CONFIGURE note
if query "Handpick architectures to emulate (y/n)?" n; then
  BACKTITLE="Qemu Archs Configuration"           &&
      TITLE="Arch Selection"                     &&
       HELP="Select Arch you want to build qemu" &&

  QEMU_ARCHS=`dialog --backtitle  "$BACKTITLE"  \
                     --title      "$TITLE"      \
                     --stdout                   \
                     --checklist  "$HELP"       \
                     0 0 0                      \
                     $(<"$QEMU_ARCH_FILE")`
fi &&

if [[ -z $QEMU_ARCHS ]]; then
  QEMU_ARCHS=$(awk -vORS=' ' '{print $1}' "$QEMU_ARCH_FILE")
else
  # sanitize QEMU_ARCHS
  QEMU_ARCHS=$(awk -F'[ "]+' -vORS=' ' -vtmp="$QEMU_ARCHS" '
	BEGIN {
		$0 = tmp
		for (i = 1; i <= NF; i++) selected[$i]
		FS = " "
	}
	$1 in selected {print $1; delete selected[$1]; next}
	END {for (i in selected) printf "WARN: %s architecture removed\n", $1 >"/dev/stderr"}
  ' "$QEMU_ARCH_FILE")
fi

. $GRIMOIRE/config_query_multi.function                              &&

config_query_multi QEMU_AUDIO "Select sound system(s) to support"    \
     oss alsa sdl jack pa pipewire                                   &&

persistent_remove  QEMU_CARDS                                        &&

config_query_option QEMU_OPTS "Enable KVM acceleration support" y     \
                              "" "--disable-kvm"  &&

config_query_option QEMU_OPTS "Enable Trusted Platform Module (TPM)?" n  \
                              '--enable-tpm'  ''                      &&

list_remove QEMU_OPTS "--disable-vnc-png" &&
config_query_option QEMU_OPTS "Enable VNC support?" y \
		    '--enable-vnc' \
		    '--disable-vnc --disable-vnc-sasl --disable-vnc-jpeg' &&

persistent_remove QEMU_VNC_TLS &&

config_query_option QEMU_OPTS \
                    'Build documentation? (requires: perl, python, texinfo)' y \
                    '--enable-docs' \
                    '--disable-docs'

