[OE-core] [PATCH v2 3/4] qemu: Convert KVMOPTS to PACKAGECONFIG
Nathan Rossi
nathan at nathanrossi.com
Tue Feb 21 13:12:29 UTC 2017
Move the KVMOPTS configuration checks and option setting to a
PACKAGECONFIG option.
This also changes the checking of KVM support on the host build machine
so that it is processed as a PACKAGECONFIG _remove for class-native
only. The darwin/mingw32 overrides are kept and applied as _remove
overrides.
Signed-off-by: Nathan Rossi <nathan at nathanrossi.com>
---
meta/recipes-devtools/qemu/qemu.inc | 27 ++++++++++++---------------
1 file changed, 12 insertions(+), 15 deletions(-)
diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc
index 485638b62d..e78cfb367b 100644
--- a/meta/recipes-devtools/qemu/qemu.inc
+++ b/meta/recipes-devtools/qemu/qemu.inc
@@ -64,19 +64,8 @@ do_configure_prepend_class-native() {
"${S}"/Makefile "${S}"/Makefile.target
}
-KVMENABLE = "--enable-kvm"
-KVMENABLE_darwin = "--disable-kvm"
-KVMENABLE_mingw32 = "--disable-kvm"
-
do_configure() {
- # Handle distros such as CentOS 5 32-bit that do not have kvm support
- KVMOPTS="--disable-kvm"
- if [ "${PN}" != "qemu-native" -a "${PN}" != "nativesdk-qemu" ] \
- || [ -f /usr/include/linux/kvm.h ] ; then
- KVMOPTS="${KVMENABLE}"
- fi
-
- ${S}/configure ${EXTRA_OECONF} $KVMOPTS
+ ${S}/configure ${EXTRA_OECONF}
test ! -e ${S}/target-i386/beginend_funcs.sh || chmod a+x ${S}/target-i386/beginend_funcs.sh
}
@@ -113,12 +102,19 @@ do_install_append() {
# END of qemu-mips workaround
PACKAGECONFIG ??= " \
- fdt sdl \
+ fdt sdl kvm \
${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'xen', 'xen', '', d)} \
"
-PACKAGECONFIG_class-native ??= "fdt alsa uuid"
-PACKAGECONFIG_class-nativesdk ??= "fdt sdl"
+PACKAGECONFIG_class-native ??= "fdt alsa uuid kvm"
+PACKAGECONFIG_class-nativesdk ??= "fdt sdl kvm"
+
+# Handle distros such as CentOS 5 32-bit that do not have kvm support
+PACKAGECONFIG_class-native_remove = "${@'kvm' if not os.path.exists('/usr/include/linux/kvm.h') else ''}"
+
+# Disable kvm on targets that do not support it
+PACKAGECONFIG_remove_darwin = "kvm"
+PACKAGECONFIG_remove_mingw32 = "kvm"
PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,libsdl"
PACKAGECONFIG[virtfs] = "--enable-virtfs --enable-attr,--disable-virtfs,libcap attr,"
@@ -147,5 +143,6 @@ PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls"
PACKAGECONFIG[bzip2] = "--enable-bzip2,--disable-bzip2,bzip2"
PACKAGECONFIG[bluez] = "--enable-bluez,--disable-bluez,${BLUEZ}"
PACKAGECONFIG[libiscsi] = "--enable-libiscsi,--disable-libiscsi"
+PACKAGECONFIG[kvm] = "--enable-kvm,--disable-kvm"
INSANE_SKIP_${PN} = "arch"
--
2.11.0
More information about the Openembedded-core
mailing list