wayland/egl
Martin Lopatář 0f7f06bd4c build: Fix build and tests on macOS
This commit addresses several compatibility issues that prevented Wayland
from building and passing its test suite on macOS

Core and Compatibility changes:
- Emulate Linux behavior by explicitly setting O_NONBLOCK on connections
  (fixes blocking sendmsg issues on macOS).
- Fix compilation on platforms missing SOCK_CLOEXEC and MSG_CMSG_CLOEXEC.
- Implement wl_os_socket_peercred() using LOCAL_PEERPID for macOS.
- Ensure availability of struct itimerspec (required for POSIX Timers API).

Test suite fixes:
- Add socketpair_cloexec() wrapper to handle platforms without atomic
  SOCK_CLOEXEC support.
- Add implementation of memrchr() for platforms that do not provide it.
- Implement is_debugger_attached() for macOS to handle test timeouts.
- Fix tests to handle Mach-O binary format (instead of ELF).
- Update egl-symbols-check to support macOS *.dylib Mach-O libraries.

Build system:
- Add meson option 'xml_catalog' to allow specifying custom catalog paths.

Signed-off-by: Martin Lopatář <lopin@dataplex.cz>
2026-01-20 19:22:15 +01:00
..
meson.build egl: Make wayland-egl symbols check depend on wayland_egl 2025-06-08 17:30:55 +00:00
wayland-egl-abi-check.c egl: fix typo "Backards" 2020-12-17 16:03:14 -05:00
wayland-egl-backend.h build: drop autotools 2021-03-05 09:15:04 +00:00
wayland-egl-core.h wayland-egl: move the wayland-egl{, -core}.h headers to egl/ 2018-02-09 17:31:06 +00:00
wayland-egl-symbols-check build: Fix build and tests on macOS 2026-01-20 19:22:15 +01:00
wayland-egl.c protocol: Add wl_surface.offset 2021-10-28 12:39:39 +00:00
wayland-egl.h wayland-egl: move the wayland-egl{, -core}.h headers to egl/ 2018-02-09 17:31:06 +00:00