From 4bcfe6cd646c73dba34dcbeddce09fd835df22dc Mon Sep 17 00:00:00 2001 From: James Turner <james@flightgear.org> Date: Fri, 24 Dec 2021 13:27:25 +0000 Subject: [PATCH] Follow SimGear OpenAL-soft behaviour When Simgear is using OpenAL-soft, follow its behaviour for IAXClient. --- 3rdparty/iaxclient/lib/CMakeLists.txt | 13 ++++++++++++- 3rdparty/iaxclient/lib/audio_openal.c | 2 +- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/3rdparty/iaxclient/lib/CMakeLists.txt b/3rdparty/iaxclient/lib/CMakeLists.txt index 328122ebc..f5481d63f 100644 --- a/3rdparty/iaxclient/lib/CMakeLists.txt +++ b/3rdparty/iaxclient/lib/CMakeLists.txt @@ -18,7 +18,13 @@ set(LIBIAX2_SOURCES libiax2/src/md5.c ) -find_package(OpenAL REQUIRED) +if (SG_SOUND_USES_OPENALSOFT) + message(STATUS "Using OpenAL-soft for IAX OpenAL backend") + find_package(OpenAL CONFIG REQUIRED) +else() + find_package(OpenAL REQUIRED) +endif() + add_library(iaxclient_lib STATIC ${IAXCLIENT_BASE_SOURCES} ${LIBIAX2_SOURCES} @@ -30,6 +36,11 @@ target_include_directories(iaxclient_lib PRIVATE ${PROJECT_SOURCE_DIR}/3rdparty/ target_compile_definitions(iaxclient_lib PRIVATE AUDIO_OPENAL=1 LIBIAX LIBVER="SVN 261") +# pass this through since it affects how we include al.h +if (SG_SOUND_USES_OPENALSOFT) + target_compile_definitions(iaxclient_lib PRIVATE SG_SOUND_USES_OPENALSOFT) +endif() + if (APPLE) target_compile_definitions(iaxclient_lib PRIVATE MACOSX) endif(APPLE) diff --git a/3rdparty/iaxclient/lib/audio_openal.c b/3rdparty/iaxclient/lib/audio_openal.c index 1faaf1f0e..408b54a86 100644 --- a/3rdparty/iaxclient/lib/audio_openal.c +++ b/3rdparty/iaxclient/lib/audio_openal.c @@ -1,6 +1,6 @@ #include "iaxclient_lib.h" -#ifdef __APPLE__ +#if defined(__APPLE__) && !defined(SG_SOUND_USES_OPENALSOFT) #include <OpenAL/al.h> #include <OpenAL/alc.h> #elif defined(OPENALSDK)