]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
Print zlib/lz4/lzma library versions in verbose version output 3030/head
authorNick Terrell <terrelln@fb.com>
Thu, 27 Jan 2022 01:55:26 +0000 (17:55 -0800)
committerNick Terrell <terrelln@fb.com>
Thu, 27 Jan 2022 02:25:58 +0000 (18:25 -0800)
Knowing the version of zlib/lz4/lzma we're linking against is very
useful for debugging issues with those libraries, so print it out in the
verbosity 4 version output.

Also print this information at the top of `playTests.sh`.

programs/fileio.c
programs/fileio.h
programs/zstdcli.c
tests/playTests.sh

index 2066096d23318cbfcf36d65f65dd74c101d9b12d..64909b96401b07781440071cb4724e97fa4245dc 100644 (file)
@@ -69,6 +69,40 @@ UTIL_time_t g_displayClock = UTIL_TIME_INITIALIZER;
 #  include <lz4.h>
 #endif
 
+char const* FIO_zlibVersion(void)
+{
+#if defined(ZSTD_GZCOMPRESS) || defined(ZSTD_GZDECOMPRESS)
+    return zlibVersion();
+#else
+    return "Unsupported";
+#endif
+}
+
+char const* FIO_lz4Version(void)
+{
+#if defined(ZSTD_LZ4COMPRESS) || defined(ZSTD_LZ4DECOMPRESS)
+    /* LZ4_versionString() added in v1.7.3 */
+#   if LZ4_VERSION_NUMBER >= 10703
+        return LZ4_versionString();
+#   else
+#       define ZSTD_LZ4_VERSION LZ4_VERSION_MAJOR.LZ4_VERSION_MINOR.LZ4_VERSION_RELEASE
+#       define ZSTD_LZ4_VERSION_STRING ZSTD_EXPAND_AND_QUOTE(ZSTD_LZ4_VERSION)
+        return ZSTD_LZ4_VERSION_STRING;
+#   endif
+#else
+    return "Unsupported";
+#endif
+}
+
+char const* FIO_lzmaVersion(void)
+{
+#if defined(ZSTD_LZMACOMPRESS) || defined(ZSTD_LZMADECOMPRESS)
+    return lzma_version_string();
+#else
+    return "Unsupported";
+#endif
+}
+
 
 /*-*************************************
 *  Constants
index 9d6ebb1accb88af6beae92c3179b3ee4a280ef5a..0920f722884e6eeceef50c49683b901ff4e2f913 100644 (file)
@@ -166,6 +166,9 @@ int FIO_checkFilenameCollisions(const char** filenameTable, unsigned nbFiles);
 /* custom crash signal handler */
 void FIO_addAbortHandler(void);
 
+char const* FIO_zlibVersion(void);
+char const* FIO_lz4Version(void);
+char const* FIO_lzmaVersion(void);
 
 
 #if defined (__cplusplus)
index fd563e1c24d0e47e2d930f80fb48bb7fdb4af894..a187ffafd903d6cd3532dbaac540f49071848206 100644 (file)
@@ -637,6 +637,11 @@ static void printVersion(void)
     #endif
         DISPLAYOUT("\n");
         if (g_displayLevel >= 4) {
+            /* library versions */
+            DISPLAYOUT("zlib version %s\n", FIO_zlibVersion());
+            DISPLAYOUT("lz4 version %s\n", FIO_lz4Version());
+            DISPLAYOUT("lzma version %s\n", FIO_lzmaVersion());
+
             /* posix support */
         #ifdef _POSIX_C_SOURCE
             DISPLAYOUT("_POSIX_C_SOURCE defined: %ldL\n", (long) _POSIX_C_SOURCE);
index f19291a6063e798ed424b287e6583c96650b8368..edf344f5b104b79a8935348da20a7cd794ba1655 100755 (executable)
@@ -183,6 +183,7 @@ else
 fi
 
 
+zstd -vvV
 
 println "\n===>  simple tests "