summaryrefslogtreecommitdiffstats
path: root/external/meta-virtualization/recipes-extended/xen/xen.inc
diff options
context:
space:
mode:
authorToshikazuOhiwa <toshikazu_ohiwa@mail.toyota.co.jp>2020-03-30 09:24:26 +0900
committerToshikazuOhiwa <toshikazu_ohiwa@mail.toyota.co.jp>2020-03-30 09:24:26 +0900
commit5b80bfd7bffd4c20d80b7c70a7130529e9a755dd (patch)
treeb4bb18dcd1487dbf1ea8127e5671b7bb2eded033 /external/meta-virtualization/recipes-extended/xen/xen.inc
parent706ad73eb02caf8532deaf5d38995bd258725cb8 (diff)
agl-basesystem
Diffstat (limited to 'external/meta-virtualization/recipes-extended/xen/xen.inc')
-rw-r--r--external/meta-virtualization/recipes-extended/xen/xen.inc1106
1 files changed, 1106 insertions, 0 deletions
diff --git a/external/meta-virtualization/recipes-extended/xen/xen.inc b/external/meta-virtualization/recipes-extended/xen/xen.inc
new file mode 100644
index 00000000..7eb2ac4b
--- /dev/null
+++ b/external/meta-virtualization/recipes-extended/xen/xen.inc
@@ -0,0 +1,1106 @@
+DESCRIPTION = "Xen hypervisor"
+HOMEPAGE = "http://xen.org"
+LICENSE = "GPLv2"
+SECTION = "console/tools"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=bbb4b1bdc2c3b6743da3c39d03249095"
+
+COMPATIBLE_HOST = '(x86_64.*).*-linux|aarch64.*-linux|arm-.*-linux-gnueabi'
+
+inherit autotools-brokensep setuptools update-rc.d systemd deploy
+
+require xen-arch.inc
+
+PACKAGECONFIG ??= " \
+ sdl \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
+ ${@bb.utils.contains('XEN_TARGET_ARCH', 'x86_64', 'hvm', '', d)} \
+ "
+
+FLASK_POLICY_FILE ?= "xenpolicy-${PV}"
+
+PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,virtual/libsdl,"
+PACKAGECONFIG[xsm] = "--enable-xsmpolicy,--disable-xsmpolicy,checkpolicy-native,"
+PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd,"
+PACKAGECONFIG[hvm] = "--with-system-seabios="/usr/share/firmware/bios.bin",--disable-seabios,seabios ipxe vgabios,"
+
+DEPENDS = " \
+ bison-native \
+ dev86-native \
+ flex-native \
+ file-native \
+ gettext-native \
+ acpica-native \
+ ncurses-native \
+ util-linux-native \
+ xz-native \
+ bridge-utils \
+ curl \
+ dtc \
+ gettext \
+ glib-2.0 \
+ gnutls \
+ iproute2 \
+ libnl \
+ ncurses \
+ openssl \
+ pciutils \
+ pixman \
+ procps \
+ python \
+ libaio \
+ lzo \
+ util-linux \
+ xz \
+ yajl \
+ zlib \
+ gnu-efi \
+ "
+
+# inherit setuptools adds python to RDEPENDS, override it
+RDEPENDS_${PN} = ""
+
+RDEPENDS_${PN}-base = "\
+ bash perl xz \
+ ${PN}-console \
+ ${PN}-libxenguest \
+ ${PN}-libxenlight \
+ ${PN}-libxenvchan \
+ ${PN}-libxenctrl \
+ ${PN}-libxlutil \
+ ${PN}-libxenstat \
+ ${PN}-libxenstore \
+ ${PN}-libfsimage \
+ ${PN}-fsimage \
+ ${PN}-scripts-block \
+ ${PN}-scripts-network \
+ ${PN}-xen-watchdog \
+ ${PN}-xencommons \
+ ${PN}-xendomains \
+ ${PN}-xenstore \
+ ${PN}-xenstored \
+ ${PN}-xl \
+ "
+
+RDEPENDS_${PN}-dev = ""
+
+RRECOMMENDS_${PN}-base = " \
+ ${PN}-blktap \
+ ${PN}-libblktap \
+ ${PN}-libblktapctl \
+ ${PN}-libvhd \
+ ${PN}-flask \
+ ${PN}-hvmloader \
+ ${PN}-shim \
+ ${PN}-xenpaging \
+ "
+
+RDEPENDS_${PN}-devd = " \
+ ${PN}-xl \
+ "
+
+RDEPENDS_${PN}-fsimage = " \
+ libext2fs \
+ "
+
+RDEPENDS_${PN}-misc = " \
+ perl \
+ python \
+ "
+
+RDEPENDS_${PN}-remus = " \
+ bash \
+ python \
+ "
+
+RDEPENDS_${PN}-scripts-block = "\
+ bash \
+ ${PN}-scripts-common \
+ ${PN}-volatiles \
+ "
+
+RDEPENDS_${PN}-scripts-common = "bash"
+
+RDEPENDS_${PN}-scripts-network = "\
+ bash \
+ bridge-utils \
+ ${PN}-scripts-common \
+ ${PN}-volatiles \
+ "
+
+RDEPENDS_${PN}-xencommons = "\
+ bash \
+ ${PN}-console \
+ ${PN}-xenstore \
+ ${PN}-xenstored \
+ ${PN}-xl \
+ ${PN}-scripts-common \
+ "
+
+RDEPENDS_${PN}-xendomains = "\
+ bash \
+ ${PN}-console \
+ ${PN}-scripts-block \
+ ${PN}-scripts-common \
+ ${PN}-xenstored \
+ "
+
+RDEPENDS_${PN}-xl = "libgcc"
+
+RDEPENDS_${PN}-xentrace = "python"
+
+RDEPENDS_${PN}-xen-watchdog = "bash"
+
+PACKAGES = "\
+ ${PN}-base \
+ ${PN}-blktap \
+ ${PN}-console \
+ ${PN}-cpuid \
+ ${PN}-dbg \
+ ${PN}-dev \
+ ${PN}-devd \
+ ${PN}-doc \
+ ${PN}-efi \
+ ${PN}-flask \
+ ${PN}-flask-tools \
+ ${PN}-fsimage \
+ ${PN}-gdbsx \
+ ${PN}-hvmloader \
+ ${PN}-hypervisor \
+ ${PN}-init-xenstore-dom \
+ ${PN}-kdd \
+ ${PN}-libblktap \
+ ${PN}-libblktapctl \
+ ${PN}-libblktapctl-dev \
+ ${PN}-libblktap-dev \
+ ${PN}-libfsimage \
+ ${PN}-libfsimage-dev \
+ ${PN}-libvhd \
+ ${PN}-libvhd-dev \
+ ${PN}-libxencall \
+ ${PN}-libxencall-dev \
+ ${PN}-libxenctrl \
+ ${PN}-libxenctrl-dev \
+ ${PN}-libxendevicemodel \
+ ${PN}-libxendevicemodel-dev \
+ ${PN}-libxenevtchn \
+ ${PN}-libxenevtchn-dev \
+ ${PN}-libxenforeignmemory \
+ ${PN}-libxenforeignmemory-dev \
+ ${PN}-libxengnttab \
+ ${PN}-libxengnttab-dev \
+ ${PN}-libxenguest \
+ ${PN}-libxenguest-dev \
+ ${PN}-libxenlight \
+ ${PN}-libxenlight-dev \
+ ${PN}-libxenstat \
+ ${PN}-libxenstat-dev \
+ ${PN}-libxenstore \
+ ${PN}-libxenstore-dev \
+ ${PN}-libxentoolcore \
+ ${PN}-libxentoolcore-dev \
+ ${PN}-libxentoollog \
+ ${PN}-libxentoollog-dev \
+ ${PN}-libxenvchan \
+ ${PN}-libxenvchan-dev \
+ ${PN}-libxlutil \
+ ${PN}-libxlutil-dev \
+ ${PN}-livepatch \
+ ${PN}-misc \
+ ${PN}-pygrub \
+ ${PN}-python \
+ ${PN}-qemu \
+ ${PN}-remus \
+ ${PN}-scripts-block \
+ ${PN}-scripts-common \
+ ${PN}-scripts-network \
+ ${PN}-shim \
+ ${PN}-staticdev \
+ ${PN}-volatiles \
+ ${PN}-xcutils \
+ ${PN}-xencommons \
+ ${PN}-xend \
+ ${PN}-xend-examples \
+ ${PN}-xendomains \
+ ${PN}-xenmon \
+ ${PN}-xenpaging \
+ ${PN}-xenpmd \
+ ${PN}-xenstat \
+ ${PN}-xenstore \
+ ${PN}-xenstored \
+ ${PN}-xentrace \
+ ${PN}-xen-watchdog \
+ ${PN}-xl \
+ ${PN}-xl-examples \
+ ${PN}-xm \
+ ${PN}-xm-examples \
+ "
+
+FILES_${PN}-dbg += "\
+ ${libdir}/.debug \
+ ${libdir}/debug/* \
+ ${libdir}/xen/bin/.debug \
+ ${libdir}/python2.7/site-packages/.debug \
+ ${libdir}/python2.7/site-packages/xen/lowlevel/.debug \
+ ${libdir}/fs/xfs/.debug \
+ ${libdir}/fs/ufs/.debug \
+ ${libdir}/fs/ext2fs-lib/.debug \
+ ${libdir}/fs/fat/.debug \
+ ${libdir}/fs/zfs/.debug \
+ ${libdir}/fs/reiserfs/.debug \
+ ${libdir}/fs/iso9660/.debug \
+ ${libdir}/fs/*/.debug \
+ ${sbindir}/.debug \
+ ${libdir}exec/.debug \
+ ${libdir}/xen/libexec/.debug \
+ ${bindir}/.debug \
+ ${libdir}/python2.7/dist-packages/.debug \
+ ${libdir}/python2.7/dist-packages/xen/lowlevel/.debug \
+ "
+
+FILES_${PN}-dev = "\
+ ${includedir} \
+ "
+
+FILES_${PN}-doc = "\
+ ${sysconfdir}/xen/README \
+ ${sysconfdir}/xen/README.incompatibilities \
+ ${datadir}/doc \
+ ${datadir}/man \
+ "
+
+FILES_${PN}-staticdev += "\
+ ${libdir}/libblktapctl.a \
+ ${libdir}/libxenguest.a \
+ ${libdir}/libxenlight.a \
+ ${libdir}/libxenvchan.a \
+ ${libdir}/libxenctrl.a \
+ ${libdir}/libxlutil.a \
+ ${libdir}/libvhd.a \
+ ${libdir}/libxenstat.a \
+ ${libdir}/libxenstore.a \
+ ${libdir}/libblktap.a \
+ "
+
+FILES_${PN}-libblktapctl = "${libdir}/libblktapctl.so.*"
+FILES_${PN}-libblktapctl-dev = " \
+ ${libdir}/libblktapctl.so \
+ ${datadir}/pkgconfig/xenblktapctl.pc \
+ "
+
+FILES_${PN}-libxencall = "${libdir}/libxencall.so.*"
+FILES_${PN}-libxencall-dev = " \
+ ${libdir}/libxencall.so \
+ ${datadir}/pkgconfig/xencall.pc \
+ "
+
+FILES_${PN}-libxenctrl = "${libdir}/libxenctrl.so.*"
+FILES_${PN}-libxenctrl-dev = " \
+ ${libdir}/libxenctrl.so \
+ ${datadir}/pkgconfig/xencontrol.pc \
+ "
+
+FILES_${PN}-libxendevicemodel = "${libdir}/libxendevicemodel.so.*"
+FILES_${PN}-libxendevicemodel-dev = " \
+ ${libdir}/libxendevicemodel.so \
+ ${datadir}/pkgconfig/xendevicemodel.pc \
+ "
+
+FILES_${PN}-libxenevtchn = "${libdir}/libxenevtchn.so.*"
+FILES_${PN}-libxenevtchn-dev = " \
+ ${libdir}/libxenevtchn.so \
+ ${datadir}/pkgconfig/xenevtchn.pc \
+ "
+
+FILES_${PN}-libxenforeignmemory = "${libdir}/libxenforeignmemory.so.*"
+FILES_${PN}-libxenforeignmemory-dev = " \
+ ${libdir}/libxenforeignmemory.so \
+ ${datadir}/pkgconfig/xenforeignmemory.pc \
+ "
+
+FILES_${PN}-libxengnttab = "${libdir}/libxengnttab.so.*"
+FILES_${PN}-libxengnttab-dev = " \
+ ${libdir}/libxengnttab.so \
+ ${datadir}/pkgconfig/xengnttab.pc \
+ "
+
+FILES_${PN}-libxenguest = "${libdir}/libxenguest.so.*"
+FILES_${PN}-libxenguest-dev = " \
+ ${libdir}/libxenguest.so \
+ ${datadir}/pkgconfig/xenguest.pc \
+ "
+
+FILES_${PN}-libxenlight = "${libdir}/libxenlight.so.*"
+FILES_${PN}-libxenlight-dev = " \
+ ${libdir}/libxenlight.so \
+ ${datadir}/pkgconfig/xenlight.pc \
+ "
+
+FILES_${PN}-libxenstat = "${libdir}/libxenstat.so.*"
+FILES_${PN}-libxenstat-dev = " \
+ ${libdir}/libxenstat.so \
+ ${datadir}/pkgconfig/xenstat.pc \
+ "
+
+FILES_${PN}-libxenstore = "${libdir}/libxenstore.so.*"
+FILES_${PN}-libxenstore-dev = " \
+ ${libdir}/libxenstore.so \
+ ${datadir}/pkgconfig/xenstore.pc \
+ "
+
+FILES_${PN}-libxentoolcore = "${libdir}/libxentoolcore.so.*"
+FILES_${PN}-libxentoolcore-dev = " \
+ ${libdir}/libxentoolcore.so \
+ ${datadir}/pkgconfig/xentoolcore.pc \
+ "
+
+FILES_${PN}-libxentoollog = "${libdir}/libxentoollog.so.*"
+FILES_${PN}-libxentoollog-dev = " \
+ ${libdir}/libxentoollog.so \
+ ${datadir}/pkgconfig/xentoollog.pc \
+ "
+
+FILES_${PN}-libxenvchan = "${libdir}/libxenvchan.so.*"
+FILES_${PN}-libxenvchan-dev = " \
+ ${libdir}/libxenvchan.so \
+ ${datadir}/pkgconfig/xenvchan.pc \
+ "
+
+FILES_${PN}-libxlutil = "${libdir}/libxlutil.so.*"
+FILES_${PN}-libxlutil-dev = " \
+ ${libdir}/libxlutil.so \
+ ${datadir}/pkgconfig/xlutil.pc \
+ "
+FILES_${PN}-libvhd = "${libdir}/libvhd.so.*"
+FILES_${PN}-libvhd-dev = " \
+ ${libdir}/libvhd.so \
+ ${datadir}/pkgconfig/vhd.pc \
+ "
+
+FILES_${PN}-libblktap = "${libdir}/libblktap.so.*"
+FILES_${PN}-libblktap-dev = " \
+ ${libdir}/libblktap.so \
+ ${datadir}/pkgconfig/blktap.pc \
+ "
+
+FILES_${PN}-libfsimage = "${libdir}/libfsimage.so.*"
+FILES_${PN}-libfsimage-dev = " \
+ ${libdir}/libfsimage.so \
+ ${datadir}/pkgconfig/fsimage.pc \
+ "
+
+FILES_${PN}-fsimage = "${libdir}/fs/*/*fsimage.so"
+
+FILES_${PN}-hypervisor = "\
+ /boot/xen-* \
+ /boot/xen \
+ /boot/xen-*.gz \
+ /boot/xen.gz \
+ /boot/xen-syms-* \
+ "
+
+FILES_${PN}-init-xenstore-dom = "${libdir}/xen/bin/init-xenstore-domain"
+
+FILES_${PN}-efi = "\
+ ${exec_prefix}/lib64/efi/xen* \
+ "
+
+FILES_${PN}-base = "\
+ ${sysconfdir}/xen/auto \
+ ${sysconfdir}/xen/cpupool \
+ ${localstatedir}/xen/dump \
+ "
+
+FILES_${PN}-blktap = "\
+ ${sbindir}/blktapctrl \
+ ${sbindir}/img2qcow \
+ ${sbindir}/lock-util \
+ ${sbindir}/qcow2raw \
+ ${sbindir}/qcow-create \
+ ${sbindir}/tap-ctl \
+ ${sbindir}/tapdisk \
+ ${sbindir}/tapdisk2 \
+ ${sbindir}/tapdisk-client \
+ ${sbindir}/tapdisk-diff \
+ ${sbindir}/tapdisk-stream \
+ ${sbindir}/td-util \
+ ${sbindir}/vhd-update \
+ ${sbindir}/vhd-util \
+ "
+
+FILES_${PN}-console = "\
+ ${libdir}/xen/bin/xenconsole \
+ ${sbindir}/xenconsoled \
+ "
+
+FILES_${PN}-cpuid = "\
+ ${bindir}/xen-cpuid \
+ "
+
+FILES_${PN}-devd = "\
+ ${sysconfdir}/init.d/xendriverdomain \
+ ${systemd_unitdir}/system/xendriverdomain.service \
+ "
+
+FILES_${PN}-flask = "\
+ /boot/${FLASK_POLICY_FILE} \
+ "
+
+FILES_${PN}-flask-tools = "\
+ ${sbindir}/flask-get-bool \
+ ${sbindir}/flask-getenforce \
+ ${sbindir}/flask-label-pci \
+ ${sbindir}/flask-loadpolicy \
+ ${sbindir}/flask-set-bool \
+ ${sbindir}/flask-setenforce \
+ "
+
+FILES_${PN}-gdbsx = "\
+ ${sbindir}/gdbsx \
+ "
+
+INSANE_SKIP_${PN}-hvmloader = "arch"
+FILES_${PN}-hvmloader = "\
+ ${libdir}/xen/boot/hvmloader \
+ "
+
+FILES_${PN}-kdd = "\
+ ${sbindir}/kdd \
+ "
+
+FILES_${PN}-livepatch += " \
+ ${sbindir}/xen-livepatch \
+ "
+
+FILES_${PN}-misc = "\
+ ${bindir}/xencons \
+ ${bindir}/xencov_split \
+ ${bindir}/xen-detect \
+ ${libdir}/xen/bin/xenpvnetboot \
+ ${libdir}/xen/bin/depriv-fd-checker \
+ ${sbindir}/gtracestat \
+ ${sbindir}/gtraceview \
+ ${sbindir}/xen-bugtool \
+ ${sbindir}/xencov \
+ ${sbindir}/xenperf \
+ ${sbindir}/xenpm \
+ ${sbindir}/xsview \
+ ${sbindir}/xen-diag \
+ ${sbindir}/xen-tmem-list-parse \
+ ${sbindir}/xen-python-path \
+ ${sbindir}/xen-ringwatch \
+ ${sbindir}/xen-hptool \
+ ${sbindir}/xen-hvmcrash \
+ ${sbindir}/xen-hvmctx \
+ ${sbindir}/xenlockprof \
+ ${sbindir}/xen-lowmemd \
+ ${sbindir}/xen-mfndump \
+ ${libdir}/xen/bin/verify-stream-v2 \
+ ${libdir}/xen/bin/convert-legacy-stream \
+ "
+
+FILES_${PN}-pygrub = "\
+ ${bindir}/pygrub \
+ ${libdir}/xen/bin/pygrub \
+ "
+
+FILES_${PN}-python = "\
+ ${libdir}/python2.7 \
+ "
+
+INSANE_SKIP_${PN} = "already-stripped"
+INSANE_SKIP_${PN}-qemu = "arch"
+FILES_${PN}-qemu = " \
+ ${datadir}/xen/qemu \
+ ${libdir}/xen/bin/qemu-system-i386 \
+ ${libdir}/xen/bin/qemu-system-x86_64 \
+ ${libdir}/xen/bin/qemu-img \
+ ${libdir}/xen/bin/qemu-nbd \
+ ${libdir}/xen/bin/qemu-ga \
+ ${libdir}/xen/bin/qemu-io \
+ ${libdir}/xen/bin/qemu-dm \
+ ${libdir}/xen/bin/virtfs-proxy-helper \
+ /usr/libexec/qemu-bridge-helper \
+ ${libdir}/xen/libexec/qemu-bridge-helper \
+ /usr/etc/qemu \
+ /usr/etc/qemu/target-x86_64.conf \
+ ${libdir}/xen/etc/qemu/target-x86_64.conf \
+ ${datadir}/qemu-xen \
+ ${datadir}/qemu-xen/qemu \
+ ${datadir}/qemu-xen/qemu/bamboo.dtb \
+ ${datadir}/qemu-xen/qemu/pxe-pcnet.rom \
+ ${datadir}/qemu-xen/qemu/vgabios-vmware.bin \
+ ${datadir}/qemu-xen/qemu/pxe-eepro100.rom \
+ ${datadir}/qemu-xen/qemu/pxe-e1000.rom \
+ ${datadir}/qemu-xen/qemu/openbios-ppc \
+ ${datadir}/qemu-xen/qemu/multiboot.bin \
+ ${datadir}/qemu-xen/qemu/vgabios-cirrus.bin \
+ ${datadir}/qemu-xen/qemu/bios.bin \
+ ${datadir}/qemu-xen/qemu/vgabios-stdvga.bin \
+ ${datadir}/qemu-xen/qemu/palcode-clipper \
+ ${datadir}/qemu-xen/qemu/pxe-ne2k_pci.rom \
+ ${datadir}/qemu-xen/qemu/spapr-rtas.bin \
+ ${datadir}/qemu-xen/qemu/slof.bin \
+ ${datadir}/qemu-xen/qemu/vgabios-qxl.bin \
+ ${datadir}/qemu-xen/qemu/pxe-rtl8139.rom \
+ ${datadir}/qemu-xen/qemu/openbios-sparc64 \
+ ${datadir}/qemu-xen/qemu/pxe-virtio.rom \
+ ${datadir}/qemu-xen/qemu/kvmvapic.bin \
+ ${datadir}/qemu-xen/qemu/openbios-sparc32 \
+ ${datadir}/qemu-xen/qemu/petalogix-s3adsp1800.dtb \
+ ${datadir}/qemu-xen/qemu/sgabios.bin \
+ ${datadir}/qemu-xen/qemu/linuxboot.bin \
+ ${datadir}/qemu-xen/qemu/qemu-icon.bmp \
+ ${datadir}/qemu-xen/qemu/ppc_rom.bin \
+ ${datadir}/qemu-xen/qemu/vgabios.bin \
+ ${datadir}/qemu-xen/qemu/s390-zipl.rom \
+ ${datadir}/qemu-xen/qemu/petalogix-ml605.dtb \
+ ${datadir}/qemu-xen/qemu/keymaps \
+ ${datadir}/qemu-xen/qemu/keymaps/common \
+ ${datadir}/qemu-xen/qemu/keymaps/th \
+ ${datadir}/qemu-xen/qemu/keymaps/is \
+ ${datadir}/qemu-xen/qemu/keymaps/en-gb \
+ ${datadir}/qemu-xen/qemu/keymaps/ar \
+ ${datadir}/qemu-xen/qemu/keymaps/fr-be \
+ ${datadir}/qemu-xen/qemu/keymaps/ru \
+ ${datadir}/qemu-xen/qemu/keymaps/hu \
+ ${datadir}/qemu-xen/qemu/keymaps/de-ch \
+ ${datadir}/qemu-xen/qemu/keymaps/no \
+ ${datadir}/qemu-xen/qemu/keymaps/fr \
+ ${datadir}/qemu-xen/qemu/keymaps/pl \
+ ${datadir}/qemu-xen/qemu/keymaps/fr-ca \
+ ${datadir}/qemu-xen/qemu/keymaps/de \
+ ${datadir}/qemu-xen/qemu/keymaps/fr-ch \
+ ${datadir}/qemu-xen/qemu/keymaps/bepo \
+ ${datadir}/qemu-xen/qemu/keymaps/lv \
+ ${datadir}/qemu-xen/qemu/keymaps/ja \
+ ${datadir}/qemu-xen/qemu/keymaps/da \
+ ${datadir}/qemu-xen/qemu/keymaps/lt \
+ ${datadir}/qemu-xen/qemu/keymaps/hr \
+ ${datadir}/qemu-xen/qemu/keymaps/es \
+ ${datadir}/qemu-xen/qemu/keymaps/modifiers \
+ ${datadir}/qemu-xen/qemu/keymaps/sl \
+ ${datadir}/qemu-xen/qemu/keymaps/it \
+ ${datadir}/qemu-xen/qemu/keymaps/nl \
+ ${datadir}/qemu-xen/qemu/keymaps/fo \
+ ${datadir}/qemu-xen/qemu/keymaps/mk \
+ ${datadir}/qemu-xen/qemu/keymaps/pt-br \
+ ${datadir}/qemu-xen/qemu/keymaps/tr \
+ ${datadir}/qemu-xen/qemu/keymaps/sv \
+ ${datadir}/qemu-xen/qemu/keymaps/fi \
+ ${datadir}/qemu-xen/qemu/keymaps/en-us \
+ ${datadir}/qemu-xen/qemu/keymaps/et \
+ ${datadir}/qemu-xen/qemu/keymaps/nl-be \
+ ${datadir}/qemu-xen/qemu/keymaps/pt \
+ ${bindir}/qemu-nbd-xen \
+ ${bindir}/qemu-img-xen \
+ "
+
+FILES_${PN}-remus = "\
+ ${bindir}/remus \
+ ${sysconfdir}/xen/scripts/remus-netbuf-setup \
+ "
+
+FILES_${PN}-scripts-network = " \
+ ${sysconfdir}/xen/scripts/colo-proxy-setup \
+ ${sysconfdir}/xen/scripts/network-bridge \
+ ${sysconfdir}/xen/scripts/network-nat \
+ ${sysconfdir}/xen/scripts/network-route \
+ ${sysconfdir}/xen/scripts/qemu-ifup \
+ ${sysconfdir}/xen/scripts/vif2 \
+ ${sysconfdir}/xen/scripts/vif-bridge \
+ ${sysconfdir}/xen/scripts/vif-common.sh \
+ ${sysconfdir}/xen/scripts/vif-nat \
+ ${sysconfdir}/xen/scripts/vif-openvswitch \
+ ${sysconfdir}/xen/scripts/vif-route \
+ ${sysconfdir}/xen/scripts/vif-setup \
+ "
+
+FILES_${PN}-scripts-block = " \
+ ${sysconfdir}/xen/scripts/blktap \
+ ${sysconfdir}/xen/scripts/block \
+ ${sysconfdir}/xen/scripts/block-common.sh \
+ ${sysconfdir}/xen/scripts/block-dummy \
+ ${sysconfdir}/xen/scripts/block-enbd \
+ ${sysconfdir}/xen/scripts/block-iscsi \
+ ${sysconfdir}/xen/scripts/block-nbd \
+ ${sysconfdir}/xen/scripts/block-drbd-probe \
+ ${sysconfdir}/xen/scripts/block-tap \
+ ${sysconfdir}/xen/scripts/vscsi \
+ "
+
+FILES_${PN}-scripts-common = " \
+ ${sysconfdir}/xen/scripts/external-device-migrate \
+ ${sysconfdir}/xen/scripts/hotplugpath.sh \
+ ${sysconfdir}/xen/scripts/locking.sh \
+ ${sysconfdir}/xen/scripts/logging.sh \
+ ${sysconfdir}/xen/scripts/xen-hotplug-cleanup \
+ ${sysconfdir}/xen/scripts/xen-hotplug-common.sh \
+ ${sysconfdir}/xen/scripts/xen-network-common.sh \
+ ${sysconfdir}/xen/scripts/xen-script-common.sh \
+ "
+
+INSANE_SKIP_${PN}-shim = "arch"
+FILES_${PN}-shim = " \
+ ${libdir}/xen/boot/xen-shim \
+ "
+
+FILES_${PN}-volatiles = "\
+ ${sysconfdir}/default/volatiles/99_xen \
+ ${sysconfdir}/tmpfiles.d/xen.conf \
+ "
+
+FILES_${PN}-xcutils = "\
+ ${libdir}/xen/bin/lsevtchn \
+ ${libdir}/xen/bin/readnotes \
+ ${libdir}/xen/bin/xc_restore \
+ ${libdir}/xen/bin/xc_save \
+ "
+
+FILES_${PN}-xend-examples = "\
+ ${sysconfdir}/xen/xend-config.sxp \
+ ${sysconfdir}/xen/xend-pci-permissive.sxp \
+ ${sysconfdir}/xen/xend-pci-quirks.sxp \
+ "
+
+FILES_${PN}-xenpaging = "\
+ ${libdir}/xen/bin/xenpaging \
+ ${localstatedir}/lib/xen/xenpaging \
+ "
+
+FILES_${PN}-xenpmd = "\
+ ${sbindir}/xenpmd \
+ "
+
+FILES_${PN}-xenstat = "\
+ ${sbindir}/xentop \
+ "
+
+FILES_${PN}-xenstore = "\
+ ${bindir}/xenstore \
+ ${bindir}/xenstore-chmod \
+ ${bindir}/xenstore-control \
+ ${bindir}/xenstore-exists \
+ ${bindir}/xenstore-list \
+ ${bindir}/xenstore-ls \
+ ${bindir}/xenstore-read \
+ ${bindir}/xenstore-rm \
+ ${bindir}/xenstore-watch \
+ ${bindir}/xenstore-write \
+ "
+
+FILES_${PN}-xenstored = "\
+ ${sbindir}/xenstored \
+ ${localstatedir}/lib/xenstored \
+ "
+
+FILES_${PN}-xentrace = "\
+ ${bindir}/xentrace \
+ ${bindir}/xentrace_format \
+ ${bindir}/xentrace_setsize \
+ ${libdir}/xen/bin/xenctx \
+ ${bindir}/xenalyze \
+ ${sbindir}/xentrace \
+ ${sbindir}/xentrace_setsize \
+ "
+
+FILES_${PN}-xen-watchdog = "\
+ ${sbindir}/xenwatchdogd \
+ ${sysconfdir}/init.d/xen-watchdog \
+ ${systemd_unitdir}/system/xen-watchdog.service \
+ "
+
+FILES_${PN}-xl = "\
+ ${sysconfdir}/bash_completion.d/xl.sh \
+ ${sysconfdir}/xen/xl.conf \
+ ${libdir}/xen/bin/libxl-save-helper \
+ ${sbindir}/xl \
+ ${libdir}/xen/bin/xen-init-dom0 \
+ "
+
+FILES_${PN}-xl-examples = "\
+ ${sysconfdir}/xen/xlexample.hvm \
+ ${sysconfdir}/xen/xlexample.pvlinux \
+ "
+
+FILES_${PN}-xm-examples = "\
+ ${sysconfdir}/xen/xmexample1 \
+ ${sysconfdir}/xen/xmexample2 \
+ ${sysconfdir}/xen/xmexample3 \
+ ${sysconfdir}/xen/xmexample.hvm \
+ ${sysconfdir}/xen/xmexample.hvm-stubdom \
+ ${sysconfdir}/xen/xmexample.nbd \
+ ${sysconfdir}/xen/xmexample.pv-grub \
+ ${sysconfdir}/xen/xmexample.vti \
+ "
+
+FILES_${PN}-xenmon = "\
+ ${sbindir}/xenbaked \
+ ${sbindir}/xentrace_setmask \
+ ${sbindir}/xenmon.py \
+ "
+
+FILES_${PN}-xm = "\
+ ${sysconfdir}/xen/xm-config.xml \
+ ${datadir}/xen/create.dtd \
+ ${sbindir}/xm \
+ "
+
+FILES_${PN}-xencommons += "\
+ ${sysconfdir}/default/xencommons \
+ ${sysconfdir}/init.d/xencommons \
+ ${sysconfdir}/xen/scripts/launch-xenstore \
+ ${systemd_unitdir}/modules-load.d/xen.conf \
+ ${systemd_unitdir}/system/proc-xen.mount \
+ ${systemd_unitdir}/system/xen-qemu-dom0-disk-backend.service \
+ ${systemd_unitdir}/system/xenconsoled.service \
+ ${systemd_unitdir}/system/xen-init-dom0.service \
+ ${systemd_unitdir}/system/xenstored.service \
+ ${systemd_unitdir}/system/var-lib-xenstored.mount \
+ "
+
+FILES_${PN}-xend += " \
+ ${sysconfdir}/init.d/xend \
+ ${sbindir}/xend \
+ "
+
+FILES_${PN}-xendomains += "\
+ ${libdir}/xen/bin/xendomains \
+ ${sysconfdir}/default/xendomains \
+ ${sysconfdir}/init.d/xendomains \
+ ${sysconfdir}/sysconfig/xendomains \
+ ${systemd_unitdir}/system/xendomains.service \
+ "
+
+# configure init.d scripts
+INITSCRIPT_PACKAGES = "${PN}-xend ${PN}-xencommons ${PN}-xen-watchdog ${PN}-xendomains ${PN}-devd"
+INITSCRIPT_NAME_${PN}-xencommons = "xencommons"
+INITSCRIPT_PARAMS_${PN}-xencommons = "defaults 80"
+INITSCRIPT_NAME_${PN}-xen-watchdog = "xen-watchdog"
+INITSCRIPT_PARAMS_${PN}-xen-watchdog = "defaults 81"
+INITSCRIPT_NAME_${PN}-xend = "xend"
+INITSCRIPT_PARAMS_${PN}-xend = "defaults 82"
+INITSCRIPT_NAME_${PN}-xendomains = "xendomains"
+INITSCRIPT_PARAMS_${PN}-xendomains = "defaults 83"
+INITSCRIPT_NAME_${PN}-devd = "xendriverdomain"
+INITSCRIPT_PARAMS_${PN}-devd = "defaults 82"
+
+# systemd packages
+SYSTEMD_PACKAGES = "${PN}-xen-watchdog ${PN}-xencommons ${PN}-xendomains ${PN}-devd"
+SYSTEMD_SERVICE_${PN}-devd = "xendriverdomain.service"
+SYSTEMD_SERVICE_${PN}-xen-watchdog = "xen-watchdog.service"
+SYSTEMD_SERVICE_${PN}-xencommons = " \
+ proc-xen.mount \
+ var-lib-xenstored.mount \
+ xen-qemu-dom0-disk-backend.service \
+ xenconsoled.service \
+ xen-init-dom0.service \
+ xenstored.service \
+ "
+SYSTEMD_SERVICE_${PN}-xendomains = "xendomains.service"
+
+#### REQUIRED ENVIRONMENT VARIABLES ####
+export BUILD_SYS
+export HOST_SYS
+export STAGING_INCDIR
+export STAGING_LIBDIR
+
+# specify xen hypervisor to build/target
+export XEN_TARGET_ARCH = "${@map_xen_arch(d.getVar('TARGET_ARCH'), d)}"
+export XEN_COMPILE_ARCH = "${@map_xen_arch(d.getVar('BUILD_ARCH'), d)}"
+
+python () {
+ if d.getVar('XEN_TARGET_ARCH') == 'INVALID':
+ raise bb.parse.SkipPackage('Cannot map `%s` to a xen architecture' % d.getVar('TARGET_ARCH'))
+}
+
+# Yocto appends ${PN} to libexecdir by default and Xen appends 'xen' as well
+# the result is a nested xen/xen/ so let's avoid that by shunning Yocto's
+# extra ${PN} appended.
+libexecdir = "${libdir}"
+
+# hardcoded as Linux, as the only compatible hosts are Linux.
+export XEN_OS = "Linux"
+
+# this is used for the header (#!${bindir}/python) of the install python scripts
+export PYTHONPATH="${bindir}/python"
+export ac_cv_path_PYTHONPATH="${bindir}/python"
+export DISTUTILS_BUILD_ARGS
+export DISTUTILS_INSTALL_ARGS
+
+# xen and seabios require HOSTCC and HOSTCXX set to cross-compile
+export HOSTCC="${BUILD_CC}"
+export HOSTCXX="${BUILD_CXX}"
+
+# make xen requires CROSS_COMPILE set by hand as it does not abide by ./configure
+export CROSS_COMPILE="${TARGET_PREFIX}"
+
+# overide LDFLAGS to allow xen to build without: "x86_64-oe-linux-ld: unrecognized option '-Wl,-O1'"
+export LDFLAGS=""
+
+# Yocto injects -mfpmath=sse for some machine types into the CFLAGS which
+# conflicts with -mno-sse so instead we strip -mfpmath=sse instead of
+# patching the build to be ok with this
+TUNE_CCARGS := "${@oe.utils.str_filter_out('-mfpmath=sse', '${TUNE_CCARGS}', d)}"
+TUNE_CCARGS := "${@oe.utils.str_filter_out('-msse4.2', '${TUNE_CCARGS}', d)}"
+
+# Supply the full set of compiler flags via the tool variables
+# Yocto supplys _FORTIFY_SOURCE via CC/CPP/CXX but optimization -O via C*FLAGS
+CC_append = " ${CFLAGS}"
+CPP_append = " ${CPPFLAGS}"
+CXX_append = " ${CXXFLAGS}"
+
+EXTRA_OECONF += " \
+ --exec-prefix=${prefix} \
+ --prefix=${prefix} \
+ --host=${HOST_SYS} \
+ --with-systemd=${systemd_unitdir}/system \
+ --with-systemd-modules-load=${systemd_unitdir}/modules-load.d \
+ --disable-stubdom \
+ --disable-ioemu-stubdom \
+ --disable-pv-grub \
+ --disable-xenstore-stubdom \
+ --disable-rombios \
+ --disable-ocamltools \
+ --with-initddir=${INIT_D_DIR} \
+ --with-sysconfig-leaf-dir=default \
+ --with-system-qemu=/usr/bin/qemu-system-i386 \
+ --disable-qemu-traditional \
+ "
+
+EXTRA_OEMAKE += "STDVGA_ROM=${STAGING_DIR_HOST}/usr/share/firmware/vgabios-0.7a.bin"
+EXTRA_OEMAKE += "CIRRUSVGA_ROM=${STAGING_DIR_HOST}/usr/share/firmware/vgabios-0.7a.cirrus.bin"
+EXTRA_OEMAKE += "SEABIOS_ROM=${STAGING_DIR_HOST}/usr/share/firmware/bios.bin"
+EXTRA_OEMAKE += "ETHERBOOT_ROMS=${STAGING_DIR_HOST}/usr/share/firmware/rtl8139.rom"
+
+# prevent the Xen build scripts from fetching things during the build
+# all dependencies should be reflected in the Yocto recipe
+EXTRA_OEMAKE += "WGET=/bin/false"
+EXTRA_OEMAKE += "GIT=/bin/false"
+
+# Improve build reproducibility: provide values for build variables.
+def get_build_time_vars(d):
+ source_date_epoch = d.getVar('SOURCE_DATE_EPOCH')
+ if source_date_epoch is not None:
+ import datetime
+ utc_datetime = datetime.datetime.utcfromtimestamp(float(source_date_epoch))
+ return " XEN_BUILD_DATE=" + utc_datetime.strftime("%Y-%m-%d") + \
+ " XEN_BUILD_TIME=" + utc_datetime.strftime("%H:%M:%S")
+ return ""
+EXTRA_OEMAKE += "${@['', 'XEN_WHOAMI=${PF} XEN_DOMAIN=${DISTRO} XEN_BUILD_HOST=${PN}-buildhost'] \
+ [d.getVar('BUILD_REPRODUCIBLE_BINARIES') == '1']}${@get_build_time_vars(d)}"
+
+# Improve build reproducibility: compiler flags to remove filesystem differences.
+# Suppress __FILE__ via an alternative builtin.
+CC += "${@['', '-gno-record-gcc-switches -Wno-builtin-macro-redefined -D__FILE__=__VERSION__ ' + \
+ '-fdebug-prefix-map=${WORKDIR}=${PN}'] \
+ [d.getVar('BUILD_REPRODUCIBLE_BINARIES') == '1']}"
+
+# check for XSM in package config to allow XSM_ENABLE to be set
+python () {
+ pkgconfig = d.getVar('PACKAGECONFIG')
+ if ('xsm') in pkgconfig.split():
+ d.setVar('XSM_ENABLED', '1')
+ else:
+ d.setVar('XSM_ENABLED', '0')
+}
+
+do_post_patch() {
+ # fixup AS/CC/CCP/etc variable within StdGNU.mk
+ for i in LD CC CPP CXX; do
+ sed -i "s/^\($i\s\s*\).*=/\1?=/" ${S}/config/StdGNU.mk
+ done
+ # fixup environment passing in some makefiles
+ sed -i 's#\(\w*\)=\(\$.\w*.\)#\1="\2"#' ${S}/tools/firmware/Makefile
+
+ # libsystemd-daemon -> libsystemd for newer systemd versions
+ sed -i 's#libsystemd-daemon#libsystemd#' ${S}/tools/configure
+
+ # Improve build reproducibility: disable insertion of the build timestamp
+ # into the x86 EFI hypervisor binary.
+ # binutils should allow a user-supplied timestamp or use SOURCE_DATE_EPOCH
+ # for PE but currently does not.
+ if [ "${BUILD_REPRODUCIBLE_BINARIES}" = "1" ] ; then
+ sed '/^EFI_LDFLAGS = /{a EFI_LDFLAGS += --no-insert-timestamp
+}' -i "${S}/xen/arch/x86/Makefile"
+ fi
+}
+
+do_post_patch_append_arm() {
+ # The hypervisor binary must not be built with the hard floating point ABI.
+ echo "CC := \$(filter-out ${TUNE_CCARGS},\$(CC))" >> ${B}/xen/arch/arm/Rules.mk
+}
+
+addtask post_patch after do_patch before do_configure
+
+do_stubs() {
+ # no stubs-32.h in our 64-bit sysroot - hack it into tools/include/gnu
+ if ! test -f ${STAGING_DIR_TARGET}/usr/include/gnu/stubs-32.h ; then
+ if test -f ${STAGING_DIR_TARGET}/usr/include/gnu/stubs-64.h ; then
+ test -d ${S}/tools/include/gnu || mkdir ${S}/tools/include/gnu
+ cat ${STAGING_DIR_TARGET}/usr/include/gnu/stubs-64.h | grep -v stub_bdflush | grep -v stub_getmsg | grep -v stub_putmsg > ${S}/tools/include/gnu/stubs-32.h
+ echo \#define __stub___kernel_cosl >> ${S}/tools/include/gnu/stubs-32.h
+ echo \#define __stub___kernel_sinl >> ${S}/tools/include/gnu/stubs-32.h
+ echo \#define __stub___kernel_tanl >> ${S}/tools/include/gnu/stubs-32.h
+ fi
+ fi
+}
+
+addtask stubs after do_configure before do_compile
+
+# Allow all hypervisor settings in a defconfig
+EXTRA_OEMAKE += "XEN_CONFIG_EXPERT=y"
+# Build release versions always. Technically since we track release
+# tarballs this always happens but occasionally people pull in patches
+# from staging that reverts this
+EXTRA_OEMAKE += "debug=n"
+
+do_configure() {
+
+ #./configure --enable-xsmpolicy does not set XSM_ENABLE must be done manually
+ if [ "${XSM_ENABLED}" = "1" ]; then
+ echo "XSM_ENABLE := y" > ${S}/.config
+ fi
+
+ if [ -f "${WORKDIR}/defconfig" ]; then
+ cp "${WORKDIR}/defconfig" "${B}/xen/.config" || \
+ bbfatal "Unable to copy defconfig to .config"
+ fi
+
+ # do configure
+ oe_runconf
+ if [ ! -e ${STAGING_INCDIR}/bits/long-double-32.h ]; then
+ cp ${STAGING_INCDIR}/bits/long-double-64.h ${STAGING_INCDIR}/bits/long-double-32.h
+ fi
+}
+
+do_compile() {
+ # workaround for build bug when CFLAGS is exported
+ # https://www.mail-archive.com/xen-devel@lists.xen.org/msg67822.html
+ unset CFLAGS
+
+ # Workaround for parallel build bug: build xen first.
+ # https://lists.xenproject.org/archives/html/xen-devel/2018-07/msg02551.html
+ oe_runmake xen
+ oe_runmake
+}
+
+do_install() {
+ # CFLAGS is used to set PY_CFLAGS which affects the pygrub install
+ # so also need to unset CFLAGS here:
+ unset CFLAGS
+ oe_runmake DESTDIR="${D}" install
+
+ # remove installed volatiles
+ rm -rf ${D}${localstatedir}/run \
+ ${D}${localstatedir}/lock \
+ ${D}${localstatedir}/log \
+ ${D}${localstatedir}/volatile \
+ ${D}${localstatedir}/lib/xen
+
+ VOLATILE_DIRS=" \
+ ${localstatedir}/run/xenstored \
+ ${localstatedir}/run/xend \
+ ${localstatedir}/run/xend/boot \
+ ${localstatedir}/run/xen \
+ ${localstatedir}/log/xen \
+ ${localstatedir}/lock/xen \
+ ${localstatedir}/lock/subsys \
+ ${localstatedir}/lib/xen \
+ "
+
+ # install volatiles using populate_volatiles mechanism
+ install -d ${D}${sysconfdir}/default/volatiles
+ for i in $VOLATILE_DIRS; do
+ echo "d root root 0755 $i none" >> ${D}${sysconfdir}/default/volatiles/99_xen
+ done
+
+ # workaround for xendomains script which searchs sysconfig if directory exists
+ install -d ${D}${sysconfdir}/sysconfig
+ ln -sf ${sysconfdir}/default/xendomains ${D}${sysconfdir}/sysconfig/xendomains
+
+ # systemd
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ # install volatiles using systemd tmpfiles.d
+ install -d ${D}${sysconfdir}/tmpfiles.d
+ for i in $VOLATILE_DIRS; do
+ echo "d $i 0755 root root - -" >> ${D}${sysconfdir}/tmpfiles.d/xen.conf
+ done
+ fi
+
+ # fixup default path to qemu-system-i386
+ sed -i 's#\(test -z "$QEMU_XEN" && QEMU_XEN=\).*$#\1"/usr/bin/qemu-system-i386"#' ${D}/etc/init.d/xencommons
+
+ if [ -e ${D}${systemd_unitdir}/system/xen-qemu-dom0-disk-backend.service ]; then
+ sed -i 's#ExecStart=.*qemu-system-i386\(.*\)$#ExecStart=/usr/bin/qemu-system-i386\1#' \
+ ${D}${systemd_unitdir}/system/xen-qemu-dom0-disk-backend.service
+ fi
+}
+
+pkg_postinst_${PN}-volatiles() {
+ if [ -z "$D" ]; then
+ if command -v systemd-tmpfiles >/dev/null; then
+ systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/xen.conf
+ elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
+ ${sysconfdir}/init.d/populate-volatile.sh update
+ fi
+ fi
+}
+
+do_deploy() {
+ install -d ${DEPLOYDIR}
+
+ if [ -f ${D}/boot/xen ]; then
+ install -m 0644 ${D}/boot/xen ${DEPLOYDIR}/xen-${MACHINE}
+ fi
+
+ if [ -f ${D}/boot/xen.gz ]; then
+ install -m 0644 ${D}/boot/xen.gz ${DEPLOYDIR}/xen-${MACHINE}.gz
+ fi
+
+ if [ -f ${D}/usr/lib64/efi/xen.efi ]; then
+ install -m 0644 ${D}/usr/lib64/efi/xen.efi ${DEPLOYDIR}/xen-${MACHINE}.efi
+ fi
+
+ # Install the flask policy in the deploy directory if it exists
+ if [ -f ${D}/boot/${FLASK_POLICY_FILE} ]; then
+ install -m 0644 ${D}/boot/${FLASK_POLICY_FILE} ${DEPLOYDIR}
+ ln -sf ${FLASK_POLICY_FILE} ${DEPLOYDIR}/xenpolicy-${MACHINE}
+ fi
+}
+
+addtask deploy after do_populate_sysroot
+
+# Enable use of menuconfig directly from bitbake and also within the devshell
+OE_TERMINAL_EXPORTS += "HOST_EXTRACFLAGS HOSTLDFLAGS TERMINFO"
+HOST_EXTRACFLAGS = "${BUILD_CFLAGS} ${BUILD_LDFLAGS}"
+HOSTLDFLAGS = "${BUILD_LDFLAGS}"
+TERMINFO = "${STAGING_DATADIR_NATIVE}/terminfo"
+do_devshell[depends] += "ncurses-native:do_populate_sysroot"
+
+KCONFIG_CONFIG_COMMAND ??= "menuconfig"
+python do_menuconfig() {
+ import shutil
+
+ try:
+ mtime = os.path.getmtime("xen/.config")
+ shutil.copy("xen/.config", "xen/.config.orig")
+ except OSError:
+ mtime = 0
+
+ oe_terminal("${SHELL} -c \"cd xen; XEN_CONFIG_EXPERT=y make %s; if [ \$? -ne 0 ]; then echo 'Command failed.'; printf 'Press any key to continue... '; read r; fi\"" % d.getVar('KCONFIG_CONFIG_COMMAND'),
+ d.getVar('PN') + ' Configuration', d)
+
+ try:
+ newmtime = os.path.getmtime("xen/.config")
+ except OSError:
+ newmtime = 0
+
+ if newmtime > mtime:
+ bb.note("Configuration changed, recompile will be forced")
+ bb.build.write_taint('do_compile', d)
+}
+do_menuconfig[depends] += "ncurses-native:do_populate_sysroot"
+do_menuconfig[nostamp] = "1"
+do_menuconfig[dirs] = "${B}"
+addtask menuconfig after do_configure