From 60a8ee7a80063eaf620eaa727af0f484fdb91bff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C5=99emysl=20Eric=20Janouch?= Date: Fri, 10 Jun 2022 01:16:14 +0200 Subject: Build tools with Meson as well --- meson.build | 13 +++++++++++++ meson_options.txt | 3 +++ tools/.gitignore | 5 ----- tools/Makefile | 15 --------------- tools/clean-up-thumbnail-cache.sh | 2 +- 5 files changed, 17 insertions(+), 21 deletions(-) delete mode 100644 tools/.gitignore delete mode 100644 tools/Makefile diff --git a/meson.build b/meson.build index b885e2e..a33cbd7 100644 --- a/meson.build +++ b/meson.build @@ -115,6 +115,19 @@ jpegcrop = executable('fiv-jpegcrop', 'fiv-jpegcrop.c', install_data('fiv-jpegcrop.desktop', install_dir : get_option('datadir') / 'applications') +if get_option('tools').enabled() + # libjq 1.6 lacks a pkg-config file, and there is no release in sight. + # libjq 1.6 is required. + tools_dependencies = [cc.find_library('libjq'), dependency('libpng')] + tools_c_args = cc.get_supported_arguments( + '-Wno-unused-function', '-Wno-unused-parameter') + foreach tool : ['pnginfo', 'jpeginfo', 'tiffinfo', 'webpinfo', 'bmffinfo'] + executable(tool, 'tools/' + tool + '.c', + dependencies : tools_dependencies, + c_args: tools_c_args) + endforeach +endif + # XXX: With gdk-pixbuf, this even depends on currently installed modules. if meson.is_cross_build() install_data('fiv.desktop', diff --git a/meson_options.txt b/meson_options.txt index fb44094..dad40f8 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -1,3 +1,6 @@ +option('tools', type : 'feature', value : 'disabled', + description : 'Build a few extra file inspection tools') + option('lcms2', type : 'feature', value : 'auto', description : 'Build with Little CMS colour management') option('libjpegqs', type : 'feature', value : 'auto', diff --git a/tools/.gitignore b/tools/.gitignore deleted file mode 100644 index 1389941..0000000 --- a/tools/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -/pnginfo -/jpeginfo -/tiffinfo -/webpinfo -/bmffinfo diff --git a/tools/Makefile b/tools/Makefile deleted file mode 100644 index a95b2d9..0000000 --- a/tools/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -SHELL = /bin/sh -# libjq 1.6 lacks a pkg-config file, and there is no release in sight. -# libjq 1.6 is required. -CFLAGS = -g -O2 -Wall -Wextra `pkg-config --cflags $(deps)` -LDLIBS = -ljq `pkg-config --libs $(deps)` - -deps = libpng -targets = pnginfo jpeginfo tiffinfo webpinfo bmffinfo - -all: $(targets) -$(targets): info.h -clean: - rm -f $(targets) - -.PHONY: all clean diff --git a/tools/clean-up-thumbnail-cache.sh b/tools/clean-up-thumbnail-cache.sh index 94b68e5..fb67a6e 100755 --- a/tools/clean-up-thumbnail-cache.sh +++ b/tools/clean-up-thumbnail-cache.sh @@ -1,6 +1,6 @@ #!/bin/sh -e # Remove thumbnails with URIs pointing to at this moment non-existing files. -make pnginfo +ninja pnginfo pnginfo=$(pwd)/pnginfo cache_home=${XDG_CACHE_HOME:-$HOME/.cache} for size in normal large x-large xx-large; do -- cgit v1.2.3