summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohamed Akram <mohd.akram@outlook.com>2024-05-01 21:54:17 +0400
committerMohamed Akram <mohd.akram@outlook.com>2024-05-01 21:54:17 +0400
commitc1990dd02647405b0c13aab59f75d05cbb202336 (patch)
treef79257aa5bbc76bdff1c5678af84b4a0981cd95f
parent6c77b0191a6be390cc1cef2f7da7ba202ab86a92 (diff)
build-sys: Fix running on macOSHEADmaster
Ensure modules are built as .so files so that they are found by ltdl at runtime. Fix HAVE_COREAUDIO not being set on macOS leading to sound not working in the default configuration. Fixes: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/3808 Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/817>
-rw-r--r--meson.build3
-rw-r--r--src/modules/meson.build7
2 files changed, 8 insertions, 2 deletions
diff --git a/meson.build b/meson.build
index ba3d01dac..1aec95adc 100644
--- a/meson.build
+++ b/meson.build
@@ -152,8 +152,6 @@ cdata.set_quoted('PA_SRCDIR', join_paths(meson.current_source_dir(), 'src'))
cdata.set_quoted('PA_BUILDDIR', meson.current_build_dir())
if host_machine.system() == 'windows'
cdata.set_quoted('PA_SOEXT', '.dll')
-elif host_machine.system() == 'darwin'
- cdata.set_quoted('PA_SOEXT', '.dylib')
else
cdata.set_quoted('PA_SOEXT', '.so')
endif
@@ -192,6 +190,7 @@ endif
# rather than ending up in the config.h file?
if host_machine.system() == 'darwin'
cdata.set('OS_IS_DARWIN', 1)
+ cdata.set('HAVE_COREAUDIO', 1)
cdata.set('_DARWIN_C_SOURCE', '200112L') # Needed to get NSIG on Mac OS
elif host_machine.system() == 'windows'
cdata.set('OS_IS_WIN32', 1)
diff --git a/src/modules/meson.build b/src/modules/meson.build
index 3636ce0de..05267c93a 100644
--- a/src/modules/meson.build
+++ b/src/modules/meson.build
@@ -311,6 +311,12 @@ else
no_undefined_args = []
endif
+module_suffix = []
+if host_machine.system() == 'darwin'
+ # meson defaults to dylib but ltdl expects so
+ module_suffix = 'so'
+endif
+
foreach m : all_modules
name = m[0]
sources = m[1]
@@ -331,5 +337,6 @@ foreach m : all_modules
link_args : [nodelete_link_args, no_undefined_args],
link_with : extra_libs,
name_prefix : '',
+ name_suffix : module_suffix,
implicit_include_directories : false)
endforeach