* [PATCH 1/3] libsdl: support native compilation
@ 2015-10-19 14:17 Dmitry Eremin-Solenikov
2015-10-19 14:17 ` [PATCH 2/3] qemu: drop hooking of libsdl from the host Dmitry Eremin-Solenikov
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Dmitry Eremin-Solenikov @ 2015-10-19 14:17 UTC (permalink / raw)
To: openembedded-core
qemu-native can use SDL backend for graphical output. Currently it is
expected to use libsdl provided by the host. However this can lead to
library incompatibilities between host and target. Make libsdl recipe
support native compilation.
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
---
meta/recipes-graphics/libsdl/libsdl_1.2.15.bb | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/meta/recipes-graphics/libsdl/libsdl_1.2.15.bb b/meta/recipes-graphics/libsdl/libsdl_1.2.15.bb
index c0d5c6a..c9f3e00 100644
--- a/meta/recipes-graphics/libsdl/libsdl_1.2.15.bb
+++ b/meta/recipes-graphics/libsdl/libsdl_1.2.15.bb
@@ -17,6 +17,7 @@ DEPENDS = "${@bb.utils.contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxext libxrandr libxrender', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'libglu', '', d)} \
tslib"
+DEPENDS_class-native = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11-native libxrandr-native libxrender-native libxext-native', '', d)}"
DEPENDS_class-nativesdk = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/nativesdk-libx11 nativesdk-libxrandr nativesdk-libxrender nativesdk-libxext', '', d)}"
PR = "r3"
@@ -65,4 +66,4 @@ do_configure_prepend() {
export SYSROOT=$PKG_CONFIG_SYSROOT_DIR
}
-BBCLASSEXTEND = "nativesdk"
+BBCLASSEXTEND = "native nativesdk"
--
2.6.1
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH 2/3] qemu: drop hooking of libsdl from the host
2015-10-19 14:17 [PATCH 1/3] libsdl: support native compilation Dmitry Eremin-Solenikov
@ 2015-10-19 14:17 ` Dmitry Eremin-Solenikov
2015-10-19 14:17 ` [PATCH 3/3] local.conf.sample: stop adding libsdl-native to ASSUME_PROVIDED Dmitry Eremin-Solenikov
2015-10-19 14:44 ` [PATCH 1/3] libsdl: support native compilation Mark Hatle
2 siblings, 0 replies; 6+ messages in thread
From: Dmitry Eremin-Solenikov @ 2015-10-19 14:17 UTC (permalink / raw)
To: openembedded-core
Now as libsdl recipe provides libsdl-native, there is no need to hook in
extra library paths from host to compile qemu-native.
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
---
meta/recipes-devtools/qemu/qemu.inc | 8 --------
1 file changed, 8 deletions(-)
diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc
index abbace8..4320031 100644
--- a/meta/recipes-devtools/qemu/qemu.inc
+++ b/meta/recipes-devtools/qemu/qemu.inc
@@ -35,14 +35,6 @@ EXTRA_OECONF_class-nativesdk = "--target-list=${@get_qemu_target_list(d)} --disa
"
export LIBTOOL="${HOST_SYS}-libtool"
-do_configure_prepend_class-native() {
- # Append build host pkg-config paths for native target since the host may provide sdl
- BHOST_PKGCONFIG_PATH=$(PATH=/usr/bin:/bin pkg-config --variable pc_path pkg-config || echo "")
- if [ ! -z "$BHOST_PKGCONFIG_PATH" ]; then
- export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$BHOST_PKGCONFIG_PATH
- fi
-}
-
KVMENABLE = "--enable-kvm"
KVMENABLE_darwin = "--disable-kvm"
KVMENABLE_mingw32 = "--disable-kvm"
--
2.6.1
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH 3/3] local.conf.sample: stop adding libsdl-native to ASSUME_PROVIDED
2015-10-19 14:17 [PATCH 1/3] libsdl: support native compilation Dmitry Eremin-Solenikov
2015-10-19 14:17 ` [PATCH 2/3] qemu: drop hooking of libsdl from the host Dmitry Eremin-Solenikov
@ 2015-10-19 14:17 ` Dmitry Eremin-Solenikov
2015-10-19 14:44 ` [PATCH 1/3] libsdl: support native compilation Mark Hatle
2 siblings, 0 replies; 6+ messages in thread
From: Dmitry Eremin-Solenikov @ 2015-10-19 14:17 UTC (permalink / raw)
To: openembedded-core
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
---
meta/conf/local.conf.sample | 1 -
1 file changed, 1 deletion(-)
diff --git a/meta/conf/local.conf.sample b/meta/conf/local.conf.sample
index 3ae24ab..dfdb912 100644
--- a/meta/conf/local.conf.sample
+++ b/meta/conf/local.conf.sample
@@ -205,7 +205,6 @@ BB_DISKMON_DIRS = "\
# libsdl library available on your build system.
PACKAGECONFIG_append_pn-qemu-native = " sdl"
PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
-ASSUME_PROVIDED += "libsdl-native"
# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
--
2.6.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 1/3] libsdl: support native compilation
2015-10-19 14:17 [PATCH 1/3] libsdl: support native compilation Dmitry Eremin-Solenikov
2015-10-19 14:17 ` [PATCH 2/3] qemu: drop hooking of libsdl from the host Dmitry Eremin-Solenikov
2015-10-19 14:17 ` [PATCH 3/3] local.conf.sample: stop adding libsdl-native to ASSUME_PROVIDED Dmitry Eremin-Solenikov
@ 2015-10-19 14:44 ` Mark Hatle
2015-10-19 15:33 ` Richard Purdie
2015-10-22 13:28 ` Dmitry Eremin-Solenikov
2 siblings, 2 replies; 6+ messages in thread
From: Mark Hatle @ 2015-10-19 14:44 UTC (permalink / raw)
To: Dmitry Eremin-Solenikov, openembedded-core
On 10/19/15 9:17 AM, Dmitry Eremin-Solenikov wrote:
> qemu-native can use SDL backend for graphical output. Currently it is
> expected to use libsdl provided by the host. However this can lead to
> library incompatibilities between host and target. Make libsdl recipe
> support native compilation.
I don't object to the patch.. but we did have multiple problems in the past
where libsdl (native) did not work with the host systems X11 or what-ever.
Various failure conditions about not linking, linking to the wrong libsdl, or
execution failing are what made us prefer the host system's libsdl -- or simply
disabling libsdl altogether.
--Mark
> Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
> ---
> meta/recipes-graphics/libsdl/libsdl_1.2.15.bb | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/meta/recipes-graphics/libsdl/libsdl_1.2.15.bb b/meta/recipes-graphics/libsdl/libsdl_1.2.15.bb
> index c0d5c6a..c9f3e00 100644
> --- a/meta/recipes-graphics/libsdl/libsdl_1.2.15.bb
> +++ b/meta/recipes-graphics/libsdl/libsdl_1.2.15.bb
> @@ -17,6 +17,7 @@ DEPENDS = "${@bb.utils.contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d
> ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxext libxrandr libxrender', '', d)} \
> ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'libglu', '', d)} \
> tslib"
> +DEPENDS_class-native = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11-native libxrandr-native libxrender-native libxext-native', '', d)}"
> DEPENDS_class-nativesdk = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/nativesdk-libx11 nativesdk-libxrandr nativesdk-libxrender nativesdk-libxext', '', d)}"
>
> PR = "r3"
> @@ -65,4 +66,4 @@ do_configure_prepend() {
> export SYSROOT=$PKG_CONFIG_SYSROOT_DIR
> }
>
> -BBCLASSEXTEND = "nativesdk"
> +BBCLASSEXTEND = "native nativesdk"
>
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH 1/3] libsdl: support native compilation
2015-10-19 14:44 ` [PATCH 1/3] libsdl: support native compilation Mark Hatle
@ 2015-10-19 15:33 ` Richard Purdie
2015-10-22 13:28 ` Dmitry Eremin-Solenikov
1 sibling, 0 replies; 6+ messages in thread
From: Richard Purdie @ 2015-10-19 15:33 UTC (permalink / raw)
To: Mark Hatle; +Cc: openembedded-core
On Mon, 2015-10-19 at 09:44 -0500, Mark Hatle wrote:
> On 10/19/15 9:17 AM, Dmitry Eremin-Solenikov wrote:
> > qemu-native can use SDL backend for graphical output. Currently it is
> > expected to use libsdl provided by the host. However this can lead to
> > library incompatibilities between host and target. Make libsdl recipe
> > support native compilation.
>
> I don't object to the patch.. but we did have multiple problems in the past
> where libsdl (native) did not work with the host systems X11 or what-ever.
>
> Various failure conditions about not linking, linking to the wrong libsdl, or
> execution failing are what made us prefer the host system's libsdl -- or simply
> disabling libsdl altogether.
This is my big worry too. I remember a lot of problems trying to build a
libsdl that worked on all of the different linux distros someone might
run on. Previously we found that assuming a working libsdl or disabling
it was much easier.
How wide has the testing if this patch series been?
Cheers,
Richard
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/3] libsdl: support native compilation
2015-10-19 14:44 ` [PATCH 1/3] libsdl: support native compilation Mark Hatle
2015-10-19 15:33 ` Richard Purdie
@ 2015-10-22 13:28 ` Dmitry Eremin-Solenikov
1 sibling, 0 replies; 6+ messages in thread
From: Dmitry Eremin-Solenikov @ 2015-10-22 13:28 UTC (permalink / raw)
To: Mark Hatle; +Cc: Patches and discussions about the oe-core layer
Hello,
2015-10-19 17:44 GMT+03:00 Mark Hatle <mark.hatle@windriver.com>:
> On 10/19/15 9:17 AM, Dmitry Eremin-Solenikov wrote:
>> qemu-native can use SDL backend for graphical output. Currently it is
>> expected to use libsdl provided by the host. However this can lead to
>> library incompatibilities between host and target. Make libsdl recipe
>> support native compilation.
>
> I don't object to the patch.. but we did have multiple problems in the past
> where libsdl (native) did not work with the host systems X11 or what-ever.
>
> Various failure conditions about not linking, linking to the wrong libsdl, or
> execution failing are what made us prefer the host system's libsdl -- or simply
> disabling libsdl altogether.
The issue that get me to this patch was an issue with linking of qemu.
Debian provides versioned symbols in libdbus, OE does not. Libdbus
from sysroot overrode system one. So system libsdl which used system-wide
libpulse* (which expected libdbus with versioned symbols) could not be linked
to the qemu.
Richard: this was tested on my system only. If you don't want to break things
before release, what about merging them after next Yocto/OE-Core release?
>
> --Mark
>
>> Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
>> ---
>> meta/recipes-graphics/libsdl/libsdl_1.2.15.bb | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/meta/recipes-graphics/libsdl/libsdl_1.2.15.bb b/meta/recipes-graphics/libsdl/libsdl_1.2.15.bb
>> index c0d5c6a..c9f3e00 100644
>> --- a/meta/recipes-graphics/libsdl/libsdl_1.2.15.bb
>> +++ b/meta/recipes-graphics/libsdl/libsdl_1.2.15.bb
>> @@ -17,6 +17,7 @@ DEPENDS = "${@bb.utils.contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d
>> ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxext libxrandr libxrender', '', d)} \
>> ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'libglu', '', d)} \
>> tslib"
>> +DEPENDS_class-native = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11-native libxrandr-native libxrender-native libxext-native', '', d)}"
>> DEPENDS_class-nativesdk = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/nativesdk-libx11 nativesdk-libxrandr nativesdk-libxrender nativesdk-libxext', '', d)}"
>>
>> PR = "r3"
>> @@ -65,4 +66,4 @@ do_configure_prepend() {
>> export SYSROOT=$PKG_CONFIG_SYSROOT_DIR
>> }
>>
>> -BBCLASSEXTEND = "nativesdk"
>> +BBCLASSEXTEND = "native nativesdk"
>>
>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2015-10-22 13:28 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-19 14:17 [PATCH 1/3] libsdl: support native compilation Dmitry Eremin-Solenikov
2015-10-19 14:17 ` [PATCH 2/3] qemu: drop hooking of libsdl from the host Dmitry Eremin-Solenikov
2015-10-19 14:17 ` [PATCH 3/3] local.conf.sample: stop adding libsdl-native to ASSUME_PROVIDED Dmitry Eremin-Solenikov
2015-10-19 14:44 ` [PATCH 1/3] libsdl: support native compilation Mark Hatle
2015-10-19 15:33 ` Richard Purdie
2015-10-22 13:28 ` Dmitry Eremin-Solenikov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox