commit c1990dd02647405b0c13aab59f75d05cbb202336 Author: Mohamed Akram Date: Wed May 1 21:54:17 2024 +0400 build-sys: Fix running on macOS 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: diff --git meson.build meson.build index ba3d01dac..1aec95adc 100644 --- meson.build +++ 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 src/modules/meson.build src/modules/meson.build index 3636ce0de..05267c93a 100644 --- src/modules/meson.build +++ 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