about summary refs log tree commit diff
diff options
context:
space:
mode:
authorWill Dietz <w@wdtz.org>2018-02-10T02·57-0600
committerWill Dietz <w@wdtz.org>2018-02-10T03·02-0600
commit5a082ad15a0f46dc1cbfd8aa5cb3ad9d94b5f178 (patch)
treede60f50719c3fd824e8dee3acb0dc7481ca786ec
parent960e9c560e335c65d378805fdb2594e7079a0c45 (diff)
configure.ac: check if lzma has MT support, fix deb build/etc.
-rw-r--r--configure.ac2
-rw-r--r--src/libutil/compression.cc2
2 files changed, 4 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index 83b2346d065c..c7498fb5240f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -175,6 +175,8 @@ AC_SUBST(HAVE_SODIUM, [$have_sodium])
 
 # Look for liblzma, a required dependency.
 PKG_CHECK_MODULES([LIBLZMA], [liblzma], [CXXFLAGS="$LIBLZMA_CFLAGS $CXXFLAGS"])
+AC_CHECK_LIB([lzma], [lzma_stream_encoder_mt],
+  [AC_DEFINE([HAVE_LZMA_MT], [1], [xz multithreaded compression support])])
 
 
 # Look for libbrotli{enc,dec}, optional dependencies
diff --git a/src/libutil/compression.cc b/src/libutil/compression.cc
index ed15761b32a2..c509472b3846 100644
--- a/src/libutil/compression.cc
+++ b/src/libutil/compression.cc
@@ -192,6 +192,7 @@ struct XzSink : CompressionSink
     XzSink(Sink & nextSink, const bool parallel) : nextSink(nextSink)
     {
         lzma_ret ret;
+#ifdef HAVE_LZMA_MT
         if (parallel) {
             lzma_mt mt_options = {};
             mt_options.flags = 0;
@@ -208,6 +209,7 @@ struct XzSink : CompressionSink
             ret = lzma_stream_encoder_mt(
                 &strm, &mt_options);
         } else
+#endif
             ret = lzma_easy_encoder(
                 &strm, 6, LZMA_CHECK_CRC64);