kumquat-buildroot/package/qemu/Config.in
Romain Naour fc1d28891f package/qemu: disable Qemu user-land emulation for musl toolchains
Like for cyclictest (rt-test)[1], linux-user/syscall.c use the
definition of the "struct sigevent" from Glibc/uClibc which doesn't
build with musl libc.

So, disable Qemu user-land emulation for musl toolchains.

Fixes:
http://autobuild.buildroot.net/results/b27/b277e668d9e22b624416bf46f6ccba802acd257e

[1] 43bffa59e7

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-06 23:02:13 +01:00

115 lines
3.4 KiB
Plaintext

config BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET
bool
# Only tested on these architectures
default y if BR2_aarch64 || BR2_i386 || BR2_mips || BR2_mipsel \
|| BR2_x86_64 || BR2_arm
comment "QEMU requires a toolchain with wchar, threads"
depends on BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET
depends on BR2_USE_MMU
depends on !(BR2_TOOLCHAIN_HAS_THREADS && BR2_USE_WCHAR)
config BR2_PACKAGE_QEMU
bool "QEMU"
depends on BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_USE_WCHAR # gettext
depends on BR2_USE_MMU # fork()
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"
depends on !BR2_STATIC_LIBS # dtc
select BR2_PACKAGE_QEMU_FDT
help
Say 'y' to build all system emulators/virtualisers that QEMU supports.
comment "systems emulation needs a toolchain w/ dynamic library"
depends on BR2_STATIC_LIBS
config BR2_PACKAGE_QEMU_LINUX_USER
bool "Enable all Linux user-land emulation"
# Incompatible "struct sigevent" definition on musl
depends on !BR2_TOOLCHAIN_USES_MUSL
help
Say 'y' to build all Linux user-land emulators that QEMU supports.
# Note: bsd-user can not be build on Linux
comment "Linux user-land emulation needs a glibc or uClibc toolchain"
depends on BR2_TOOLCHAIN_USES_MUSL
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.
comment "Misc. features"
config BR2_PACKAGE_QEMU_FDT
bool "Enable FDT"
depends on !BR2_STATIC_LIBS # dtc
select BR2_PACKAGE_DTC
help
Say 'y' here to have QEMU capable of constructing Device Trees,
and passing them to the VMs.
comment "FDT support needs a toolchain w/ dynamic library"
depends on BR2_STATIC_LIBS
endif # BR2_PACKAGE_QEMU_HAS_EMULS
endif # BR2_PACKAGE_QEMU