2016-09-26 10:15:52 +00:00
|
|
|
#project('spa', 'c')
|
2016-06-28 10:21:56 +00:00
|
|
|
|
2018-01-24 11:55:28 +00:00
|
|
|
#cc = meson.get_compiler('c')
|
|
|
|
#dl_lib = cc.find_library('dl', required : false)
|
|
|
|
#pthread_lib = dependencies('threads')
|
|
|
|
#mathlib = cc.find_library('m', required : false)
|
2016-06-28 10:21:56 +00:00
|
|
|
|
2016-09-26 10:15:52 +00:00
|
|
|
spa_inc = include_directories('include')
|
2016-06-28 10:21:56 +00:00
|
|
|
|
|
|
|
subdir('include')
|
2018-10-09 08:27:59 +00:00
|
|
|
|
2021-03-10 18:36:27 +00:00
|
|
|
if not get_option('spa-plugins').disabled()
|
2020-07-28 11:11:17 +00:00
|
|
|
udevrulesdir = get_option('udevrulesdir')
|
|
|
|
if udevrulesdir == ''
|
|
|
|
# absolute path, otherwise meson prepends the prefix
|
|
|
|
udevrulesdir = '/lib/udev/rules.d'
|
|
|
|
endif
|
|
|
|
|
2019-01-29 15:39:44 +00:00
|
|
|
# plugin-specific dependencies
|
2021-03-10 18:36:27 +00:00
|
|
|
alsa_dep = dependency('alsa', required: get_option('alsa'))
|
2021-06-25 03:45:51 +00:00
|
|
|
summary({'ALSA': alsa_dep.found()}, bool_yn: true, section: 'Backend')
|
2021-03-10 18:36:27 +00:00
|
|
|
bluez_dep = dependency('bluez', version : '>= 4.101', required: get_option('bluez5'))
|
2021-06-25 03:45:51 +00:00
|
|
|
summary({'Bluetooth audio': bluez_dep.found()}, bool_yn: true, section: 'Backend')
|
2021-05-28 12:53:37 +00:00
|
|
|
if bluez_dep.found()
|
|
|
|
sbc_dep = dependency('sbc', required: get_option('bluez5'))
|
2021-06-25 03:45:51 +00:00
|
|
|
summary({'SBC': sbc_dep.found()}, bool_yn: true, section: 'Bluetooth audio codecs')
|
2021-05-28 12:53:37 +00:00
|
|
|
ldac_dep = dependency('ldacBT-enc', required : get_option('bluez5-codec-ldac'))
|
2021-06-25 03:45:51 +00:00
|
|
|
summary({'LDAC': ldac_dep.found()}, bool_yn: true, section: 'Bluetooth audio codecs')
|
2021-05-28 12:53:37 +00:00
|
|
|
ldac_abr_dep = dependency('ldacBT-abr', required : get_option('bluez5-codec-ldac'))
|
2021-06-25 03:45:51 +00:00
|
|
|
summary({'LDAC ABR': ldac_abr_dep.found()}, bool_yn: true, section: 'Bluetooth audio codecs')
|
2021-05-28 12:53:37 +00:00
|
|
|
aptx_dep = dependency('libopenaptx', version : '< 0.2.1', required : get_option('bluez5-codec-aptx'))
|
2021-06-25 03:45:51 +00:00
|
|
|
summary({'aptX': aptx_dep.found()}, bool_yn: true, section: 'Bluetooth audio codecs')
|
2021-05-28 12:53:37 +00:00
|
|
|
fdk_aac_dep = dependency('fdk-aac', required : get_option('bluez5-codec-aac'))
|
2021-06-25 03:45:51 +00:00
|
|
|
summary({'AAC': fdk_aac_dep.found()}, bool_yn: true, section: 'Bluetooth audio codecs')
|
2021-05-28 12:53:37 +00:00
|
|
|
endif
|
2021-03-10 18:36:27 +00:00
|
|
|
avcodec_dep = dependency('libavcodec', required: get_option('ffmpeg'))
|
|
|
|
jack_dep = dependency('jack', version : '>= 1.9.10', required: get_option('jack'))
|
2021-06-25 03:45:51 +00:00
|
|
|
summary({'JACK2': jack_dep.found()}, bool_yn: true, section: 'Backend')
|
2021-03-17 18:52:20 +00:00
|
|
|
vulkan_dep = dependency('vulkan', disabler : true, version : '>= 1.1.69', required: get_option('vulkan'))
|
|
|
|
vulkan_headers = cc.has_header('vulkan/vulkan.h', dependencies : vulkan_dep)
|
2021-06-25 11:22:47 +00:00
|
|
|
#summary({'Vulkan': vulkan_headers}, bool_yn: true, section: 'Misc dependencies')
|
2021-03-10 18:36:27 +00:00
|
|
|
libcamera_dep = dependency('camera', required: get_option('libcamera'))
|
2021-06-25 11:49:21 +00:00
|
|
|
summary({'libcamera': libcamera_dep.found()}, bool_yn: true, section: 'Backend')
|
2019-01-29 15:39:44 +00:00
|
|
|
|
2021-04-17 18:44:18 +00:00
|
|
|
# common dependencies
|
2021-04-21 07:10:55 +00:00
|
|
|
libudev_dep = dependency('libudev', required: alsa_dep.found() or get_option('udev').enabled() or get_option('v4l2').enabled())
|
2021-06-25 03:45:51 +00:00
|
|
|
summary({'Udev': libudev_dep.found()}, bool_yn: true, section: 'Backend')
|
2021-04-17 18:44:18 +00:00
|
|
|
|
2018-10-09 08:27:59 +00:00
|
|
|
subdir('plugins')
|
|
|
|
endif
|
|
|
|
|
2016-06-28 10:21:56 +00:00
|
|
|
subdir('tools')
|
|
|
|
subdir('tests')
|
2021-03-10 18:36:27 +00:00
|
|
|
if not get_option('examples').disabled()
|
2020-01-18 12:59:28 +00:00
|
|
|
subdir('examples')
|
|
|
|
endif
|
2018-09-02 01:22:14 +00:00
|
|
|
|
2021-06-16 15:25:34 +00:00
|
|
|
spa_dep = declare_dependency(
|
|
|
|
include_directories : [spa_inc],
|
|
|
|
version : spaversion,
|
2021-06-18 16:24:28 +00:00
|
|
|
variables : { 'plugindir' : meson.current_build_dir() / 'plugins' }
|
2021-06-16 15:25:34 +00:00
|
|
|
)
|
|
|
|
|
2020-02-05 15:28:22 +00:00
|
|
|
pkgconfig.generate(filebase : 'lib@0@'.format(spa_name),
|
2018-09-02 01:22:14 +00:00
|
|
|
name : 'libspa',
|
2020-02-05 15:28:22 +00:00
|
|
|
subdirs : spa_name,
|
2018-09-02 01:22:14 +00:00
|
|
|
description : 'Simple Plugin API',
|
2020-02-05 15:28:22 +00:00
|
|
|
version : spaversion,
|
2021-06-18 16:24:28 +00:00
|
|
|
extra_cflags : '-D_REENTRANT',
|
|
|
|
variables : ['plugindir=${libdir}/@0@'.format(spa_name)],
|
|
|
|
uninstalled_variables : ['plugindir=${prefix}/spa/plugins'],
|
|
|
|
)
|
2021-06-16 15:25:34 +00:00
|
|
|
|
|
|
|
meson.override_dependency('lib@0@'.format(spa_name), spa_dep)
|