| ################################################################################ |
| # |
| # kvm-unit-tests |
| # |
| ################################################################################ |
| |
| KVM_UNIT_TESTS_VERSION = kvm-unit-tests-20171020 |
| KVM_UNIT_TESTS_SITE = $(BR2_KERNEL_MIRROR)/scm/virt/kvm/kvm-unit-tests.git |
| KVM_UNIT_TESTS_SITE_METHOD = git |
| KVM_UNIT_TESTS_LICENSE = LGPL-2.0 |
| 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) |
| KVM_UNIT_TESTS_ARCH = x86_64 |
| endif |
| |
| ifeq ($(BR2_ENDIAN),"LITTLE") |
| KVM_UNIT_TESTS_ENDIAN = little |
| else |
| KVM_UNIT_TESTS_ENDIAN = big |
| endif |
| |
| KVM_UNIT_TESTS_CONF_OPTS =\ |
| --arch="$(KVM_UNIT_TESTS_ARCH)" \ |
| --processor="$(GCC_TARGET_CPU)" \ |
| --endian="$(KVM_UNIT_TESTS_ENDIAN)" |
| |
| # 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. |
| ifeq ($(BR2_x86_64),y) |
| # 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 |
| else |
| KVM_UNIT_TESTS_CONF_OPTS += --cross-prefix="$(TARGET_CROSS)" |
| endif |
| |
| define KVM_UNIT_TESTS_CONFIGURE_CMDS |
| cd $(@D) && ./configure $(KVM_UNIT_TESTS_CONF_OPTS) |
| endef |
| |
| define KVM_UNIT_TESTS_BUILD_CMDS |
| $(TARGET_MAKE_ENV) $(MAKE) $(KVM_UNIT_TESTS_MAKE_OPTS) -C $(@D) \ |
| standalone |
| endef |
| |
| define KVM_UNIT_TESTS_INSTALL_TARGET_CMDS |
| $(TARGET_MAKE_ENV) $(MAKE) $(KVM_UNIT_TESTS_MAKE_OPTS) -C $(@D) \ |
| DESTDIR=$(TARGET_DIR)/usr/share/kvm-unit-tests/ \ |
| install |
| endef |
| |
| # Does use configure script but not an autotools one |
| $(eval $(generic-package)) |