From cdcde5c1fd106a69118dff98118600911392762f Mon Sep 17 00:00:00 2001 From: "Meyer, Wolfgang" Date: Fri, 16 Sep 2022 16:25:38 +0200 Subject: [PATCH] meson.build: add features options for png, gif, tiff, webp, and motif Upstream-Status: Pending Signed-off-by: "Meyer, Wolfgang" --- meson.build | 41 +++++++++++++++++++++++++++-------------- meson_options.txt | 5 +++++ selections.c | 4 ++++ 3 files changed, 36 insertions(+), 14 deletions(-) create mode 100644 meson_options.txt diff --git a/meson.build b/meson.build index cd9cc49..b5e3ffc 100644 --- a/meson.build +++ b/meson.build @@ -23,9 +23,9 @@ drm_dep = dependency('libdrm') gbm_dep = dependency('gbm') epoxy_dep = dependency('epoxy') exif_dep = dependency('libexif') -png_dep = dependency('libpng') -tiff_dep = dependency('libtiff-4') -webp_dep = dependency('libwebp', required : false) +png_dep = dependency('libpng', required: get_option('png')) +tiff_dep = dependency('libtiff-4', required: get_option('tiff')) +webp_dep = dependency('libwebp', required : get_option('webp')) udev_dep = dependency('libudev') input_dep = dependency('libinput') xkb_dep = dependency('xkbcommon') @@ -36,20 +36,20 @@ jpeg_dep = cc.find_library('jpeg') util_dep = cc.find_library('util') math_dep = cc.find_library('m', required : false) pcd_dep = cc.find_library('pcd', required : false) -gif_dep = cc.find_library('gif', required : false) +gif_dep = cc.find_library('gif', required: get_option('gif')) # motif + x11 libs -motif_dep = cc.find_library('Xm', required : false) -xpm_dep = cc.find_library('Xpm', required : false) -xt_dep = cc.find_library('Xt', required : false) -xext_dep = cc.find_library('Xext', required : false) -x11_dep = cc.find_library('X11', required : false) +motif_dep = cc.find_library('Xm', required : get_option('motif')) +xpm_dep = cc.find_library('Xpm', required : get_option('motif')) +xt_dep = cc.find_library('Xt', required : get_option('motif')) +xext_dep = cc.find_library('Xext', required : get_option('motif')) +x11_dep = cc.find_library('X11', required : get_option('motif')) # image formats read_srcs = [ 'readers.c', 'rd/read-ppm.c', 'rd/read-bmp.c', - 'rd/read-jpeg.c', 'rd/read-png.c', 'rd/read-tiff.c' ] + 'rd/read-jpeg.c' ] write_srcs = [ 'writers.c', 'wr/write-ppm.c', 'wr/write-ps.c', - 'wr/write-jpeg.c', 'wr/write-png.c', 'wr/write-tiff.c' ] + 'wr/write-jpeg.c' ] image_deps = [ jpeg_dep, png_dep, tiff_dep, pcd_dep, gif_dep, webp_dep ] @@ -57,11 +57,21 @@ if pcd_dep.found() read_srcs += 'rd/read-pcd.c' config.set('HAVE_LIBPCD', true) endif -if gif_dep.found() +if get_option('png').enabled() + read_srcs += 'rd/read-png.c' + write_srcs += 'wr/write-png.c' + config.set('HAVE_LIBPNG', true) +endif +if get_option('tiff').enabled() + read_srcs += 'rd/read-tiff.c' + write_srcs += 'wr/write-tiff.c' + config.set('HAVE_LIBTIFF', true) +endif +if get_option('gif').enabled() read_srcs += 'rd/read-gif.c' config.set('HAVE_LIBGIF', true) endif -if webp_dep.found() +if get_option('webp').enabled() read_srcs += 'rd/read-webp.c' config.set('HAVE_LIBWEBP', true) endif @@ -168,7 +181,7 @@ ida_srcs = [ 'ida.c', 'man.c', 'hex.c', 'x11.c', 'viewer.c', ida_deps = [ pixman_dep, exif_dep, image_deps, math_dep, motif_dep, xpm_dep, xt_dep, xext_dep, x11_dep ] -if motif_dep.found() +if get_option('motif').enabled() executable('ida', sources : ida_srcs, dependencies : ida_deps, diff --git a/meson_options.txt b/meson_options.txt new file mode 100644 index 0000000..ce37188 --- /dev/null +++ b/meson_options.txt @@ -0,0 +1,5 @@ +option('gif', type: 'feature', value : 'enabled') +option('png', type: 'feature', value : 'enabled') +option('tiff', type: 'feature', value : 'enabled') +option('webp', type: 'feature', value : 'disabled') +option('motif', type: 'feature', value : 'disabled') diff --git a/selections.c b/selections.c index 7b16264..ccdc686 100644 --- a/selections.c +++ b/selections.c @@ -609,8 +609,12 @@ void ipc_init() #ifdef HAVE_LIBGIF targets[ntargets++] = MIME_IMAGE_GIF; #endif +#ifdef HAVE_LIBPNG targets[ntargets++] = MIME_IMAGE_PNG; +#endif +#ifdef HAVE_LIBTIFF targets[ntargets++] = MIME_IMAGE_TIFF; +#endif targets[ntargets++] = XA_PIXMAP; targets[ntargets++] = XA_STRING; -- 2.37.3