summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorTim Kientzle <kientzle@gmail.com>2016-04-27 23:15:08 -0700
committerTim Kientzle <kientzle@gmail.com>2016-04-27 23:15:08 -0700
commitb05a2733918afad8f4d224e0fbbf80dc73475bf4 (patch)
treef07cc693a56c3f946d28ca69cd033708bc8b5d0f /configure.ac
parent1ee0eb7953c57f580a32e093da16e276506cf991 (diff)
downloadlibarchive-b05a2733918afad8f4d224e0fbbf80dc73475bf4.tar.gz
Issue 692: More robust check for lzma_stream_encoder_mt
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac12
1 files changed, 11 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac
index 851007d7..ca8bf6b1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -366,7 +366,17 @@ AC_ARG_WITH([lzma],
if test "x$with_lzma" != "xno"; then
AC_CHECK_HEADERS([lzma.h])
AC_CHECK_LIB(lzma,lzma_stream_decoder)
- AC_CHECK_FUNCS([lzma_stream_encoder_mt])
+ # Some pre-release (but widely distributed) versions of liblzma
+ # included a disabled version of lzma_stream_encoder_mt that
+ # fools a naive AC_CHECK_LIB or AC_CHECK_FUNC, so we need
+ # to do something more complex here:
+ AC_CACHE_CHECK(
+ [whether we have multithread support in lzma],
+ ac_cv_lzma_has_mt,
+ [AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([[#include <lzma.h>]],
+ [[lzma_stream_encoder_mt(0, 0);]])],
+ [ac_cv_lzma_has_mt=yes], [ac_cv_lzma_has_mt=no])])
fi
AC_ARG_WITH([lzo2],