From 9b122c82fac0f27f8fbde22b818cfa8befaaf405 Mon Sep 17 00:00:00 2001 From: NRK Date: Sat, 8 Jul 2023 06:53:57 +0000 Subject: [PATCH] add compiled features into --version output (#462) a lot of application which allow selecting features at build time seem to output the build config with `--version` or similar (e.g ffmpeg). aside from giving the user information about the feature set the binary was compiled with (in case the user didn't compile it themselves, e.g on a binary distro) it can also (possibly) help when submitting bug reports. Reviewed-on: https://codeberg.org/nsxiv/nsxiv/pulls/462 Reviewed-by: explosion-mental --- image.c | 9 --------- nsxiv.h | 9 +++++++++ options.c | 21 +++++++++++++++++++++ 3 files changed, 30 insertions(+), 9 deletions(-) diff --git a/image.c b/image.c index 426a05a..e7e4455 100644 --- a/image.c +++ b/image.c @@ -33,15 +33,6 @@ #include #endif -#ifdef IMLIB2_VERSION - #if IMLIB2_VERSION >= IMLIB2_VERSION_(1, 8, 0) - #define HAVE_IMLIB2_MULTI_FRAME 1 - #endif -#endif -#ifndef HAVE_IMLIB2_MULTI_FRAME - #define HAVE_IMLIB2_MULTI_FRAME 0 -#endif - #if HAVE_LIBGIF && !HAVE_IMLIB2_MULTI_FRAME #include enum { DEF_GIF_DELAY = 75 }; diff --git a/nsxiv.h b/nsxiv.h index 7e373c2..574ab1a 100644 --- a/nsxiv.h +++ b/nsxiv.h @@ -159,6 +159,15 @@ typedef keymap_t button_t; /* image.c */ +#ifdef IMLIB2_VERSION + #if IMLIB2_VERSION >= IMLIB2_VERSION_(1, 8, 0) + #define HAVE_IMLIB2_MULTI_FRAME 1 + #endif +#endif +#ifndef HAVE_IMLIB2_MULTI_FRAME + #define HAVE_IMLIB2_MULTI_FRAME 0 +#endif + typedef struct { Imlib_Image im; unsigned int delay; diff --git a/options.c b/options.c index ef874ac..89dfe20 100644 --- a/options.c +++ b/options.c @@ -50,6 +50,27 @@ void print_usage(void) static void print_version(void) { printf("%s %s\n", progname, VERSION); + fputs("features: " +#if HAVE_INOTIFY + "+inotify " +#endif +#if HAVE_LIBFONTS + "+statusbar " +#endif +#if HAVE_LIBEXIF + "+exif " +#endif +#if HAVE_IMLIB2_MULTI_FRAME + "+multiframe " +#else + #if HAVE_LIBGIF + "+giflib " + #endif + #if HAVE_LIBWEBP + "+libwebp " + #endif +#endif + "\n", stdout); } void parse_options(int argc, char **argv)