mirror of
https://git.yoctoproject.org/poky
synced 2026-07-27 07:27:12 +00:00
bd72322c2a
libsdl2 currently does not handle the failures that occur due to shared memory in case of remote hosts where it should ideally switch to socket based writing when a failure is seen with shared memory. Consider a scenario where a qemu build is done with graphics support on a build machine and then accessed remotely using ssh. If the remote host's X presents MIT-SHM as an extension, launching qemu fails with runqemu - ERROR - Failed to run qemu: X Error: BadValue Request Major code 130 (MIT-SHM) Request Minor code 3 () This is most often seen when the remote machine doing ssh is a Ubuntu 20.04. The libsdl2 native are mainly used for qemu at this time so it is a major usecase. A report of such a failure was also presented at https://lists.yoctoproject.org/g/poky/topic/78854857 (From OE-Core rev: d12306a6331238a25db52816ad74a775c026d7da) Signed-off-by: Awais Belal <awais_belal@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
82 lines
3.5 KiB
BlitzBasic
82 lines
3.5 KiB
BlitzBasic
SUMMARY = "Simple DirectMedia Layer"
|
|
DESCRIPTION = "Simple DirectMedia Layer is a cross-platform multimedia \
|
|
library designed to provide low level access to audio, keyboard, mouse, \
|
|
joystick, 3D hardware via OpenGL, and 2D video framebuffer."
|
|
HOMEPAGE = "http://www.libsdl.org"
|
|
BUGTRACKER = "http://bugzilla.libsdl.org/"
|
|
|
|
SECTION = "libs"
|
|
|
|
LICENSE = "Zlib"
|
|
LIC_FILES_CHKSUM = "file://COPYING.txt;md5=2d4af6adb4d89aad0cdedbcc18c9a32f"
|
|
|
|
# arm-neon adds MIT license
|
|
LICENSE_append = " ${@bb.utils.contains('PACKAGECONFIG', 'arm-neon', '& MIT', '', d)}"
|
|
LIC_FILES_CHKSUM_append = " ${@bb.utils.contains('PACKAGECONFIG', 'arm-neon', 'file://src/video/arm/pixman-arm-neon-asm.h;md5=9a9cc1e51abbf1da58f4d9528ec9d49b;beginline=1;endline=24', '', d)}"
|
|
|
|
PROVIDES = "virtual/libsdl2"
|
|
|
|
SRC_URI = "http://www.libsdl.org/release/SDL2-${PV}.tar.gz \
|
|
file://more-gen-depends.patch \
|
|
"
|
|
|
|
S = "${WORKDIR}/SDL2-${PV}"
|
|
|
|
SRC_URI[sha256sum] = "d8215b571a581be1332d2106f8036fcb03d12a70bae01e20f424976d275432bc"
|
|
|
|
inherit autotools lib_package binconfig-disabled pkgconfig
|
|
|
|
BINCONFIG = "${bindir}/sdl2-config"
|
|
|
|
CVE_PRODUCT = "simple_directmedia_layer sdl"
|
|
|
|
EXTRA_OECONF = "--disable-oss --disable-esd --disable-arts \
|
|
--disable-diskaudio --disable-nas --disable-esd-shared --disable-esdtest \
|
|
--disable-video-dummy \
|
|
--disable-video-rpi \
|
|
--enable-pthreads \
|
|
--enable-sdl-dlopen \
|
|
--disable-rpath \
|
|
--disable-sndio \
|
|
--disable-fcitx --disable-ibus \
|
|
"
|
|
|
|
# opengl packageconfig factored out to make it easy for distros
|
|
# and BSP layers to pick either (desktop) opengl, gles2, or no GL
|
|
PACKAGECONFIG_GL ?= "${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)}"
|
|
|
|
PACKAGECONFIG_class-native = "x11 ${PACKAGECONFIG_GL}"
|
|
PACKAGECONFIG_class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} ${PACKAGECONFIG_GL}"
|
|
PACKAGECONFIG ??= " \
|
|
${PACKAGECONFIG_GL} \
|
|
${@bb.utils.filter('DISTRO_FEATURES', 'alsa directfb pulseaudio x11', d)} \
|
|
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland gles2', '', d)} \
|
|
${@bb.utils.contains("TUNE_FEATURES", "neon","arm-neon","",d)} \
|
|
"
|
|
PACKAGECONFIG[alsa] = "--enable-alsa --disable-alsatest,--disable-alsa,alsa-lib,"
|
|
PACKAGECONFIG[arm-neon] = "--enable-arm-neon,--disable-arm-neon"
|
|
PACKAGECONFIG[directfb] = "--enable-video-directfb,--disable-video-directfb,directfb,directfb"
|
|
PACKAGECONFIG[gles2] = "--enable-video-opengles,--disable-video-opengles,virtual/libgles2"
|
|
PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack"
|
|
PACKAGECONFIG[kmsdrm] = "--enable-video-kmsdrm,--disable-video-kmsdrm,libdrm virtual/libgbm"
|
|
PACKAGECONFIG[opengl] = "--enable-video-opengl,--disable-video-opengl,virtual/libgl"
|
|
PACKAGECONFIG[pulseaudio] = "--enable-pulseaudio,--disable-pulseaudio,pulseaudio"
|
|
PACKAGECONFIG[wayland] = "--enable-video-wayland,--disable-video-wayland,wayland-native wayland wayland-protocols libxkbcommon"
|
|
PACKAGECONFIG[x11] = "--enable-video-x11,--disable-video-x11,virtual/libx11 libxext libxrandr libxrender"
|
|
|
|
EXTRA_AUTORECONF += "--include=acinclude --exclude=autoheader"
|
|
CFLAGS_append_class-native = " -DNO_SHARED_MEMORY"
|
|
|
|
do_configure_prepend() {
|
|
# Remove old libtool macros.
|
|
MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4"
|
|
for i in ${MACROS}; do
|
|
rm -f ${S}/acinclude/$i
|
|
done
|
|
export SYSROOT=$PKG_CONFIG_SYSROOT_DIR
|
|
}
|
|
|
|
FILES_${PN}-dev += "${libdir}/cmake"
|
|
|
|
BBCLASSEXTEND = "native nativesdk"
|