summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErik Kundiman <erik@megapahit.org>2026-07-16 10:17:13 +0800
committerErik Kundiman <erik@megapahit.org>2026-07-16 10:17:13 +0800
commitdfccce9695ccca60b2892c39576693fca2557e7b (patch)
treeb04d006e312ae66a4c7fb36dafea285da42cd692
parentc26abf15e6ca3e867488190166fdc68cad7c026e (diff)
Use runtime's OpenAL on Flatpak
Just remove OpenAL files and leave out FreeALUT's to avoid having a custom prebuilt package and modifying autobuild.xml.
-rw-r--r--indra/cmake/OPENAL.cmake38
-rw-r--r--indra/newview/ViewerInstall.cmake3
2 files changed, 27 insertions, 14 deletions
diff --git a/indra/cmake/OPENAL.cmake b/indra/cmake/OPENAL.cmake
index 3a36c64fd3..dcb74ad36d 100644
--- a/indra/cmake/OPENAL.cmake
+++ b/indra/cmake/OPENAL.cmake
@@ -18,21 +18,26 @@ endif()
if (USE_OPENAL)
add_library( ll::openal INTERFACE IMPORTED )
-
- if (NOT USE_FLATPAK)
- target_compile_definitions( ll::openal INTERFACE LL_OPENAL=1)
- include(FindPkgConfig)
- pkg_check_modules(Openal REQUIRED freealut)
- target_include_directories(ll::openal SYSTEM INTERFACE ${Openal_INCLUDE_DIRS})
- target_link_directories(ll::openal INTERFACE ${Openal_LIBRARY_DIRS})
- target_link_libraries(ll::openal INTERFACE ${Openal_LIBRARIES})
- return ()
- endif ()
-
+ if (USE_FLATPAK)
target_include_directories( ll::openal SYSTEM INTERFACE "${LIBS_PREBUILT_DIR}/include/AL")
+ endif ()
target_compile_definitions( ll::openal INTERFACE LL_OPENAL=1)
+ if (USE_FLATPAK)
use_prebuilt_binary(openal)
+ file(REMOVE
+ ${ARCH_PREBUILT_DIRS_RELEASE}/libopenal.so
+ ${ARCH_PREBUILT_DIRS_RELEASE}/libopenal.so.1
+ ${ARCH_PREBUILT_DIRS_RELEASE}/libopenal.so.1.24.2
+ ${LIBS_PREBUILT_DIR}/include/AL/al.h
+ ${LIBS_PREBUILT_DIR}/include/AL/alc.h
+ ${LIBS_PREBUILT_DIR}/include/AL/alext.h
+ ${LIBS_PREBUILT_DIR}/include/AL/efx-creative.h
+ ${LIBS_PREBUILT_DIR}/include/AL/efx-presets.h
+ ${LIBS_PREBUILT_DIR}/include/AL/efx.h
+ )
+ endif ()
+ if (FALSE)
find_library(OPENAL_LIBRARY
NAMES
OpenAL32
@@ -40,7 +45,11 @@ if (USE_OPENAL)
libopenal.dylib
libopenal.so
PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH)
+ endif ()
+ include(FindPkgConfig)
+ if (USE_FLATPAK)
+ pkg_search_module(Openal REQUIRED openal)
find_library(ALUT_LIBRARY
NAMES
alut
@@ -49,5 +58,12 @@ if (USE_OPENAL)
PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH)
target_link_libraries(ll::openal INTERFACE ${OPENAL_LIBRARY} ${ALUT_LIBRARY})
+ else ()
+ pkg_search_module(Openal REQUIRED freealut)
+ endif ()
+
+ target_include_directories(ll::openal SYSTEM INTERFACE ${Openal_INCLUDE_DIRS})
+ target_link_directories(ll::openal INTERFACE ${Openal_LIBRARY_DIRS})
+ target_link_libraries(ll::openal INTERFACE ${Openal_LIBRARIES})
endif ()
diff --git a/indra/newview/ViewerInstall.cmake b/indra/newview/ViewerInstall.cmake
index 6c60d8cb79..ea28b51364 100644
--- a/indra/newview/ViewerInstall.cmake
+++ b/indra/newview/ViewerInstall.cmake
@@ -247,9 +247,6 @@ if (LINUX)
${ARCH_PREBUILT_DIRS_RELEASE}/libalut.so
${ARCH_PREBUILT_DIRS_RELEASE}/libalut.so.0
${ARCH_PREBUILT_DIRS_RELEASE}/libalut.so.0.0.0
- ${ARCH_PREBUILT_DIRS_RELEASE}/libopenal.so
- ${ARCH_PREBUILT_DIRS_RELEASE}/libopenal.so.1
- ${ARCH_PREBUILT_DIRS_RELEASE}/libopenal.so.1.24.2
DESTINATION ${_LIB}
)
endif ()