2017-05-23 19:15:33 +02:00
|
|
|
subdir('spa')
|
|
|
|
|
|
2021-06-24 14:06:30 +10:00
|
|
|
# The list of "main" source files for modules, the ones that have the
|
|
|
|
|
# doxygen documentation
|
|
|
|
|
module_sources = [
|
|
|
|
|
'module-access.c',
|
|
|
|
|
'module-adapter.c',
|
2022-03-25 10:28:18 +01:00
|
|
|
'module-avb.c',
|
2021-06-24 14:06:30 +10:00
|
|
|
'module-client-device.c',
|
|
|
|
|
'module-client-node.c',
|
|
|
|
|
'module-echo-cancel.c',
|
2021-06-25 16:44:26 +02:00
|
|
|
'module-example-sink.c',
|
|
|
|
|
'module-example-source.c',
|
2022-02-12 18:36:36 +02:00
|
|
|
'module-fallback-sink.c',
|
2021-06-24 14:06:30 +10:00
|
|
|
'module-filter-chain.c',
|
|
|
|
|
'module-link-factory.c',
|
|
|
|
|
'module-loopback.c',
|
|
|
|
|
'module-metadata.c',
|
2022-06-02 21:13:12 +02:00
|
|
|
'module-pipe-tunnel.c',
|
2021-06-24 14:06:30 +10:00
|
|
|
'module-portal.c',
|
|
|
|
|
'module-profiler.c',
|
|
|
|
|
'module-protocol-native.c',
|
|
|
|
|
'module-protocol-pulse.c',
|
|
|
|
|
'module-protocol-simple.c',
|
|
|
|
|
'module-pulse-tunnel.c',
|
2022-01-15 20:54:15 +01:00
|
|
|
'module-rt.c',
|
2021-11-11 11:42:16 +01:00
|
|
|
'module-raop-discover.c',
|
2022-04-22 17:29:40 +02:00
|
|
|
'module-raop-sink.c',
|
2022-10-04 09:16:17 +02:00
|
|
|
'module-rtp-source.c',
|
2022-10-05 18:00:11 +02:00
|
|
|
'module-rtp-sink.c',
|
2021-06-24 14:06:30 +10:00
|
|
|
'module-session-manager.c',
|
|
|
|
|
'module-zeroconf-discover.c',
|
2021-06-26 17:55:13 +05:30
|
|
|
'module-roc-source.c',
|
|
|
|
|
'module-roc-sink.c',
|
2022-01-21 16:27:44 +01:00
|
|
|
'module-x11-bell.c',
|
2021-06-24 14:06:30 +10:00
|
|
|
]
|
|
|
|
|
|
2022-07-30 21:29:42 +03:00
|
|
|
pipewire_module_access_deps = [spa_dep, mathlib, dl_lib, pipewire_dep]
|
|
|
|
|
if flatpak_support
|
|
|
|
|
pipewire_module_access_deps += glib2_dep
|
|
|
|
|
endif
|
|
|
|
|
|
2018-10-27 17:33:21 +01:00
|
|
|
pipewire_module_access = shared_library('pipewire-module-access', [ 'module-access.c' ],
|
2021-12-28 16:04:06 +01:00
|
|
|
include_directories : [configinc],
|
2017-05-23 19:15:33 +02:00
|
|
|
install : true,
|
|
|
|
|
install_dir : modules_install_dir,
|
2020-03-08 09:38:20 +01:00
|
|
|
install_rpath: modules_install_dir,
|
2022-07-30 21:29:42 +03:00
|
|
|
dependencies : pipewire_module_access_deps
|
2021-04-22 13:08:20 +02:00
|
|
|
)
|
|
|
|
|
|
2021-04-26 10:45:44 +02:00
|
|
|
pipewire_module_loopback = shared_library('pipewire-module-loopback',
|
2021-04-22 13:08:20 +02:00
|
|
|
[ 'module-loopback.c' ],
|
2021-12-28 16:04:06 +01:00
|
|
|
include_directories : [configinc],
|
2021-04-22 13:08:20 +02:00
|
|
|
install : true,
|
|
|
|
|
install_dir : modules_install_dir,
|
|
|
|
|
install_rpath: modules_install_dir,
|
2021-12-28 16:04:06 +01:00
|
|
|
dependencies : [spa_dep, mathlib, dl_lib, pipewire_dep],
|
2017-05-23 19:15:33 +02:00
|
|
|
)
|
|
|
|
|
|
2021-08-24 12:04:09 +02:00
|
|
|
simd_cargs = []
|
|
|
|
|
simd_dependencies = []
|
|
|
|
|
|
|
|
|
|
if have_sse
|
2022-11-22 17:59:44 +01:00
|
|
|
filter_chain_sse = static_library('filter_chain_sse',
|
|
|
|
|
['module-filter-chain/pffft.c',
|
|
|
|
|
'module-filter-chain/dsp-ops-sse.c' ],
|
2021-08-24 12:04:09 +02:00
|
|
|
c_args : [sse_args, '-O3', '-DHAVE_SSE'],
|
2021-12-28 16:04:06 +01:00
|
|
|
dependencies : [ spa_dep ],
|
2021-08-24 12:04:09 +02:00
|
|
|
install : false
|
|
|
|
|
)
|
|
|
|
|
simd_cargs += ['-DHAVE_SSE']
|
2022-11-22 17:59:44 +01:00
|
|
|
simd_dependencies += filter_chain_sse
|
2021-08-24 12:04:09 +02:00
|
|
|
endif
|
|
|
|
|
if have_neon
|
2022-11-22 17:59:44 +01:00
|
|
|
filter_chain_neon = static_library('filter_chain_neon',
|
2021-08-24 12:04:09 +02:00
|
|
|
['module-filter-chain/pffft.c' ],
|
|
|
|
|
c_args : [neon_args, '-O3', '-DHAVE_NEON'],
|
2021-12-28 16:04:06 +01:00
|
|
|
dependencies : [ spa_dep ],
|
2021-08-24 12:04:09 +02:00
|
|
|
install : false
|
|
|
|
|
)
|
|
|
|
|
simd_cargs += ['-DHAVE_NEON']
|
2022-11-22 17:59:44 +01:00
|
|
|
simd_dependencies += filter_chain_neon
|
2021-08-24 12:04:09 +02:00
|
|
|
endif
|
|
|
|
|
|
2022-11-22 17:59:44 +01:00
|
|
|
filter_chain_c = static_library('filter_chain_c',
|
|
|
|
|
['module-filter-chain/pffft.c',
|
|
|
|
|
'module-filter-chain/dsp-ops.c',
|
|
|
|
|
'module-filter-chain/dsp-ops-c.c' ],
|
2021-08-24 12:04:09 +02:00
|
|
|
c_args : [simd_cargs, '-O3', '-DPFFFT_SIMD_DISABLE'],
|
2021-12-28 16:04:06 +01:00
|
|
|
dependencies : [ spa_dep ],
|
2021-08-24 12:04:09 +02:00
|
|
|
install : false
|
|
|
|
|
)
|
2022-11-22 17:59:44 +01:00
|
|
|
simd_dependencies += filter_chain_c
|
2021-08-24 12:04:09 +02:00
|
|
|
|
2021-12-10 17:44:28 +01:00
|
|
|
filter_chain_sources = [
|
|
|
|
|
'module-filter-chain.c',
|
|
|
|
|
'module-filter-chain/biquad.c',
|
|
|
|
|
'module-filter-chain/ladspa_plugin.c',
|
|
|
|
|
'module-filter-chain/builtin_plugin.c',
|
|
|
|
|
'module-filter-chain/convolver.c'
|
|
|
|
|
]
|
|
|
|
|
filter_chain_dependencies = [
|
|
|
|
|
mathlib, dl_lib, pipewire_dep, sndfile_dep
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
if lilv_lib.found()
|
|
|
|
|
filter_chain_sources += [
|
|
|
|
|
'module-filter-chain/lv2_plugin.c'
|
|
|
|
|
]
|
|
|
|
|
filter_chain_dependencies += [ lilv_lib ]
|
|
|
|
|
endif
|
|
|
|
|
|
2021-08-24 12:04:09 +02:00
|
|
|
|
2021-05-04 15:30:01 +02:00
|
|
|
pipewire_module_filter_chain = shared_library('pipewire-module-filter-chain',
|
2021-12-10 17:44:28 +01:00
|
|
|
filter_chain_sources,
|
2021-12-28 16:04:06 +01:00
|
|
|
include_directories : [configinc],
|
2021-04-30 10:52:25 +02:00
|
|
|
install : true,
|
|
|
|
|
install_dir : modules_install_dir,
|
|
|
|
|
install_rpath: modules_install_dir,
|
2021-08-24 12:04:09 +02:00
|
|
|
link_with : simd_dependencies,
|
2021-12-10 17:44:28 +01:00
|
|
|
dependencies : filter_chain_dependencies,
|
2021-04-30 10:52:25 +02:00
|
|
|
)
|
|
|
|
|
|
2021-05-28 11:28:03 -04:00
|
|
|
pipewire_module_echo_cancel_sources = [
|
|
|
|
|
'module-echo-cancel.c',
|
|
|
|
|
]
|
|
|
|
|
|
2021-04-26 10:47:02 +02:00
|
|
|
pipewire_module_echo_cancel = shared_library('pipewire-module-echo-cancel',
|
2021-05-28 11:28:03 -04:00
|
|
|
pipewire_module_echo_cancel_sources,
|
2021-12-28 16:04:06 +01:00
|
|
|
include_directories : [configinc],
|
2021-04-26 10:47:02 +02:00
|
|
|
install : true,
|
|
|
|
|
install_dir : modules_install_dir,
|
|
|
|
|
install_rpath: modules_install_dir,
|
2022-02-10 09:33:06 +01:00
|
|
|
dependencies : [mathlib, dl_lib, pipewire_dep],
|
2021-04-26 10:47:02 +02:00
|
|
|
)
|
|
|
|
|
|
2020-01-31 15:07:26 +01:00
|
|
|
pipewire_module_profiler = shared_library('pipewire-module-profiler',
|
|
|
|
|
[ 'module-profiler.c',
|
|
|
|
|
'module-profiler/protocol-native.c', ],
|
2021-12-28 16:04:06 +01:00
|
|
|
include_directories : [configinc],
|
2020-01-31 15:07:26 +01:00
|
|
|
install : true,
|
|
|
|
|
install_dir : modules_install_dir,
|
2020-03-08 09:38:20 +01:00
|
|
|
install_rpath: modules_install_dir,
|
2021-12-28 16:04:06 +01:00
|
|
|
dependencies : [spa_dep, mathlib, dl_lib, pipewire_dep],
|
2020-01-31 15:07:26 +01:00
|
|
|
)
|
|
|
|
|
|
2022-01-15 20:54:15 +01:00
|
|
|
pipewire_module_rt = shared_library('pipewire-module-rt', [ 'module-rt.c' ],
|
2021-12-28 16:04:06 +01:00
|
|
|
include_directories : [configinc],
|
2020-07-17 14:12:10 +02:00
|
|
|
install : true,
|
|
|
|
|
install_dir : modules_install_dir,
|
|
|
|
|
install_rpath: modules_install_dir,
|
|
|
|
|
dependencies : [dbus_dep, mathlib, dl_lib, pipewire_dep],
|
|
|
|
|
)
|
2022-03-10 11:19:12 +01:00
|
|
|
|
2022-03-30 19:44:38 +02:00
|
|
|
build_module_rtkit = dbus_dep.found() and (get_option('legacy-rtkit') == true)
|
2022-03-10 11:19:12 +01:00
|
|
|
if build_module_rtkit
|
2022-01-16 16:25:28 +01:00
|
|
|
# TODO: This serves as a temporary alias to prevent breaking existing setups
|
|
|
|
|
# while `module-rtkit` is being migrated to `module-rt`
|
2022-01-25 16:42:27 +01:00
|
|
|
pipewire_module_rtkit = shared_library('pipewire-module-rtkit', [ 'module-rt.c' ],
|
|
|
|
|
include_directories : [configinc],
|
2022-01-16 16:25:28 +01:00
|
|
|
install : true,
|
|
|
|
|
install_dir : modules_install_dir,
|
2022-01-25 16:42:27 +01:00
|
|
|
install_rpath: modules_install_dir,
|
|
|
|
|
dependencies : [dbus_dep, mathlib, dl_lib, pipewire_dep],
|
2022-01-16 16:25:28 +01:00
|
|
|
)
|
2021-09-15 10:18:56 +10:00
|
|
|
endif
|
2022-03-11 10:33:09 +01:00
|
|
|
summary({'rt': '@0@ RTKit'.format(build_module_rtkit ? 'with' : 'without')}, section: 'Optional Modules')
|
2021-09-15 10:18:56 +10:00
|
|
|
|
|
|
|
|
build_module_portal = dbus_dep.found()
|
|
|
|
|
if build_module_portal
|
2020-07-17 14:12:10 +02:00
|
|
|
pipewire_module_portal = shared_library('pipewire-module-portal', [ 'module-portal.c' ],
|
2021-12-28 16:04:06 +01:00
|
|
|
include_directories : [configinc],
|
2020-05-18 16:30:09 +02:00
|
|
|
install : true,
|
|
|
|
|
install_dir : modules_install_dir,
|
|
|
|
|
install_rpath: modules_install_dir,
|
|
|
|
|
dependencies : [dbus_dep, mathlib, dl_lib, pipewire_dep],
|
|
|
|
|
)
|
2018-02-08 10:02:17 +01:00
|
|
|
endif
|
2021-09-15 10:18:56 +10:00
|
|
|
summary({'portal': build_module_portal}, bool_yn: true, section: 'Optional Modules')
|
2018-02-08 10:02:17 +01:00
|
|
|
|
2021-08-04 20:38:30 +02:00
|
|
|
pipewire_module_client_device = shared_library('pipewire-module-client-device',
|
2019-05-28 14:04:58 +02:00
|
|
|
[ 'module-client-device.c',
|
|
|
|
|
'module-client-device/resource-device.c',
|
|
|
|
|
'module-client-device/proxy-device.c',
|
|
|
|
|
'module-client-device/protocol-native.c', ],
|
2021-12-28 16:04:06 +01:00
|
|
|
include_directories : [configinc],
|
2019-05-28 14:04:58 +02:00
|
|
|
install : true,
|
|
|
|
|
install_dir : modules_install_dir,
|
2020-03-08 09:38:20 +01:00
|
|
|
install_rpath: modules_install_dir,
|
2021-12-28 16:04:06 +01:00
|
|
|
dependencies : [spa_dep, mathlib, dl_lib, pipewire_dep],
|
2019-05-28 14:04:58 +02:00
|
|
|
)
|
|
|
|
|
|
2018-01-16 16:53:08 +01:00
|
|
|
pipewire_module_link_factory = shared_library('pipewire-module-link-factory',
|
|
|
|
|
[ 'module-link-factory.c' ],
|
2021-12-28 16:04:06 +01:00
|
|
|
include_directories : [configinc],
|
2018-01-16 16:53:08 +01:00
|
|
|
install : true,
|
|
|
|
|
install_dir : modules_install_dir,
|
2020-03-08 09:38:20 +01:00
|
|
|
install_rpath: modules_install_dir,
|
2021-12-28 16:04:06 +01:00
|
|
|
dependencies : [spa_dep, mathlib, dl_lib, pipewire_dep],
|
2018-01-16 16:53:08 +01:00
|
|
|
)
|
|
|
|
|
|
2020-11-12 13:02:18 +01:00
|
|
|
pipewire_module_protocol_deps = [mathlib, dl_lib, pipewire_dep]
|
2018-11-22 18:07:53 -02:00
|
|
|
|
2021-03-10 15:36:27 -03:00
|
|
|
if systemd_dep.found()
|
2020-11-12 13:02:18 +01:00
|
|
|
pipewire_module_protocol_deps += systemd_dep
|
2018-11-22 18:07:53 -02:00
|
|
|
endif
|
|
|
|
|
|
2017-06-21 12:11:54 +02:00
|
|
|
pipewire_module_protocol_native = shared_library('pipewire-module-protocol-native',
|
|
|
|
|
[ 'module-protocol-native.c',
|
2018-01-30 15:11:39 +01:00
|
|
|
'module-protocol-native/local-socket.c',
|
|
|
|
|
'module-protocol-native/portal-screencast.c',
|
2017-06-21 12:11:54 +02:00
|
|
|
'module-protocol-native/protocol-native.c',
|
2019-10-08 22:52:25 +02:00
|
|
|
'module-protocol-native/v0/protocol-native.c',
|
2022-02-20 14:03:41 +02:00
|
|
|
'module-protocol-native/protocol-footer.c',
|
2017-07-11 12:24:03 +02:00
|
|
|
'module-protocol-native/connection.c' ],
|
2021-12-28 16:04:06 +01:00
|
|
|
include_directories : [configinc],
|
2017-05-23 19:15:33 +02:00
|
|
|
install : true,
|
|
|
|
|
install_dir : modules_install_dir,
|
2020-03-08 09:38:20 +01:00
|
|
|
install_rpath: modules_install_dir,
|
2020-11-12 13:02:18 +01:00
|
|
|
dependencies : pipewire_module_protocol_deps,
|
2017-05-23 19:15:33 +02:00
|
|
|
)
|
|
|
|
|
|
2020-11-20 11:52:57 +01:00
|
|
|
pipewire_module_protocol_pulse_deps = pipewire_module_protocol_deps
|
|
|
|
|
|
2021-06-10 18:51:11 +05:30
|
|
|
pipewire_module_protocol_pulse_sources = [
|
|
|
|
|
'module-protocol-pulse.c',
|
2021-06-18 23:36:35 +02:00
|
|
|
'module-protocol-pulse/client.c',
|
2021-06-18 22:10:11 +02:00
|
|
|
'module-protocol-pulse/collect.c',
|
2021-06-18 23:51:54 +02:00
|
|
|
'module-protocol-pulse/extension.c',
|
2021-10-18 15:00:33 +02:00
|
|
|
'module-protocol-pulse/extensions/ext-device-manager.c',
|
|
|
|
|
'module-protocol-pulse/extensions/ext-device-restore.c',
|
|
|
|
|
'module-protocol-pulse/extensions/ext-stream-restore.c',
|
2021-06-18 21:49:24 +02:00
|
|
|
'module-protocol-pulse/format.c',
|
2021-06-10 18:51:11 +05:30
|
|
|
'module-protocol-pulse/manager.c',
|
2021-06-18 22:56:49 +02:00
|
|
|
'module-protocol-pulse/message.c',
|
2021-06-19 00:38:56 +02:00
|
|
|
'module-protocol-pulse/message-handler.c',
|
2021-06-19 00:09:09 +02:00
|
|
|
'module-protocol-pulse/module.c',
|
2021-06-18 23:36:35 +02:00
|
|
|
'module-protocol-pulse/operation.c',
|
2021-06-18 23:03:58 +02:00
|
|
|
'module-protocol-pulse/pending-sample.c',
|
2021-06-10 18:51:11 +05:30
|
|
|
'module-protocol-pulse/pulse-server.c',
|
2021-06-30 17:17:36 +02:00
|
|
|
'module-protocol-pulse/quirks.c',
|
2022-02-04 15:15:42 +01:00
|
|
|
'module-protocol-pulse/remap.c',
|
2021-06-18 23:36:35 +02:00
|
|
|
'module-protocol-pulse/reply.c',
|
2021-06-18 22:23:53 +02:00
|
|
|
'module-protocol-pulse/sample.c',
|
|
|
|
|
'module-protocol-pulse/sample-play.c',
|
2021-06-18 23:46:50 +02:00
|
|
|
'module-protocol-pulse/server.c',
|
2021-06-18 23:36:35 +02:00
|
|
|
'module-protocol-pulse/stream.c',
|
2021-06-18 22:43:09 +02:00
|
|
|
'module-protocol-pulse/utils.c',
|
2021-06-18 22:04:45 +02:00
|
|
|
'module-protocol-pulse/volume.c',
|
2022-02-13 12:21:20 +02:00
|
|
|
'module-protocol-pulse/modules/module-always-sink.c',
|
2021-06-10 18:51:11 +05:30
|
|
|
'module-protocol-pulse/modules/module-combine-sink.c',
|
|
|
|
|
'module-protocol-pulse/modules/module-echo-cancel.c',
|
|
|
|
|
'module-protocol-pulse/modules/module-ladspa-sink.c',
|
|
|
|
|
'module-protocol-pulse/modules/module-ladspa-source.c',
|
|
|
|
|
'module-protocol-pulse/modules/module-loopback.c',
|
|
|
|
|
'module-protocol-pulse/modules/module-native-protocol-tcp.c',
|
|
|
|
|
'module-protocol-pulse/modules/module-null-sink.c',
|
2021-06-12 14:41:27 +05:30
|
|
|
'module-protocol-pulse/modules/module-pipe-source.c',
|
2021-06-10 18:51:11 +05:30
|
|
|
'module-protocol-pulse/modules/module-pipe-sink.c',
|
2021-11-12 17:53:24 +01:00
|
|
|
'module-protocol-pulse/modules/module-raop-discover.c',
|
2021-06-10 18:51:11 +05:30
|
|
|
'module-protocol-pulse/modules/module-remap-sink.c',
|
|
|
|
|
'module-protocol-pulse/modules/module-remap-source.c',
|
2021-11-05 16:51:58 +01:00
|
|
|
'module-protocol-pulse/modules/module-roc-sink.c',
|
2022-04-25 15:18:47 +02:00
|
|
|
'module-protocol-pulse/modules/module-roc-sink-input.c',
|
2021-11-05 16:51:58 +01:00
|
|
|
'module-protocol-pulse/modules/module-roc-source.c',
|
2022-10-06 13:18:35 +02:00
|
|
|
'module-protocol-pulse/modules/module-rtp-recv.c',
|
|
|
|
|
'module-protocol-pulse/modules/module-rtp-send.c',
|
2021-06-10 18:51:11 +05:30
|
|
|
'module-protocol-pulse/modules/module-simple-protocol-tcp.c',
|
2021-07-23 18:50:33 +03:00
|
|
|
'module-protocol-pulse/modules/module-switch-on-connect.c',
|
2021-06-10 18:51:11 +05:30
|
|
|
'module-protocol-pulse/modules/module-tunnel-sink.c',
|
|
|
|
|
'module-protocol-pulse/modules/module-tunnel-source.c',
|
2022-01-21 17:01:18 +01:00
|
|
|
'module-protocol-pulse/modules/module-x11-bell.c',
|
2021-06-10 18:51:11 +05:30
|
|
|
'module-protocol-pulse/modules/module-zeroconf-discover.c',
|
|
|
|
|
]
|
|
|
|
|
|
2021-10-09 15:00:04 +02:00
|
|
|
if dbus_dep.found()
|
|
|
|
|
pipewire_module_protocol_pulse_sources += [
|
|
|
|
|
'module-protocol-pulse/dbus-name.c',
|
|
|
|
|
]
|
|
|
|
|
pipewire_module_protocol_pulse_deps += dbus_dep
|
|
|
|
|
endif
|
|
|
|
|
|
2021-06-10 18:51:11 +05:30
|
|
|
if avahi_dep.found()
|
|
|
|
|
pipewire_module_protocol_pulse_sources += [
|
|
|
|
|
'module-protocol-pulse/modules/module-zeroconf-publish.c',
|
|
|
|
|
'module-zeroconf-discover/avahi-poll.c',
|
|
|
|
|
]
|
|
|
|
|
pipewire_module_protocol_pulse_deps += avahi_dep
|
2022-02-03 18:52:54 +01:00
|
|
|
cdata.set('HAVE_AVAHI', true)
|
2021-06-10 18:51:11 +05:30
|
|
|
endif
|
|
|
|
|
|
2022-12-07 09:10:29 +01:00
|
|
|
if gio_dep.found()
|
|
|
|
|
pipewire_module_protocol_pulse_sources += [
|
|
|
|
|
'module-protocol-pulse/modules/module-gsettings.c',
|
|
|
|
|
]
|
|
|
|
|
pipewire_module_protocol_pulse_deps += gio_dep
|
|
|
|
|
cdata.set('HAVE_GIO', true)
|
|
|
|
|
endif
|
|
|
|
|
|
2022-07-30 21:29:42 +03:00
|
|
|
if flatpak_support
|
|
|
|
|
pipewire_module_protocol_pulse_deps += glib2_dep
|
|
|
|
|
endif
|
|
|
|
|
|
2020-10-08 11:57:35 +02:00
|
|
|
pipewire_module_protocol_pulse = shared_library('pipewire-module-protocol-pulse',
|
2021-06-10 18:51:11 +05:30
|
|
|
pipewire_module_protocol_pulse_sources,
|
2021-12-28 16:04:06 +01:00
|
|
|
include_directories : [configinc],
|
2020-10-08 11:57:35 +02:00
|
|
|
install : true,
|
|
|
|
|
install_dir : modules_install_dir,
|
|
|
|
|
install_rpath: modules_install_dir,
|
2020-11-20 11:52:57 +01:00
|
|
|
dependencies : pipewire_module_protocol_pulse_deps,
|
2020-10-08 11:57:35 +02:00
|
|
|
)
|
|
|
|
|
|
2021-09-15 10:18:56 +10:00
|
|
|
build_module_pulse_tunnel = pulseaudio_dep.found()
|
|
|
|
|
if build_module_pulse_tunnel
|
2021-05-12 15:55:15 +02:00
|
|
|
pipewire_module_pulse_tunnel = shared_library('pipewire-module-pulse-tunnel',
|
2021-10-06 22:04:50 +02:00
|
|
|
[ 'module-pulse-tunnel.c',
|
|
|
|
|
'module-protocol-pulse/format.c' ],
|
2021-12-28 16:04:06 +01:00
|
|
|
include_directories : [configinc],
|
2021-05-12 15:55:15 +02:00
|
|
|
install : true,
|
|
|
|
|
install_dir : modules_install_dir,
|
|
|
|
|
install_rpath: modules_install_dir,
|
|
|
|
|
dependencies : [mathlib, dl_lib, pipewire_dep, pulseaudio_dep],
|
|
|
|
|
)
|
|
|
|
|
endif
|
2021-09-15 10:18:56 +10:00
|
|
|
summary({'pulse-tunnel': build_module_pulse_tunnel}, bool_yn: true, section: 'Optional Modules')
|
2021-05-12 15:55:15 +02:00
|
|
|
|
2022-06-02 21:13:12 +02:00
|
|
|
pipewire_module_pipe_tunnel = shared_library('pipewire-module-pipe-tunnel',
|
|
|
|
|
[ 'module-pipe-tunnel.c' ],
|
|
|
|
|
include_directories : [configinc],
|
|
|
|
|
install : true,
|
|
|
|
|
install_dir : modules_install_dir,
|
|
|
|
|
install_rpath: modules_install_dir,
|
|
|
|
|
dependencies : [mathlib, dl_lib, pipewire_dep],
|
|
|
|
|
)
|
|
|
|
|
|
2021-04-12 09:33:41 +02:00
|
|
|
pipewire_module_protocol_simple = shared_library('pipewire-module-protocol-simple',
|
|
|
|
|
[ 'module-protocol-simple.c' ],
|
2021-12-28 16:04:06 +01:00
|
|
|
include_directories : [configinc],
|
2021-04-12 09:33:41 +02:00
|
|
|
install : true,
|
|
|
|
|
install_dir : modules_install_dir,
|
|
|
|
|
install_rpath: modules_install_dir,
|
|
|
|
|
dependencies : pipewire_module_protocol_deps,
|
|
|
|
|
)
|
|
|
|
|
|
2021-06-25 16:44:26 +02:00
|
|
|
pipewire_module_example_sink = shared_library('pipewire-module-example-sink',
|
|
|
|
|
[ 'module-example-sink.c' ],
|
2021-12-28 16:04:06 +01:00
|
|
|
include_directories : [configinc],
|
2021-06-25 16:44:26 +02:00
|
|
|
install : false,
|
|
|
|
|
install_dir : modules_install_dir,
|
|
|
|
|
install_rpath: modules_install_dir,
|
2021-12-28 16:04:06 +01:00
|
|
|
dependencies : [spa_dep, mathlib, dl_lib, pipewire_dep],
|
2021-06-25 16:44:26 +02:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
pipewire_module_example_sink = shared_library('pipewire-module-example-source',
|
|
|
|
|
[ 'module-example-source.c' ],
|
2021-12-28 16:04:06 +01:00
|
|
|
include_directories : [configinc],
|
2021-06-25 16:44:26 +02:00
|
|
|
install : false,
|
|
|
|
|
install_dir : modules_install_dir,
|
|
|
|
|
install_rpath: modules_install_dir,
|
2021-12-28 16:04:06 +01:00
|
|
|
dependencies : [spa_dep, mathlib, dl_lib, pipewire_dep],
|
2021-06-25 16:44:26 +02:00
|
|
|
)
|
|
|
|
|
|
2019-10-08 22:52:25 +02:00
|
|
|
pipewire_module_client_node = shared_library('pipewire-module-client-node',
|
|
|
|
|
[ 'module-client-node.c',
|
|
|
|
|
'module-client-node/remote-node.c',
|
|
|
|
|
'module-client-node/client-node.c',
|
|
|
|
|
'module-client-node/protocol-native.c',
|
|
|
|
|
'module-client-node/v0/client-node.c',
|
|
|
|
|
'module-client-node/v0/transport.c',
|
|
|
|
|
'module-client-node/v0/protocol-native.c',
|
|
|
|
|
'spa/spa-node.c', ],
|
2021-12-28 16:04:06 +01:00
|
|
|
include_directories : [configinc],
|
2019-11-03 10:31:14 +01:00
|
|
|
link_with : pipewire_module_protocol_native,
|
|
|
|
|
install : true,
|
|
|
|
|
install_dir : modules_install_dir,
|
2020-03-08 09:38:20 +01:00
|
|
|
install_rpath: modules_install_dir,
|
2021-12-28 16:04:06 +01:00
|
|
|
dependencies : [spa_dep, mathlib, dl_lib, pipewire_dep],
|
2019-11-03 10:31:14 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
pipewire_module_metadata = shared_library('pipewire-module-metadata',
|
|
|
|
|
[ 'module-metadata.c',
|
|
|
|
|
'module-metadata/proxy-metadata.c',
|
|
|
|
|
'module-metadata/metadata.c',
|
|
|
|
|
'module-metadata/protocol-native.c'],
|
2021-12-28 16:04:06 +01:00
|
|
|
include_directories : [configinc],
|
2019-10-08 22:52:25 +02:00
|
|
|
link_with : pipewire_module_protocol_native,
|
|
|
|
|
install : true,
|
|
|
|
|
install_dir : modules_install_dir,
|
2020-03-08 09:38:20 +01:00
|
|
|
install_rpath: modules_install_dir,
|
2021-12-28 16:04:06 +01:00
|
|
|
dependencies : [spa_dep, mathlib, dl_lib, pipewire_dep],
|
2019-10-08 22:52:25 +02:00
|
|
|
)
|
|
|
|
|
|
2019-03-19 11:44:23 +01:00
|
|
|
test('pw-test-protocol-native',
|
2021-09-30 10:01:43 +10:00
|
|
|
executable('pw-test-protocol-native',
|
|
|
|
|
[ 'module-protocol-native/test-connection.c',
|
|
|
|
|
'module-protocol-native/connection.c' ],
|
|
|
|
|
c_args : libpipewire_c_args,
|
2021-12-28 16:04:06 +01:00
|
|
|
include_directories : [configinc ],
|
|
|
|
|
dependencies : [spa_dep, pipewire_dep],
|
2021-09-30 10:01:43 +10:00
|
|
|
install : installed_tests_enabled,
|
|
|
|
|
install_dir : installed_tests_execdir,
|
|
|
|
|
),
|
|
|
|
|
env : [
|
2022-01-17 08:23:55 +01:00
|
|
|
'SPA_PLUGIN_DIR=@0@'.format(spa_dep.get_variable('plugindir')),
|
|
|
|
|
'PIPEWIRE_CONFIG_DIR=@0@'.format(pipewire_dep.get_variable('confdatadir')),
|
|
|
|
|
'PIPEWIRE_MODULE_DIR=@0@'.format(pipewire_dep.get_variable('moduledir')),
|
2021-09-30 10:01:43 +10:00
|
|
|
]
|
|
|
|
|
)
|
2019-03-19 11:44:23 +01:00
|
|
|
|
2020-06-05 14:06:36 +01:00
|
|
|
if installed_tests_enabled
|
|
|
|
|
test_conf = configuration_data()
|
2021-04-15 14:41:04 +10:00
|
|
|
test_conf.set('exec', installed_tests_execdir / 'pw-test-protocol-native')
|
2020-06-05 14:06:36 +01:00
|
|
|
configure_file(
|
|
|
|
|
input: installed_tests_template,
|
|
|
|
|
output: 'pw-test-protocol-native.test',
|
|
|
|
|
install_dir: installed_tests_metadir,
|
|
|
|
|
configuration: test_conf
|
|
|
|
|
)
|
|
|
|
|
endif
|
|
|
|
|
|
2019-07-02 17:34:26 +02:00
|
|
|
pipewire_module_adapter = shared_library('pipewire-module-adapter',
|
|
|
|
|
[ 'module-adapter.c',
|
|
|
|
|
'module-adapter/adapter.c',
|
|
|
|
|
'spa/spa-node.c' ],
|
2021-12-28 16:04:06 +01:00
|
|
|
include_directories : [configinc],
|
2019-07-02 17:34:26 +02:00
|
|
|
install : true,
|
|
|
|
|
install_dir : modules_install_dir,
|
2020-03-08 09:38:20 +01:00
|
|
|
install_rpath: modules_install_dir,
|
2019-07-02 17:34:26 +02:00
|
|
|
dependencies : [mathlib, dl_lib, rt_lib, pipewire_dep],
|
|
|
|
|
)
|
2019-05-23 18:59:05 +03:00
|
|
|
|
|
|
|
|
pipewire_module_session_manager = shared_library('pipewire-module-session-manager',
|
|
|
|
|
[ 'module-session-manager.c',
|
2020-03-24 12:25:13 +02:00
|
|
|
'module-session-manager/client-endpoint/client-endpoint.c',
|
|
|
|
|
'module-session-manager/client-endpoint/endpoint-stream.c',
|
|
|
|
|
'module-session-manager/client-endpoint/endpoint.c',
|
|
|
|
|
'module-session-manager/client-session/client-session.c',
|
|
|
|
|
'module-session-manager/client-session/endpoint-link.c',
|
|
|
|
|
'module-session-manager/client-session/session.c',
|
2020-03-26 14:02:56 +02:00
|
|
|
'module-session-manager/endpoint-link.c',
|
|
|
|
|
'module-session-manager/endpoint-stream.c',
|
2020-03-24 17:17:24 +02:00
|
|
|
'module-session-manager/endpoint.c',
|
2019-05-23 18:59:05 +03:00
|
|
|
'module-session-manager/protocol-native.c',
|
2020-03-24 13:14:18 +02:00
|
|
|
'module-session-manager/proxy-session-manager.c',
|
2020-03-26 14:02:56 +02:00
|
|
|
'module-session-manager/session.c',
|
2019-05-23 18:59:05 +03:00
|
|
|
],
|
2021-12-28 16:04:06 +01:00
|
|
|
include_directories : [configinc],
|
2019-05-23 18:59:05 +03:00
|
|
|
install : true,
|
|
|
|
|
install_dir : modules_install_dir,
|
2020-03-08 09:38:20 +01:00
|
|
|
install_rpath: modules_install_dir,
|
2021-12-28 16:04:06 +01:00
|
|
|
dependencies : [spa_dep, mathlib, dl_lib, pipewire_dep],
|
2019-05-23 18:59:05 +03:00
|
|
|
)
|
2021-05-13 18:05:26 +02:00
|
|
|
|
2021-09-15 10:18:56 +10:00
|
|
|
build_module_zeroconf_discover = avahi_dep.found()
|
|
|
|
|
if build_module_zeroconf_discover
|
2021-05-13 18:05:26 +02:00
|
|
|
pipewire_module_zeroconf_discover = shared_library('pipewire-module-zeroconf-discover',
|
|
|
|
|
[ 'module-zeroconf-discover.c',
|
2021-10-14 13:27:57 +02:00
|
|
|
'module-protocol-pulse/format.c',
|
2021-05-13 18:05:26 +02:00
|
|
|
'module-zeroconf-discover/avahi-poll.c' ],
|
2021-12-28 16:04:06 +01:00
|
|
|
include_directories : [configinc],
|
2021-05-13 18:05:26 +02:00
|
|
|
install : true,
|
|
|
|
|
install_dir : modules_install_dir,
|
|
|
|
|
install_rpath: modules_install_dir,
|
|
|
|
|
dependencies : [mathlib, dl_lib, rt_lib, pipewire_dep, avahi_dep],
|
|
|
|
|
)
|
|
|
|
|
endif
|
2021-09-15 10:18:56 +10:00
|
|
|
summary({'zeroconf-discover': build_module_zeroconf_discover}, bool_yn: true, section: 'Optional Modules')
|
2021-06-26 17:55:13 +05:30
|
|
|
|
2021-11-11 11:42:16 +01:00
|
|
|
build_module_raop_discover = avahi_dep.found()
|
|
|
|
|
if build_module_raop_discover
|
|
|
|
|
pipewire_module_raop_discover = shared_library('pipewire-module-raop-discover',
|
|
|
|
|
[ 'module-raop-discover.c',
|
|
|
|
|
'module-zeroconf-discover/avahi-poll.c' ],
|
2021-12-28 16:04:06 +01:00
|
|
|
include_directories : [configinc],
|
2021-11-11 11:42:16 +01:00
|
|
|
install : true,
|
|
|
|
|
install_dir : modules_install_dir,
|
|
|
|
|
install_rpath: modules_install_dir,
|
|
|
|
|
dependencies : [mathlib, dl_lib, rt_lib, pipewire_dep, avahi_dep],
|
|
|
|
|
)
|
|
|
|
|
endif
|
2021-11-12 21:16:52 +02:00
|
|
|
summary({'raop-discover (needs Avahi)': build_module_raop_discover}, bool_yn: true, section: 'Optional Modules')
|
2021-11-11 11:42:16 +01:00
|
|
|
|
|
|
|
|
build_module_raop = openssl_lib.found()
|
|
|
|
|
if build_module_raop
|
|
|
|
|
pipewire_module_raop_sink = shared_library('pipewire-module-raop-sink',
|
|
|
|
|
[ 'module-raop-sink.c',
|
|
|
|
|
'module-raop/rtsp-client.c' ],
|
2021-12-28 16:04:06 +01:00
|
|
|
include_directories : [configinc],
|
2021-11-11 11:42:16 +01:00
|
|
|
install : true,
|
|
|
|
|
install_dir : modules_install_dir,
|
|
|
|
|
install_rpath: modules_install_dir,
|
|
|
|
|
dependencies : [mathlib, dl_lib, rt_lib, pipewire_dep, openssl_lib],
|
|
|
|
|
)
|
|
|
|
|
endif
|
2021-11-12 21:16:52 +02:00
|
|
|
summary({'raop-sink (requires OpenSSL)': build_module_raop}, bool_yn: true, section: 'Optional Modules')
|
2021-11-11 11:42:16 +01:00
|
|
|
|
2022-08-10 12:09:54 +02:00
|
|
|
roc_lib = cc.find_library('roc', has_headers: ['roc/config.h' ], required: get_option('roc'))
|
2021-11-05 16:51:58 +01:00
|
|
|
summary({'ROC': roc_lib.found()}, bool_yn: true, section: 'Streaming between daemons')
|
|
|
|
|
|
2022-10-04 09:16:17 +02:00
|
|
|
pipewire_module_rtp_source = shared_library('pipewire-module-rtp-source',
|
|
|
|
|
[ 'module-rtp-source.c' ],
|
|
|
|
|
include_directories : [configinc],
|
|
|
|
|
install : true,
|
|
|
|
|
install_dir : modules_install_dir,
|
|
|
|
|
install_rpath: modules_install_dir,
|
|
|
|
|
dependencies : [mathlib, dl_lib, rt_lib, pipewire_dep],
|
|
|
|
|
)
|
|
|
|
|
|
2022-10-05 18:00:11 +02:00
|
|
|
pipewire_module_rtp_sink = shared_library('pipewire-module-rtp-sink',
|
|
|
|
|
[ 'module-rtp-sink.c' ],
|
|
|
|
|
include_directories : [configinc],
|
|
|
|
|
install : true,
|
|
|
|
|
install_dir : modules_install_dir,
|
|
|
|
|
install_rpath: modules_install_dir,
|
|
|
|
|
dependencies : [mathlib, dl_lib, rt_lib, pipewire_dep],
|
|
|
|
|
)
|
|
|
|
|
|
2021-09-15 10:18:56 +10:00
|
|
|
build_module_roc = roc_lib.found()
|
|
|
|
|
if build_module_roc
|
2021-06-26 17:55:13 +05:30
|
|
|
pipewire_module_roc_sink = shared_library('pipewire-module-roc-sink',
|
|
|
|
|
[ 'module-roc-sink.c' ],
|
2021-12-28 16:04:06 +01:00
|
|
|
include_directories : [configinc],
|
2021-06-26 17:55:13 +05:30
|
|
|
install : true,
|
|
|
|
|
install_dir : modules_install_dir,
|
|
|
|
|
install_rpath: modules_install_dir,
|
|
|
|
|
dependencies : [mathlib, dl_lib, rt_lib, pipewire_dep, roc_lib],
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
pipewire_module_roc_source = shared_library('pipewire-module-roc-source',
|
|
|
|
|
[ 'module-roc-source.c' ],
|
2021-12-28 16:04:06 +01:00
|
|
|
include_directories : [configinc],
|
2021-06-26 17:55:13 +05:30
|
|
|
install : true,
|
|
|
|
|
install_dir : modules_install_dir,
|
|
|
|
|
install_rpath: modules_install_dir,
|
|
|
|
|
dependencies : [mathlib, dl_lib, rt_lib, pipewire_dep, roc_lib],
|
|
|
|
|
)
|
|
|
|
|
endif
|
2021-09-15 10:18:56 +10:00
|
|
|
summary({'roc-sink': build_module_roc}, bool_yn: true, section: 'Optional Modules')
|
|
|
|
|
summary({'roc-source': build_module_roc}, bool_yn: true, section: 'Optional Modules')
|
2022-01-21 16:27:44 +01:00
|
|
|
|
|
|
|
|
build_module_x11_bell = x11_dep.found() and canberra_dep.found()
|
|
|
|
|
if build_module_x11_bell
|
|
|
|
|
pipewire_module_x11_bell = shared_library('pipewire-module-x11-bell',
|
|
|
|
|
[ 'module-x11-bell.c' ],
|
|
|
|
|
include_directories : [configinc],
|
|
|
|
|
install : true,
|
|
|
|
|
install_dir : modules_install_dir,
|
|
|
|
|
install_rpath: modules_install_dir,
|
2022-02-17 20:16:22 +01:00
|
|
|
dependencies : [mathlib, dl_lib, rt_lib, pipewire_dep, x11_dep, xfixes_dep, canberra_dep],
|
2022-01-21 16:27:44 +01:00
|
|
|
)
|
|
|
|
|
endif
|
|
|
|
|
summary({'x11-bell': build_module_x11_bell}, bool_yn: true, section: 'Optional Modules')
|
2022-02-12 18:36:36 +02:00
|
|
|
|
|
|
|
|
pipewire_module_fallback_sink = shared_library('pipewire-module-fallback-sink',
|
|
|
|
|
[ 'module-fallback-sink.c' ],
|
|
|
|
|
include_directories : [configinc],
|
|
|
|
|
install : true,
|
|
|
|
|
install_dir : modules_install_dir,
|
|
|
|
|
install_rpath: modules_install_dir,
|
|
|
|
|
dependencies : [mathlib, dl_lib, rt_lib, pipewire_dep],
|
|
|
|
|
)
|
2022-03-15 18:16:00 +01:00
|
|
|
|
2022-08-16 18:03:03 +02:00
|
|
|
build_module_avb = get_option('avb').require(host_machine.system() == 'linux', error_message: 'AVB support is only available on Linux').allowed()
|
2022-03-25 10:28:18 +01:00
|
|
|
if build_module_avb
|
|
|
|
|
pipewire_module_avb = shared_library('pipewire-module-avb',
|
|
|
|
|
[ 'module-avb.c',
|
|
|
|
|
'module-avb/avb.c',
|
|
|
|
|
'module-avb/adp.c',
|
|
|
|
|
'module-avb/acmp.c',
|
|
|
|
|
'module-avb/aecp.c',
|
|
|
|
|
'module-avb/aecp-aem.c',
|
|
|
|
|
'module-avb/avdecc.c',
|
|
|
|
|
'module-avb/maap.c',
|
|
|
|
|
'module-avb/mmrp.c',
|
|
|
|
|
'module-avb/mrp.c',
|
|
|
|
|
'module-avb/msrp.c',
|
|
|
|
|
'module-avb/mvrp.c',
|
2022-04-05 18:10:27 +02:00
|
|
|
'module-avb/srp.c',
|
|
|
|
|
'module-avb/stream.c'
|
2022-03-22 19:40:23 +01:00
|
|
|
],
|
2022-03-15 18:16:00 +01:00
|
|
|
include_directories : [configinc],
|
|
|
|
|
install : true,
|
|
|
|
|
install_dir : modules_install_dir,
|
|
|
|
|
install_rpath: modules_install_dir,
|
|
|
|
|
dependencies : [mathlib, dl_lib, rt_lib, pipewire_dep],
|
|
|
|
|
)
|
|
|
|
|
endif
|
2022-03-25 10:28:18 +01:00
|
|
|
summary({'avb': build_module_avb}, bool_yn: true, section: 'Optional Modules')
|