build-sys: First pass at a meson-ified build system
This is a working implementation of a build with meson. The server,
utils, and most modules build with this, and it is possible to run from
a build tree and play/capture audio on ALSA devices.
There are a number of FIXMEs, of course, and a number of features that
need to be enabled (modules, dependencies, installation, etc.), but this
should provide everything we need to get there relatively quickly.
To use this, install meson (distro package, or mesonbuild.com) and run:
$ cd <pulseaudio src dir>
$ meson <builddir>
$ ninja -C <builddir>
2017-07-31 12:37:36 +01:00
|
|
|
option('system_user',
|
|
|
|
|
type : 'string', value : 'pulse',
|
|
|
|
|
description : 'User for running the PulseAudio daemon as a system-wide instance (pulse)')
|
|
|
|
|
option('system_group',
|
|
|
|
|
type : 'string', value : 'pulse',
|
|
|
|
|
description : 'Group for running the PulseAudio daemon as a system-wide instance (pulse)')
|
|
|
|
|
option('access_group',
|
|
|
|
|
type : 'string', value : 'pulse-access',
|
|
|
|
|
description : 'Group which is allowed access to a system-wide PulseAudio daemon (pulse-access)')
|
|
|
|
|
option('database',
|
|
|
|
|
type : 'combo', value : 'tdb',
|
|
|
|
|
choices : [ 'gdbm', 'tdb', 'simple' ],
|
|
|
|
|
description : 'Database backend')
|
2018-10-09 10:26:57 +07:00
|
|
|
option('pulsedspdir',
|
|
|
|
|
type : 'string',
|
|
|
|
|
description : 'Specify location where OSS wrapper will be installed')
|
2018-10-19 16:24:25 +07:00
|
|
|
|
|
|
|
|
# Optional features
|
|
|
|
|
|
2018-10-19 16:37:05 +07:00
|
|
|
option('alsa',
|
|
|
|
|
type : 'feature', value : 'auto',
|
|
|
|
|
description : 'Optional ALSA support')
|
2018-10-19 17:04:01 +07:00
|
|
|
option('avahi',
|
|
|
|
|
type : 'feature', value : 'auto',
|
|
|
|
|
description : 'Optional Avahi support')
|
2018-10-19 17:40:06 +07:00
|
|
|
option('bluez5',
|
|
|
|
|
type : 'feature', value : 'auto',
|
|
|
|
|
description : 'Optional BlueZ 5 support')
|
|
|
|
|
option('bluez5-native-headset',
|
|
|
|
|
type : 'boolean',
|
|
|
|
|
description : 'Optional native headset backend support (BlueZ 5)')
|
|
|
|
|
option('bluez5-ofono-headset',
|
|
|
|
|
type : 'boolean',
|
|
|
|
|
description : 'Optional oFono headset backend support (BlueZ 5)')
|
2018-10-19 16:24:25 +07:00
|
|
|
option('dbus',
|
|
|
|
|
type : 'feature', value : 'auto',
|
|
|
|
|
description : 'Optional D-Bus support')
|
2018-10-19 17:51:58 +07:00
|
|
|
option('fftw',
|
|
|
|
|
type : 'feature', value : 'auto',
|
|
|
|
|
description : 'Optional FFTW support')
|
2018-10-20 15:29:03 +07:00
|
|
|
option('glib',
|
|
|
|
|
type : 'feature', value : 'auto',
|
|
|
|
|
description : 'Optional GLib 2 support')
|
2018-10-20 15:41:28 +07:00
|
|
|
option('gtk',
|
|
|
|
|
type : 'feature', value : 'auto',
|
|
|
|
|
description : 'Optional Gtk+ 3 support')
|
2018-10-19 18:18:58 +07:00
|
|
|
option('hal-compat',
|
|
|
|
|
type : 'boolean',
|
|
|
|
|
description : 'Optional HAL->udev transition compatibility support (needs udev)')
|
2018-10-19 17:48:31 +07:00
|
|
|
option('jack',
|
|
|
|
|
type : 'feature', value : 'auto',
|
|
|
|
|
description : 'Optional JACK support')
|
2018-10-19 17:58:21 +07:00
|
|
|
option('lirc',
|
|
|
|
|
type : 'feature', value : 'auto',
|
|
|
|
|
description : 'Optional LIRC support')
|
2018-10-19 18:00:59 +07:00
|
|
|
option('openssl',
|
|
|
|
|
type : 'feature', value : 'auto',
|
|
|
|
|
description : 'Optional OpenSSL support (used for Airtunes/RAOP)')
|
2018-10-19 18:09:13 +07:00
|
|
|
option('speex',
|
|
|
|
|
type : 'feature', value : 'auto',
|
|
|
|
|
description : 'Optional Speex support (resampling, AEC)')
|
2018-10-19 16:43:44 +07:00
|
|
|
option('systemd',
|
|
|
|
|
type : 'feature', value : 'auto',
|
|
|
|
|
description : 'Optional systemd support')
|
2018-10-19 18:11:31 +07:00
|
|
|
option('udev',
|
|
|
|
|
type : 'feature', value : 'auto',
|
|
|
|
|
description : 'Optional udev support')
|
2018-10-09 11:44:02 +07:00
|
|
|
option('x11',
|
|
|
|
|
type : 'feature', value : 'auto',
|
|
|
|
|
description : 'Optional X11 support')
|
2018-10-19 18:25:55 +07:00
|
|
|
|
|
|
|
|
# Echo cancellation
|
|
|
|
|
|
2018-10-19 18:39:09 +07:00
|
|
|
option('adrian-aec',
|
|
|
|
|
type : 'boolean',
|
|
|
|
|
description : 'Optional Adrian\'s echo canceller')
|
2018-10-19 18:25:55 +07:00
|
|
|
option('webrtc-aec',
|
|
|
|
|
type : 'feature', value : 'auto',
|
|
|
|
|
description : 'Optional WebRTC-based echo canceller')
|