Add support for FreeBSD

Audrey Dutcher requested to merge rhelmot/weston:main into main

Configured as follows: meson setup _build -Dsystemd=false -Dbackend-rdp=false -Dbackend-vnc=false -Dsimple-clients=damage,im,egl,shm,touch -Db_lundef=false. There are probably ways to get rdp/vnc support to compile on FreeBSD, but just installing the appropriate packages from the default package manager did not satisfy meson 😄

Not all testcases pass on FreeBSD, but I triaged the failures and I think they're all just due to my system configuration being bad (zfs not supporting posix_fallocate, etc).

I drove this for a bit with the drm backend and --use-pixman (my graphics driver is in a bad state so kms is a no-go, even for wlroots stuff). I encountered some segfaults, but I was stressing it pretty hard (monitor hotplug mostly).

If this is merged, I plan on submitting this to the FreeBSD package repository with no patches 😁 As this is my first contribution, please let me know if there are any issues!

Merge request reports