[OE-core] [PATCH v2] qemu: Enabled SDL when compiling for target architecture

Saul Wold sgw at linux.intel.com
Wed Feb 13 22:31:22 UTC 2013


On 02/13/2013 05:28 AM, Mihai Prica wrote:
> - enables qemu to run images with video output without the need for vncviewer.
> - SDLPACKAGECONFIG is used because there is no need for the native-libsdl
> package when building the qemu-native package.
>
> Signed-off-by: Mihai Prica <mihai.prica at intel.com>
> ---
>   meta/recipes-devtools/qemu/qemu.inc |   19 +++++++++++--------
>   1 file changed, 11 insertions(+), 8 deletions(-)
>
> diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc
> index 6c44b31..68114c5 100644
> --- a/meta/recipes-devtools/qemu/qemu.inc
> +++ b/meta/recipes-devtools/qemu/qemu.inc
> @@ -3,8 +3,7 @@ HOMEPAGE = "http://qemu.org"
>   LICENSE = "GPLv2 & LGPLv2.1"
>   DEPENDS = "glib-2.0 zlib alsa-lib virtual/libx11 pixman"
>   DEPENDS_class-native = "zlib-native alsa-lib-native glib-2.0-native pixman-native"
> -DEPENDS_class-nativesdk = "nativesdk-zlib nativesdk-libsdl nativesdk-glib-2.0 nativesdk-pixman"
> -RDEPENDS_${PN}_class-nativesdk = "nativesdk-libsdl"
> +DEPENDS_class-nativesdk = "nativesdk-zlib nativesdk-glib-2.0 nativesdk-pixman"
>
>   require qemu-targets.inc
>   inherit autotools
> @@ -13,10 +12,6 @@ BBCLASSEXTEND = "native nativesdk"
>   # QEMU_TARGETS is overridable variable
>   QEMU_TARGETS ?= "arm i386 mips mipsel mips64 mips64el ppc sh4 x86_64"
>
> -SDL ?= "--disable-sdl"
> -SDL_class-native ?= ""
> -SDL_class-nativesdk ?= ""
> -
>   SRC_URI = "\
>       file://powerpc_rom.bin \
>       file://no-strip.patch \
> @@ -32,7 +27,7 @@ SRC_URI_append_class-nativesdk = "\
>       file://relocatable_sdk.patch \
>       "
>
> -EXTRA_OECONF += "--target-list=${@get_qemu_target_list(d)} --disable-werror --disable-vnc-tls --audio-drv-list=oss,alsa --audio-card-list=ac97,es1370 ${SDL} --disable-curl --disable-vnc-jpeg --disable-bluez --with-system-pixman --disable-smartcard"
> +EXTRA_OECONF += "--target-list=${@get_qemu_target_list(d)} --disable-werror --disable-vnc-tls --audio-drv-list=oss,alsa --audio-card-list=ac97,es1370 --disable-curl --disable-vnc-jpeg --disable-bluez --with-system-pixman --disable-smartcard"
>
>   EXTRA_OECONF_class-nativesdk = "--target-list=${@get_qemu_target_list(d)} --disable-werror --disable-vnc-tls \
>   				--disable-curl \
> @@ -83,7 +78,15 @@ do_install_append() {
>   }
>   # END of qemu-mips workaround
>
> -PACKAGECONFIG ??= ""
> +PACKAGECONFIG ??= "sdl"
> +PACKAGECONFIG_class-native ??= "sdl"
> +PACKAGECONFIG_class-nativesdk ??= "sdl"
> +
> +SDLPACKAGECONFIG = "libsdl"
> +SDLPACKAGECONFIG_class-native = ""
> +SDLPACKAGECONFIG_class-nativesdk = "nativesdk-libsdl"
> +
> +PACKAGECONFIG[sdl] = ",--disable-sdl,${SDLPACKAGECONFIG},${SDLPACKAGECONFIG}"

Mihai,

I think I understand what you are trying to do with the above, you want 
the configure process to auto-detect when libsdl exists on the host and 
have RDEPENDS on the target and nativesdk so that it will auto-detect 
and enable SDL for target and nativesdk.  This could still cause 
problems if the build order is wrong (ie target libsdl does not get 
built until after target qemu, then target qemu will have SDL disabled). 
This can cause inconsistencies and non-reproducible builds.

This is a case where it might be simpler to have the ${SDL} above but 
fix it to be enabled for the target and nativesdk, but leave it 
auto-detect the host libsdl.

Sau!

>
>   # Qemu target will not build in world build for ARM or Mips
>   BROKEN_qemuarm = "1"
>




More information about the Openembedded-core mailing list