tsoding / musializer

Music Visualizer
MIT License
877 stars 92 forks source link

Add OpenBSD Support #79

Closed LainLayer closed 6 months ago

LainLayer commented 6 months ago

Minor nob modifications to support compiling on OpenBSD. Hot reloading seems to work, so does rendering.

The audio when playing an audio file sounds very slowed down, too bad, I don't know how to fix it. Everything else works :)

LainLayer commented 6 months ago

It seems the messed up audio is a general Raylib/miniaudio phenomena on OpenBSD and not a fault in the musializer code. Considering no one cares about OpenBSD, it will likely take a while until it is fixed. Until then it at least compiles and runs.

ismagilli commented 6 months ago

On FreeBSD dl* functions live in libc. On linux ld* functions placed in a separate library (libdl). I think the situation with OpenBSD is similar to the situation with FreeBSD. Possible solution: ln -s /usr/lib/libc.so /usr/lib/libdl.so as root. @LainLayer It seems to me that it is better to use the same implementation of nob on linux and BSD, put the -ldl flag in a separate call to the nob_cmd_append function and wrap it in ifdef-endif. And maybe rename target from LINUX to UNIX.

BSD detection (see boost/bsd.hpp):

#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
// Your code here...
#endif
ismagilli commented 6 months ago

Note that this is only MY opinion. It is better to wait rexim reply.

rexim commented 6 months ago

@ismagilli I was thinking about making a more general POSIX builder sort of speak. But I'll do it myself later.

Thank you for the contribution guys!