Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 11/36] package/qemu: new package
Date: Tue, 14 Aug 2012 15:34:03 +0200	[thread overview]
Message-ID: <20120814153403.1673236e@skate> (raw)
In-Reply-To: <1344815664-28138-11-git-send-email-yann.morin.1998@free.fr>

Le Mon, 13 Aug 2012 01:53:59 +0200,
"Yann E. MORIN" <yann.morin.1998@free.fr> a ?crit :

> new file mode 100644
> index 0000000..a77d863
> --- /dev/null
> +++ b/package/qemu/Config.in
> @@ -0,0 +1,24 @@
> +config BR2_PACKAGE_QEMU
> +	bool "QEMU"

Just curious, what's the use case for Qemu on the target? I would have
seen Qemu as something useful on the host, but on the target?

> +	depends on BR2_PACKAGE_PYTHON       # We only need host-python,
> +	                                    # but there's no way to say so.

Doh? You just need to do:

QEMU_DEPENDENCIES += host-python

and that's it.

> +	select BR2_PACKAGE_ZLIB
> +	select BR2_PACKAGE_LIBGLIB2
> +	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/
> +
> +comment "QEMU requires python"
> +	depends on !BR2_PACKAGE_PYTHON

You can drop this.

> diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
> new file mode 100644
> index 0000000..3825731
> --- /dev/null
> +++ b/package/qemu/qemu.mk
> @@ -0,0 +1,98 @@
> +#-----------------------------------------------------------------------------
> +# Package description
> +
> +QEMU_VERSION = 1.1.1-1
> +QEMU_SOURCE = qemu-$(QEMU_VERSION).tar.bz2
> +QEMU_SITE = http://wiki.qemu.org/download
> +QEMU_LICENSE = GPLv2 LGPLv2.1 MIT BSD-3c BSD-2c Others/BSD-1c
> +QEMU_LICENSE_FILES = COPYING COPYING.LIB
> +#?NOTE: there is no top-level license file for non-(L)GPL licenses;
> +#       the non-(L)GPL license texts are specified in the affected
> +#       individual source files.
> +
> +#-----------------------------------------------------------------------------
> +# Package unconditional configuration
> +
> +QEMU_DEPENDENCIES = zlib libglib2
> +
> +#-----------------------------------------------------------------------------
> +# Package conditional configuration
> +
> +# Need the LIBS variable because librt and libm are
> +# not automatically pulled. :-(
> +QEMU_LIBS = -lrt -lm
> +
> +QEMU_OPTS =
> +QEMU_VARS =
> +
> +#----------------------------------------------------------------------------
> +# Package build process
> +
> +# Note: although QEMU uses a ./configure script, it is not compatible with
> +#       the traditional autotools options (eg. --target et al.), so we can
> +#       not use the autotools-package infrastructure. So we have to use the
> +#       generic-package infra instead. Sigh... :-(
> +
> +define QEMU_CONFIGURE_CMDS
> +	( cd $(@D);                                 \
> +	    LIBS='$(QEMU_LIBS)'                     \
> +	    $(TARGET_CONFIGURE_OPTS)                \
> +	    $(TARGET_CONFIGURE_ARGS)                \
> +	    $(QEMU_VARS)                            \
> +	    ./configure                             \
> +	        --prefix=/usr                       \
> +	        --cross-prefix=$(TARGET_CROSS)      \
> +	        --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-guest-agent               \
> +	        --disable-smartcard                 \
> +	        --disable-strip                     \
> +	        $(QEMU_OPTS)                        \
> +	)
> +endef
> +
> +define QEMU_BUILD_CMDS
> +	$(MAKE) -C $(@D)
> +endef
> +
> +define QEMU_INSTALL_TARGET_CMDS
> +	$(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install
> +endef
> +
> +define QEMU_UNINSTALL_TARGET_CMDS
> +	@echo 'QEMU has no uninstall rule.'
> +	@false
> +endef

Just don't implement the UNINSTALL_TARGET_CMDS in this case.

Since quite some time, we're considering dropping the
UNINSTALL_TARGET_CMDS and CLEAN_CMDS altogether.

Best regards,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

  parent reply	other threads:[~2012-08-14 13:34 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-12 23:53 [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
2012-08-12 23:53 ` [Buildroot] [PATCH 02/36] package/sdl: add symlink to sdl-config Yann E. MORIN
2012-08-13 10:57   ` Thomas Petazzoni
2012-08-13 11:32     ` Yann E. MORIN
2012-08-28 23:09     ` Arnout Vandecappelle
2012-08-12 23:53 ` [Buildroot] [PATCH 03/36] package/libfdt: new package Yann E. MORIN
2012-08-14 13:23   ` Thomas Petazzoni
2012-08-14 16:51     ` Yann E. MORIN
2012-08-12 23:53 ` [Buildroot] [PATCH 04/36] package/vde2: " Yann E. MORIN
2012-08-14 13:24   ` Thomas Petazzoni
2012-08-14 16:57     ` Yann E. MORIN
2012-08-12 23:53 ` [Buildroot] [PATCH 05/36] package/libiscsi: " Yann E. MORIN
2012-08-17 11:14   ` Thomas Petazzoni
2012-08-17 12:29     ` Samuel Martin
2012-08-17 12:42       ` Thomas Petazzoni
2012-08-12 23:53 ` [Buildroot] [PATCH 06/36] package/usbredir: " Yann E. MORIN
2012-08-17 11:15   ` Thomas Petazzoni
2012-08-17 13:37     ` Yann E. MORIN
2012-08-17 13:48       ` Thomas Petazzoni
2012-08-12 23:53 ` [Buildroot] [PATCH 07/36] package/celt051: " Yann E. MORIN
2012-08-17 11:18   ` Thomas Petazzoni
2012-08-17 13:27     ` Yann E. MORIN
2012-08-17 13:50       ` Thomas Petazzoni
2012-08-17 14:35         ` Yann E. MORIN
2012-08-12 23:53 ` [Buildroot] [PATCH 08/36] package/python-pyparsing: " Yann E. MORIN
2012-08-17 11:19   ` Thomas Petazzoni
2012-08-12 23:53 ` [Buildroot] [PATCH 09/36] package/spice-protocol: " Yann E. MORIN
2012-08-17 11:20   ` Thomas Petazzoni
2012-08-12 23:53 ` [Buildroot] [PATCH 10/36] package/spice-server: " Yann E. MORIN
2012-08-17 11:22   ` Thomas Petazzoni
2012-08-17 13:38     ` Yann E. MORIN
2012-08-12 23:53 ` [Buildroot] [PATCH 11/36] package/qemu: " Yann E. MORIN
2012-08-13  6:52   ` Yann E. MORIN
2012-08-13  7:22   ` Diego Iastrubni
2012-08-13  7:46     ` Yann E. MORIN
2012-08-14 13:34   ` Thomas Petazzoni [this message]
2012-08-14 17:03     ` Yann E. MORIN
2012-08-17 11:26       ` Thomas Petazzoni
2012-08-17 13:32         ` Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 12/36] package/qemu: add basic target selection Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 13/36] package/qemu: add fine-grained " Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 14/36] package/qemu: add SDL frontends Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 15/36] package/qemu: add option to enable/disable the VNC frontend Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 16/36] package/qemu: add VNC jpeg and png compression Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 17/36] package/qemu: add VNC TLS-encryption Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 18/36] package/qemu: add option to not install blobs Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 19/36] package/qemu: add option to remove unwanted keymaps Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 20/36] package/qemu: add uuid support Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 21/36] package/qemu: add support for capabilities Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 22/36] package/qemu: add attr/xattr option Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 23/36] package/qemu: add support for virtfs Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 24/36] package/qemu: add support for cURL Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 25/36] package/qemu: enable use of the curses frontend Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 26/36] package/qemu: add BlueZ connectivity Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 27/36] package/qemu: add AIO support Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 28/36] package/qemu: add support for FDT Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 29/36] package/qemu: add support for VDE switches Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 30/36] package/qemu: add iSCSI support Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 31/36] package/qemu: add support for USB redirection Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 32/36] package/qemu: add support for Spice Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 33/36] package/qemu: option to build the docs Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 34/36] package/qemu: enable guest-base Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 35/36] package/qemu: move sub-options into a sub-menu Yann E. MORIN
2012-08-12 23:54 ` [Buildroot] [PATCH 36/36] package/qemu: enable a static build Yann E. MORIN
2012-08-13  0:00 ` [Buildroot] [PATCH 01/36] system/init: add option for no init system Yann E. MORIN
  -- strict thread matches above, loose matches on Subject: below --
2012-08-14 17:15 [Buildroot] [PATCH 11/36] package/qemu: new package Dmitry Golubovsky

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120814153403.1673236e@skate \
    --to=thomas.petazzoni@free-electrons.com \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox