From 831ebda80692e66fd1c0e049f105ed525316fad9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Verschelde?= Date: Mon, 13 May 2024 12:55:21 +0200 Subject: [PATCH] thorvg: Disable webp loader if corresponding module is disabled Fixes #91873. --- modules/svg/SCsub | 14 ++++++++++---- thirdparty/thorvg/inc/config.h | 4 +++- thirdparty/thorvg/update-thorvg.sh | 4 +++- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/modules/svg/SCsub b/modules/svg/SCsub index 0e21c1e6d78..a32be0e41a4 100644 --- a/modules/svg/SCsub +++ b/modules/svg/SCsub @@ -26,7 +26,6 @@ thirdparty_sources = [ "src/loaders/raw/tvgRawLoader.cpp", # image loaders "src/loaders/external_png/tvgPngLoader.cpp", - "src/loaders/external_webp/tvgWebpLoader.cpp", "src/loaders/jpg/tvgJpgd.cpp", "src/loaders/jpg/tvgJpgLoader.cpp", # renderer common @@ -59,6 +58,10 @@ thirdparty_sources = [ "src/renderer/sw_engine/tvgSwStroke.cpp", ] +if env["module_webp_enabled"]: + thirdparty_sources += ["src/loaders/external_webp/tvgWebpLoader.cpp"] + env_svg.Append(CPPDEFINES=["THORVG_WEBP_LOADER_SUPPORT"]) + thirdparty_sources = [thirdparty_dir + file for file in thirdparty_sources] env_svg.Prepend(CPPPATH=[thirdparty_dir + "inc"]) @@ -76,12 +79,15 @@ env_thirdparty.Prepend( thirdparty_dir + "src/renderer/sw_engine", thirdparty_dir + "src/loaders/raw", thirdparty_dir + "src/loaders/external_png", - thirdparty_dir + "src/loaders/external_webp", thirdparty_dir + "src/loaders/jpg", - "#thirdparty/libpng", - "#thirdparty/libwebp/src", ] ) +if env["builtin_libpng"]: + env_thirdparty.Prepend(CPPPATH=["#thirdparty/libpng"]) +if env["module_webp_enabled"]: + env_thirdparty.Prepend(CPPPATH=[thirdparty_dir + "src/loaders/external_webp"]) + if env["builtin_libwebp"]: + env_thirdparty.Prepend(CPPPATH=["#thirdparty/libwebp/src"]) env_thirdparty.add_source_files(thirdparty_obj, thirdparty_sources) env.modules_sources += thirdparty_obj diff --git a/thirdparty/thorvg/inc/config.h b/thirdparty/thorvg/inc/config.h index f271b52faf9..3ae166cf22c 100644 --- a/thirdparty/thorvg/inc/config.h +++ b/thirdparty/thorvg/inc/config.h @@ -5,9 +5,11 @@ #define THORVG_SVG_LOADER_SUPPORT #define THORVG_PNG_LOADER_SUPPORT #define THORVG_JPG_LOADER_SUPPORT -#define THORVG_WEBP_LOADER_SUPPORT #define THORVG_THREAD_SUPPORT +// Added conditionally if webp module is enabled. +//#define THORVG_WEBP_LOADER_SUPPORT + // For internal debugging: //#define THORVG_LOG_ENABLED diff --git a/thirdparty/thorvg/update-thorvg.sh b/thirdparty/thorvg/update-thorvg.sh index 23604afbcd5..796060d3fb1 100755 --- a/thirdparty/thorvg/update-thorvg.sh +++ b/thirdparty/thorvg/update-thorvg.sh @@ -38,9 +38,11 @@ cat << EOF > ../inc/config.h #define THORVG_SVG_LOADER_SUPPORT #define THORVG_PNG_LOADER_SUPPORT #define THORVG_JPG_LOADER_SUPPORT -#define THORVG_WEBP_LOADER_SUPPORT #define THORVG_THREAD_SUPPORT +// Added conditionally if webp module is enabled. +//#define THORVG_WEBP_LOADER_SUPPORT + // For internal debugging: //#define THORVG_LOG_ENABLED