Build is broken on Big-endian platforms due to `hash_map.hpp`
One of the headers explicitly requires an LE platform: https://github.com/stephenberry/glaze/blob/fafa42a345752fd54ff33e6b461909d198e20c2d/include/glaze/util/hash_map.hpp#L86
Subsequently, it cannot be built on any Big-endian platform. It means that dependencies cannot be built, such as hyprland, which depend on glaze: https://github.com/freebsd/freebsd-ports/blob/e032f88df168456dbf6ad0b9af9a56f4cd75668e/x11-wm/hyprland/Makefile#L14
@stephenberry It is possible to fix hash implementation here?
Glaze has not been tested on big-endian platforms. And, there is a good amount of code in Glaze that only works on little endian machines. Hence the README says Glaze only works on little-endian.
I'm curious, what big-endian platform are you building for?
We would need to unit test big-endian builds through Github actions in order to update the codebase to support big-endian. Do you know how this could be achieved?
@stephenberry Thank you for responding! AFAIK, CI can be set for BE Linux, I will check for a reference.
Overall, of the currently developed OS all major BSDs support BE in their releases and snapshots (FreeBSD, NetBSD, OpenBSD) and at least some Linux distros. This is true both for 64- and 32-bit BE archs. I am building on macOS on PowerPC, but there is no need to be concerned with any macOS specifics, that I can take care of on my end.
Heya, this is also causing trouble for Debian on s390x. Here's a sample build failure from hyprland: https://buildd.debian.org/status/fetch.php?pkg=hyprland&arch=s390x&ver=0.51.1%2Bds-1&stamp=1762980407&file=log
I'm working through all the active issues, so I hope to get to this one soon, but it will take some time. Thanks for giving more feedback and impetus to support big endian.