mirror of
https://github.com/mpv-player/mpv
synced 2024-12-18 04:45:33 +00:00
e09278cfb9
This essentially obsoletes the console wrapper (mpv.com), which is no
longer needed. The console is attached depending on the context in which
mpv.exe is run.
Add an option to control which subsystem is targeted. Keep the GUI
application as the default to preserve compatibility with Windows
versions prior to 24H2.
For more information about the new console handling, see:
4386bf07fd/doc/specs/%237335%20-%20Console%20Allocation%20Policy.md
126 lines
9.4 KiB
Meson
126 lines
9.4 KiB
Meson
# 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: 'include compile timestamp in binary')
|
|
option('tests', type: 'boolean', value: false, description: 'meson unit tests')
|
|
option('fuzzers', type: 'boolean', value: false, description: 'fuzzer binaries')
|
|
# 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: 'auto', description: 'DVB input module')
|
|
option('dvdnav', type: 'feature', value: 'disabled', description: 'dvdnav support')
|
|
option('iconv', type: 'feature', value: 'auto', description: 'iconv')
|
|
option('javascript', type: 'feature', value: 'auto', description: 'Javascript (MuJS backend)')
|
|
option('jpeg', type: 'feature', value: 'auto', description: 'libjpeg image writer')
|
|
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: ['lua', '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('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-threads', type: 'feature', value: 'auto', description: 'win32 native threading')
|
|
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 (iOS)')
|
|
option('coreaudio', type: 'feature', value: 'auto', description: 'CoreAudio audio output')
|
|
option('avfoundation', type: 'feature', value: 'auto', description: 'AVFoundation 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('pipewire', type: 'feature', value: 'auto', description: 'PipeWire audio output')
|
|
option('pulse', type: 'feature', value: 'auto', description: 'PulseAudio audio output')
|
|
option('sdl2-audio', type: 'feature', value: 'auto', description: 'SDL2 audio output')
|
|
option('sndio', type: 'feature', value: 'auto', description: 'sndio 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('dmabuf-wayland', type: 'feature', value: 'auto', description: 'dmabuf-wayland video output')
|
|
option('drm', type: 'feature', value: 'auto', description: 'Direct Rendering Manager (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: 'Generic Buffer Manager (GBM)')
|
|
option('gl', type: 'feature', value: 'enabled', description: 'OpenGL context support')
|
|
option('gl-cocoa', type: 'feature', value: 'auto', description: 'OpenGL Cocoa backend')
|
|
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('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 video output')
|
|
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 support)')
|
|
option('vaapi-wayland', type: 'feature', value: 'auto', description: 'VAAPI (Wayland support)')
|
|
option('vaapi-win32', type: 'feature', value: 'auto', description: 'VAAPI (Windows support)')
|
|
option('vaapi-x11', type: 'feature', value: 'auto', description: 'VAAPI (X11 support)')
|
|
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('android-media-ndk', type: 'feature', value: 'auto', description: 'Android Media APIs')
|
|
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 DXVA2 hwaccel')
|
|
option('ios-gl', type: 'feature', value: 'auto', description: 'iOS OpenGL ES interop support')
|
|
option('videotoolbox-gl', type: 'feature', value: 'auto', description: 'Videotoolbox with OpenGL')
|
|
option('videotoolbox-pl', type: 'feature', value: 'auto', description: 'Videotoolbox with libplacebo')
|
|
|
|
# macOS features
|
|
option('macos-10-15-4-features', type: 'feature', value: 'auto', description: 'macOS 10.15.4 SDK Features')
|
|
option('macos-11-features', type: 'feature', value: 'auto', description: 'macOS 11 SDK Features')
|
|
option('macos-11-3-features', type: 'feature', value: 'auto', description: 'macOS 11.3 SDK Features')
|
|
option('macos-12-features', type: 'feature', value: 'auto', description: 'macOS 12 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')
|
|
|
|
# Windows features
|
|
option('win32-smtc', type: 'feature', value: 'auto', description: 'Enable Media Control support')
|
|
option('win32-subsystem', type : 'string', value: 'windows', description : 'Windows subsystem to use for mpv.exe')
|
|
|
|
# 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')
|