aboutsummaryrefslogtreecommitdiff
path: root/meson.build
AgeCommit message (Collapse)Author
2021-06-25build: use meson.global_build_root()Simon Ser
meson.build_root() is deprecated. References: https://github.com/mesonbuild/meson/pull/8629
2021-06-23build: bump version to 0.15.0Simon Ser
2021-06-20Revert "meson: Make private static library symbols local"Kenny Levinsen
This reverts commit 28d23ba6bda4f799b8d6689555cd33a40adda17e. The prelinking and symbol filtering pass breaks builds with link-time optimization enabled.
2021-06-17meson: Make private static library symbols localKenny Levinsen
Static libraries are not affected by our symbol file, so private symbols are globally visible by default. Use objcopy to make symbols that we do not want to expose local. Closes: https://github.com/swaywm/wlroots/issues/1892 Closes: https://github.com/swaywm/wlroots/issues/2952
2021-06-17backend/session: use drmIsKMSSimon Ser
This moves the magic incantation into libdrm and is clearer. See [1] for details. While at it, fixup the doc comment and improve logging. [1]: https://gitlab.freedesktop.org/mesa/drm/-/commit/523b3658aa8efa746417e916c987de23740ce313
2021-06-02xdg-activation-v1: new protocol implementationSimon Ser
This implements the new xdg-activation-v1 protocol [1]. [1]: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/50
2021-05-01build: move wayland-protocols dep to protocol/Simon Ser
2021-04-17render: make GLES2 renderer optionalayaka
Allow selecting whether the GLES2 renderer gets enabled. Co-authored-by: Simon Ser <contact@emersion.fr>
2021-04-17render: introduce pixman rendererSimon Zeni
2021-04-14backend/session: Make libseat mandatoryKenny Levinsen
2021-04-11util/uuid: replace with util/token, remove libuuidRyan Farley
Use 128-bit hexadecimal string tokens generated with /dev/urandom instead of UUIDs for xdg-foreign handles, removing the libuuid dependency. Update readme and CI. Closes #2830. build: remove xdg-foreign feature With no external dependencies required, there's no reason not to always build it. Remove WLR_HAS_XDG_FOREIGN as well.
2021-04-11backend/session: Remove logind backendKenny Levinsen
This is instead delegated to libseat.
2021-04-09Remove WLR_HAS_XCB_ERRORSSimon Ser
wlroots' dependency on this library doesn't change the features exposed to compositors. It's purely a wlroots implementation detail. Thus downstream compositors shouldn't really care about it. Introduce an "internal_features" dictionary to store the status of such internal dependencies.
2021-04-08build: bump version to 0.14.0Simon Ser
We now bump the version number right after releases, so that a Git snapshot is not mistaken for a previous version. References: https://github.com/swaywm/wlroots/issues/2792
2021-04-07build: bump to v0.13.0Simon Ser
References: https://github.com/swaywm/wlroots/issues/2778
2021-03-29xwayland: require xcb-icccmSimon Ser
This dependency is already required by many other widely used X11 programs, such as i3, Qt, and other XWMs. So it should be available on most systems. X11 support can be pretty broken without xcb-icccm, with focus issues for instance. Let's just remove this --please-break-my-desktop footgun option.
2021-02-23build: rollback -Wformat=2Simon Ser
Causes some build failures on Clang. Fixes: 4b43aebdc7ed ("build: add -Wformat=2 -Walloca")
2021-02-23build: add -Wformat=2 -WallocaSimon Ser
2021-02-15build: bump meson version to 0.56.0Simon Ser
Fixes this warning: WARNING: Project targeting '>=0.54.0' but tried to use feature introduced in '0.56.0': variables as dictionary. Fixes: 6f873078d4c0 ("build: use dictionnary for features instead of configuration_data")
2021-02-15build: set pkg-config variables for our featuresSimon Ser
this avoids having to parse the config.h file from builds systems of projects using wlroots.
2021-02-15build: set have_* dep variables for our featuresSimon Ser
This allows users to to something like this when wlroots is used as a subproject: wlr_has_xwayland = wlroots.get_variable('have_xwayland') Instead of having to parse conf_data from the subproject object.
2021-02-15build: use dictionnary for features instead of configuration_dataSimon Ser
This allows us to easily iterate on all features and only deal with bools.
2021-02-08build: remove extra whitespaceSimon Ser
2021-02-08seat: use WL_SEAT_ERROR_CAPABILITYSimon Ser
Depends on [1]. [1]: https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/79
2021-01-12build: use more consistent feature names in summarySimon Ser
Use the same name as the Meson option.
2021-01-11build: remove Clang workaroundsSimon Ser
We have these disabled for all compilers anyways.
2021-01-05types: add wlr_xdg_foreign_registryIlia Bozhinov
2021-01-05util: add support for generating UUIDsIlia Bozhinov
Co-authored-by: Jason Francis <cycl0ps@tuta.io>
2020-12-13build: move wayland-egl dependency to examples/Simon Ser
Now that the Wayland backend has moved to wlr_swapchain, only client examples use the dependency. Stop linking against wayland-egl in the wlroots library.
2020-11-19render/egl: stop including eglmesaext.hSimon Ser
This is a Mesa-specific header that was needed because some Wayland EGL extensions were missing from the Khronos registry. Now that this has been fixed [1] and Mesa [2] & glvnd [3] have sync'ed their headers, we can drop this workaround. [1]: https://github.com/KhronosGroup/EGL-Registry/pull/95 [2]: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4953 [3]: https://gitlab.freedesktop.org/glvnd/libglvnd/-/merge_requests/225
2020-11-15build: improve summary via bool_ynSimon Ser
Shows YES/NO instead of 1/0, improves readability.
2020-11-15backend/libinput: require libinput 1.14Simon Ser
We have the policy of requiring up-to-date dependencies instead of adding conditionals for older versions. libinput 1.14 was published more than 1 year ago.
2020-11-08Update version to 0.12.0Simon Ser
2020-08-24session: Add libseat backendKenny Levinsen
2020-07-16Update version to 0.11.0Simon Ser
2020-05-11render/egl: include EGL/eglmesaext.h only if presentJulien Olivain
This patch will make the EGL renderer work on any EGL/GLESv2 driver providing the EGL_WL_bind_wayland_display extensions. Mesa used to declare provisional EGL_WL_bind_wayland_display directly in <EGL/eglext.h>. Then, all unofficial extensions were moved to <EGL/eglmesaext.h>, to have a cleaner implementation. See: https://gitlab.freedesktop.org/mesa/mesa/-/commit/ab7bb10a2af711086319ce35815acd797b86fe27 The extension was then approved at Khronos Group, and reached the official <EGL/eglext.h>. See: https://www.khronos.org/registry/EGL/extensions/WL/EGL_WL_bind_wayland_display.txt https://github.com/KhronosGroup/EGL-Registry/commit/aa9b63f3ab18aee92c95786a2478156430f809e4 In order to make sure the renderer will work on any version of any implementation providing the extension, only include the mesa-specific header if it's present. Signed-off-by: Julien Olivain <juju@cotds.org>
2020-04-29Remove libcap supportScott Anderson
This is simply a false sense of security, and is worse than just using setuid. CAP_SYS_ADMIN is an extremely serious capability that is effectively as powerful as root. It also required users to be in the input group, which allows any process to keylog the entire system.
2020-04-21build: use summary instead of messageSimon Ser
2020-04-21build: use meson.override_dependencySimon Ser
When built as a subproject, this removes the need for the parent project to know about the dependency variable name. This requires Meson 0.54.0.
2020-02-18meson.build: update wayland requirement to 1.18Brian Ashworth
This updates the version requirement for wayland-server to 1.18, which is needed for wl_global_remove and wl_global_set_user_data
2020-02-04meson: fix wayland-server minimum required versionSimon Ser
Having 1.16 results in the following error when running the compositor: 2019-04-27 17:30:50 - [wayland] wl_global_create: implemented version for 'wl_seat' higher than interface version (7 > 6) 2019-04-27 17:30:50 - [sway/input/seat.c:428] seat_create:could not allocate seat We require wayland-server >= 1.17 for wl_seat version 7. Fixes: a671fc51d25c ("Advertise wl_seat version 7") Fixes: a656e486f4a6 ("seat: fallback to v6 if libwayland 1.17 isn't available")
2020-01-24build: replace version with soversionSimon Ser
This allows us to have a single number to update when doing a release. This drops WLR_VERSION_API_* definitions.
2020-01-22Update version to 0.10.0Drew DeVault
2020-01-20Honor the `examples` meson settingJan Staněk
2020-01-14Bump meson version to 0.51.2Scott Anderson
There was an issue in 0.51.1 and earlier, where lists of dependencies and disablers weren't acting like they should. Instead of disabling a build, it would error out instead. Changing this logic to work around it is annoying, so just bump the version instead.
2020-01-10Drop RDP backendDrew DeVault
Users interested in remote access to wlroots compositors should use wayvnc: https://github.com/any1/wayvnc
2020-01-06Update version to 0.9.1Drew DeVault
2019-12-31Update version to 0.9.0Drew DeVault
2019-12-23meson: Remove tag generationScott Anderson
This is insanely fruststating. Since it works off of currently committed git files, if you ever remove anything, your build will fail until you commit it. It doesn't even belong in the build system anyway, as it's only part of an individual's specific workflow. Use for own scripts for your own workflow. Go use some git hooks to generate this or something.
2019-12-23meson: Various improvementsScott Anderson
Bumps minimum version to 0.51.0 - Remove all intermediate static libraries. They serve no purpose and are just add a bunch of boilerplate for managing dependencies and options. It's now managed as a list of files which are compiled into libwlroots directly. - Use install_subdir instead of installing headers individually. I've changed my mind since I did that. Listing them out is annoying as hell, and it's easy to forget to do it. - Add not_found_message for all of our optional dependencies that have a meson option. It gives some hints about what option to pass and what the optional dependency is for. - Move all backend subdirectories into their own meson.build. This keeps some of the backend-specific build logic (especially rdp and session) more neatly separated off. - Don't overlink example clients with code they're not using. This was done by merging the protocol dictionaries and setting some variables containing the code and client header file. Example clients now explicitly mention what extension protocols they want to link to. - Split compositor example logic from client example logic. - Minor formatting changes