]> sigrok.org Git - libsigrok.git/blobdiff - src/backend.c
configure: hook up minilzo to the libsigrok build, reflect its version
[libsigrok.git] / src / backend.c
index 471800315a1016a72768b73e7bf6a05cdd82fdf2..79340822fb38f8e9cc817297e7b5db6f948fa282 100644 (file)
@@ -25,6 +25,7 @@
 #endif
 #include <libsigrok/libsigrok.h>
 #include "libsigrok-internal.h"
+#include "minilzo/minilzo.h"
 
 /** @cond PRIVATE */
 #define LOG_PREFIX "backend"
@@ -140,6 +141,10 @@ SR_API GSList *sr_buildinfo_libs_get(void)
        m = g_slist_append(m, g_strdup_printf("%s", CONF_LIBZIP_VERSION));
        l = g_slist_append(l, m);
 
+       m = g_slist_append(NULL, g_strdup("minilzo"));
+       m = g_slist_append(m, g_strdup_printf("%s", lzo_version_string()));
+       l = g_slist_append(l, m);
+
 #ifdef HAVE_LIBSERIALPORT
        m = g_slist_append(NULL, g_strdup("libserialport"));
        m = g_slist_append(m, g_strdup_printf("%s/%s (rt: %s/%s)",
@@ -594,6 +599,14 @@ SR_API int sr_init(struct sr_context **ctx)
        }
 #endif
 
+       if ((ret = lzo_init()) != LZO_E_OK) {
+               sr_err("lzo_init() failed with return code %d.", ret);
+               sr_err("This usually indicates a compiler bug. Recompile without");
+               sr_err("optimizations, and enable '-DLZO_DEBUG' for diagnostics.");
+               ret = SR_ERR;
+               goto done;
+       }
+
 #ifdef HAVE_LIBUSB_1_0
        ret = libusb_init(&context->libusb_ctx);
        if (LIBUSB_SUCCESS != ret) {