1################################################################################
2#
3# kvm-unit-tests
4#
5################################################################################
6
7KVM_UNIT_TESTS_VERSION = 2024-01-08
8KVM_UNIT_TESTS_SOURCE = kvm-unit-tests-v$(KVM_UNIT_TESTS_VERSION).tar.bz2
9KVM_UNIT_TESTS_SITE = https://gitlab.com/kvm-unit-tests/kvm-unit-tests/-/archive/v$(KVM_UNIT_TESTS_VERSION)
10KVM_UNIT_TESTS_LICENSE = GPL-2.0, LGPL-2.0
11KVM_UNIT_TESTS_LICENSE_FILES = COPYRIGHT LICENSE
12
13ifeq ($(BR2_aarch64)$(BR2_aarch64_be),y)
14KVM_UNIT_TESTS_ARCH = aarch64
15else ifeq ($(BR2_arm),y)
16KVM_UNIT_TESTS_ARCH = arm
17else ifeq ($(BR2_i386),y)
18KVM_UNIT_TESTS_ARCH = i386
19else ifeq ($(BR2_powerpc64)$(BR2_powerpc64le),y)
20KVM_UNIT_TESTS_ARCH = ppc64
21else ifeq ($(BR2_s390x),y)
22KVM_UNIT_TESTS_ARCH = s390x
23else ifeq ($(BR2_x86_64),y)
24KVM_UNIT_TESTS_ARCH = x86_64
25endif
26
27ifeq ($(BR2_ENDIAN),"LITTLE")
28KVM_UNIT_TESTS_ENDIAN = little
29else
30KVM_UNIT_TESTS_ENDIAN = big
31endif
32
33KVM_UNIT_TESTS_CONF_OPTS =\
34	--disable-werror \
35	--arch="$(KVM_UNIT_TESTS_ARCH)" \
36	--processor="$(GCC_TARGET_CPU)" \
37	--endian="$(KVM_UNIT_TESTS_ENDIAN)"
38
39# For all architectures but x86-64, we use the target
40# compiler. However, for x86-64, we use the host compiler, as
41# kvm-unit-tests builds 32 bit code, which Buildroot toolchains for
42# x86-64 cannot do.
43ifeq ($(BR2_x86_64),)
44KVM_UNIT_TESTS_CONF_OPTS += --cross-prefix="$(TARGET_CROSS)"
45endif
46
47define KVM_UNIT_TESTS_CONFIGURE_CMDS
48	cd $(@D) && ./configure $(KVM_UNIT_TESTS_CONF_OPTS)
49endef
50
51define KVM_UNIT_TESTS_BUILD_CMDS
52	$(TARGET_MAKE_ENV) $(MAKE) $(KVM_UNIT_TESTS_MAKE_OPTS) -C $(@D) \
53		standalone
54endef
55
56define KVM_UNIT_TESTS_INSTALL_TARGET_CMDS
57	$(TARGET_MAKE_ENV) $(MAKE) $(KVM_UNIT_TESTS_MAKE_OPTS) -C $(@D) \
58		DESTDIR=$(TARGET_DIR)/usr/share/kvm-unit-tests/ \
59		install
60endef
61
62# Does use configure script but not an autotools one
63$(eval $(generic-package))
64