Replacing CONFIG_VNC_PNG with CONFIG_PNG

Libpng is only detected if VNC is enabled currently. This patch adds a
generalised png option in the meson build which is aimed to replace use of
CONFIG_VNC_PNG with CONFIG_PNG.

Signed-off-by: Kshitij Suri <kshitij.suri@nutanix.com>

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20220408071336.99839-2-kshitij.suri@nutanix.com>

[ kraxel: add meson-buildoptions.sh updates ]
[ kraxel: fix centos8 testcase ]
[ kraxel: update --enable-vnc-png too ]

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>

--enable-vnc-png fixup

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
Kshitij Suri 2022-04-08 07:13:34 +00:00 committed by Gerd Hoffmann
parent 67ae042737
commit 95f8510ef4
8 changed files with 27 additions and 25 deletions

View file

@ -32,7 +32,7 @@
INT32 definitions between jmorecfg.h (included by jpeglib.h) and
Win32 basetsd.h (included by windows.h). */
#ifdef CONFIG_VNC_PNG
#ifdef CONFIG_PNG
/* The following define is needed by pngconf.h. Otherwise it won't compile,
because setjmp.h was already included by osdep.h. */
#define PNG_SKIP_SETJMP_CHECK
@ -95,7 +95,7 @@ static const struct {
};
#endif
#ifdef CONFIG_VNC_PNG
#ifdef CONFIG_PNG
static const struct {
int png_zlib_level, png_filters;
} tight_png_conf[] = {
@ -919,7 +919,7 @@ static int send_full_color_rect(VncState *vs, int x, int y, int w, int h)
int stream = 0;
ssize_t bytes;
#ifdef CONFIG_VNC_PNG
#ifdef CONFIG_PNG
if (tight_can_send_png_rect(vs, w, h)) {
return send_png_rect(vs, x, y, w, h, NULL);
}
@ -966,7 +966,7 @@ static int send_mono_rect(VncState *vs, int x, int y,
int stream = 1;
int level = tight_conf[vs->tight->compression].mono_zlib_level;
#ifdef CONFIG_VNC_PNG
#ifdef CONFIG_PNG
if (tight_can_send_png_rect(vs, w, h)) {
int ret;
int bpp = vs->client_pf.bytes_per_pixel * 8;
@ -1020,7 +1020,7 @@ static int send_mono_rect(VncState *vs, int x, int y,
struct palette_cb_priv {
VncState *vs;
uint8_t *header;
#ifdef CONFIG_VNC_PNG
#ifdef CONFIG_PNG
png_colorp png_palette;
#endif
};
@ -1082,7 +1082,7 @@ static int send_palette_rect(VncState *vs, int x, int y,
int colors;
ssize_t bytes;
#ifdef CONFIG_VNC_PNG
#ifdef CONFIG_PNG
if (tight_can_send_png_rect(vs, w, h)) {
return send_png_rect(vs, x, y, w, h, palette);
}
@ -1233,7 +1233,7 @@ static int send_jpeg_rect(VncState *vs, int x, int y, int w, int h, int quality)
/*
* PNG compression stuff.
*/
#ifdef CONFIG_VNC_PNG
#ifdef CONFIG_PNG
static void write_png_palette(int idx, uint32_t pix, void *opaque)
{
struct palette_cb_priv *priv = opaque;
@ -1379,7 +1379,7 @@ static int send_png_rect(VncState *vs, int x, int y, int w, int h,
buffer_reset(&vs->tight->png);
return 1;
}
#endif /* CONFIG_VNC_PNG */
#endif /* CONFIG_PNG */
static void vnc_tight_start(VncState *vs)
{
@ -1706,7 +1706,7 @@ void vnc_tight_clear(VncState *vs)
#ifdef CONFIG_VNC_JPEG
buffer_free(&vs->tight->jpeg);
#endif
#ifdef CONFIG_VNC_PNG
#ifdef CONFIG_PNG
buffer_free(&vs->tight->png);
#endif
}