From 09b022305f3fd365d5d0424ff51982bcca5a572f Mon Sep 17 00:00:00 2001 From: Ahmad Fatoum <ahmad@a3f.at> Date: Sun, 11 Feb 2018 11:59:36 +0100 Subject: [PATCH] mini_al: Support {Net,Open}BSD OSS Fixes this build failure: http://www.cpantesters.org/cpan/report/a069fade-0e1f-11e8-a1cf-bb670eaac09d --- src/external/mini_al.h | 6 +++++- utils.cmake | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/external/mini_al.h b/src/external/mini_al.h index 358463857..c9ab40fa1 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 <fcntl.h> #include <sys/soundcard.h> +#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 68fd1f767..dd4160d39 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()