diff options
author | Dudemanguy <random342@airmail.cc> | 2021-11-07 13:28:16 -0600 |
---|---|---|
committer | Dudemanguy <random342@airmail.cc> | 2021-11-14 19:13:10 +0000 |
commit | ff322864f2878a35b277111e509da03fe6f888bd (patch) | |
tree | 44a99850fb0adffdd51cb0406ca24ecd5c917b2d /meson_options.txt | |
parent | f610fe16c0b1cb74d73d02dc55792d4ddc262ad2 (diff) | |
download | mpv-ff322864f2878a35b277111e509da03fe6f888bd.tar.bz2 mpv-ff322864f2878a35b277111e509da03fe6f888bd.tar.xz |
build: add meson build support
Adds support for the meson build system as well as a bit of
documentation. Compatibility with the existing waf build is
maintained.
Diffstat (limited to 'meson_options.txt')
-rw-r--r-- | meson_options.txt | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/meson_options.txt b/meson_options.txt new file mode 100644 index 0000000000..4d19eacd20 --- /dev/null +++ b/meson_options.txt @@ -0,0 +1,117 @@ +# booleans +option('gpl', type: 'boolean', value: true, description: 'GPL (version 2 or later) build') +option('cplayer', type: 'boolean', value: true, description: 'mpv CLI player') +option('libmpv', type: 'boolean', value: false, description: 'libmpv library') +option('build-date', type: 'boolean', value: true, description: 'whether to include binary compile time') +option('tests', type: 'boolean', value: false, description: 'unit tests (development only)') +# Reminder: normally always built, but enabled by MPV_LEAK_REPORT. +# Building it can be disabled only by defining NDEBUG through CFLAGS. +option('ta-leak-report', type: 'boolean', value: false, description: 'enable ta leak report by default (development only)') + +# misc features +option('cdda', type: 'feature', value: 'disabled', description: 'cdda support (libcdio)') +option('cplugins', type: 'feature', value: 'auto', description: 'C plugins') +option('dvbin', type: 'feature', value: 'disabled', description: 'DVB input module') +option('dvdnav', type: 'feature', value: 'auto', description: 'dvdnav support') +option('iconv', type: 'feature', value: 'auto', description: 'iconv') +option('javascript', type: 'feature', value: 'auto', description: 'Javascript (MuJS backend)') +option('lcms2', type: 'feature', value: 'auto', description: 'LCMS2 support') +option('libarchive', type: 'feature', value: 'auto', description: 'libarchive wrapper for reading zip files and more') +option('libavdevice', type: 'feature', value: 'auto', description: 'libavdevice') +option('libbluray', type: 'feature', value: 'auto', description: 'Bluray support') +option('lua', + type: 'combo', + choices: ['lua52', 'lua5.2', 'lua-5.2', 'luajit', 'lua51', + 'lua5.1', 'lua-5.1', 'auto', 'enabled', 'disabled'], + value: 'auto', + description: 'Lua' +) +option('pthread-debug', type: 'feature', value: 'disabled', description: 'pthread runtime debugging wrappers') +option('rubberband', type: 'feature', value: 'auto', description: 'librubberband support') +option('sdl2', type: 'feature', value: 'disabled', description: 'SDL2') +option('sdl2-gamepad', type: 'feature', value: 'auto', description: 'SDL2 gamepad input') +option('stdatomic', type: 'feature', value: 'auto', description: 'C11 stdatomic.h') +option('uchardet', type: 'feature', value: 'auto', description: 'uchardet support') +option('uwp', type: 'feature', value: 'disabled', description: 'Universal Windows Platform') +option('vapoursynth', type: 'feature', value: 'auto', description: 'VapourSynth filter bridge') +option('vector', type: 'feature', value: 'auto', description: 'GCC vector instructions') +option('win32-internal-pthreads', type: 'feature', value: 'auto', description: 'internal pthread wrapper for win32 (Vista+)') +option('zimg', type: 'feature', value: 'auto', description: 'libzimg support (high quality software scaler)') +option('zlib', type: 'feature', value: 'auto', description: 'zlib') + +# audio output features +option('alsa', type: 'feature', value: 'auto', description: 'ALSA audio output') +option('audiounit', type: 'feature', value: 'auto', description: 'AudioUnit output for iOS') +option('coreaudio', type: 'feature', value: 'auto', description: 'CoreAudio audio output') +option('jack', type: 'feature', value: 'auto', description: 'JACK audio output') +option('openal', type: 'feature', value: 'disabled', description: 'OpenAL audio output') +option('opensles', type: 'feature', value: 'auto', description: 'OpenSL ES audio output') +option('oss-audio', type: 'feature', value: 'auto', description: 'OSSv4 audio output') +option('pulse', type: 'feature', value: 'auto', description: 'PulseAudio audio output') +option('sdl2-audio', type: 'feature', value: 'auto', description: 'SDL2 audio output') +option('wasapi', type: 'feature', value: 'auto', description: 'WASAPI audio output') + +# video output features +option('caca', type: 'feature', value: 'auto', description: 'CACA') +option('cocoa', type: 'feature', value: 'auto', description: 'Cocoa') +option('d3d11', type: 'feature', value: 'auto', description: 'Direct3D 11 video output') +option('direct3d', type: 'feature', value: 'auto', description: 'Direct3D support') +option('drm', type: 'feature', value: 'auto', description: 'DRM') +option('egl', type: 'feature', value: 'auto', description: 'EGL 1.4') +option('egl-android', type: 'feature', value: 'auto', description: 'Android EGL support') +option('egl-angle', type: 'feature', value: 'auto', description: 'OpenGL ANGLE headers') +option('egl-angle-lib', type: 'feature', value: 'auto', description: 'OpenGL Win32 ANGLE library') +option('egl-angle-win32', type: 'feature', value: 'auto', description: 'OpenGL Win32 ANGLE Backend') +option('egl-drm', type: 'feature', value: 'auto', description: 'OpenGL DRM EGL Backend') +option('egl-wayland', type: 'feature', value: 'auto', description: 'OpenGL Wayland Backend') +option('egl-x11', type: 'feature', value: 'auto', description: 'OpenGL X11 EGL Backend') +option('gbm', type: 'feature', value: 'auto', description: 'GBM') +option('gl', type: 'feature', value: 'enabled', description: 'OpenGL context support') +option('gl-cocoa', type: 'feature', value: 'auto', description: 'gl-cocoa') +option('gl-dxinterop', type: 'feature', value: 'auto', description: 'OpenGL/DirectX Interop Backend') +option('gl-win32', type: 'feature', value: 'auto', description: 'OpenGL Win32 Backend') +option('gl-x11', type: 'feature', value: 'disabled', description: 'OpenGL X11/GLX (deprecated/legacy)') +option('jpeg', type: 'feature', value: 'auto', description: 'JPEG support') +option('libplacebo', type: 'feature', value: 'auto', description: 'libplacebo support') +option('rpi', type: 'feature', value: 'disabled', description: 'Raspberry Pi support') +option('sdl2-video', type: 'feature', value: 'auto', description: 'SDL2 video output') +option('shaderc', type: 'feature', value: 'auto', description: 'libshaderc SPIR-V compiler') +option('sixel', type: 'feature', value:'auto', description: 'Sixel') +option('spirv-cross', type: 'feature', value: 'auto', description: 'SPIRV-Cross SPIR-V shader converter') +option('plain-gl', type: 'feature', value: 'auto', description: 'OpenGL without platform-specific code (e.g. for libmpv)') +option('vdpau', type: 'feature', value: 'auto', description: 'VDPAU acceleration') +option('vdpau-gl-x11', type: 'feature', value: 'auto', description: 'VDPAU with OpenGl/X11') +option('vaapi', type: 'feature', value: 'auto', description: 'VAAPI acceleration') +option('vaapi-drm', type: 'feature', value: 'auto', description: 'VAAPI (DRM/EGL support)') +option('vaapi-wayland', type: 'feature', value: 'auto', description: 'VAAPI (Wayland support)') +option('vaapi-x11', type: 'feature', value: 'auto', description: 'VAAPI (X11 support)') +option('vaapi-x-egl', type: 'feature', value: 'auto', description: 'VAAPI EGL on X11') +option('vulkan', type: 'feature', value: 'auto', description: 'Vulkan context support') +option('wayland', type: 'feature', value: 'auto', description: 'Wayland') +option('x11', type: 'feature', value: 'auto', description: 'X11') +option('xv', type: 'feature', value: 'auto', description: 'Xv video output') + +# hwaccel features +option('cuda-hwaccel', type: 'feature', value: 'auto', description: 'CUDA acceleration') +option('cuda-interop', type: 'feature', value: 'auto', description: 'CUDA with graphics interop') +option('d3d-hwaccel', type: 'feature', value: 'auto', description: 'D3D11VA hwaccel') +option('d3d9-hwaccel', type: 'feature', value: 'auto', description: 'DXVA2 hwaccel') +option('gl-dxinterop-d3d9', type: 'feature', value: 'auto', description: 'OpenGL/DirectX Interop Backend DXVA2 interop') +option('ios-gl', type: 'feature', value: 'auto', description: 'iOS OpenGL ES hardware decoding interop support') +option('rpi-mmal', type: 'feature', value: 'auto', description: 'Raspberry Pi MMAL hwaccel') +option('videotoolbox-gl', type: 'feature', value: 'auto', description: 'Videotoolbox with OpenGL') + +# macOS features +option('macos-10-11-features', type: 'feature', value: 'auto', description: 'macOS 10.11 SDK Features') +option('macos-10-12-2-features', type: 'feature', value: 'auto', description: 'macOS 10.12.2 SDK Features') +option('macos-10-14-features', type: 'feature', value: 'auto', description: 'macOS 10.14 SDK Features') +option('macos-cocoa-cb', type: 'feature', value: 'auto', description: 'macOS libmpv backend') +option('macos-media-player', type: 'feature', value: 'auto', description: 'macOS Media Player support') +option('macos-touchbar', type: 'feature', value: 'auto', description: 'macOS Touch Bar support') +option('swift-build', type: 'feature', value: 'auto', description: 'macOS Swift build tools') +option('swift-flags', type: 'string', description: 'Optional Swift compiler flags') + +# manpages +option('html-build', type: 'feature', value: 'disabled', description: 'html manual generation') +option('manpage-build', type: 'feature', value: 'auto', description: 'manpage generation') +option('pdf-build', type: 'feature', value: 'disabled', description: 'pdf manual generation') |