weston/meson_options.txt
Daniel Stone 8011b0fa03 Add Meson build system
Meson is a build system, currently implemented in Python, with multiple
output backends, including Ninja and Make. The build file syntax is
clean and easy to read unlike autotools. In practise, configuring and
building with Meson and Ninja has been observed to be much faster than
with autotools. Also cross-building support is excellent.

More information at http://mesonbuild.com

Since moving to Meson requires some changes from users in any case, we
took this opportunity to revamp build options. Most of the build options
still exist, some have changed names or more, and a few have been
dropped. The option to choose the Cairo flavour is not implemented since
for the longest time the Cairo image backend has been the only
recommended one.

This Meson build should be fully functional and it installs everything
an all-enabled autotools build does. Installed pkg-config files have
some minor differences that should be insignificant. Building of some
developer documentation that was never installed with autotools is
missing.

It is expected that the autotools build system will be removed soon
after the next Weston release.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Co-authored-by: Pekka Paalanen <pq@iki.fi>
Signed-off-by: Pekka Paalanen <pq@iki.fi>
2018-12-09 14:50:54 +02:00

207 lines
4 KiB
Meson

# This option is not implemented:
# --with-cairo=[image|gl|glesv2] Which Cairo renderer to use for the clients
# It is hardcoded to cairo-image for now.
option(
'backend-drm',
type: 'boolean',
value: true,
description: 'Weston backend: DRM/KMS'
)
option(
'backend-drm-screencast-vaapi',
type: 'boolean',
value: true,
description: 'DRM/KMS backend support for VA-API screencasting'
)
option(
'backend-headless',
type: 'boolean',
value: true,
description: 'Weston backend: headless (testing)'
)
option(
'backend-rdp',
type: 'boolean',
value: true,
description: 'Weston backend: RDP remote screensharing'
)
option(
'screenshare',
type: 'boolean',
value: true,
description: 'Compositor: RDP screen-sharing support'
)
option(
'backend-wayland',
type: 'boolean',
value: true,
description: 'Weston backend: Wayland (nested)'
)
option(
'backend-x11',
type: 'boolean',
value: true,
description: 'Weston backend: X11 (nested)'
)
option(
'backend-fbdev',
type: 'boolean',
value: true,
description: 'Weston backend: fbdev'
)
option(
'backend-default',
type: 'combo',
choices: [ 'auto', 'drm', 'wayland', 'x11', 'fbdev', 'headless' ],
value: 'drm',
description: 'Default backend when no parent display server detected'
)
option(
'renderer-gl',
type: 'boolean',
value: true,
description: 'Weston renderer: EGL / OpenGL ES 2.x'
)
option(
'weston-launch',
type: 'boolean',
value: true,
description: 'Weston launcher for systems without logind'
)
option(
'xwayland',
type: 'boolean',
value: true,
description: 'Xwayland: support for X11 clients inside Weston'
)
option(
'xwayland-path',
type: 'string',
value: '/usr/bin/Xwayland',
description: 'Xwayland: path to installed Xwayland binary'
)
option(
'systemd',
type: 'boolean',
value: true,
description: 'systemd service plugin: state notify, watchdog, socket activation'
)
option(
'remoting',
type: 'boolean',
value: true,
description: 'Virtual remote output with GStreamer on DRM backend'
)
option(
'shell-desktop',
type: 'boolean',
value: true,
description: 'Weston shell UI: traditional desktop'
)
option(
'shell-fullscreen',
type: 'boolean',
value: true,
description: 'Weston shell UI: fullscreen/kiosk'
)
option(
'shell-ivi',
type: 'boolean',
value: true,
description: 'Weston shell UI: IVI (automotive)'
)
option(
'desktop-shell-client-default',
type: 'string',
value: 'weston-desktop-shell',
description: 'Weston desktop shell: default helper client selection'
)
option(
'color-management-lcms',
type: 'boolean',
value: true,
description: 'Compositor color management: lcms'
)
option(
'color-management-colord',
type: 'boolean',
value: true,
description: 'Compositor color management: colord (requires lcms)'
)
option(
'launcher-logind',
type: 'boolean',
value: true,
description: 'Compositor: support systemd-logind D-Bus protocol'
)
option(
'image-jpeg',
type: 'boolean',
value: true,
description: 'JPEG loading support'
)
option(
'image-webp',
type: 'boolean',
value: true,
description: 'WebP loading support'
)
option(
'tools',
type: 'array',
choices: [ 'calibrator', 'debug', 'info', 'terminal', 'touch-calibrator' ],
description: 'List of accessory clients to build and install'
)
option(
'simple-dmabuf-drm',
type: 'array',
choices: [ 'auto', 'intel', 'freedreno', 'etnaviv' ],
value: [ 'intel', 'freedreno', 'etnaviv' ],
description: 'List of DRM drivers to be supported by weston-simple-dmabuf-drm'
)
option(
'demo-clients',
type: 'boolean',
value: true,
description: 'Sample clients: toytoolkit demo programs'
)
option(
'simple-clients',
type: 'array',
choices: [ 'all', 'damage', 'im', 'egl', 'shm', 'touch', 'dmabuf-v4l' ],
value: [ 'all' ],
description: 'Sample clients: simple test programs'
)
option(
'resize-pool',
type: 'boolean',
value: true,
description: 'Sample clients: optimize window resize performance'
)
option(
'wcap-decode',
type: 'boolean',
value: true,
description: 'Tools: screen recording decoder tool'
)
option(
'test-junit-xml',
type: 'boolean',
value: true,
description: 'Tests: output JUnit XML results'
)