comment "QEMU requires a toolchain with IPv6, wchar, threads"
	depends on BR2_i386 || BR2_x86_64
	depends on BR2_USE_MMU
	depends on !(BR2_TOOLCHAIN_HAS_THREADS && BR2_USE_WCHAR && BR2_INET_IPV6)

config BR2_PACKAGE_QEMU
	bool "QEMU"
	depends on BR2_i386 || BR2_x86_64
	depends on BR2_TOOLCHAIN_HAS_THREADS
	depends on BR2_USE_WCHAR # gettext
	depends on BR2_USE_MMU # fork()
	depends on BR2_INET_IPV6 # for linux-user
	select BR2_PACKAGE_LIBGLIB2
	select BR2_PACKAGE_PIXMAN
	select BR2_PACKAGE_ZLIB
	help
	  QEMU is a generic and open source machine emulator and virtualizer.

	  When used as a machine emulator, QEMU can run OSes and programs made
	  for one machine (e.g. an ARM board) on a different machine (e.g.
	  your own PC). By using dynamic translation, it achieves very good
	  performance.

	  When used as a virtualizer, QEMU achieves near native performances
	  by executing the guest code directly on the host CPU. QEMU supports
	  virtualization when executing under the Xen hypervisor or using the
	  KVM kernel module in Linux. When using KVM, QEMU can virtualize x86,
	  server and embedded PowerPC, and S390 guests.

	  http://qemu.org/

if BR2_PACKAGE_QEMU

comment "Emulators selection"

config BR2_PACKAGE_QEMU_CUSTOM_TARGETS
	string "Enable specific targets"
	help
	  Enter here the list of QEMU targets you want to build. For example:

	    System emulation      | User-land emulation
	    ----------------------+-----------------------
	    i386-softmmu          | i386-linux-user
	    arm-softmmu           | ppc-linux-user
	    x86_64-softmmu        | sparc-bsd-user
	    ...                   | ...

config QEMU_FOO
	bool # To break the indentation

if BR2_PACKAGE_QEMU_CUSTOM_TARGETS = ""

comment "... or you can select emulator families to enable, below:"

config BR2_PACKAGE_QEMU_SYSTEM
	bool "Enable all systems emulation"
	help
	  Say 'y' to build all system emulators/virtualisers that QEMU supports.

config BR2_PACKAGE_QEMU_LINUX_USER
	bool "Enable all Linux user-land emulation"
	help
	  Say 'y' to build all Linux user-land emulators that QEMU supports.

# Note: bsd-user can not be build on Linux

endif # BR2_PACKAGE_QEMU_CUSTOM_TARGETS == ""

config BR2_PACKAGE_QEMU_HAS_EMULS
	def_bool y
	depends on BR2_PACKAGE_QEMU_SYSTEM || BR2_PACKAGE_QEMU_LINUX_USER || BR2_PACKAGE_QEMU_CUSTOM_TARGETS != ""

if BR2_PACKAGE_QEMU_HAS_EMULS

comment "Frontends"

config BR2_PACKAGE_QEMU_SDL
	bool "Enable SDL frontend"
	select BR2_PACKAGE_SDL
	help
	  Say 'y' to enable the SDL frontend, that is, a graphical window
	  presenting the VM's display.

endif # BR2_PACKAGE_QEMU_HAS_EMULS

endif # BR2_PACKAGE_QEMU
