summaryrefslogtreecommitdiffstats
path: root/meta/recipes-graphics/libsdl2
Commit message (Collapse)AuthorAgeFilesLines
* libsdl2: upgrade 2.0.18 -> 2.0.20wangmy2022-01-182-49/+3
| | | | | | | | | | | | | | | | | | | | | | | | | 0001-Fix-build-against-wayland-1.20.patch removed since it is included in 2.0.20 License-Update: year updated to 2022. Changelog: ========= General: SDL_RenderGeometryRaw() takes a pointer to SDL_Color, not int. You can cast color data in SDL_PIXELFORMAT_RGBA32 format (SDL_PIXELFORMAT_ABGR8888 on little endian systems) for this parameter. Improved accuracy of horizontal and vertical line drawing when using OpenGL or OpenGLES Added the hint SDL_HINT_RENDER_LINE_METHOD to control the method of line drawing used, to select speed, correctness, and compatibility. Fixed hotplug controller detection, broken in 2.0.18 (From OE-Core rev: 21de64185beb799aee04dc12ae84e3a60cc671a3) Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: fix build if egl.pc sets macros in cflagsMax Krummenacher2022-01-122-0/+47
| | | | | | | (From OE-Core rev: 59b583fa3f10fd82d11ccc5811c61a4ff8f14de6) Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: Fix build when libunwind is not usedKhem Raj2022-01-082-0/+19
| | | | | | | | | | | | | | | clang provides libunwind.h and cmake adds a check to find libunwind when this header is detected, which was not the case with automake. The check however is expecting specific unwinder implementation which provides libunwind-generic solib, this is not a standard library that all implementations will provide, therefore make this check optional. (From OE-Core rev: fb450807774d100b9b568364b014ac46f5642b7e) Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Andreas Müller <schnitzeltony@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: Fix X11 configure optionsRichard Purdie2022-01-071-1/+10
| | | | | | | | | | | | | | We're seeing various failures where the X11 headers are found on the native system but not all libraries are present and hence autoconfiguration of the X11 subcomponents fails. We don't list any of these X11 subcomponents as a dependency so disable them by default. Configuration and dependencies can be added if people need them. (From OE-Core rev: f30ebc0b82b10f56f250a3a9c4f1f2fe9fb281b3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: Move to CMake buildAndreas Müller2022-01-072-90/+18
| | | | | | | (From OE-Core rev: c00f79c2f1b8a939e9a19e641c49aa759dd3a342) Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wayland: upgrade 1.19.0 -> 1.20.0Denys Dmytriyenko2022-01-052-0/+46
| | | | | | | | | | | | | | | | | | | | | | | | | Wayland 1.20.0 is released! This release contains the following major changes: - FreeBSD support has been entirely upstreamed and has been added to our continuous integration system. - The autotools build system has been dropped. Meson has replaced it. - A few protocol additions: wl_surface.offset allows clients to update a surface's buffer offset independently from the buffer, wl_output.name and description allow clients to identify outputs without depending on xdg-output-unstable-v1. - In protocol definitions, events have a new "type" attribute and can now be marked as destructors. - A number of bug fixes, including a race condition when destroying proxies in multi-threaded clients. Also backport libsdl2 patch to fix building against wayland-1.20.0 (From OE-Core rev: d81c8d137895e1fb70bb56c61d53502670d7bc43) Signed-off-by: Denys Dmytriyenko <denis@denix.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: update 2.0.16 -> 2.0.18Alexander Kanavin2021-12-171-2/+1
| | | | | | | | | sdl-dlopen option is no longer supported. (From OE-Core rev: 202c138a9b6905440deb2f86a3b650ae79da1bcd) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: update 2.0.14 -> 2.0.16Alexander Kanavin2021-08-231-2/+2
| | | | | | | | License-Update: formatting (From OE-Core rev: a120618320292e3e8b8df416617c12d3151e27da) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Convert to new override syntaxRichard Purdie2021-08-021-6/+6
| | | | | | | | | | | | This is the result of automated script conversion: scripts/contrib/convert-overrides.py <oe-core directory> converting the metadata to use ":" as the override character instead of "_". (From OE-Core rev: 42344347be29f0997cc2f7636d9603b1fe1875ae) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: remove redundant ${libdir}/cmake from FILES_${PN}-devRoss Burton2021-07-191-2/+0
| | | | | | | | | | | | Since oe-core 543e39ad "bitbake.conf: handle cmake -dev files packaging with default rules" (June 2018) there's no need for recipes to add ${libdir}/cmake or ${datadir}/cmake to FILES_${PN}-dev themselves. (From OE-Core rev: e6f62b8e639a79626d95568c070a410c24bce25e) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: disable shared memory for native buildsAwais Belal2021-03-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* libsdl2: upgrade to 2.0.14Yann Dirson2021-02-053-87/+1
| | | | | | | | | | | This version does not support tslib any more, as can be seen by the failed AUH run. Originally-by: Romain Roffé <romain.roffe@blade-group.com> (From OE-Core rev: 5b54e97594ab021a73d3225ed42dac0dfaf3fc15) Signed-off-by: Yann Dirson <yann@blade-group.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: Add directfb to PACKAGECONFIG rdependsMark Jonas2020-11-291-1/+1
| | | | | | | | | | | | | | PACKAGECONFIG[directfb] already adds directfb to the build dependencies. But the automatically generated runtime dependencies do not add the directfb package to the runtime dependencies. Most likely this happens because libsdl2 does not link against directfb but uses dlopen() or similar. Thus, the runtime dependency to directfb needs to be declared explicitly. (From OE-Core rev: 62d3cbe7c8261c1c875ff6da11572409262aaf02) Signed-off-by: Mark Jonas <toertel@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: Disable video-rpiRandy MacLeod2020-11-131-0/+1
| | | | | | | | | | | | | | | | | When building on Raspbery Pi OS/64-bit, libsdl2 fails with the error: .../tmp/work/aarch64-linux/libsdl2-native/2.9.12-r0/SDL2-2.0.12/src/video/raspberry/SDL.rpivideo.h:47:5: error: unknown type name 'EGL_DISPMANX_WINDOW_T' EGL_DISPMANX_WINDOW_T dispman_window; Disable video-rpi to avoid the problem since video suppport is not needed for rpi and this configuration option is harmless when building on x86-64 hosts. (From OE-Core rev: 51009ed1b88aa391aae819fd800b907badc2be8c) Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: Fix directfb SDL_RenderFillRectMark Jonas2020-11-032-0/+34
| | | | | | | | | | Refactoring of SDL2 internal API has broken SDL_RenderFillRect for DirectFB. The problem has already been fixed upstream. (From OE-Core rev: a7c8dfc1f9beebeb9da7f61b323d85fba82ec1cb) Signed-off-by: Mark Jonas <toertel@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: Fix directfb syntax errorMark Jonas2020-11-032-0/+50
| | | | | | | | | | Build of libsdl2 with directfb is broken due to a spurious '}' and a missing 'E' since version 2.0.12. The upstream is already fixed. (From OE-Core rev: 8963daba093c3c5e2c60e1e4e057862971b84cb0) Signed-off-by: Mark Jonas <toertel@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: enable opengl option for native/nativesdk, subject to 'opengl' in ↵Alexander Kanavin2020-05-271-2/+2
| | | | | | | | | | | DISTRO_FEATURES This allows virgl support in qemu with the SDL frontend (From OE-Core rev: 0e0113c350e599f4da00eda384570e0db04f3b5d) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: upgrade 2.0.10 -> 2.0.12Andreas Müller2020-03-134-134/+9
| | | | | | | | | | | | * checked all hunks: backported patches can go * for machines with neon in TUNE_FEATURES enable new configure option --enable-arm-neon. If enabled, license must be extended to MIT * license checksum changed by copyright year (From OE-Core rev: aaa1c3ee0fe782fb08a58f100bc04686824de815) Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: fix failure appeared in bitbake libsdl2-nativeYanfei Xu2019-12-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When you bitbake libsdl2-native and your host had installed fcitx or ibus, it may cause you bitbake failed in do_compile. Disable fcitx and ibus check with EXTRA_OECONF in bb file. -------------snip--------------------- CC build/SDL_sysfilesystem.lo CC build/SDL_syshaptic.lo CC build/SDL_systimer.lo /poky/build/tmp/work/x86_64-linux/libsdl2-native/2.0.10-r0/SDL2-2.0.10/src/core/linux/SDL_fcitx.c:52:5: error: unknown type name ‘SDL_DBusContext’ SDL_DBusContext *dbus; ^~~~~~~~~~~~~~~ /poky/build/tmp/work/x86_64-linux/libsdl2-native/2.0.10-r0/SDL2-2.0.10/src/core/linux/SDL_fcitx.c:121:8: error: unknown type name ‘DBusHandlerResult’ static DBusHandlerResult ^~~~~~~~~~~~~~~~~ /poky/build/tmp/work/x86_64-linux/libsdl2-native/2.0.10-r0/SDL2-2.0.10/src/core/linux/SDL_fcitx.c:122:20: error: unknown type name ‘DBusConnection’; ------------snip---------------------- (From OE-Core rev: eb286172e413e9d6449dc13ccec1b78c04481eb5) Signed-off-by: Yanfei Xu <yanfei.xu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: fix race when building in parallelAnuj Mittal2019-11-142-0/+54
| | | | | | | | | | | | | | | | | | | | | | | Fixes a race where it tries to build version res file in build directory before it has even been created. Prevents intermittent errors on autobuilder when building for mingw: | /bin/bash ../SDL2-2.0.10/build-scripts/updaterev.sh | /bin/bash ../SDL2-2.0.10/build-scripts/mkinstalldirs build | mkdir -p -- build | x86_64-pokysdk-mingw32-windres --include-dir=/home/pokybuild/yocto-worker/meta-mingw/build/build/tmp/work/x86_64-nativesdk-mingw32-pokysdk-mingw32/nativesdk-libsdl2/2.0.10-r0/recipe-sysroot/opt/poky/3.0/sysroots/x86_64-pokysdk-mingw32/us | /include ../SDL2-2.0.10/src/main/windows/version.rc build/version.o | x86_64-pokysdk-mingw32-windres: build/version.o: No such file or directory | Makefile:692: recipe for target 'build/version.o' failed | make: *** [build/version.o] Error 1 | make: *** Waiting for unfinished jobs.... | touch build/.created | WARNING: exit code 1 from a shell command. (From OE-Core rev: 1cb3c64b70e0b16aabd2fe9cd6012564165ac476) Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: Fix build failure when using mesa 19.2.1Alistair Francis2019-10-312-0/+42
| | | | | | | | (From OE-Core rev: e5dfed5771f3e988feb1b8744d191ffd742ad2fc) Signed-off-by: Alistair Francis <alistair.francis@wdc.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: fix CVE-2019-13616Yi Zhao2019-10-192-0/+35
| | | | | | | | | | | | | Reference: https://nvd.nist.gov/vuln/detail/CVE-2019-13616 Patch from: https://hg.libsdl.org/SDL/rev/e7ba650a643a (From OE-Core rev: 70b9cdf86b9c5ed14937500619387a890a57ef20) Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: upgrade 2.0.9 -> 2.0.10Anuj Mittal2019-07-312-15/+28
| | | | | | | | | | | License-Update: Change in Copyright Year. Refresh the patch to apply on configure.ac instead of .in. (From OE-Core rev: f00b9aad7c3e2e1ec41597539c4fe2307043b6cf) Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: use binconfig-disabledRoss Burton2019-06-191-1/+3
| | | | | | | | | | Just like libsdl, we can rip out the sdl2-config script from the sysroot as pkg-config is preferrable. (From OE-Core rev: 8d93fc236a72cb1bb0e713c4fc5b73e65ede6f53) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl: set CVE_PRODUCTChen Qi2019-04-301-0/+2
| | | | | | | (From OE-Core rev: 1f0cca19014fef24a359d400c96d178463b2760f) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: Add packageconfigs jack & kmsdrmAndreas Müller2019-02-121-0/+2
| | | | | | | (From OE-Core rev: 680ad16dd5f7bb131cf226897c18eb3ed748cb6c) Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: upgrade 2.0.8 -> 2.0.9Yi Zhao2019-01-112-144/+2
| | | | | | | | | | Drop 0001-GLES2-Get-sin-cos-out-of-vertex-shader.patch as it had been merged upstream. (From OE-Core rev: b46dbcad31c990b5556d61357e0a976948a5dede) Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: disable sndio explicitly to avoid inconsistent resultChen Qi2018-10-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Explicitly disable sndio to avoid inconsistent result on different hosts having or not having libsndio. This must be done if we take into consideration of eSDK. I built eSDK on Ubuntu 14.04 which has libsndio installed, and then installed the eSDK on Fedora 27, which does not have libsndio. In fact, on Fedora 27, I even cannot find libsndio in its repo. The problem happens when trying to use `devtool runqemu'. The qemu binary built on Ubuntu 14.04 needs to link to libsndio, and thus the following error. runqemu - ERROR - Failed to run qemu: /path/to/qemu-system-x86_64: error while loading shared libraries: libsndio.so.6.1: cannot open shared object file: No such file or directory So explicitly disable sndio for libsdl2 to avoid the above problem. (From OE-Core rev: 72c37b06b034e97e7dd7e1a20fb0ff5f96088440) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: Fix left rotated display for RaspPi/VC4/GLES2Andreas Müller2018-09-042-0/+142
| | | | | | | | | The patch should increase performance for libsdl2 on GLES2 too. (From OE-Core rev: 52f9659f2bb44affec2f67935df01f13b6ff3e02) Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: fix build raceRoss Burton2018-06-292-2/+49
| | | | | | | | | | | | | There's an occasional build race from headers being generated in parallel with other files which include the headers being compiled. Solve this by adding more dependencies. [ YOCTO #12815 ] (From OE-Core rev: 177f4782e1ffca1eed3c9b102d910239a3dceea4) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: remove redundant DEPENDSRoss Burton2018-05-221-2/+0
| | | | | | | | | | These dependencies are in the x11 PACKAGECONFIG and will magically transform for nativesdk builds. (From OE-Core rev: 5e55efce4f7ecb3fcb219a15dcbc031f0f233cb1) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: allow to build native and nativesdkMartin Jansa2018-05-221-0/+4
| | | | | | | | | * enable x11 in native builds (From OE-Core rev: cff055403eab8112ef76cd6331682447bcddf760) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: Upgrade 2.0.7 -> 2.0.8Khem Raj2018-03-061-3/+3
| | | | | | | | | | | License checksum changed due to copyright year changes see commit https://github.com/SDL-mirror/SDL/commit/a9072159b2afff5a338804781312067f0a174c3c#diff-21c55fa400e4d25aed3a755371e32151 (From OE-Core rev: 09e29d744af0f325fcabd44e15b4f30908d4bd00) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: 2.0.5 -> 2.0.7Robert Yang2017-11-213-101/+3
| | | | | | | | | | | | * Drop linkage.patch, this version already links .lo object. * Remove backported patch fix-build-failure-on-ppc.patch * Update LIC_FILES_CHKSUM since the year is changed. (From OE-Core rev: 2702506f48a1b7e72e1786d24bd0113396dbc85d) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wayland: Fix installation patch issueFabien Lahoudere2017-11-073-68/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch modify the way we manage wayland path issues. Instead of patching each recipe to make it work with wayland and its protocols, it is better to patch wayland to fix its path issues. So wayland-scanner.pc, wayland-client.pc and wayland-protocols.pc are patched to change paths. Then we can drop the following workaround: WAYLAND_PROTOCOLS_SYSROOT_DIR=${RECIPE_SYSROOT} in: - gtk+3 - libsdl2 - xserver-xorg - gstreamer1.0-plugins-bad - weston-2.0.0 We also dropped libsdl2 patches which fix wayland paths. (From OE-Core rev: 14c0d992152ce27ee616558cafb408ed008d936e) Signed-off-by: Fabien Lahoudere <fabien.lahoudere@collabora.co.uk> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: fix build failures on powerpcKai Kang2017-04-202-0/+51
| | | | | | | | | | Backport patch from upstream to fix build failures on ppc and ppc64. (From OE-Core rev: 705669f8221027b525773a512beb25a7ea5f0275) Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipes: Make use of the new bb.utils.filter() functionPeter Kjellerstedt2017-03-011-5/+2
| | | | | | | (From OE-Core rev: 0a1427bf9aeeda6bee2cc0af8da4ea5fd90aef6f) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Switch to Recipe Specific SysrootsRichard Purdie2017-01-231-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is comparatively large and invasive. It does only do one thing, switching the system to build using recipe specific sysroots and where changes could be isolated from it, that has been done. With the current single sysroot approach, its possible for software to find things which aren't in their dependencies. This leads to a determinism problem and is a growing issue in several of the market segments where OE makes sense. The way to solve this problem for OE is to have seperate sysroots for each recipe and these will only contain the dependencies for that recipe. Its worth noting that this is not task specific sysroots and that OE's dependencies do vary enormously by task. This did result in some implementation challenges. There is nothing stopping the implementation of task specific sysroots at some later point based on this work but that as deemed a bridge too far right now. Implementation details: * Rather than installing the sysroot artefacts into a combined sysroots, they are now placed in TMPDIR/sysroot-components/PACKAGE_ARCH/PN. * WORKDIR/recipe-sysroot and WORKDIR/recipe-sysroot-native are built by hardlinking in files from the sysroot-component trees. These new directories are known as RECIPE_SYSROOT and RECIPE_SYSROOT_NATIVE. * This construction is primarily done by a new do_prepare_recipe_sysroot task which runs before do_configure and consists of a call to the extend_recipe_sysroot function. * Other tasks need things in the sysroot before/after this, e.g. do_patch needs quilt-native and do_package_write_deb needs dpkg-native. The code therefore inspects the dependencies for each task and adds extend_recipe_sysroot as a prefunc if it has populate_sysroot dependencies. * We have to do a search/replace 'fixme' operation on the files installed into the sysroot to change hardcoded paths into the correct ones. We create a fixmepath file in the component directory which lists the files which need this operation. * Some files have "postinstall" commands which need to run against them, e.g. gdk-pixbuf each time a new loader is added. These are handled by adding files in bindir with the name prefixed by "postinst-" and are run in each sysroot as its created if they're present. This did mean most sstate postinstalls have to be rewritten but there shouldn't be many of them. * Since a recipe can have multiple tasks and these tasks can run against each other at the same time we have to have a lock when we perform write operations against the sysroot. We also have to maintain manifests of what we install against a task checksum of the dependency. If the checksum changes, we remove its files and then add the new ones. * The autotools logic for filtering the view of m4 files is no longer needed (and was the model for the way extend_recipe_sysroot works). * For autotools, we used to build a combined m4 macros directory which had both the native and target m4 files. We can no longer do this so we use the target sysroot as the default and add the native sysroot as an extra backup include path. If we don't do this, we'd have to build target pkg-config before we could built anything using pkg-config for example (ditto gettext). Such dependencies would be painful so we haven't required that. * PKDDATA_DIR was moved out the sysroot and works as before using sstate to build a hybrid copy for each machine. The paths therefore changed, the behaviour did not. * The ccache class had to be reworked to function with rss. * The TCBOOTSTRAP sysroot for compiler bootstrap is no longer needed but the -initial data does have to be filtered out from the main recipe sysroots. Putting "-initial" in a normal recipe name therefore remains a bad idea. * The logic in insane needed tweaks to deal with the new path layout, as did the debug source file extraction code in package.bbclass. * The logic in sstate.bbclass had to be rewritten since it previously only performed search and replace on extracted sstate and we now need this to happen even if the compiled path was "correct". This in theory could cause a mild performance issue but since the sysroot data was the main data that needed this and we'd have to do it there regardless with rss, I've opted just to change the way the class for everything. The built output used to build the sstate output is now retained and installed rather than deleted. * The search and replace logic used in sstate objects also seemed weak/incorrect and didn't hold up against testing. This has been rewritten too. There are some assumptions made about paths, we save the 'proper' search and replace operations to fixmepath.cmd but then ignore this. What is here works but is a little hardcoded and an area for future improvement. * In order to work with eSDK we need a way to build something that looks like the old style sysroot. "bitbake build-sysroots" will construct such a sysroot based on everything in the components directory that matches the current MACHINE. It will allow transition of external tools and can built target or native variants or both. It also supports a clean task. I'd suggest not relying on this for anything other than transitional purposes though. To see XXX in that sysroot, you'd have to have built that in a previous bitbake invocation. * pseudo is run out of its components directory. This is fine as its statically linked. * The hacks for wayland to see allarch dependencies in the multilib case are no longer needed and can be dropped. * wic needed more extensive changes to work with rss and the fixes are in a separate commit series * Various oe-selftest tweaks were needed since tests did assume the location to binaries and the combined sysroot in several cases. * Most missing dependencies this work found have been sent out as separate patches as they were found but a few tweaks are still included here. * A late addition is that extend_recipe_sysroot became multilib aware and able to populate multilib sysroots. I had hoped not to have to add that complexity but the meta-environment recipe forced my hand. That implementation can probably be neater but this is on the list of things to cleanup later at this point. In summary, the impact people will likely see after this change: * Recipes may fail with missing dependencies, particularly native tools like gettext-native, glib-2.0-native and libxml2.0-native. Some hosts have these installed and will mask these errors * Any recipe/class using SSTATEPOSTINSTFUNCS will need that code rewriting into a postinst * There was a separate patch series dealing with roots postinst native dependency issues. Any postinst which expects native tools at rootfs time will need to mark that dependency with PACKAGE_WRITE_DEPS. There could well be other issues. This has been tested repeatedly against our autobuilders and oe-selftest and issues found have been fixed. We believe at least OE-Core is in good shape but that doesn't mean we've found all the issues. Also, the logging is a bit chatty at the moment. It does help if something goes wrong and goes to the task logfiles, not the console so I've intentionally left this like that for now. We can turn it down easily enough in due course. (From OE-Core rev: 809746f56df4b91af014bf6a3f28997d6698ac78) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: fix build on wayland(-dev)less hostsAndreas Müller2016-12-163-3/+37
| | | | | | | | | | | * add sysroot prefix to wayland core protocols * do not use pkg-config to find wayland-scanner (From OE-Core rev: a8e7c5b415b99973c39a7ddd57cae45695fb0119) Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: add wayland-protocols and -native to to depends of ↵Andreas Müller2016-12-161-1/+1
| | | | | | | | | | PACKAGECONFIG[wayland] (From OE-Core rev: e49f139b4d5cfbf8b0391f4c434070ad30f37b10) Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: add EXTRA_OECONF[vardepsexclude] = "MACHINE"Andreas Müller2016-12-161-0/+1
| | | | | | | | | | | | fixes Martin's MACHINE checksum test [1] [1] http://lists.openembedded.org/pipermail/openembedded-core/2016-November/129464.html (From OE-Core rev: dcfbfb9b1fc2b5d54e3c04375cb8fc87df849f1f) Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: update to 2.0.5Andreas Müller2016-11-013-63/+40
| | | | | | | | | | | | | * 0001-src-video-make-it-compatible-with-wayland-1.10.patch is removed because the problem has been resolved upstream * Add 0001-prepend-our-sysroot-path-so-that-make-finds-our-wayl.patch so that WAYLAND_PROTOCOLS_SYSROOT_DIR is substituted in a way similar to gtk3 (From OE-Core rev: 97fff54efe6b03798ad1c5e39155eaeab0a33300) Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: Add missing comma typoAndrew F. Davis2016-07-011-1/+1
| | | | | | | | (From OE-Core rev: e1c1893228160b9620cbff0967424ddb3a2fb380) Signed-off-by: Andrew F. Davis <afd@ti.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: Fix build with wayland 1.10Martin Jansa2016-06-032-1/+60
| | | | | | | (From OE-Core rev: 77187701e35e858835ae51b3ac089a385e97657a) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: Fix patch after upgradeRichard Purdie2016-02-221-6/+6
| | | | | | (From OE-Core rev: 8e94bd650c3480dce6d33b7e7b5af0a440757c29) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: update to 2.0.4Andreas Müller2016-02-191-3/+5
| | | | | | | | | | Licence checksum was changed by change of copyright year. (From OE-Core rev: 24feed3dc9f1c559e66badeb03afe7acd062de9a) Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: Fix build with static libraries disabledRichard Purdie2016-02-182-1/+48
| | | | | | | | | | | | | | libsdl2 was using foo.o in Makefile dependencies but if libtool is being used then those are the statically linked intermediate files. When static libraries are globally disabled they won't be generated by libtool so the build fails. Instead, use the libtool intermediate wrapper .lo files so the build succeeds. (From OE-Core rev: 3f935a6e9155e81165e26e94fd6c8504b272441e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: add missing dependency on libxkbcommon for PACKAGECONFIG[wayland]Yi Zhao2015-12-011-1/+1
| | | | | | | | | | | | | | | | | | | | libsdl2 depends on libxkbcommon when enable wayland support. Can verify it with the following steps: bitbake libxkbcommon -c clean bitbake libsdl2 -c cleansstate && bitbake libsdl2 config.log: [snip] configure:19347: checking for Wayland support configure:19357: result: no [snip] (From OE-Core rev: ec0354bacfed387f91e610ebfdb77e86135c1d28) Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: require GLES when building Wayland supportRoss Burton2015-11-251-1/+1
| | | | | | | | | | | | | | | | | The Wayland support requires GLES2 to be enabled as otherwise the EGL support code in SDL2 isn't enabled. | In file included from .../SDL2-2.0.3/src/video/wayland/SDL_waylandvideo.c:34:0: | .../SDL2-2.0.3/src/video/wayland/SDL_waylandvideo.c: In function 'Wayland_CreateDevice': | .../SDL2-2.0.3/src/video/wayland/SDL_waylandopengles.h:38:38: error: 'SDL_EGL_GetSwapInterval' undeclared (first use in this function) | #define Wayland_GLES_GetSwapInterval SDL_EGL_GetSwapInterval Solve this by adding gles2 to the Wayland PACKAGECONFIG option. (From OE-Core rev: 8a497ef5eb3b54ed45b826fec910ed61985e04ce) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: PACKAGECONFIGizeAndreas Müller2015-06-231-15/+24
| | | | | | | | | | | * DEPENDS + EXTRA_OECONF -> PACKAGECONFIG for directfb / opengl / x11 * added PACKAGECONFIG for gles2 / pulseaudio / tslib / wayland (From OE-Core rev: b8950f19eb4fa7697bad87de84ed53849d2a7d96) Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>