diff --git a/Makefile.common b/Makefile.common index a4b2426538..0f660602d5 100644 --- a/Makefile.common +++ b/Makefile.common @@ -194,8 +194,12 @@ OBJ += frontend/frontend.o \ performance.o -OBJ += gfx/image/image.o \ - cores/image_core.o +OBJ += gfx/image/image.o + +ifeq ($(HAVE_IMAGEVIEWER), 1) +DEFINES += -DHAVE_IMAGEVIEWER +OBJ += cores/image_core.o +endif # Qt diff --git a/dynamic.c b/dynamic.c index 55c190ce1b..6ff6d3341f 100644 --- a/dynamic.c +++ b/dynamic.c @@ -64,7 +64,9 @@ static dylib_t lib_handle; #define SYM_FFMPEG(x) p##x = libretro_ffmpeg_##x #endif +#ifdef HAVE_IMAGEVIEWER #define SYM_IMAGEVIEWER(x) p##x = libretro_imageviewer_##x +#endif void (*pretro_init)(void); void (*pretro_deinit)(void); @@ -444,6 +446,7 @@ static void load_symbols(enum rarch_core_type type) break; #endif case CORE_TYPE_IMAGEVIEWER: +#ifdef HAVE_IMAGEVIEWER SYM_IMAGEVIEWER(retro_init); SYM_IMAGEVIEWER(retro_deinit); @@ -477,6 +480,7 @@ static void load_symbols(enum rarch_core_type type) SYM_IMAGEVIEWER(retro_get_region); SYM_IMAGEVIEWER(retro_get_memory_data); SYM_IMAGEVIEWER(retro_get_memory_size); +#endif break; } } diff --git a/griffin/griffin.c b/griffin/griffin.c index 21fd959e28..f2fad013c4 100644 --- a/griffin/griffin.c +++ b/griffin/griffin.c @@ -176,7 +176,10 @@ VIDEO IMAGE #include "../libretro-common/formats/tga/tga_decode.c" +#ifdef HAVE_IMAGEVIEWER #include "../cores/image_core.c" +#endif + #ifdef HAVE_RPNG #include "../libretro-common/formats/png/rpng_fbio.c" #include "../libretro-common/formats/png/rpng_nbio.c" diff --git a/menu/cbs/menu_cbs_deferred_push.c b/menu/cbs/menu_cbs_deferred_push.c index e0bb71b886..d3efd6d5f5 100644 --- a/menu/cbs/menu_cbs_deferred_push.c +++ b/menu/cbs/menu_cbs_deferred_push.c @@ -455,6 +455,8 @@ static int deferred_push_detect_core_list(menu_displaylist_info_t *info) strlcat(info->exts, "|", sizeof(info->exts)); strlcat(info->exts, sysinfo.valid_extensions, sizeof(info->exts)); } +#endif +#ifdef HAVE_IMAGEVIEWER if (settings->multimedia.builtin_imageviewer_enable) { libretro_imageviewer_retro_get_system_info(&sysinfo); @@ -500,12 +502,14 @@ static int deferred_push_default(menu_displaylist_info_t *info) strlcat(info->exts, sysinfo.valid_extensions, sizeof(info->exts)); } #endif +#ifdef HAVE_IMAGEVIEWER if (settings->multimedia.builtin_imageviewer_enable) { libretro_imageviewer_retro_get_system_info(&sysinfo); strlcat(info->exts, "|", sizeof(info->exts)); strlcat(info->exts, sysinfo.valid_extensions, sizeof(info->exts)); } +#endif } return menu_displaylist_push_list(info, DISPLAYLIST_DEFAULT); diff --git a/menu/menu.c b/menu/menu.c index 636aee45ae..b9948b2473 100644 --- a/menu/menu.c +++ b/menu/menu.c @@ -168,7 +168,9 @@ void menu_common_load_content(bool persist, enum rarch_core_type type) break; #endif case CORE_TYPE_IMAGEVIEWER: +#ifdef HAVE_IMAGEVIEWER event_command(EVENT_CMD_LOAD_CONTENT_IMAGEVIEWER); +#endif break; } diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index cc5d331be7..7bdc92bc80 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -1998,8 +1998,10 @@ static int menu_displaylist_parse_generic(menu_displaylist_info_t *info, bool *n #endif break; case RARCH_CONTENT_IMAGE: +#ifdef HAVE_IMAGEVIEWER if (settings->multimedia.builtin_imageviewer_enable) file_type = MENU_FILE_IMAGEVIEWER; +#endif default: break; } diff --git a/menu/menu_setting.c b/menu/menu_setting.c index d51709098b..f74043aed7 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -4875,6 +4875,7 @@ static bool setting_append_list_multimedia_options( general_read_handler); #endif +#ifdef HAVE_IMAGEVIEWER CONFIG_BOOL( settings->multimedia.builtin_imageviewer_enable, menu_hash_to_str(MENU_LABEL_USE_BUILTIN_IMAGE_VIEWER), @@ -4887,6 +4888,7 @@ static bool setting_append_list_multimedia_options( parent_group, general_write_handler, general_read_handler); +#endif END_SUB_GROUP(list, list_info, parent_group); END_GROUP(list, list_info, parent_group); @@ -6198,11 +6200,13 @@ rarch_setting_t *menu_setting_new(unsigned mask) goto error; } +#if defined(HAVE_IMAGEVIEWER) || defined(HAVE_FFMPEG) if (mask & SL_FLAG_MULTIMEDIA_OPTIONS) { if (!setting_append_list_multimedia_options(&list, list_info, root)) goto error; } +#endif if (mask & SL_FLAG_UI_OPTIONS) { diff --git a/qb/config.libs.sh b/qb/config.libs.sh index 5969873057..c5b34db990 100644 --- a/qb/config.libs.sh +++ b/qb/config.libs.sh @@ -404,6 +404,6 @@ add_define_make OS "$OS" # Creates config.mk and config.h. add_define_make GLOBAL_CONFIG_DIR "$GLOBAL_CONFIG_DIR" -VARS="RGUI LAKKA GLUI XMB ALSA OSS OSS_BSD OSS_LIB AL RSOUND ROAR JACK COREAUDIO CORETEXT PULSE SDL SDL2 D3D9 DINPUT LIBUSB XINPUT DSOUND XAUDIO OPENGL EXYNOS DISPMANX SUNXI 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 NETWORKING 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 SWRESAMPLE FFMPEG_AVCODEC_ENCODE_VIDEO2 BSV_MOVIE VIDEOCORE NEON FLOATHARD FLOATSOFTFP UDEV V4L2 AV_CHANNEL_LAYOUT 7ZIP PARPORT COCOA AVFOUNDATION CORELOCATION IOHIDMANAGER LIBRETRODB" +VARS="RGUI LAKKA GLUI XMB ALSA OSS OSS_BSD OSS_LIB AL RSOUND ROAR JACK COREAUDIO CORETEXT PULSE SDL SDL2 D3D9 DINPUT LIBUSB XINPUT DSOUND XAUDIO OPENGL EXYNOS DISPMANX SUNXI 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 NETWORKING 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 SWRESAMPLE FFMPEG_AVCODEC_ENCODE_VIDEO2 BSV_MOVIE VIDEOCORE NEON FLOATHARD FLOATSOFTFP UDEV V4L2 AV_CHANNEL_LAYOUT 7ZIP PARPORT IMAGEVIEWER COCOA AVFOUNDATION CORELOCATION IOHIDMANAGER LIBRETRODB" 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 e639faad0f..a20155997a 100644 --- a/qb/config.params.sh +++ b/qb/config.params.sh @@ -54,3 +54,4 @@ HAVE_FLOATSOFTFP=no # Force soft float ABI (for ARM) HAVE_7ZIP=yes # Compile in 7z support HAVE_PRESERVE_DYLIB=no # Disable dlclose() for Valgrind support HAVE_PARPORT=auto # Parallel port joypad support +HAVE_IMAGEVIEWER=yes # Built-in image viewer support. diff --git a/retroarch.c b/retroarch.c index 2c6da4f2cd..c3dfdfd22b 100644 --- a/retroarch.c +++ b/retroarch.c @@ -453,6 +453,7 @@ enum rarch_content_type rarch_path_is_media_type(const char *path) case MENU_VALUE_FILE_WAV: return RARCH_CONTENT_MUSIC; #endif +#ifdef HAVE_IMAGEVIEWER case MENU_VALUE_FILE_JPG: case MENU_VALUE_FILE_JPG_CAPS: case MENU_VALUE_FILE_JPEG: @@ -462,6 +463,7 @@ enum rarch_content_type rarch_path_is_media_type(const char *path) case MENU_VALUE_FILE_TGA: case MENU_VALUE_FILE_BMP: return RARCH_CONTENT_IMAGE; +#endif default: break; } @@ -1225,6 +1227,7 @@ int rarch_main_init(int argc, char *argv[]) #endif } break; +#ifdef HAVE_IMAGEVIEWER case RARCH_CONTENT_IMAGE: if (settings->multimedia.builtin_imageviewer_enable) { @@ -1232,6 +1235,7 @@ int rarch_main_init(int argc, char *argv[]) global->core_type = CORE_TYPE_IMAGEVIEWER; } break; +#endif default: break; }