[OE-core] [PATCH 2/2] qemu: Make qemu buildable inside qemux86/qemuppc target

Richard Purdie richard.purdie at linuxfoundation.org
Mon Aug 15 14:25:49 UTC 2011


On Mon, 2011-08-15 at 20:40 +0800, edwin.zhai at intel.com wrote:
> From: Zhai Edwin <edwin.zhai at intel.com>
> 
> It requires libx11 and libGL(if enabled GL) for building, which introduce extra
> dependence in qemuppc target. Futhermore, qemu's GL code is x86-oriented, thus
> some hacks needed for building in qemupcc. For simplicity, just make qemu GL's
> code for native only, so that qemu building is okay in world build.
> 
> [YOCTO #1011] got fixed.
> 
> Signed-off-by: Zhai Edwin <edwin.zhai at intel.com>
> ---
>  meta/recipes-devtools/qemu/qemu.inc       |    5 ++---
>  meta/recipes-devtools/qemu/qemu_0.14.0.bb |   27 ++++++++++++++++++++++-----
>  2 files changed, 24 insertions(+), 8 deletions(-)
> 
> diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc
> index 85476d6..e5414ff 100644
> --- a/meta/recipes-devtools/qemu/qemu.inc
> +++ b/meta/recipes-devtools/qemu/qemu.inc
> @@ -1,7 +1,7 @@
>  DESCRIPTION = "open source processor emulator"
>  HOMEPAGE = "http://qemu.org"
>  LICENSE = "GPLv2 & LGPLv2.1"
> -DEPENDS = "zlib alsa-lib qemugl"
> +DEPENDS = "zlib alsa-lib virtual/libx11"
>  
>  # QEMU_TARGETS is overridable variable
>  QEMU_TARGETS ?= "arm i386 mips mipsel mips64 mips64el ppc sh4 x86_64"
> @@ -40,7 +40,7 @@ do_configure_prepend_virtclass-native() {
>  
>  do_configure() {
>      ${S}/configure --prefix=${prefix} --sysconfdir=${sysconfdir} --disable-strip ${EXTRA_OECONF}
> -    chmod a+x ${S}/target-i386/beginend_funcs.sh
> +    test ! -e ${S}/target-i386/beginend_funcs.sh || chmod a+x ${S}/target-i386/beginend_funcs.sh
>  }
>  
>  do_install () {
> @@ -50,7 +50,6 @@ do_install () {
>  	install -m 0755 ${WORKDIR}/powerpc_rom.bin ${D}${datadir}/qemu
>  }
>  
> -SRC_URI_append_virtclass-nativesdk = " file://glflags.patch"
>  DEPENDS_virtclass-native = "zlib-native alsa-lib-native"
>  DEPENDS_virtclass-nativesdk = "zlib-nativesdk libsdl-nativesdk qemugl-nativesdk"
>  RDEPENDS_virtclass-nativesdk = "libsdl-nativesdk"
> diff --git a/meta/recipes-devtools/qemu/qemu_0.14.0.bb b/meta/recipes-devtools/qemu/qemu_0.14.0.bb
> index de12f62..dc9b695 100644
> --- a/meta/recipes-devtools/qemu/qemu_0.14.0.bb
> +++ b/meta/recipes-devtools/qemu/qemu_0.14.0.bb
> @@ -11,22 +11,39 @@ FILESDIR = "${WORKDIR}"
>  SRC_URI = "\
>      http://download.savannah.gnu.org/releases/qemu/qemu-${PV}.tar.gz \
>      file://powerpc_rom.bin \
> -    file://qemu-git-qemugl-host.patch \
>      file://no-strip.patch \
> -    file://fix-nogl.patch \
> -    file://qemugl-allow-glxcontext-release.patch \
>      file://linker-flags.patch \
> -    file://init-info.patch \
>      file://qemu-vmware-vga-depth.patch \
> -    file://enable-i386-linux-user.patch \
>      file://fix-configure-checks.patch \
>      file://fallback-to-safe-mmap_min_addr.patch \
>      file://spice-qxl-locking-fix-for-qemu-kvm.patch \
>      file://Detect-and-use-GCC-atomic-builtins-for-locking.patch \
>      file://larger_default_ram_size.patch \
> +    "
> +
> +SRC_URI_append_virtclass-native = "\
> +    file://qemu-git-qemugl-host.patch \
> +    file://fix-nogl.patch \
> +    file://qemugl-allow-glxcontext-release.patch \
> +    file://init-info.patch \
> +    file://enable-i386-linux-user.patch \
>      file://qemugl-fix.patch \
>      file://opengl-sdl-fix.patch \
>      "
> +
> +SRC_URI_append_virtclass-nativesdk = "\
> +    file://qemu-git-qemugl-host.patch \
> +    file://fix-nogl.patch \
> +    file://qemugl-allow-glxcontext-release.patch \
> +    file://init-info.patch \
> +    file://enable-i386-linux-user.patch \
> +    file://qemugl-fix.patch \
> +    file://opengl-sdl-fix.patch \
> +    file://glflags.patch \
> +    "
> +
> +#SRC_URI_append_virtclass-nativesdk = " file://glflags.patch"
> +
>  SRC_URI[md5sum] = "f9d145d5c09de9f0984ffe9bd1229970"
>  SRC_URI[sha256sum] = "ba21e84d7853217830e167dae9999cdbff481189c6a0bb600ac7fb7201453108"

The patch is fine but could we change this to something like:

# Only use the GL passthrough patches for native/nativesdk versions
$QEMUGLPATCHES = "\
    file://qemu-git-qemugl-host.patch \
    file://fix-nogl.patch \
    file://qemugl-allow-glxcontext-release.patch \
    file://init-info.patch \
    file://enable-i386-linux-user.patch \
    file://qemugl-fix.patch \
    file://opengl-sdl-fix.patch \
    "

SRC_URI_append_virtclass-native = "\
    ${QEMUGLPATCHES} \
    "

SRC_URI_append_virtclass-nativesdk = "\
    ${QEMUGLPATCHES} \
    file://glflags.patch \
    "

which is just a little bit neater. Also, no need for the commented out
line.

Cheers,

Richard

 






More information about the Openembedded-core mailing list