diff --git a/src/external/mini_al.h b/src/external/mini_al.h index 35846385..c9ab40fa 100644 --- a/src/external/mini_al.h +++ b/src/external/mini_al.h @@ -59,7 +59,7 @@ // // Building (BSD) // -------------- -// The BSD build uses OSS and should Just Work without any linking nor include path configuration. +// BSD build uses OSS. Requires linking to -lossaudio on {Open,Net}BSD, but not FreeBSD. // // Building (Emscripten) // --------------------- @@ -6712,6 +6712,10 @@ static mal_result mal_device__main_loop__alsa(mal_device* pDevice) #include #include +#ifndef SNDCTL_DSP_HALT +#define SNDCTL_DSP_HALT SNDCTL_DSP_RESET +#endif + int mal_open_temp_device__oss() { // The OSS sample code uses "/dev/mixer" as the device for getting system properties so I'm going to do the same. diff --git a/utils.cmake b/utils.cmake index 68fd1f76..dd4160d3 100644 --- a/utils.cmake +++ b/utils.cmake @@ -32,7 +32,11 @@ else() find_library(XCURSOR_LIBRARY Xcursor) include_directories(${OPENGL_INCLUDE_DIR}) - set(LIBS_PRIVATE m ${pthread} ${OPENGL_LIBRARIES} ${X11_LIBRARIES} ${XRANDR_LIBRARY} ${XINERAMA_LIBRARY} ${XI_LIBRARY} ${XXF86VM_LIBRARY} ${XCURSOR_LIBRARY}) + if ("${CMAKE_SYSTEM_NAME}" MATCHES "(Net|Open)BSD") + find_library(OSS_LIBRARY ossaudio) + endif() + + set(LIBS_PRIVATE m ${pthread} ${OPENGL_LIBRARIES} ${X11_LIBRARIES} ${XRANDR_LIBRARY} ${XINERAMA_LIBRARY} ${XI_LIBRARY} ${XXF86VM_LIBRARY} ${XCURSOR_LIBRARY} ${OSS_LIBRARY}) endif() endif()