summaryrefslogtreecommitdiff
path: root/meson.build
AgeCommit message (Collapse)AuthorFilesLines
2023-01-31build: bump Meson requirement to 0.63.0Philipp Zabel1-1/+1
Meson 0.63 supports per-subproject compiler options: https://mesonbuild.com/Release-notes-for-0-63-0.html#compiler-options-can-be-set-per-subproject This is required for building aml and neatvnc as subprojects due to the different c_std. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2023-01-10build: Add unreachable()Daniel Stone1-1/+2
unreachable() is used to hint to the compiler that a certain branch cannot ever be reached. The implementation is taken from Mesa. Signed-off-by: Daniel Stone <daniels@collabora.com>
2023-01-09shell-utils: Integrate shell-utils into libwestonMarius Vlad1-1/+0
These shell utils functions are potentially useful to other shells as well, so make them widely available. Renamed all functions to weston_shell_utils namespace. No functional change, copied ad litteram. Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
2022-12-08compositor: support loading backend via shortened namePhilipp Zabel1-2/+1
While the --backend parameter looks like it takes a file name, it really is selected from a list of supported strings that are then funneled through a translation to enum weston_compositor_backend [1]. Because all backend parameters are of the form "...-backend.so", and writing "--backend=...-backend.so" is boring, allow the --backend option to match the backend name without "-backend.so" suffix instead. For example, this allows to use "--backend=headless" instead of "--backend=headless-backend.so". Update help text and documentation. Keep the old way working for backwards compatibility. [1] 50dbf385140b ("libweston: use enum to choose the backend") Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
2022-11-23libweston: Add user authentication support via PAMPhilipp Zabel1-0/+2
Add user authentication support for remote backends via PAM. This requires a configuration file /etc/pam.d/weston. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
2022-10-10build: deprecate launcher-logindSimon Ser1-1/+1
Deprecate launcher-logind and disable it by default. launcher-libseat supports logind, so this shouldn't cause any regression. Signed-off-by: Simon Ser <contact@emersion.fr> References: https://gitlab.freedesktop.org/wayland/weston/-/issues/488
2022-09-23meson.build: Add devenv for running from the build directoryColin Kinloch1-0/+7
Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>
2022-09-23build: Use cc.get_supported_arguments() instead of open-codingDaniel Stone1-8/+2
I added support to Meson for cc.get_supported_arguments() when I was typing out the initial build because I didn't like the open-coding, then completely forgot to update Weston when it got merged. Signed-off-by: Daniel Stone <daniels@collabora.com>
2022-09-23libweston/desktop: Migrate libweston-desktop/libweston-desktop.hMarius Vlad1-1/+1
With commit 'Move libweston-desktop into libweston' we've moved out libweston-desktop DSO into libweston. Move also the header to libweston/desktop. This removes removes the libweston-desktop pc file and bumps libweston major version to 12. Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
2022-09-22build: re-open main for regular developmentSimon Ser1-1/+1
2022-09-22build: bump to version 11.0.0 for the official release11.0.0Simon Ser1-1/+1
2022-09-15build: bump to version 10.0.94 for the RC2 release10.0.94Simon Ser1-1/+1
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-09-06build: bump to version 10.0.93 for the RC1 release10.0.93Simon Ser1-1/+1
2022-08-23build: bump to version 10.0.92 for the beta release10.0.92Simon Ser1-1/+1
2022-08-09build: bump to version 10.0.91 for the alpha release10.0.91Simon Ser1-1/+1
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-06-28Move libweston-desktop into libwestonDaniel Stone1-1/+0
It's not really useful to have libweston without libweston-desktop. It's also very little code. Merging both into the same DSO will allow us to cut out a bunch of indirection and pain. Signed-off-by: Daniel Stone <daniels@collabora.com>
2022-06-07drm-backend: stop parsing IN_FORMATS blobs, use libdrm insteadLuigi Santivetti1-7/+1
Before this change the drm-backend in Weston did the work of parsing DRM blobs in order to query IN_FORMATS data, if available. This is also the case for other DRM/KMS clients that use IN_FORMATS (i.e. X). libdrm 2.4.108 with e641e2a6 ("xf86drm: add iterator API for DRM/KMS IN_FORMATS blobs") introduced a dedicated API for querying IN_FORMATS data. Bump the minimum required version to 2.4.108, stop parsing IN_FORMATS in Weston and start using DRM iterators. In addition, remove fallback code for libdrm <2.4.107. Signed-off-by: Luigi Santivetti <luigi.santivetti@imgtec.com>
2022-06-03build: consolidate lcms2 dependenciesPekka Paalanen1-0/+2
It's bad form to set the same variable in multiple places, and not all of them were even equivalent. Move lcms2 finding to the root level build file only. It is still an optional dependency like before, and the if-not-found checks are still in place where actually needed. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
2022-06-02Revert "build: add test-gl-renderer option"Pekka Paalanen1-2/+0
This reverts commit 1618697dc3db9e63ed601be7cbc2fb5e84c94b41. The original commit was a workaround for https://gitlab.freedesktop.org/mesa/mesa/-/issues/2219 which was fixed in Mesa: - c7617d8908a970124321ce731b43d5996c3c5775 released as 20.1.0-rc1 - a0e6341fe4417e41cda0b19e4fa7f8bbe4e1dba1 released as 19.3.5 - f27e5d9df5bc9c85d45c2cb1f2a4997b453365fe released as 20.0.0 This workaround should not be necessary anymore, we don't use it in our CI, and it was manual to begin with. Therefore remove it. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
2022-04-21build: add Meson fallback for wayland-protocolsSimon Ser1-1/+1
This allows easily co-developing a Wayland protocol and Weston. Example setup: ln -s subprojects/wayland-protocols /path/to/wayland-protocols meson configure build/ --force-fallback-for=wayland-protocols Signed-off-by: Simon Ser <contact@emersion.fr>
2022-04-20screen-share: Start screen sharing even if no pointer is foundMarius Vlad1-1/+1
With commit e825fe38, we no longer display the pointer if no movement is detected, which will cause screen share to fail to start if that is the case. There could be also legitimate cases where there's no pointer, so let's allow screen share to function in those cases as well. Makes uses of previous helper methods to find a proper output to share in case we don't have an pointer. Re-uses the shell utils functions. Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
2022-03-31Move shell-utils to its own directoryDaniel Stone1-0/+1
shell-utils contains a number of helpers which are currently in use by both desktop-shell and kiosk-shell. In order to extend this use to fullscreen-shell as well (which can benefit from reusing the weston_curtain infrastructure to be able to create solid-colour views which may or may not be opaque, as well as one function within fullscreen-shell which was copied wholesale to shell-utils), we need to create a separate Meson dependency object, and avoid the existing pattern of including the source from shared/ within the source list for each shell. This requires creating a new top-level directory for these shared helper functions which are required by each shell, but are not part of libweston in and of itself. shell-utils depends on libweston-desktop; libweston-desktop depends on libweston; libweston depends on shared. Thus it is not possible to expose a dependency object from the shared/ directory which declares a dependency on the libweston-desktop dependency, as Meson processes directories in order and resolves variable references as they are parsed. In order to break this deadlock, this commit creates a new top-level directory called 'shell-utils' containing only this file, which can be parsed by Meson after libweston-desktop (making the libweston-desktop Meson dependency variable available to the build file to declare a dependency on that), but before the shells (making the new Meson depenendency object available to each shell which wishes to use it). This commit contains no functional changes to any observable code. Signed-off-by: Daniel Stone <daniels@collabora.com>
2022-03-08remove wl_shellDerek Foreman1-6/+0
This has been deprecated long enough, I think it's time to say goodbye. Signed-off-by: Derek Foreman <derek.foreman@collabora.com>
2022-03-03launchers: remove launchersDerek Foreman1-0/+4
Moving forward we're going to be supporting libseat and logind as our only launchers. We're doing this to reduce our maintenance burden, and security impact. Libseat supports all our existing use cases, and seatd can replace weston-launch so we no longer have to carry a setuid-root program. This patch removes weston-launch, and launcher-direct, leaving only libseat and logind. Signed-off-by: Derek Foreman <derek.foreman@collabora.com>
2022-02-23meson.build: Fix -Dbackend-default=auto following fbdev deprecationJames Le Cuirot1-1/+1
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
2022-02-04meson.build: Bump libweston major versionMarius Vlad1-1/+1
With commit 'compositor: Remove desktop zoom' weston_output_zoom was removed from weston_output thus needing a libweston major bump. Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Suggested-by: Pekka Paalanen <pekka.paalanen@collabora.com>
2022-02-02gl-renderer: add support for (a|x)bgr16161616 shm formatsManuel Stoeckl1-2/+2
These formats are useful because they are often easier to produce on CPU than half-float formats, and abgr16161616 has both >= 10bpc color channels and adequate alpha, unlike abgr2101010. The 16-bpc textures created from buffers with these formats require the GL_EXT_texture_norm16 extension. As WL_SHM_FORMAT_ABGR16161616 was introduced in libwayland 1.20, update Weston's build requirements and CI. The formats also needed to be registered in the pixel format table, and defined in a fallback path if recent libdrm is not available. Signed-off-by: Manuel Stoeckl <code@mstoeckl.com>
2022-02-01build: re-open main for regular developmentSimon Ser1-1/+1
2022-02-01build: bump to version 10.0.0 for the official release10.0.0Simon Ser1-1/+1
2022-01-25build: bump to version 9.0.93 for the RC1 release9.0.93Simon Ser1-1/+1
2022-01-25build: warn when enabling wl_shell supportSimon Ser1-0/+2
Let's remind the user one more time that the option will go away in the future. Signed-off-by: Simon Ser <contact@emersion.fr>
2022-01-12build: bump to version 9.0.92 for the beta releaseSimon Ser1-1/+1
2021-12-14build: bump to version 9.0.91 for the alpha release9.0.91Simon Ser1-1/+1
2021-07-23libweston-desktop: introduce a deprecated-wl-shell optionSimon Ser1-0/+4
This is the first step towards removing wl_shell support. Add an option so that users can toggle support for the deprecated wl_shell protocol. This lets users test their clients to make sure they work fine without wl_shell. The option is set to false by default. Signed-off-by: Simon Ser <contact@emersion.fr>
2021-07-22pixel-formats: Add human readable format modifierMarius Vlad1-0/+6
Conditionally build support when libdrm is at least 2.4.107 to make use of it. Plug it in when printing out the buffer information. With this in, we add a hard dependecy for libweston to link against libdrm. Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
2021-03-12build: add -WundefPekka Paalanen1-0/+1
There is no case in pre-processor directives where would like to have undefined identifiers be silently replaced with a zero. This warning can discover typos and forgotten includes. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
2021-02-25gl-renderer: support XYUV8888 wl_shm formatPekka Paalanen1-2/+2
This support is added so that the XYUV shader variant can be tested with wl_shm from the test suite. Libwayland version requirement is bumped to get WL_SHM_FORMAT_XYUV8888. Libwayland is bumped to 1.18 too in the CI image. libwayland-dev package is dropped, because we build wayland anyway. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
2021-02-25gl-renderer: move vertex shader into new filePekka Paalanen1-0/+4
This patch adds the tooling for incorporating files as C data, so that files can be built into the binaries. The tool is in Python to avoid adding extra dependencies like xxd. xxd.py is copied from Mesa as-is, from commit b729cd58d76f97f3fc04a67569535ee5ef2f5278 (master branch on 2021-01-26), a.k.a 21.0-branchpoint-635-gb729cd58d76. Moving the GLSL vertex shader into a separate file is not that interesting, the purpose of this commit is to provide a simple demonstration of the tooling. The real benefits come in a following patch where the fragment shaders are re-written and externalized. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
2021-02-15build: bump Meson requirement to 0.52.1Pekka Paalanen1-1/+1
Fixes: https://gitlab.freedesktop.org/wayland/weston/-/issues/296 The conclusion (quite a while ago, too) was that requiring Meson 0.52 is fine. Mesa does that too. Bump the requirement to 0.52.1 which is the last release of the 0.52 series. This allows all issues listed in #296 to be worked on. It also allows switching to TAP in the test suite for more detailed reports. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
2020-10-27libweston: bump major version to 10Pekka Paalanen1-1/+1
Commit 32a5acde5be9c9762526274fcd5bfe02288bb6ec "tests: add mechanism to change Weston's behavior when running certain tests" added a new field to struct weston_compositor. Since that struct is still in the public header, this breaks ABI. Bump the library version accordingly. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
2020-10-26Add EGL_NO_PLATFORM_SPECIFIC_TYPES to avoid Xlib.h via EGL headersHeiko Thiery1-0/+1
See: https://github.com/KhronosGroup/EGL-Registry/pull/111 discussion. Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
2020-10-16Bump libdrm dependency to 2.4.95Pekka Paalanen1-1/+1
96bef0517ec5318c6c253f27fc2f4aeb289bad9b "drm-backend: add support for writeback connectors" started using DRM_MODE_CONNECTOR_WRITEBACK and DRM_CLIENT_CAP_WRITEBACK_CONNECTORS. These were introduced in libdrm 2.4.95. According to https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/311 Ubunut Xenial is the only mentioned distribution that does not provide a libdrm new enough. I think that is fine to drop now, 2016 was a good while ago. Libdrm 2.4.95 also introduced DRM_CLIENT_CAP_ASPECT_RATIO, DRM_MODE_PICTURE_ASPECT_64_27, DRM_MODE_PICTURE_ASPECT_256_135. The fallback definitions for the above are dropped. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
2020-09-04build: re-open master for regular developmentSimon Ser1-1/+1
2020-09-04build: bump to version 9.0.0 for the official release9.0.09.0Simon Ser1-1/+1
2020-08-27build: bump to version 8.0.93 for the RC1 release8.0.93Simon Ser1-1/+1
2020-08-13build: bump to version 8.0.92 for the beta release8.0.92Simon Ser1-1/+1
2020-07-30build: bump to version 9.0.91 for the alpha release8.0.91Simon Ser1-1/+1
2020-07-30kiosk-shell: Introduce kiosk/fullscreen shell for desktop appsAlexandros Frantzis1-0/+1
kiosk-shell is fullscreen shell for apps that use the xdg-shell protocol. The goal is to make life easier for people shipping embedded devices with simple fullscreen shell requirements, and reduce the proliferation of desktop-shell hacks. Top level surfaces are made fullscreen, whereas dialogs are placed on top in the center of the output and retain their natural sizes. Dialogs can be moved and (un)maximized, but resizing is currently not supported. An app can be directed to a particular output by populating the "app-ids" field with the app's XDG app id, in the relevant "[output]" section in the weston config file. Fixes: #277 Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
2020-02-05build: add test-gl-renderer optionPekka Paalanen1-0/+2
This shall be used by CI due to https://gitlab.freedesktop.org/mesa/mesa/issues/2219 It defaults to true, meaning that people by default will be running the GL-renderer tests. It works fine on hardware drivers, just not llvmpipe. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
2020-01-29meson: add -Wmissing-prototypes to the buildGuillaume Champagne1-0/+1
Meson's warning level maps to -Wall, -Wextra and -Wpedantic. -Wmissing-prototypes is added by neither of those flag. Consequently, it is manually added to the build command line arguments. Signed-off-by: Guillaume Champagne <champagne.guillaume.c@gmail.com>