From 6d07193bdaa0f091fac01e0706cef802dc1afe56 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Fri, 24 May 2024 10:10:56 +0200 Subject: [PATCH] render/color: add fallback stub when LCMS2 is disabled It's cumbersome for compositors to guard every wlr_color_transform_ref() or wlr_color_transform_unref() call behind a #if WLR_HAS_COLOR_MANAGEMENT. Moreover, none of the LCMS2 types are used in our public API. Instead, always install the color.h header, and add a stub for wlr_color_transform_init_linear_to_icc(). --- include/meson.build | 3 --- render/color_fallback.c | 9 +++++++++ render/meson.build | 2 ++ 3 files changed, 11 insertions(+), 3 deletions(-) create mode 100644 render/color_fallback.c diff --git a/include/meson.build b/include/meson.build index 33d65ff2..165166c3 100644 --- a/include/meson.build +++ b/include/meson.build @@ -20,9 +20,6 @@ endif if not features.get('vulkan-renderer') exclude_files += 'render/vulkan.h' endif -if not features.get('color-management') - exclude_files += 'render/color.h' -endif if not features.get('session') exclude_files += 'backend/session.h' endif diff --git a/render/color_fallback.c b/render/color_fallback.c new file mode 100644 index 00000000..72741c33 --- /dev/null +++ b/render/color_fallback.c @@ -0,0 +1,9 @@ +#include +#include + +struct wlr_color_transform *wlr_color_transform_init_linear_to_icc( + const void *data, size_t size) { + wlr_log(WLR_ERROR, "Cannot create color transform from ICC profile: " + "LCMS2 is compile-time disabled"); + return NULL; +} diff --git a/render/meson.build b/render/meson.build index e3c5f535..f3e497dd 100644 --- a/render/meson.build +++ b/render/meson.build @@ -46,4 +46,6 @@ if lcms2.found() wlr_deps += lcms2 wlr_files += files('color_lcms2.c') features += { 'color-management': true } +else + wlr_files += files('color_fallback.c') endif