2016-08-18 01:02:36 +02:00
|
|
|
################################################################################
|
|
|
|
#
|
|
|
|
# kvm-unit-tests
|
|
|
|
#
|
|
|
|
################################################################################
|
|
|
|
|
2017-12-03 14:41:18 +01:00
|
|
|
KVM_UNIT_TESTS_VERSION = kvm-unit-tests-20171020
|
2016-08-18 01:02:36 +02:00
|
|
|
KVM_UNIT_TESTS_SITE = $(BR2_KERNEL_MIRROR)/scm/virt/kvm/kvm-unit-tests.git
|
|
|
|
KVM_UNIT_TESTS_SITE_METHOD = git
|
2017-03-30 15:43:37 +02:00
|
|
|
KVM_UNIT_TESTS_LICENSE = LGPL-2.0
|
2016-08-18 01:02:36 +02:00
|
|
|
KVM_UNIT_TESTS_LICENSE_FILES = COPYRIGHT
|
|
|
|
|
|
|
|
ifeq ($(BR2_arm),y)
|
|
|
|
KVM_UNIT_TESTS_ARCH = arm
|
|
|
|
else ifeq ($(BR2_i386),y)
|
|
|
|
KVM_UNIT_TESTS_ARCH = i386
|
|
|
|
else ifeq ($(BR2_powerpc64)$(BR2_powerpc64le),y)
|
|
|
|
KVM_UNIT_TESTS_ARCH = ppc64
|
|
|
|
else ifeq ($(BR2_x86_64),y)
|
2016-11-06 13:39:26 +01:00
|
|
|
KVM_UNIT_TESTS_ARCH = x86_64
|
2016-08-18 01:02:36 +02:00
|
|
|
endif
|
|
|
|
|
|
|
|
ifeq ($(BR2_ENDIAN),"LITTLE")
|
|
|
|
KVM_UNIT_TESTS_ENDIAN = little
|
|
|
|
else
|
|
|
|
KVM_UNIT_TESTS_ENDIAN = big
|
|
|
|
endif
|
|
|
|
|
|
|
|
KVM_UNIT_TESTS_CONF_OPTS =\
|
2016-11-06 13:39:26 +01:00
|
|
|
--arch="$(KVM_UNIT_TESTS_ARCH)" \
|
2018-09-12 12:22:53 +02:00
|
|
|
--processor="$(GCC_TARGET_CPU)" \
|
2016-08-18 01:02:36 +02:00
|
|
|
--endian="$(KVM_UNIT_TESTS_ENDIAN)"
|
|
|
|
|
2016-10-26 05:19:15 +02:00
|
|
|
# For all architectures but x86-64, we use the target
|
|
|
|
# compiler. However, for x86-64, we use the host compiler, as
|
|
|
|
# kvm-unit-tests builds 32 bit code, which Buildroot toolchains for
|
|
|
|
# x86-64 cannot do.
|
|
|
|
ifneq ($(BR2_x86_64),y)
|
|
|
|
KVM_UNIT_TESTS_CONF_OPTS += --cross-prefix="$(TARGET_CROSS)"
|
2019-05-26 00:22:09 +02:00
|
|
|
# Arch Linux adds -fstack-protector even when building with -ffreestanding, but
|
|
|
|
# it doesn't link with the stack-protector library when -nostdlib is passed,
|
|
|
|
# which leads to a link error. Therefore, disable it explicitly to work around
|
|
|
|
# this bug in Arch Linux. https://bugs.archlinux.org/task/64270
|
|
|
|
KVM_UNIT_TESTS_MAKE_OPTS += EXTRA_CFLAGS=-fno-stack-protector
|
2016-10-26 05:19:15 +02:00
|
|
|
endif
|
|
|
|
|
2016-08-18 01:02:36 +02:00
|
|
|
define KVM_UNIT_TESTS_CONFIGURE_CMDS
|
|
|
|
cd $(@D) && ./configure $(KVM_UNIT_TESTS_CONF_OPTS)
|
|
|
|
endef
|
|
|
|
|
|
|
|
define KVM_UNIT_TESTS_BUILD_CMDS
|
2019-05-26 00:22:09 +02:00
|
|
|
$(TARGET_MAKE_ENV) $(MAKE) $(KVM_UNIT_TESTS_MAKE_OPTS) -C $(@D) \
|
|
|
|
standalone
|
2016-08-18 01:02:36 +02:00
|
|
|
endef
|
|
|
|
|
|
|
|
define KVM_UNIT_TESTS_INSTALL_TARGET_CMDS
|
2019-05-26 00:22:09 +02:00
|
|
|
$(TARGET_MAKE_ENV) $(MAKE) $(KVM_UNIT_TESTS_MAKE_OPTS) -C $(@D) \
|
2016-08-18 01:02:36 +02:00
|
|
|
DESTDIR=$(TARGET_DIR)/usr/share/kvm-unit-tests/ \
|
|
|
|
install
|
|
|
|
endef
|
|
|
|
|
|
|
|
# Does use configure script but not an autotools one
|
|
|
|
$(eval $(generic-package))
|