aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNRK <nrk@disroot.org>2023-07-08 08:53:57 +0200
committerNRK <nrk@disroot.org>2023-07-08 08:53:57 +0200
commit9b122c82fac0f27f8fbde22b818cfa8befaaf405 (patch)
treee1b9abf70e6f0b6e946b4960bcd78e7eb43799c4
parentbfab3a76a420eada64d8fcddea7f5ead4819408f (diff)
downloadnsxiv-9b122c82fac0f27f8fbde22b818cfa8befaaf405.tar.zst
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 <explosion-mental@noreply.codeberg.org>
-rw-r--r--image.c9
-rw-r--r--nsxiv.h9
-rw-r--r--options.c21
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 <libexif/exif-data.h>
#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 <gif_lib.h>
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)