mirror of
https://github.com/libretro/RetroArch.git
synced 2026-11-07 08:36:02 -10:00
Zip members stored with method 12 are decoded with rbzip2, whole, from the mapping, from what the stream lends or else read, as Zstandard members are. A .bz2 file stands for the file named as it is without the extension: a stream does not say how long it decodes to, so the member is decoded when it is listed, its size and CRC then known, and kept for the extraction that follows. "#" after ".bz2" names its member. HAVE_RBZIP2, on unless configured off, builds both and the decoder; RVZ's bzip2 groups take the decoder alone where it is off. file_archive_whole() is the whole-file read the .zst and .bz2 backends share. archive_bz2_test lists, reads and extracts bzip2 zip members and a .bz2 file, and refuses members whose CRC is wrong.
472 lines
7.1 KiB
C
472 lines
7.1 KiB
C
#ifndef __RARCH_FEATURES_H
|
|
#define __RARCH_FEATURES_H
|
|
|
|
#include <stddef.h>
|
|
#include <boolean.h>
|
|
|
|
#ifdef HAVE_CONFIG_H
|
|
#include "config.h"
|
|
#endif
|
|
|
|
#ifdef HAVE_OVERLAY
|
|
#define SUPPORTS_OVERLAY true
|
|
#else
|
|
#define SUPPORTS_OVERLAY false
|
|
#endif
|
|
|
|
#ifdef HAVE_V4L2
|
|
#define SUPPORTS_V4L2 true
|
|
#else
|
|
#define SUPPORTS_V4L2 false
|
|
#endif
|
|
|
|
#ifdef HAVE_COMMAND
|
|
#define SUPPORTS_COMMAND true
|
|
#else
|
|
#define SUPPORTS_COMMAND false
|
|
#endif
|
|
|
|
#ifdef HAVE_NETWORK_CMD
|
|
#define SUPPORTS_NETWORK_COMMAND true
|
|
#else
|
|
#define SUPPORTS_NETWORK_COMMAND false
|
|
#endif
|
|
|
|
#ifdef HAVE_NETWORKGAMEPAD
|
|
#define SUPPORTS_NETWORK_GAMEPAD true
|
|
#else
|
|
#define SUPPORTS_NETWORK_GAMEPAD false
|
|
#endif
|
|
|
|
#ifdef HAVE_FILTERS_BUILTIN
|
|
#define SUPPORTS_CPU_FILTERS true
|
|
#else
|
|
#define SUPPORTS_CPU_FILTERS false
|
|
#endif
|
|
|
|
#ifdef HAVE_LIBUSB
|
|
#define SUPPORTS_LIBUSB true
|
|
#else
|
|
#define SUPPORTS_LIBUSB false
|
|
#endif
|
|
|
|
#if defined(HAVE_SDL)
|
|
#define SUPPORTS_SDL true
|
|
#else
|
|
#define SUPPORTS_SDL false
|
|
#endif
|
|
|
|
#ifdef HAVE_SDL2
|
|
#define SUPPORTS_SDL2 true
|
|
#else
|
|
#define SUPPORTS_SDL2 false
|
|
#endif
|
|
|
|
#ifdef HAVE_SDL3
|
|
#define SUPPORTS_SDL3 true
|
|
#else
|
|
#define SUPPORTS_SDL3 false
|
|
#endif
|
|
|
|
#ifdef HAVE_THREADS
|
|
#define SUPPORTS_THREAD true
|
|
#else
|
|
#define SUPPORTS_THREAD false
|
|
#endif
|
|
|
|
#ifdef HAVE_OPENGL
|
|
#define SUPPORTS_OPENGL true
|
|
#else
|
|
#define SUPPORTS_OPENGL false
|
|
#endif
|
|
|
|
#ifdef HAVE_D3D8
|
|
#define SUPPORTS_D3D8 true
|
|
#else
|
|
#define SUPPORTS_D3D8 false
|
|
#endif
|
|
|
|
#ifdef HAVE_D3D9
|
|
#define SUPPORTS_D3D9 true
|
|
#else
|
|
#define SUPPORTS_D3D9 false
|
|
#endif
|
|
|
|
#ifdef HAVE_D3D10
|
|
#define SUPPORTS_D3D10 true
|
|
#else
|
|
#define SUPPORTS_D3D10 false
|
|
#endif
|
|
|
|
#ifdef HAVE_D3D11
|
|
#define SUPPORTS_D3D11 true
|
|
#else
|
|
#define SUPPORTS_D3D11 false
|
|
#endif
|
|
|
|
#ifdef HAVE_D3D12
|
|
#define SUPPORTS_D3D12 true
|
|
#else
|
|
#define SUPPORTS_D3D12 false
|
|
#endif
|
|
|
|
#ifdef HAVE_GDI
|
|
#define SUPPORTS_GDI true
|
|
#else
|
|
#define SUPPORTS_GDI false
|
|
#endif
|
|
|
|
#ifdef HAVE_VULKAN
|
|
#define SUPPORTS_VULKAN true
|
|
#else
|
|
#define SUPPORTS_VULKAN false
|
|
#endif
|
|
|
|
#ifdef HAVE_METAL
|
|
#define SUPPORTS_METAL true
|
|
#else
|
|
#define SUPPORTS_METAL false
|
|
#endif
|
|
|
|
#if defined(HAVE_OPENGLES) || defined(HAVE_OPENGLES2) || defined(HAVE_OPENGLES3) || defined(HAVE_OPENGLES_3_1) || defined(HAVE_OPENGLES_3_2)
|
|
#define SUPPORTS_OPENGLES true
|
|
#else
|
|
#define SUPPORTS_OPENGLES false
|
|
#endif
|
|
|
|
#ifdef HAVE_KMS
|
|
#define SUPPORTS_KMS true
|
|
#else
|
|
#define SUPPORTS_KMS false
|
|
#endif
|
|
|
|
#ifdef HAVE_UDEV
|
|
#define SUPPORTS_UDEV true
|
|
#else
|
|
#define SUPPORTS_UDEV false
|
|
#endif
|
|
|
|
#ifdef HAVE_VG
|
|
#define SUPPORTS_VG true
|
|
#else
|
|
#define SUPPORTS_VG false
|
|
#endif
|
|
|
|
#ifdef HAVE_EGL
|
|
#define SUPPORTS_EGL true
|
|
#else
|
|
#define SUPPORTS_EGL false
|
|
#endif
|
|
|
|
#ifdef HAVE_X11
|
|
#define SUPPORTS_X11 true
|
|
#else
|
|
#define SUPPORTS_X11 false
|
|
#endif
|
|
|
|
#ifdef HAVE_WAYLAND
|
|
#define SUPPORTS_WAYLAND true
|
|
#else
|
|
#define SUPPORTS_WAYLAND false
|
|
#endif
|
|
|
|
#ifdef HAVE_XVIDEO
|
|
#define SUPPORTS_XVIDEO true
|
|
#else
|
|
#define SUPPORTS_XVIDEO false
|
|
#endif
|
|
|
|
#ifdef HAVE_SLANG
|
|
#define SUPPORTS_SLANG true
|
|
#else
|
|
#define SUPPORTS_SLANG false
|
|
#endif
|
|
|
|
#ifdef HAVE_ALSA
|
|
#define SUPPORTS_ALSA true
|
|
#else
|
|
#define SUPPORTS_ALSA false
|
|
#endif
|
|
|
|
#ifdef HAVE_TINYALSA
|
|
#define SUPPORTS_TINYALSA true
|
|
#else
|
|
#define SUPPORTS_TINYALSA false
|
|
#endif
|
|
|
|
#ifdef HAVE_COREAUDIO
|
|
#define SUPPORTS_COREAUDIO true
|
|
#else
|
|
#define SUPPORTS_COREAUDIO false
|
|
#endif
|
|
|
|
#if defined(HAVE_OSS) || defined(HAVE_OSS_BSD)
|
|
#define SUPPORTS_OSS true
|
|
#else
|
|
#define SUPPORTS_OSS false
|
|
#endif
|
|
|
|
#ifdef HAVE_AL
|
|
#define SUPPORTS_AL true
|
|
#else
|
|
#define SUPPORTS_AL false
|
|
#endif
|
|
|
|
#ifdef HAVE_SL
|
|
#define SUPPORTS_SL true
|
|
#else
|
|
#define SUPPORTS_SL false
|
|
#endif
|
|
|
|
#ifdef HAVE_LIBRETRODB
|
|
#define SUPPORTS_LIBRETRODB true
|
|
#else
|
|
#define SUPPORTS_LIBRETRODB false
|
|
#endif
|
|
|
|
#ifdef HAVE_RSOUND
|
|
#define SUPPORTS_RSOUND true
|
|
#else
|
|
#define SUPPORTS_RSOUND false
|
|
#endif
|
|
|
|
#ifdef HAVE_ROAR
|
|
#define SUPPORTS_ROAR true
|
|
#else
|
|
#define SUPPORTS_ROAR false
|
|
#endif
|
|
|
|
#ifdef HAVE_JACK
|
|
#define SUPPORTS_JACK true
|
|
#else
|
|
#define SUPPORTS_JACK false
|
|
#endif
|
|
|
|
#ifdef HAVE_PULSE
|
|
#define SUPPORTS_PULSE true
|
|
#else
|
|
#define SUPPORTS_PULSE false
|
|
#endif
|
|
|
|
#ifdef HAVE_DSOUND
|
|
#define SUPPORTS_DSOUND true
|
|
#else
|
|
#define SUPPORTS_DSOUND false
|
|
#endif
|
|
|
|
#ifdef HAVE_WASAPI
|
|
#define SUPPORTS_WASAPI true
|
|
#else
|
|
#define SUPPORTS_WASAPI false
|
|
#endif
|
|
|
|
#ifdef HAVE_PIPEWIRE
|
|
#define SUPPORTS_PIPEWIRE true
|
|
#else
|
|
#define SUPPORTS_PIPEWIRE false
|
|
#endif
|
|
|
|
#ifdef HAVE_XAUDIO
|
|
#define SUPPORTS_XAUDIO true
|
|
#else
|
|
#define SUPPORTS_XAUDIO false
|
|
#endif
|
|
|
|
#ifdef HAVE_ZLIB
|
|
#define SUPPORTS_ZLIB true
|
|
#else
|
|
#define SUPPORTS_ZLIB false
|
|
#endif
|
|
|
|
#ifdef HAVE_CHD
|
|
#define SUPPORTS_CHD true
|
|
#else
|
|
#define SUPPORTS_CHD false
|
|
#endif
|
|
|
|
#ifdef HAVE_7ZIP
|
|
#define SUPPORTS_7ZIP true
|
|
#else
|
|
#define SUPPORTS_7ZIP false
|
|
#endif
|
|
|
|
#ifdef HAVE_RRAR
|
|
#define SUPPORTS_RAR true
|
|
#else
|
|
#define SUPPORTS_RAR false
|
|
#endif
|
|
|
|
#ifdef HAVE_RZSTD
|
|
#define SUPPORTS_ZSTD true
|
|
#else
|
|
#define SUPPORTS_ZSTD false
|
|
#endif
|
|
|
|
#ifdef HAVE_RBZIP2
|
|
#define SUPPORTS_BZIP2 true
|
|
#else
|
|
#define SUPPORTS_BZIP2 false
|
|
#endif
|
|
|
|
#ifdef HAVE_DYLIB
|
|
#define SUPPORTS_DYLIB true
|
|
#else
|
|
#define SUPPORTS_DYLIB false
|
|
#endif
|
|
|
|
#ifdef HAVE_CG
|
|
#define SUPPORTS_CG true
|
|
#else
|
|
#define SUPPORTS_CG false
|
|
#endif
|
|
|
|
#ifdef HAVE_GLSL
|
|
#define SUPPORTS_GLSL true
|
|
#else
|
|
#define SUPPORTS_GLSL false
|
|
#endif
|
|
|
|
#ifdef HAVE_HLSL
|
|
#define SUPPORTS_HLSL true
|
|
#else
|
|
#define SUPPORTS_HLSL false
|
|
#endif
|
|
|
|
#ifdef HAVE_SDL_IMAGE
|
|
#define SUPPORTS_SDL_IMAGE true
|
|
#else
|
|
#define SUPPORTS_SDL_IMAGE false
|
|
#endif
|
|
|
|
#ifdef HAVE_DYNAMIC
|
|
#define SUPPORTS_DYNAMIC true
|
|
#else
|
|
#define SUPPORTS_DYNAMIC false
|
|
#endif
|
|
|
|
#ifdef HAVE_FFMPEG
|
|
#define SUPPORTS_FFMPEG true
|
|
#else
|
|
#define SUPPORTS_FFMPEG false
|
|
#endif
|
|
|
|
#ifdef HAVE_MPV
|
|
#define SUPPORTS_MPV true
|
|
#else
|
|
#define SUPPORTS_MPV false
|
|
#endif
|
|
|
|
#ifdef HAVE_FREETYPE
|
|
#define SUPPORTS_FREETYPE true
|
|
#else
|
|
#define SUPPORTS_FREETYPE false
|
|
#endif
|
|
|
|
#define SUPPORTS_STBFONT true
|
|
|
|
#ifdef HAVE_NETWORKING
|
|
#define SUPPORTS_NETPLAY true
|
|
#else
|
|
#define SUPPORTS_NETPLAY false
|
|
#endif
|
|
|
|
#ifdef HAVE_SSL
|
|
#define SUPPORTS_SSL true
|
|
#else
|
|
#define SUPPORTS_SSL false
|
|
#endif
|
|
|
|
#if defined(HAVE_COCOA) || defined(HAVE_COCOATOUCH)
|
|
#define SUPPORTS_COCOA true
|
|
#else
|
|
#define SUPPORTS_COCOA false
|
|
#endif
|
|
|
|
#ifdef HAVE_QT
|
|
#define SUPPORTS_QT true
|
|
#else
|
|
#define SUPPORTS_QT false
|
|
#endif
|
|
|
|
#ifdef HAVE_QT6
|
|
#define SUPPORTS_QT6 true
|
|
#else
|
|
#define SUPPORTS_QT6 false
|
|
#endif
|
|
|
|
#ifdef HAVE_RPNG
|
|
#define SUPPORTS_RPNG true
|
|
#else
|
|
#define SUPPORTS_RPNG false
|
|
#endif
|
|
|
|
#ifdef HAVE_RJPEG
|
|
#define SUPPORTS_RJPEG true
|
|
#else
|
|
#define SUPPORTS_RJPEG false
|
|
#endif
|
|
|
|
#ifdef HAVE_RBMP
|
|
#define SUPPORTS_RBMP true
|
|
#else
|
|
#define SUPPORTS_RBMP false
|
|
#endif
|
|
|
|
#ifdef HAVE_RTGA
|
|
#define SUPPORTS_RTGA true
|
|
#else
|
|
#define SUPPORTS_RTGA false
|
|
#endif
|
|
|
|
#ifdef HAVE_RWEBP
|
|
#define SUPPORTS_RWEBP true
|
|
#else
|
|
#define SUPPORTS_RWEBP false
|
|
#endif
|
|
|
|
#ifdef HAVE_RWEBM
|
|
#define SUPPORTS_RWEBM true
|
|
#else
|
|
#define SUPPORTS_RWEBM false
|
|
#endif
|
|
|
|
#ifdef HAVE_RVP9
|
|
#define SUPPORTS_RVP9 true
|
|
#else
|
|
#define SUPPORTS_RVP9 false
|
|
#endif
|
|
|
|
#ifdef HAVE_RDDS
|
|
#define SUPPORTS_RDDS true
|
|
#else
|
|
#define SUPPORTS_RDDS false
|
|
#endif
|
|
|
|
#ifdef HAVE_CORETEXT
|
|
#define SUPPORTS_CORETEXT true
|
|
#else
|
|
#define SUPPORTS_CORETEXT false
|
|
#endif
|
|
|
|
#ifdef HAVE_CHECK
|
|
#define SUPPORTS_CHECK true
|
|
#else
|
|
#define SUPPORTS_CHECK false
|
|
#endif
|
|
|
|
#ifdef HAVE_OPENXR
|
|
#define SUPPORTS_OPENXR true
|
|
#else
|
|
#define SUPPORTS_OPENXR false
|
|
#endif
|
|
|
|
#if !defined(_WIN32) && !defined(GLOBAL_CONFIG_DIR)
|
|
#if defined(__HAIKU__)
|
|
#define GLOBAL_CONFIG_DIR "/system/settings"
|
|
#else
|
|
#define GLOBAL_CONFIG_DIR "/etc"
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|