kumquat-buildroot/package/kvmtool/kvmtool.mk
Romain Naour 1595020670 package/kvmtool: fix a musl build issue on ARM
We simply bump the version rather than backport the patch, as there has
been only very few, minor commits in-between.

The kvmtool build with musl still produce some warning but they are
fixed with the current master 0093df80 (kvmtool: Makefile: disable PIE
build for bios and pre_init). So the next version bump should fixes
them.

Fixes:
http://autobuild.buildroot.net/results/8e8/8e81354e82a8c0495e2ca465eb79cb8cf4c9b153

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-11 21:28:36 +01:00

54 lines
2.0 KiB
Makefile

################################################################################
#
# kvmtool
#
################################################################################
KVMTOOL_VERSION = bed2bd9e1fbef5819090feeada7b86eed97ca5e2
KVMTOOL_SITE = $(BR2_KERNEL_MIRROR)/scm/linux/kernel/git/will/kvmtool.git
KVMTOOL_SITE_METHOD = git
KVMTOOL_DEPENDENCIES = \
$(if $(BR2_PACKAGE_BINUTILS),binutils) \
$(if $(BR2_PACKAGE_DTC),dtc) \
$(if $(BR2_PACKAGE_LIBAIO),libaio) \
$(if $(BR2_PACKAGE_LIBGTK3),libgtk3) \
$(if $(BR2_PACKAGE_LIBVNCSERVER),libvncserver) \
$(if $(BR2_PACKAGE_SDL),sdl) \
$(if $(BR2_PACKAGE_ZLIB),zlib)
KVMTOOL_LICENSE = GPLv2
KVMTOOL_LICENSE_FILES = COPYING
# This is required to convert a static binary (init helper) back into
# object-file format, and in multilib toolchains like CS 2012.09 for x86
# the default is i386, hence when building for x86_64 things break since
# LD doesn't autodetect the input file format.
# GCC-as-linker can't accomplish this feat easily either since it's mixing
# static content (guest_init.o) with dynamic one (lkvm) making
# a relocatable output file.
# The purpose of this trick is to embed the init helper into the main
# binary to help users in guest system startup, which would otherwise
# require more complex guest images.
# This needs revisiting if/when X32 ABI support is added.
#
# If more packages need this (unlikely) an ld wrapper might be a better
# solution, using gcc -dumpspecs information.
KVMTOOL_EXTRA_LDFLAGS = \
$(if $(BR2_x86_64),-m elf_x86_64)
# Disable -Werror, otherwise musl is not happy
KVMTOOL_MAKE_OPTS = \
CROSS_COMPILE="$(TARGET_CROSS)" \
LDFLAGS="$(TARGET_LDFLAGS) $(KVMTOOL_EXTRA_LDFLAGS)" \
WERROR=0
define KVMTOOL_BUILD_CMDS
$(TARGET_MAKE_ENV) ARCH=$(KERNEL_ARCH) $(MAKE) -C $(@D) $(KVMTOOL_MAKE_OPTS)
endef
define KVMTOOL_INSTALL_TARGET_CMDS
$(TARGET_MAKE_ENV) ARCH=$(KERNEL_ARCH) $(MAKE) -C $(@D) \
$(KVMTOOL_MAKE_OPTS) install DESTDIR=$(TARGET_DIR) prefix=/usr
endef
$(eval $(generic-package))