aboutsummaryrefslogtreecommitdiffstats
path: root/meson.build
Commit message (Collapse)AuthorAgeFilesLines
* doc: Refactor the build system for complete build dir docsSebastian Wick2025-11-271-2/+4
| | | | | | | | By structuring things differently, it becomes possible to have a complete build of the docs in the build dir, without having to install anything. Signed-off-by: Sebastian Wick <sebastian.wick@redhat.com>
* build: Bump to meson version 0.64.0Sebastian Wick2025-11-271-1/+1
| | | | | | | | | | | | | | | | This version will be required in the next commit. Bumps the CI image to get the required version from the debian package instead of from pip. Removes the bindir builtin directory from pkgconfig.generate() which is deprecated since 0.62.0. It will be automatically included when referenced. Use `meson setup` everywhere instead of relying on deprecated automatic detection of the setup command. Signed-off-by: Sebastian Wick <sebastian.wick@redhat.com>
* connection: Add a thread ID to WAYLAND_DEBUG output.Kyle Brenneman2025-09-151-0/+1
| | | | | | | | | | | | | | | | If WAYLAND_DEBUG contains the token "thread_id", and gettid() is available, then include the current thread ID in the output from wl_closure_print. If multiple threads are sending requests, then those requests can get interleaved. That's usually fine, but for wl_surface requests and commits, that can cause problems ranging from incorrect behavior to protocol errors. Being able to see which requests are sent by different threads would make such problems much easier to diagnose. Signed-off-by: Kyle Brenneman <kbrenneman@nvidia.com>
* build: re-open main branch for regular developmentSimon Ser2025-06-211-1/+1
| | | | Signed-off-by: Simon Ser <contact@emersion.fr>
* build: bump version to 1.23.90 for the RC1 release1.23.91Simon Ser2025-05-221-1/+1
| | | | Signed-off-by: Simon Ser <contact@emersion.fr>
* meson: Fix use of install_data() without specifying install_dirJoaquim Monteiro2024-08-151-1/+3
| | | | | | | This was broken (when in a subproject) before Meson 1.3.0, and so Meson warns against this unless the project targets 1.3.0 or newer. Signed-off-by: Joaquim Monteiro <joaquim.monteiro@protonmail.com>
* build: re-open main branch for regular developmentSimon Ser2024-05-301-1/+1
| | | | Signed-off-by: Simon Ser <contact@emersion.fr>
* build: bump to version 1.23.0 for the official release1.23.0Simon Ser2024-05-301-1/+1
| | | | Signed-off-by: Simon Ser <contact@emersion.fr>
* build: bump to version 1.22.93 for the RC1 release1.22.93Simon Ser2024-05-231-1/+1
| | | | Signed-off-by: Simon Ser <contact@emersion.fr>
* build: bump to version 1.22.92 for the beta release1.22.92Simon Ser2024-05-091-1/+1
| | | | Signed-off-by: Simon Ser <contact@emersion.fr>
* build: bump to version 1.22.91 for the alpha release1.22.91Simon Ser2024-04-251-1/+1
| | | | Signed-off-by: Simon Ser <contact@emersion.fr>
* build: bump minimum Meson version to 0.57Simon Ser2024-04-091-1/+1
| | | | | | | | Fixes the following warning: tests/meson.build:91: WARNING: Project targets '>= 0.56.0' but uses feature introduced in '0.57.0': env arg in run_target. Signed-off-by: Simon Ser <contact@emersion.fr>
* build: fix build and provide compat for OpenBSDSébastien Marie2024-02-211-2/+2
| | | | | | | | | | - wayland-egl-abi-check: try to use llvm-nm first instead of BSD nm (incompatible options) - avoid forcing _POSIX_C_SOURCE=200809L (SOCK_CLOEXEC become available) - epoll(7) is provided by a userspace wrapper around kqueue(2) as FreeBSD - when using SO_PEERCRED, the struct to use is `struct sockpeercred` instead of `struct ucred` on OpenBSD - provide a compatibility layer for count_open_fds() using sysctl(2) as FreeBSD Signed-off-by: Sebastien Marie <semarie@online.fr>
* build: re-open main branch for regular developmentSimon Ser2023-04-041-1/+1
|
* build: bump to version 1.22.0 for the official release1.22.0Simon Ser2023-04-041-1/+1
|
* build: bump to version 1.21.93 for the RC1 release1.21.93Simon Ser2023-03-281-1/+1
|
* build: bump version to 1.21.92 for the beta release1.21.92Simon Ser2023-03-161-1/+1
|
* build: bump version to 1.21.91 for the alpha release1.21.91Simon Ser2023-02-281-1/+1
|
* build: re-open main branch for regular developmentSimon Ser2022-07-011-1/+1
|
* build: bump to version 1.21.0 for the official release1.21.0Simon Ser2022-06-301-1/+1
|
* build: bump to version 1.20.93 for the RC1 release1.20.93Simon Ser2022-06-231-1/+1
|
* build: bump to version 1.20.92 for the beta release1.20.92Simon Ser2022-06-091-1/+1
| | | | Signed-off-by: Simon Ser <contact@emersion.fr>
* build: bump to version 1.20.91 for the alpha release1.20.91Simon Ser2022-05-261-1/+1
| | | | Signed-off-by: Simon Ser <contact@emersion.fr>
* build: sanity check optionsSimon Ser2022-05-101-6/+6
| | | | | | | | Fail when tests/documentation is enabled without libraries. Fail when neither scanner nor libraries is enabled, because we don't build anything in that case. Signed-off-by: Simon Ser <contact@emersion.fr>
* meson: build requirement to 0.56.0Simon Ser2022-02-051-1/+1
| | | | | | meson.project_build_root() is only available with 0.56.0. Signed-off-by: Simon Ser <contact@emersion.fr>
* build: set c_std=c99Simon Ser2022-01-101-1/+2
| | | | | | | Set explicitly the C standard to use to make sure we don't use features not available on our target platforms. Signed-off-by: Simon Ser <contact@emersion.fr>
* build: don't rely on implicit GNU extensionsSimon Ser2022-01-101-2/+8
| | | | | | | | | Currently libwayland assumes GNU extensions will be available, but doesn't define the C standard to use. Instead, let's unconditionally enable POSIX extensions, and enable GNU extensions on a case-by-case basis as needed. Signed-off-by: Simon Ser <contact@emersion.fr>
* build: re-open main branch for regular developmentSimon Ser2022-01-101-1/+1
|
* build: bump to version 1.20.0 for the official release1.20.0Simon Ser2021-12-091-1/+1
|
* build: bump to version 1.19.93 for the RC1 release1.19.93Simon Ser2021-12-021-1/+1
|
* build: bump to version 1.19.92 for the beta release1.19.92Simon Ser2021-11-181-1/+1
|
* build: bump to version 1.19.91 for the alpha release1.19.91Simon Ser2021-11-041-1/+1
|
* build: Include the Wayland minor version in libraries' ABI versionsSimon McVittie2021-10-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ABI of a shared library on Linux is given by a major version, which is part of the SONAME and is incremented (rarely) on incompatible changes, and a minor version, which is part of the basename of the regular file to which the SONAME provides a symlink. Until now, the ABI minor version was hard-coded, which means we can't tell which of a pair of Wayland libraries is newer (and therefore likely to have more symbols and/or fewer bugs). libwayland-egl already had ABI major version 1, so we can use the "marketing" version number as the ABI major.minor version number directly, so Wayland 1.19.90 would produce libwayland-egl.so.1 -> libwayland-egl.so.1.19.90. libwayland-cursor and libwayland-server have ABI major version 0, and OS distributions don't like it when there's a SONAME bump for no good reason, so use their existing ABI major version together with the "marketing" minor version: libwayland-cursor.so.0 -> libwayland-cursor.so.0.19.90. If the Wayland major version number is incremented to 2, we'll have to rethink this, so add some error() to break the build if/when that happens. Assuming that Wayland 2.0 would involve breaking changes, the best way would probably to bump all the SONAMEs to libwayland-foo.so.2. Resolves: https://gitlab.freedesktop.org/wayland/wayland/-/issues/175 Signed-off-by: Simon McVittie <smcv@collabora.com>
* Detect FreeBSD versions with broken MSG_CMSG_CLOEXECAlex Richardson2021-09-101-0/+16
| | | | | | | | If we are compiling against a version of FreeBSD where MSG_CMSG_CLOEXEC does not work, use the fallback directly. This was only fixed recently (in https://cgit.freebsd.org/src/commit/?id=6ceacebdf52211). Signed-off-by: Alex Richardson <Alexander.Richardson@cl.cam.ac.uk>
* test-runner: Implement is_debugger_attached() for FreeBSDAlex Richardson2021-09-101-1/+1
| | | | | | FreeBSD provides a PROC_TRACE_STATUS procctl(2) to detect this directly. Signed-off-by: Alex Richardson <Alexander.Richardson@cl.cam.ac.uk>
* shm: Add mmap+memmove fallback if mremap() does not existAlex Richardson2021-09-101-0/+1
| | | | | | | | | | Some operating systems (e.g. FreeBSD) do not implement mremap. In that case we can grow the mapping by trying to map adjacent memory. If that fails we can fall back to creating a new larger mapping and moving the old memory contents there. Co-authored-by: Koop Mast <kwm@rainbow-runner.nl> Signed-off-by: Alex Richardson <Alexander.Richardson@cl.cam.ac.uk>
* Support reading ucred from the socket on FreeBSDAlex Richardson2021-09-101-1/+2
| | | | | | | | | On FreeBSD we have to use getsockopt(fd, SOL_LOCAL, LOCAL_PEERCRED) instead. This change is based on a downstream patch in FreeBSD ports. Co-authored-by: Greg V <greg@unrelenting.technology> Co-authored-by: Koop Mast <kwm@rainbow-runner.nl> Signed-off-by: Alex Richardson <Alexander.Richardson@cl.cam.ac.uk>
* Use epoll-shim to emulate epoll(7) on FreeBSDAlex Richardson2021-09-101-1/+9
| | | | | | | | FreeBSD does not provide epoll(7) and instead requires an external library, epoll-shim, that implements epoll() using kqueue(2) Co-authored-by: Jan Beich <jbeich@FreeBSD.org> Signed-off-by: Alex Richardson <Alexander.Richardson@cl.cam.ac.uk>
* build: add option to disable testsJames Hilliard2021-04-161-1/+3
| | | | | | | | | | | | | When building for a product, tests are not needed. Besides, one test requires a C++ compiler, which is not always available. So, add an option to configure to disable building tests altogether. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
* meson: only require cpp for testsJames Hilliard2021-04-161-1/+1
| | | | Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
* meson: Only require expat when building wayland-scannerMichael Weiss2021-04-021-7/+0
| | | | | | | | This code is only required for building wayland-scanner so it should be scoped accordingly. libxml-2.0 will only be required if both "scanner" and "dtd_validation" are set to true. Signed-off-by: Michael Weiss <dev.primeos@gmail.com>
* build: re-open master for regular developmentSimon Ser2021-01-271-1/+1
|
* build: bump to version 1.19.0 for the official release1.19.0Simon Ser2021-01-271-1/+1
|
* build: bump to 1.18.93 for the RC1 release1.18.93Simon Ser2021-01-201-1/+1
|
* build: bump to version 1.18.92 for the beta release1.18.92Simon Ser2021-01-061-1/+1
|
* meson: link with -lrt if needed for clock_gettimeLoïc Yhuel2020-12-231-0/+8
| | | | | | This is already done in autotools, and fixes the build with glibc < 2.17. Signed-off-by: Loïc Yhuel <loic.yhuel@softathome.com>
* build: bump to version 1.18.91 for the alpha release1.18.91Simon Ser2020-12-211-1/+1
|
* meson: Raise requirement to meson >= 0.52.1Matt Turner2020-03-181-1/+1
| | | | | | | Many new and valuable features were added between Meson 0.49 and 0.52.1. We would like to use some of them. Signed-off-by: Matt Turner <mattst88@gmail.com>
* meson: Add option to control building wayland-scannerMatt Turner2020-03-131-13/+14
| | | | | | | | | | | | | | | | | | | | | | | Wayland requires a binary, wayland-scanner, to be run during the build process. For any configuration other than native builds (including cross compiling and even 32-bit x86 builds on an x86-64 build machine) Wayland's build process builds and uses its own wayland-scanner. For any builds using a cross file, wayland-scanner is built for the host machine and therefore cannot be executed during the build of the Wayland libraries. Instead builds using a cross file must execute the build machine's wayland-scanner (typically /usr/bin/wayland-scanner). As such, to build Wayland's libraries for a non-native ABI a package manager must build and install /usr/bin/wayland-scanner first. But then the build for the native ABI then rebuilds wayland-scanner itself and doesn't use the system's, and worse, wants to install its own, which conflicts with the /usr/bin/wayland-scanner already installed! So, add the -Dscanner=... option to control whether to install wayland-scanner. Signed-off-by: Matt Turner <mattst88@gmail.com>
* build: re-open master for regular developmentSimon Ser2020-02-121-1/+1
|