From patchwork Sun Feb 3 14:06:39 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yann E. MORIN" X-Patchwork-Id: 217761 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from fraxinus.osuosl.org (fraxinus.osuosl.org [140.211.166.137]) by ozlabs.org (Postfix) with ESMTP id D74F22C0082 for ; Mon, 4 Feb 2013 01:07:48 +1100 (EST) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id E5147101A3D; Sun, 3 Feb 2013 14:07:34 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org X-Amavis-Alert: BAD HEADER SECTION, Duplicate header field: "References" Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id N5iAjTXvzUum; Sun, 3 Feb 2013 14:07:28 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by fraxinus.osuosl.org (Postfix) with ESMTP id 091BE10108B; Sun, 3 Feb 2013 14:07:28 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (whitealder.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id 83C1D8F753 for ; Sun, 3 Feb 2013 14:07:33 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 063578B4A8 for ; Sun, 3 Feb 2013 14:07:26 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org X-Amavis-Alert: BAD HEADER SECTION, Duplicate header field: "References" Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id t0jINlvwcIFX for ; Sun, 3 Feb 2013 14:07:18 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-wi0-f175.google.com (mail-wi0-f175.google.com [209.85.212.175]) by whitealder.osuosl.org (Postfix) with ESMTPS id 6554C8AB5A for ; Sun, 3 Feb 2013 14:07:18 +0000 (UTC) Received: by mail-wi0-f175.google.com with SMTP id l13so1537650wie.2 for ; Sun, 03 Feb 2013 06:07:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:sender:from:to:cc:subject:date:message-id:x-mailer :in-reply-to:references:in-reply-to:references; bh=FCWhhZelUwBRbbkKVGD+y4I5qBHhugf0ypT3zEtMIzc=; b=ibOoV8KDYcy+oBUQ6CZSYT1b0kHndo9IffSJ7tWOX+DGtILQcekqHRejVUQNs38BNL Bt8BYStakdDfCQJ4txyXtAR2yRcrK02oG41pX2Iq02DHToVp1v8zk5JYwrt6MPh+539F MpLuyEdbWdQl5kUhoygFmeBzK3DCpA7r8c3CId5fqWL6Vm5krhdIyNIQMRbXTdVMDDaw A4mWl4INV7Jwfr+2Pvw9Bd8nUbCAcAGDVXdrID5asDBR+PpnF4kxfbZ6rUieJmMFqKRx lG8M7BLSGFDIognd0qas71ZVDuuKxfJ3Q2CRZfqVd5WsFwuQp6oauzVRNmZjSyduNmlB YFXg== X-Received: by 10.194.172.228 with SMTP id bf4mr30472304wjc.38.1359900436673; Sun, 03 Feb 2013 06:07:16 -0800 (PST) Received: from localhost.localdomain (ARennes-256-1-39-23.w90-32.abo.wanadoo.fr. [90.32.22.23]) by mx.google.com with ESMTPS id gy2sm2970685wib.3.2013.02.03.06.07.14 (version=TLSv1 cipher=RC4-SHA bits=128/128); Sun, 03 Feb 2013 06:07:15 -0800 (PST) From: "Yann E. MORIN" To: buildroot@busybox.net Date: Sun, 3 Feb 2013 15:06:39 +0100 Message-Id: <1cfb9926a84a4518c9afafbdfb36198911804de9.1359899108.git.yann.morin.1998@free.fr> X-Mailer: git-send-email 1.7.2.5 In-Reply-To: References: In-Reply-To: References: Cc: Thomas Petazzoni , "Yann E. MORIN" Subject: [Buildroot] [PATCH 02/29] package/qemu: build for the target (i386 or x86_64 only) X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: buildroot-bounces@busybox.net Untested for other architectures, so only enabled for known-working ones. We explicitly disable all features that depends on other packages, for now. Such features will be added one by one in the next patches. Features that do not rely on external packages are explicitly enabled to catch the dependencies on toolchain features early. Signed-off-by: "Yann E. MORIN" Cc: Thomas Petazzoni --- package/Config.in | 1 + package/qemu/Config.in | 26 +++++++++++++++++ package/qemu/qemu.mk | 73 ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 100 insertions(+), 0 deletions(-) create mode 100644 package/qemu/Config.in diff --git a/package/Config.in b/package/Config.in index f4a331c..b04534a 100644 --- a/package/Config.in +++ b/package/Config.in @@ -607,6 +607,7 @@ source "package/empty/Config.in" source "package/googlefontdirectory/Config.in" source "package/mcrypt/Config.in" source "package/mobile-broadband-provider-info/Config.in" +source "package/qemu/Config.in" source "package/shared-mime-info/Config.in" source "package/snowball-init/Config.in" source "package/sound-theme-borealis/Config.in" diff --git a/package/qemu/Config.in b/package/qemu/Config.in new file mode 100644 index 0000000..b0ed279 --- /dev/null +++ b/package/qemu/Config.in @@ -0,0 +1,26 @@ +comment "QEMU requires a toolchain with threads" + depends on !BR2_i386 && !BR2_x86_64 + depends on !BR2_TOOLCHAIN_HAS_THREADS + +config BR2_PACKAGE_QEMU + bool "QEMU" + depends on BR2_i386 || BR2_x86_64 + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_PIXMAN + select BR2_PACKAGE_ZLIB + help + QEMU is a generic and open source machine emulator and virtualizer. + + When used as a machine emulator, QEMU can run OSes and programs made + for one machine (e.g. an ARM board) on a different machine (e.g. + your own PC). By using dynamic translation, it achieves very good + performance. + + When used as a virtualizer, QEMU achieves near native performances + by executing the guest code directly on the host CPU. QEMU supports + virtualization when executing under the Xen hypervisor or using the + KVM kernel module in Linux. When using KVM, QEMU can virtualize x86, + server and embedded PowerPC, and S390 guests. + + http://qemu.org/ diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk index 806ffd8..d8c9e6e 100644 --- a/package/qemu/qemu.mk +++ b/package/qemu/qemu.mk @@ -81,3 +81,76 @@ $(eval $(host-autotools-package)) # variable used by other packages QEMU_USER = $(HOST_DIR)/usr/bin/qemu-$(HOST_QEMU_ARCH) + +#------------------------------------------------------------- +# Target-qemu + +QEMU_DEPENDENCIES = host-pkgconf host-python libglib2 zlib pixman + +# Need the LIBS variable because librt and libm are +# not automatically pulled. :-( +QEMU_LIBS = -lrt -lm + +QEMU_OPTS = + +QEMU_VARS = \ + PYTHON=$(HOST_DIR)/usr/bin/python \ + PYTHONPATH=$(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages \ + +define QEMU_CONFIGURE_CMDS + ( cd $(@D); \ + LIBS='$(QEMU_LIBS)' \ + $(TARGET_CONFIGURE_OPTS) \ + $(TARGET_CONFIGURE_ARGS) \ + $(QEMU_VARS) \ + ./configure \ + --prefix=/usr \ + --cross-prefix=$(TARGET_CROSS) \ + --with-system-pixman \ + --audio-drv-list= \ + --audio-card-list= \ + --enable-kvm \ + --enable-nptl \ + --enable-attr \ + --enable-vhost-net \ + --enable-system \ + --enable-linux-user \ + --disable-bsd-user \ + --disable-xen \ + --disable-slirp \ + --disable-sdl \ + --disable-vnc \ + --disable-virtfs \ + --disable-brlapi \ + --disable-curses \ + --disable-curl \ + --disable-fdt \ + --disable-bluez \ + --disable-guest-base \ + --disable-uuid \ + --disable-vde \ + --disable-linux-aio \ + --disable-cap-ng \ + --disable-docs \ + --disable-spice \ + --disable-rbd \ + --disable-libiscsi \ + --disable-usb-redir \ + --disable-smartcard \ + --disable-strip \ + --disable-seccomp \ + --disable-sparse \ + --disable-tools \ + $(QEMU_OPTS) \ + ) +endef + +define QEMU_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) +endef + +define QEMU_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(QEMU_MAKE_ENV) DESTDIR=$(TARGET_DIR) install +endef + +$(eval $(generic-package))