153a5a1b3Sopenharmony_ciif host_machine.system() != 'windows' 253a5a1b3Sopenharmony_ci subdir('rtp') 353a5a1b3Sopenharmony_ciendif 453a5a1b3Sopenharmony_ci 553a5a1b3Sopenharmony_ci# module name, sources, [headers, extra flags, extra deps, extra libs] 653a5a1b3Sopenharmony_ciall_modules = [ 753a5a1b3Sopenharmony_ci [ 'module-allow-passthrough', 'module-allow-passthrough.c' ], 853a5a1b3Sopenharmony_ci [ 'module-always-sink', 'module-always-sink.c' ], 953a5a1b3Sopenharmony_ci [ 'module-always-source', 'module-always-source.c' ], 1053a5a1b3Sopenharmony_ci [ 'module-augment-properties', 'module-augment-properties.c' ], 1153a5a1b3Sopenharmony_ci# [ 'module-bonjour-publish', 'macosx/module-bonjour-publish.c' ], 1253a5a1b3Sopenharmony_ci [ 'module-card-restore', 'module-card-restore.c' ], 1353a5a1b3Sopenharmony_ci [ 'module-cli', 'module-cli.c', [], [], [], libcli ], 1453a5a1b3Sopenharmony_ci [ 'module-cli-protocol-tcp', 'module-protocol-stub.c', [], ['-DUSE_PROTOCOL_CLI', '-DUSE_TCP_SOCKETS'], [], libprotocol_cli ], 1553a5a1b3Sopenharmony_ci [ 'module-cli-protocol-unix', 'module-protocol-stub.c', [], ['-DUSE_PROTOCOL_CLI', '-DUSE_UNIX_SOCKETS'], [], libprotocol_cli ], 1653a5a1b3Sopenharmony_ci [ 'module-combine', 'module-combine.c' ], 1753a5a1b3Sopenharmony_ci [ 'module-combine-sink', 'module-combine-sink.c' ], 1853a5a1b3Sopenharmony_ci# [ 'module-coreaudio-detect', 'macosx/module-coreaudio-detect.c' ], 1953a5a1b3Sopenharmony_ci# [ 'module-coreaudio-device', 'macosx/module-coreaudio-device.c' ], 2053a5a1b3Sopenharmony_ci [ 'module-default-device-restore', 'module-default-device-restore.c', [], [], [], libprotocol_native ], 2153a5a1b3Sopenharmony_ci [ 'module-detect', 'module-detect.c' ], 2253a5a1b3Sopenharmony_ci [ 'module-device-manager', 'module-device-manager.c', [], [], [], libprotocol_native ], 2353a5a1b3Sopenharmony_ci [ 'module-device-restore', 'module-device-restore.c', [], [], [dbus_dep], libprotocol_native ], 2453a5a1b3Sopenharmony_ci# [ 'module-esound-compat-spawnfd', 'module-esound-compat-spawnfd.c' ], 2553a5a1b3Sopenharmony_ci# [ 'module-esound-compat-spawnpid', 'module-esound-compat-spawnpid.c' ], 2653a5a1b3Sopenharmony_ci# [ 'module-esound-protocol-tcp', 'module-protocol-stub.c' ], 2753a5a1b3Sopenharmony_ci# [ 'module-esound-protocol-unix', 'module-protocol-stub.c' ], 2853a5a1b3Sopenharmony_ci# [ 'module-esound-sink', 'module-esound-sink.c' ], 2953a5a1b3Sopenharmony_ci [ 'module-filter-apply', 'module-filter-apply.c' ], 3053a5a1b3Sopenharmony_ci [ 'module-filter-heuristics', 'module-filter-heuristics.c' ], 3153a5a1b3Sopenharmony_ci [ 'module-http-protocol-tcp', 'module-protocol-stub.c', [], ['-DUSE_PROTOCOL_HTTP', '-DUSE_TCP_SOCKETS'], [], libprotocol_http ], 3253a5a1b3Sopenharmony_ci [ 'module-http-protocol-unix', 'module-protocol-stub.c', [], ['-DUSE_PROTOCOL_HTTP', '-DUSE_UNIX_SOCKETS'], [], libprotocol_http ], 3353a5a1b3Sopenharmony_ci [ 'module-intended-roles', 'module-intended-roles.c' ], 3453a5a1b3Sopenharmony_ci [ 'module-ladspa-sink', 'module-ladspa-sink.c', 'ladspa.h', ['-DLADSPA_PATH=' + join_paths(libdir, 'ladspa') + ':/usr/local/lib/ladspa:/usr/lib/ladspa:/usr/local/lib64/ladspa:/usr/lib64/ladspa'], [dbus_dep, libm_dep, ltdl_dep] ], 3553a5a1b3Sopenharmony_ci [ 'module-loopback', 'module-loopback.c' ], 3653a5a1b3Sopenharmony_ci [ 'module-match', 'module-match.c' ], 3753a5a1b3Sopenharmony_ci [ 'module-native-protocol-fd', 'module-native-protocol-fd.c', [], [], [], libprotocol_native ], 3853a5a1b3Sopenharmony_ci [ 'module-native-protocol-tcp', 'module-protocol-stub.c', [], ['-DUSE_PROTOCOL_NATIVE', '-DUSE_TCP_SOCKETS'], [], libprotocol_native ], 3953a5a1b3Sopenharmony_ci [ 'module-native-protocol-unix', 'module-protocol-stub.c', [], ['-DUSE_PROTOCOL_NATIVE', '-DUSE_UNIX_SOCKETS'], [], libprotocol_native ], 4053a5a1b3Sopenharmony_ci [ 'module-null-sink', 'module-null-sink.c' ], 4153a5a1b3Sopenharmony_ci [ 'module-null-source', 'module-null-source.c' ], 4253a5a1b3Sopenharmony_ci [ 'module-position-event-sounds', 'module-position-event-sounds.c' ], 4353a5a1b3Sopenharmony_ci [ 'module-remap-sink', 'module-remap-sink.c' ], 4453a5a1b3Sopenharmony_ci [ 'module-remap-source', 'module-remap-source.c' ], 4553a5a1b3Sopenharmony_ci [ 'module-rescue-streams', 'module-rescue-streams.c' ], 4653a5a1b3Sopenharmony_ci [ 'module-role-cork', ['module-role-cork.c', 'stream-interaction.c'], 'stream-interaction.h' ], 4753a5a1b3Sopenharmony_ci [ 'module-role-ducking', ['module-role-ducking.c', 'stream-interaction.c'], 'stream-interaction.h' ], 4853a5a1b3Sopenharmony_ci [ 'module-simple-protocol-tcp', 'module-protocol-stub.c', [], ['-DUSE_PROTOCOL_SIMPLE', '-DUSE_TCP_SOCKETS'], [], libprotocol_simple ], 4953a5a1b3Sopenharmony_ci [ 'module-simple-protocol-unix', 'module-protocol-stub.c', [], ['-DUSE_PROTOCOL_SIMPLE', '-DUSE_UNIX_SOCKETS'], [], libprotocol_simple ], 5053a5a1b3Sopenharmony_ci [ 'module-sine', 'module-sine.c' ], 5153a5a1b3Sopenharmony_ci [ 'module-sine-source', 'module-sine-source.c' ], 5253a5a1b3Sopenharmony_ci# [ 'module-solaris', 'module-solaris.c' ], 5353a5a1b3Sopenharmony_ci [ 'module-stream-restore', 'module-stream-restore.c', [], [], [dbus_dep], libprotocol_native ], 5453a5a1b3Sopenharmony_ci [ 'module-suspend-on-idle', 'module-suspend-on-idle.c' ], 5553a5a1b3Sopenharmony_ci [ 'module-switch-on-connect', 'module-switch-on-connect.c' ], 5653a5a1b3Sopenharmony_ci [ 'module-switch-on-port-available', 'module-switch-on-port-available.c' ], 5753a5a1b3Sopenharmony_ci [ 'module-tunnel-sink', ['module-tunnel.c', 'restart-module.c'], [], ['-DTUNNEL_SINK=1'], [x11_dep] ], 5853a5a1b3Sopenharmony_ci [ 'module-tunnel-sink-new', ['module-tunnel-sink-new.c', 'restart-module.c'] ], 5953a5a1b3Sopenharmony_ci [ 'module-tunnel-source', ['module-tunnel.c', 'restart-module.c'], [], [], [x11_dep] ], 6053a5a1b3Sopenharmony_ci [ 'module-tunnel-source-new', ['module-tunnel-source-new.c', 'restart-module.c'] ], 6153a5a1b3Sopenharmony_ci [ 'module-virtual-sink', 'module-virtual-sink.c' ], 6253a5a1b3Sopenharmony_ci [ 'module-virtual-source', 'module-virtual-source.c' ], 6353a5a1b3Sopenharmony_ci [ 'module-volume-restore', 'module-volume-restore.c' ], 6453a5a1b3Sopenharmony_ci] 6553a5a1b3Sopenharmony_ci 6653a5a1b3Sopenharmony_ciif host_machine.system() == 'windows' 6753a5a1b3Sopenharmony_ci winmm_dep = meson.get_compiler('c').find_library('winmm') 6853a5a1b3Sopenharmony_ci ksuser_dep = meson.get_compiler('c').find_library('ksuser') 6953a5a1b3Sopenharmony_ci all_modules += [ 7053a5a1b3Sopenharmony_ci [ 'module-waveout', 'module-waveout.c', [], [], [winmm_dep, ksuser_dep] ], 7153a5a1b3Sopenharmony_ci ] 7253a5a1b3Sopenharmony_ciendif 7353a5a1b3Sopenharmony_ci 7453a5a1b3Sopenharmony_ciif host_machine.system() != 'windows' 7553a5a1b3Sopenharmony_ci all_modules += [ 7653a5a1b3Sopenharmony_ci [ 'module-rtp-recv', 'rtp/module-rtp-recv.c', [], [], [], librtp ], 7753a5a1b3Sopenharmony_ci [ 'module-rtp-send', 'rtp/module-rtp-send.c' , [], [], [], librtp ], 7853a5a1b3Sopenharmony_ci ] 7953a5a1b3Sopenharmony_ciendif 8053a5a1b3Sopenharmony_ci 8153a5a1b3Sopenharmony_ci# Modules enabled by headers 8253a5a1b3Sopenharmony_ci 8353a5a1b3Sopenharmony_ciif cc.has_header('linux/input.h') 8453a5a1b3Sopenharmony_ci all_modules += [ 8553a5a1b3Sopenharmony_ci [ 'module-mmkbd-evdev', 'module-mmkbd-evdev.c' ], 8653a5a1b3Sopenharmony_ci ] 8753a5a1b3Sopenharmony_ciendif 8853a5a1b3Sopenharmony_ci 8953a5a1b3Sopenharmony_ciif cdata.has('HAVE_OSS_OUTPUT') 9053a5a1b3Sopenharmony_ci subdir('oss') 9153a5a1b3Sopenharmony_ci all_modules += [ 9253a5a1b3Sopenharmony_ci [ 'module-oss', 'oss/module-oss.c', [], [], [], liboss_util ], 9353a5a1b3Sopenharmony_ci ] 9453a5a1b3Sopenharmony_ciendif 9553a5a1b3Sopenharmony_ci 9653a5a1b3Sopenharmony_ciif cc.has_function('mkfifo') 9753a5a1b3Sopenharmony_ci all_modules += [ 9853a5a1b3Sopenharmony_ci [ 'module-pipe-sink', 'module-pipe-sink.c' ], 9953a5a1b3Sopenharmony_ci [ 'module-pipe-source', 'module-pipe-source.c' ] 10053a5a1b3Sopenharmony_ci ] 10153a5a1b3Sopenharmony_ciendif 10253a5a1b3Sopenharmony_ci 10353a5a1b3Sopenharmony_ci# Modules enabled by dependencies 10453a5a1b3Sopenharmony_ci 10553a5a1b3Sopenharmony_ciif alsa_dep.found() 10653a5a1b3Sopenharmony_ci subdir('alsa') 10753a5a1b3Sopenharmony_ci all_modules += [ 10853a5a1b3Sopenharmony_ci [ 'module-alsa-card', 'alsa/module-alsa-card.c', [], [], [alsa_dep, libm_dep], libalsa_util ], 10953a5a1b3Sopenharmony_ci [ 'module-alsa-sink', 'alsa/module-alsa-sink.c', [], [], [alsa_dep, libm_dep], libalsa_util ], 11053a5a1b3Sopenharmony_ci [ 'module-alsa-source', 'alsa/module-alsa-source.c', [], [], [alsa_dep, libm_dep], libalsa_util ], 11153a5a1b3Sopenharmony_ci ] 11253a5a1b3Sopenharmony_ciendif 11353a5a1b3Sopenharmony_ci 11453a5a1b3Sopenharmony_ciif avahi_dep.found() 11553a5a1b3Sopenharmony_ci all_modules += [ 11653a5a1b3Sopenharmony_ci [ 'module-zeroconf-discover', 'module-zeroconf-discover.c', [], [], [avahi_dep], libavahi_wrap ], 11753a5a1b3Sopenharmony_ci [ 'module-zeroconf-publish', 'module-zeroconf-publish.c', [], [], [avahi_dep, dbus_dep], [libavahi_wrap, libprotocol_native] ], 11853a5a1b3Sopenharmony_ci ] 11953a5a1b3Sopenharmony_ciendif 12053a5a1b3Sopenharmony_ci 12153a5a1b3Sopenharmony_ciif cdata.has('HAVE_BLUEZ_5') 12253a5a1b3Sopenharmony_ci subdir('bluetooth') 12353a5a1b3Sopenharmony_ci all_modules += [ 12453a5a1b3Sopenharmony_ci [ 'module-bluetooth-discover', 'bluetooth/module-bluetooth-discover.c' ], 12553a5a1b3Sopenharmony_ci [ 'module-bluetooth-policy', 'bluetooth/module-bluetooth-policy.c', [], [], [dbus_dep] ], 12653a5a1b3Sopenharmony_ci [ 'module-bluez5-device', 'bluetooth/module-bluez5-device.c', [], [], [], libbluez5_util ], 12753a5a1b3Sopenharmony_ci [ 'module-bluez5-discover', 'bluetooth/module-bluez5-discover.c', [], [], [dbus_dep], libbluez5_util ], 12853a5a1b3Sopenharmony_ci ] 12953a5a1b3Sopenharmony_ciendif 13053a5a1b3Sopenharmony_ci 13153a5a1b3Sopenharmony_ciif dbus_dep.found() 13253a5a1b3Sopenharmony_ci all_modules += [ 13353a5a1b3Sopenharmony_ci [ 'module-console-kit', 'module-console-kit.c', [], [], [dbus_dep] ], 13453a5a1b3Sopenharmony_ci [ 'module-dbus-protocol', 13553a5a1b3Sopenharmony_ci [ 'dbus/iface-card.c', 'dbus/iface-card.h', 13653a5a1b3Sopenharmony_ci 'dbus/iface-card-profile.c', 'dbus/iface-card-profile.h', 13753a5a1b3Sopenharmony_ci 'dbus/iface-client.c', 'dbus/iface-client.h', 13853a5a1b3Sopenharmony_ci 'dbus/iface-core.c', 'dbus/iface-core.h', 13953a5a1b3Sopenharmony_ci 'dbus/iface-device.c', 'dbus/iface-device.h', 14053a5a1b3Sopenharmony_ci 'dbus/iface-device-port.c', 'dbus/iface-device-port.h', 14153a5a1b3Sopenharmony_ci 'dbus/iface-memstats.c', 'dbus/iface-memstats.h', 14253a5a1b3Sopenharmony_ci 'dbus/iface-module.c', 'dbus/iface-module.h', 14353a5a1b3Sopenharmony_ci 'dbus/iface-sample.c', 'dbus/iface-sample.h', 14453a5a1b3Sopenharmony_ci 'dbus/iface-stream.c', 'dbus/iface-stream.h', 14553a5a1b3Sopenharmony_ci 'dbus/module-dbus-protocol.c', 14653a5a1b3Sopenharmony_ci ], 14753a5a1b3Sopenharmony_ci [], [], [dbus_dep] ], 14853a5a1b3Sopenharmony_ci [ 'module-rygel-media-server', 'module-rygel-media-server.c', [], [], [dbus_dep], libprotocol_http ], 14953a5a1b3Sopenharmony_ci ] 15053a5a1b3Sopenharmony_ciendif 15153a5a1b3Sopenharmony_ci 15253a5a1b3Sopenharmony_ciif fftw_dep.found() 15353a5a1b3Sopenharmony_ci all_modules += [ 15453a5a1b3Sopenharmony_ci [ 'module-virtual-surround-sink', 'module-virtual-surround-sink.c', [], [], [fftw_dep, libm_dep] ], 15553a5a1b3Sopenharmony_ci ] 15653a5a1b3Sopenharmony_ciendif 15753a5a1b3Sopenharmony_ci 15853a5a1b3Sopenharmony_ciif dbus_dep.found() and fftw_dep.found() 15953a5a1b3Sopenharmony_ci all_modules += [ 16053a5a1b3Sopenharmony_ci [ 'module-equalizer-sink', 'module-equalizer-sink.c', [], [], [dbus_dep, fftw_dep, libm_dep] ], 16153a5a1b3Sopenharmony_ci ] 16253a5a1b3Sopenharmony_ciendif 16353a5a1b3Sopenharmony_ci 16453a5a1b3Sopenharmony_ciif get_option('gsettings').enabled() and glib_dep.found() and gio_dep.found() 16553a5a1b3Sopenharmony_ci subdir('gsettings') 16653a5a1b3Sopenharmony_ci all_modules += [ 16753a5a1b3Sopenharmony_ci [ 'module-gsettings', 16853a5a1b3Sopenharmony_ci [ 'gsettings/module-gsettings.c', 'stdin-util.c', 'stdin-util.h' ], 16953a5a1b3Sopenharmony_ci [], ['-DPA_GSETTINGS_HELPER="' + join_paths(pulselibexecdir, 'gsettings-helper') + '"'] ] 17053a5a1b3Sopenharmony_ci ] 17153a5a1b3Sopenharmony_ciendif 17253a5a1b3Sopenharmony_ci 17353a5a1b3Sopenharmony_ciif jack_dep.found() 17453a5a1b3Sopenharmony_ci all_modules += [ 17553a5a1b3Sopenharmony_ci [ 'module-jack-sink', 'jack/module-jack-sink.c', [], [], [jack_dep] ], 17653a5a1b3Sopenharmony_ci [ 'module-jack-source', 'jack/module-jack-source.c', [], [], [jack_dep] ], 17753a5a1b3Sopenharmony_ci ] 17853a5a1b3Sopenharmony_ci if dbus_dep.found() 17953a5a1b3Sopenharmony_ci all_modules += [ 18053a5a1b3Sopenharmony_ci [ 'module-jackdbus-detect', 'jack/module-jackdbus-detect.c', [], [], [dbus_dep] ], 18153a5a1b3Sopenharmony_ci ] 18253a5a1b3Sopenharmony_ci endif 18353a5a1b3Sopenharmony_ciendif 18453a5a1b3Sopenharmony_ci 18553a5a1b3Sopenharmony_ciif lirc_dep.found() 18653a5a1b3Sopenharmony_ci all_modules += [ 18753a5a1b3Sopenharmony_ci [ 'module-lirc', 'module-lirc.c', [], [], [lirc_dep] ], 18853a5a1b3Sopenharmony_ci ] 18953a5a1b3Sopenharmony_ciendif 19053a5a1b3Sopenharmony_ci 19153a5a1b3Sopenharmony_ciif openssl_dep.found() 19253a5a1b3Sopenharmony_ci if host_machine.system() != 'windows' 19353a5a1b3Sopenharmony_ci subdir('raop') 19453a5a1b3Sopenharmony_ci all_modules += [ 19553a5a1b3Sopenharmony_ci [ 'module-raop-sink', 'raop/module-raop-sink.c', [], [], [], libraop ], 19653a5a1b3Sopenharmony_ci ] 19753a5a1b3Sopenharmony_ci endif 19853a5a1b3Sopenharmony_ci 19953a5a1b3Sopenharmony_ci if avahi_dep.found() 20053a5a1b3Sopenharmony_ci all_modules += [ 20153a5a1b3Sopenharmony_ci [ 'module-raop-discover', 'raop/module-raop-discover.c', [], [], [avahi_dep], libavahi_wrap ], 20253a5a1b3Sopenharmony_ci ] 20353a5a1b3Sopenharmony_ci endif 20453a5a1b3Sopenharmony_ciendif 20553a5a1b3Sopenharmony_ci 20653a5a1b3Sopenharmony_ciif libsystemd_dep.found() or libelogind_dep.found() 20753a5a1b3Sopenharmony_ci all_modules += [ 20853a5a1b3Sopenharmony_ci [ 'module-systemd-login', 'module-systemd-login.c', [], [], [libsystemd_dep, libelogind_dep] ], 20953a5a1b3Sopenharmony_ci ] 21053a5a1b3Sopenharmony_ciendif 21153a5a1b3Sopenharmony_ci 21253a5a1b3Sopenharmony_ciif udev_dep.found() 21353a5a1b3Sopenharmony_ci all_modules += [ [ 'module-udev-detect', 'module-udev-detect.c', [], [], [udev_dep] ] ] 21453a5a1b3Sopenharmony_ci if get_option('hal-compat') 21553a5a1b3Sopenharmony_ci all_modules += [ [ 'module-hal-detect', 'module-hal-detect-compat.c' ] ] 21653a5a1b3Sopenharmony_ci endif 21753a5a1b3Sopenharmony_ciendif 21853a5a1b3Sopenharmony_ci 21953a5a1b3Sopenharmony_ciif host_machine.system() == 'freebsd' 22053a5a1b3Sopenharmony_ci all_modules += [ [ 'module-devd-detect', 'module-devd-detect.c', [], [], [] ] ] 22153a5a1b3Sopenharmony_ciendif 22253a5a1b3Sopenharmony_ci 22353a5a1b3Sopenharmony_ciif x11_dep.found() 22453a5a1b3Sopenharmony_ci all_modules += [ 22553a5a1b3Sopenharmony_ci [ 'module-x11-bell', 'x11/module-x11-bell.c', [], [], [x11_dep] ], 22653a5a1b3Sopenharmony_ci [ 'module-x11-cork-request', 'x11/module-x11-cork-request.c', [], [], [x11_dep, xtst_dep] ], 22753a5a1b3Sopenharmony_ci [ 'module-x11-publish', 'x11/module-x11-publish.c', [], [], [x11_dep], libprotocol_native ], 22853a5a1b3Sopenharmony_ci [ 'module-x11-xsmp', 'x11/module-x11-xsmp.c', [], [], [x11_dep, ice_dep, sm_dep] ], 22953a5a1b3Sopenharmony_ci ] 23053a5a1b3Sopenharmony_ciendif 23153a5a1b3Sopenharmony_ci 23253a5a1b3Sopenharmony_ci# Module echo-cancel is quite modular itself and requires a section of its own 23353a5a1b3Sopenharmony_ci 23453a5a1b3Sopenharmony_cimodule_echo_cancel_sources = [ 23553a5a1b3Sopenharmony_ci 'echo-cancel/echo-cancel.h', 23653a5a1b3Sopenharmony_ci 'echo-cancel/module-echo-cancel.c', 23753a5a1b3Sopenharmony_ci 'echo-cancel/null.c', 23853a5a1b3Sopenharmony_ci] 23953a5a1b3Sopenharmony_cimodule_echo_cancel_orc_sources = [] 24053a5a1b3Sopenharmony_cimodule_echo_cancel_flags = [] 24153a5a1b3Sopenharmony_cimodule_echo_cancel_deps = [] 24253a5a1b3Sopenharmony_cimodule_echo_cancel_libs = [] 24353a5a1b3Sopenharmony_ci 24453a5a1b3Sopenharmony_ciif get_option('adrian-aec') 24553a5a1b3Sopenharmony_ci module_echo_cancel_sources += [ 24653a5a1b3Sopenharmony_ci 'echo-cancel/adrian.c', 'echo-cancel/adrian.h', 24753a5a1b3Sopenharmony_ci 'echo-cancel/adrian-aec.c', 'echo-cancel/adrian-aec.h', 24853a5a1b3Sopenharmony_ci ] 24953a5a1b3Sopenharmony_ci module_echo_cancel_flags += ['-DHAVE_ADRIAN_EC=1'] 25053a5a1b3Sopenharmony_ci module_echo_cancel_deps += [libm_dep] 25153a5a1b3Sopenharmony_ci 25253a5a1b3Sopenharmony_ci if have_orcc 25353a5a1b3Sopenharmony_ci orcsrc = 'adrian-aec' 25453a5a1b3Sopenharmony_ci orc_h = custom_target(orcsrc + '-orc-gen.h', 25553a5a1b3Sopenharmony_ci input : join_paths('echo-cancel', orcsrc + '.orc'), 25653a5a1b3Sopenharmony_ci output : orcsrc + '-orc-gen.h', 25753a5a1b3Sopenharmony_ci command : orcc_args + ['--header', '-o', '@OUTPUT@', '@INPUT@'] 25853a5a1b3Sopenharmony_ci ) 25953a5a1b3Sopenharmony_ci orc_c = custom_target(orcsrc + '-orc-gen.c', 26053a5a1b3Sopenharmony_ci input : join_paths('echo-cancel', orcsrc + '.orc'), 26153a5a1b3Sopenharmony_ci output : orcsrc + '-orc-gen.c', 26253a5a1b3Sopenharmony_ci command : orcc_args + ['--implementation', '-o', '@OUTPUT@', '@INPUT@'] 26353a5a1b3Sopenharmony_ci ) 26453a5a1b3Sopenharmony_ci module_echo_cancel_orc_sources += [orc_c, orc_h] 26553a5a1b3Sopenharmony_ci module_echo_cancel_deps += [orc_dep] 26653a5a1b3Sopenharmony_ci endif 26753a5a1b3Sopenharmony_ci 26853a5a1b3Sopenharmony_ciendif 26953a5a1b3Sopenharmony_ci 27053a5a1b3Sopenharmony_ciif speex_dep.found() 27153a5a1b3Sopenharmony_ci module_echo_cancel_sources += ['echo-cancel/speex.c'] 27253a5a1b3Sopenharmony_ci module_echo_cancel_deps += [speex_dep] 27353a5a1b3Sopenharmony_ciendif 27453a5a1b3Sopenharmony_ci 27553a5a1b3Sopenharmony_ciif webrtc_dep.found() 27653a5a1b3Sopenharmony_ci subdir('echo-cancel') 27753a5a1b3Sopenharmony_ci module_echo_cancel_libs += [libwebrtc_util] 27853a5a1b3Sopenharmony_ciendif 27953a5a1b3Sopenharmony_ci 28053a5a1b3Sopenharmony_ciall_modules += [ 28153a5a1b3Sopenharmony_ci [ 'module-echo-cancel', 28253a5a1b3Sopenharmony_ci module_echo_cancel_sources + module_echo_cancel_orc_sources, 28353a5a1b3Sopenharmony_ci [], 28453a5a1b3Sopenharmony_ci module_echo_cancel_flags, 28553a5a1b3Sopenharmony_ci module_echo_cancel_deps, 28653a5a1b3Sopenharmony_ci module_echo_cancel_libs, 28753a5a1b3Sopenharmony_ci ] 28853a5a1b3Sopenharmony_ci] 28953a5a1b3Sopenharmony_ci 29053a5a1b3Sopenharmony_ci# Generate a shared module object for each modules 29153a5a1b3Sopenharmony_ci 29253a5a1b3Sopenharmony_ci# FIXME: Not all modules actually have a dep in modlibexecdir 29353a5a1b3Sopenharmony_ci# FIXME: meson doesn't support multiple RPATH arguments currently 29453a5a1b3Sopenharmony_cirpath_dirs = join_paths(privlibdir) + ':' + join_paths(modlibexecdir) 29553a5a1b3Sopenharmony_ci 29653a5a1b3Sopenharmony_ciforeach m : all_modules 29753a5a1b3Sopenharmony_ci name = m[0] 29853a5a1b3Sopenharmony_ci sources = m[1] 29953a5a1b3Sopenharmony_ci headers = m.get(2, []) 30053a5a1b3Sopenharmony_ci extra_flags = m.get(3, []) 30153a5a1b3Sopenharmony_ci extra_deps = m.get(4, []) 30253a5a1b3Sopenharmony_ci extra_libs = m.get(5, []) 30353a5a1b3Sopenharmony_ci 30453a5a1b3Sopenharmony_ci mod = shared_module(name, 30553a5a1b3Sopenharmony_ci sources, 30653a5a1b3Sopenharmony_ci headers, 30753a5a1b3Sopenharmony_ci include_directories : [configinc, topinc, include_directories('.')], 30853a5a1b3Sopenharmony_ci c_args : [pa_c_args, server_c_args, '-DPA_MODULE_NAME=' + name.underscorify()] + extra_flags, 30953a5a1b3Sopenharmony_ci install : true, 31053a5a1b3Sopenharmony_ci install_rpath : rpath_dirs, 31153a5a1b3Sopenharmony_ci install_dir : modlibexecdir, 31253a5a1b3Sopenharmony_ci dependencies : [thread_dep, libpulse_dep, libpulsecommon_dep, libpulsecore_dep, libintl_dep, platform_dep, platform_socket_dep] + extra_deps, 31353a5a1b3Sopenharmony_ci link_args : [nodelete_link_args, '-Wl,--no-undefined' ], 31453a5a1b3Sopenharmony_ci link_with : extra_libs, 31553a5a1b3Sopenharmony_ci name_prefix : '', 31653a5a1b3Sopenharmony_ci implicit_include_directories : false) 31753a5a1b3Sopenharmony_ciendforeach 318