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)