build-sys: Fix macOS build

* Enable macOS specific modules (module-bonjour-publish,
  module-coreaudio-detect and module-coreaudio-device)
* Correctly set `PA_SOEXT` (.so, .dylib and .dll)
* Build `poll-posix.c` and `semaphore-osx.c`
* Drop linker flag `-Wl,-z,nodelete` on Darwin
* Drop linker flag `-Wl,--no-undefined` on Darwin
* Prefer to `clock_gettime` over compat impl for old Darwin
* Disable SCM credential on Darwin

Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/746>
This commit is contained in:
Shunsuke Shimizu 2022-08-29 04:13:55 +09:00 committed by PulseAudio Marge Bot
parent e4517da353
commit 47a6918739
6 changed files with 53 additions and 26 deletions

View file

@ -70,11 +70,15 @@ if glib_dep.found()
libpulse_headers += 'glib-mainloop.h'
endif
run_target('update-map-file',
command : [ join_paths(meson.source_root(), 'scripts/generate-map-file.sh'), 'map-file',
[ libpulse_headers, 'simple.h', join_paths(meson.build_root(), 'src', 'pulse', 'version.h') ] ])
if host_machine.system() != 'windows' and host_machine.system() != 'darwin'
run_target('update-map-file',
command : [ join_paths(meson.source_root(), 'scripts/generate-map-file.sh'), 'map-file',
[ libpulse_headers, 'simple.h', join_paths(meson.build_root(), 'src', 'pulse', 'version.h') ] ])
versioning_link_args = '-Wl,-version-script=' + join_paths(meson.source_root(), 'src', 'pulse', 'map-file')
versioning_link_args = ['-Wl,-version-script=' + join_paths(meson.source_root(), 'src', 'pulse', 'map-file')]
else
versioning_link_args = []
endif
libpulse = shared_library('pulse',
libpulse_sources,