diff --git a/Makefile b/Makefile index e956bdc9e0..0985abec18 100644 --- a/Makefile +++ b/Makefile @@ -463,6 +463,33 @@ ifeq ($(HAVE_NEON),1) OBJ += audio/utils_neon.o endif +ifeq ($(HAVE_7ZIP),1) + DEFINES += -D_7ZIP_ST + DEFINES += -DHAVE_7ZIP + DEFINES += -DHAVE_COMPRESSION + 7ZOBJ = decompress/7zip/7zIn.o \ + decompress/7zip/7zAlloc.o \ + decompress/7zip/Bra86.o \ + decompress/7zip/CpuArch.o \ + decompress/7zip/7zFile.o \ + decompress/7zip/7zStream.o \ + decompress/7zip/7zBuf2.o \ + decompress/7zip/Ppmd7.o \ + decompress/7zip/LzmaDec.o \ + decompress/7zip/7zCrcOpt.o \ + decompress/7zip/Bra.o \ + decompress/7zip/7zDec.o \ + decompress/7zip/Bcj2.o \ + decompress/7zip/7zCrc.o \ + decompress/7zip/Lzma2Dec.o \ + decompress/7zip/7zBuf.o \ + decompress/7zip/Ppmd7Dec.o \ + decompress/7zip_support.o + OBJ += $(7ZOBJ) + RETROLAUNCH_OBJ += $(7ZOBJ) + JOYCONFIG_OBJ += $(7ZOBJ) +endif + ifneq ($(V),1) Q := @ endif diff --git a/qb/config.libs.sh b/qb/config.libs.sh index 5cd34e1e61..0caae1b9d8 100644 --- a/qb/config.libs.sh +++ b/qb/config.libs.sh @@ -48,6 +48,10 @@ if [ "$HAVE_NEON" = "yes" ]; then ASFLAGS="$ASFLAGS -mfpu=neon" fi +if [ "$HAVE_7ZIP" = "yes" ]; then + add_include_dirs ./decompress/7zip/ +fi + if [ "$HAVE_FLOATHARD" = "yes" ]; then CFLAGS="$CFLAGS -mfloat-abi=hard" CXXFLAGS="$CXXFLAGS -mfloat-abi=hard" @@ -319,6 +323,6 @@ add_define_make OS "$OS" # Creates config.mk and config.h. add_define_make GLOBAL_CONFIG_DIR "$GLOBAL_CONFIG_DIR" -VARS="RGUI LAKKA ALSA OSS OSS_BSD OSS_LIB AL RSOUND ROAR JACK COREAUDIO PULSE SDL SDL2 D3D9 DINPUT WINXINPUT DSOUND XAUDIO OPENGL LIMA OMAP GLES GLES3 VG EGL KMS GBM DRM DYLIB GETOPT_LONG THREADS CG LIBXML2 ZLIB DYNAMIC FFMPEG AVCODEC AVFORMAT AVUTIL SWSCALE FREETYPE XKBCOMMON XVIDEO X11 XEXT XF86VM XINERAMA WAYLAND MALI_FBDEV VIVANTE_FBDEV NETPLAY NETWORK_CMD STDIN_CMD COMMAND SOCKET_LEGACY FBO STRL STRCASESTR MMAP PYTHON FFMPEG_ALLOC_CONTEXT3 FFMPEG_AVCODEC_OPEN2 FFMPEG_AVIO_OPEN FFMPEG_AVFORMAT_WRITE_HEADER FFMPEG_AVFORMAT_NEW_STREAM FFMPEG_AVCODEC_ENCODE_AUDIO2 FFMPEG_AVCODEC_ENCODE_VIDEO2 BSV_MOVIE VIDEOCORE NEON FLOATHARD FLOATSOFTFP UDEV V4L2 AV_CHANNEL_LAYOUT" +VARS="RGUI LAKKA ALSA OSS OSS_BSD OSS_LIB AL RSOUND ROAR JACK COREAUDIO PULSE SDL SDL2 D3D9 DINPUT WINXINPUT DSOUND XAUDIO OPENGL LIMA OMAP GLES GLES3 VG EGL KMS GBM DRM DYLIB GETOPT_LONG THREADS CG LIBXML2 ZLIB DYNAMIC FFMPEG AVCODEC AVFORMAT AVUTIL SWSCALE FREETYPE XKBCOMMON XVIDEO X11 XEXT XF86VM XINERAMA WAYLAND MALI_FBDEV VIVANTE_FBDEV NETPLAY NETWORK_CMD STDIN_CMD COMMAND SOCKET_LEGACY FBO STRL STRCASESTR MMAP PYTHON FFMPEG_ALLOC_CONTEXT3 FFMPEG_AVCODEC_OPEN2 FFMPEG_AVIO_OPEN FFMPEG_AVFORMAT_WRITE_HEADER FFMPEG_AVFORMAT_NEW_STREAM FFMPEG_AVCODEC_ENCODE_AUDIO2 FFMPEG_AVCODEC_ENCODE_VIDEO2 BSV_MOVIE VIDEOCORE NEON FLOATHARD FLOATSOFTFP UDEV V4L2 AV_CHANNEL_LAYOUT 7ZIP" create_config_make config.mk $VARS create_config_header config.h $VARS diff --git a/qb/config.params.sh b/qb/config.params.sh index 40bc1d1f2d..adda39efc9 100644 --- a/qb/config.params.sh +++ b/qb/config.params.sh @@ -44,3 +44,4 @@ HAVE_NEON=no # Forcefully enable ARM NEON optimizations HAVE_SSE=no # Forcefully enable x86 SSE optimizations (SSE, SSE2) HAVE_FLOATHARD=no # Force hard float ABI (for ARM) HAVE_FLOATSOFTFP=no # Force soft float ABI (for ARM) +HAVE_7ZIP=yes # Compile in 7z support