summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorrpaulo <rpaulo@FreeBSD.org>2015-02-09 06:20:34 +0000
committerrpaulo <rpaulo@FreeBSD.org>2015-02-09 06:20:34 +0000
commit5c135511438bd7d3cfd1573f341fe8323603e2da (patch)
tree3f25b66f5b10f61bdad6d2e1065d6babc4b9bc85 /lib
parent0e8f15c1955b01cf082fe6bc42d4376daeac3f73 (diff)
parent82958f097ff3e2aaf6e956f5bb76ec6cd7225ab2 (diff)
downloadFreeBSD-src-5c135511438bd7d3cfd1573f341fe8323603e2da.zip
FreeBSD-src-5c135511438bd7d3cfd1573f341fe8323603e2da.tar.gz
Merge xz 5.2.0.
This brings support for multi-threaded compression. This brings close N times faster compression where N is the number of CPU cores. Because of this, liblzma now depends on libthr. Soon libarchive will be modified to use the new lzma API. Thanks to antoine@ for the exp-run. Differential Revision: https://reviews.freebsd.org/D1786 Reviewed by: bapt
Diffstat (limited to 'lib')
-rw-r--r--lib/Makefile1
-rw-r--r--lib/liblzma/Makefile12
-rw-r--r--lib/liblzma/Symbol.map8
-rw-r--r--lib/liblzma/Versions.def4
-rw-r--r--lib/liblzma/config.h32
5 files changed, 36 insertions, 21 deletions
diff --git a/lib/Makefile b/lib/Makefile
index fdab453..2305dc6 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -153,6 +153,7 @@ SUBDIR_DEPEND_libstdc++= msun
SUBDIR_DEPEND_libtacplus= libmd
SUBDIR_DEPEND_libulog= libmd
SUBDIR_DEPEND_libunbound= ${_libldns}
+SUBDIR_DEPEND_liblzma= ${_libthr}
.if exists(${.CURDIR}/csu/${MACHINE_ARCH}-elf)
_csu=csu/${MACHINE_ARCH}-elf
diff --git a/lib/liblzma/Makefile b/lib/liblzma/Makefile
index 2229194..39b929f 100644
--- a/lib/liblzma/Makefile
+++ b/lib/liblzma/Makefile
@@ -4,7 +4,7 @@ LIB= lzma
LZMADIR= ${.CURDIR}/../../contrib/xz/src/liblzma
.PATH: ${LZMADIR}/../common
-SRCS+= tuklib_physmem.c
+SRCS+= tuklib_physmem.c tuklib_cpucores.c
.PATH: ${LZMADIR}/api/lzma
@@ -21,7 +21,7 @@ LZMAINCS+= base.h \
hardware.h \
index.h \
index_hash.h \
- lzma.h \
+ lzma12.h \
stream_flags.h \
version.h \
vli.h
@@ -36,6 +36,7 @@ SRCS+= common.c \
easy_preset.c \
filter_common.c \
hardware_physmem.c \
+ hardware_cputhreads.c \
index.c \
stream_flags_common.c \
vli_size.c \
@@ -68,7 +69,10 @@ SRCS+= common.c \
stream_buffer_decoder.c \
stream_decoder.c \
stream_flags_decoder.c \
- vli_decoder.c
+ stream_encoder_mt.c \
+ vli_decoder.c \
+ outqueue.c
+
.PATH: ${LZMADIR}/check
SRCS+= check.c \
@@ -142,6 +146,8 @@ CFLAGS+= -DHAVE_CONFIG_H \
-I${LZMADIR}/simple \
-I${LZMADIR}/../common
+LIBADD+= pthread
+
VERSION_DEF= ${.CURDIR}/Versions.def
SYMBOL_MAPS= ${.CURDIR}/Symbol.map
CFLAGS+= -DSYMBOL_VERSIONING
diff --git a/lib/liblzma/Symbol.map b/lib/liblzma/Symbol.map
index 3638bde..565280d 100644
--- a/lib/liblzma/Symbol.map
+++ b/lib/liblzma/Symbol.map
@@ -98,6 +98,14 @@ XZ_5.0 {
lzma_vli_size;
};
+XZ_5.2 {
+ lzma_block_uncomp_encode;
+ lzma_cputhreads;
+ lzma_get_progress;
+ lzma_stream_encoder_mt;
+ lzma_stream_encoder_mt_memusage;
+};
+
XZprivate_1.0 {
lzma_alloc;
lzma_alone_decoder_init;
diff --git a/lib/liblzma/Versions.def b/lib/liblzma/Versions.def
index 1f65670..6786240 100644
--- a/lib/liblzma/Versions.def
+++ b/lib/liblzma/Versions.def
@@ -3,7 +3,9 @@
XZ_5.0 {
};
+XZ_5.2 {
+} XZ_5.0;
XZprivate_1.0 {
-} XZ_5.0;
+} XZ_5.2;
diff --git a/lib/liblzma/config.h b/lib/liblzma/config.h
index 9d97247..2a0087b 100644
--- a/lib/liblzma/config.h
+++ b/lib/liblzma/config.h
@@ -1,8 +1,10 @@
-// $FreeBSD$
+/* $FreeBSD$ */
#define ASSUME_RAM 128
#define HAVE_CHECK_CRC32 1
#define HAVE_CHECK_CRC64 1
#define HAVE_CHECK_SHA256 1
+#define HAVE_CLOCK_GETTIME 1
+#define HAVE_DECL_CLOCK_MONOTONIC 1
#define HAVE_DECL_PROGRAM_INVOCATION_NAME 0
#define HAVE_DECODER_ARM 1
#define HAVE_DECODER_ARMTHUMB 1
@@ -37,13 +39,16 @@
#define HAVE_MF_HC3 1
#define HAVE_MF_HC4 1
#define HAVE_OPTRESET 1
-#define HAVE_PTHREAD 1
+#define HAVE_POSIX_FADVISE 1
+#define HAVE_PTHREAD_CONDATTR_SETCLOCK 1
+#define HAVE_PTHREAD_PRIO_INHERIT 1
#define HAVE_STDBOOL_H 1
#define HAVE_STDINT_H 1
#define HAVE_STDLIB_H 1
#define HAVE_STRINGS_H 1
#define HAVE_STRING_H 1
#define HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC 1
+#define HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC 1
#define HAVE_SYS_ENDIAN_H 1
#define HAVE_SYS_PARAM_H 1
#define HAVE_SYS_STAT_H 1
@@ -54,19 +59,21 @@
#define HAVE_VISIBILITY 1
#define HAVE_WCWIDTH 1
#define HAVE__BOOL 1
-#define LT_OBJDIR ".libs/"
+#if defined(__FreeBSD__) && defined(__amd64__)
+#define HAVE__MM_MOVEMASK_EPI8 1
+#endif
+#define MYTHREAD_POSIX 1
#define NDEBUG 1
#define PACKAGE "xz"
#define PACKAGE_BUGREPORT "lasse.collin@tukaani.org"
#define PACKAGE_NAME "XZ Utils"
-#define PACKAGE_STRING "XZ Utils 5.0.3"
+#define PACKAGE_STRING "XZ Utils 5.2.0"
#define PACKAGE_TARNAME "xz"
#define PACKAGE_URL "http://tukaani.org/xz/"
-#define PACKAGE_VERSION "5.0.3"
+#define PACKAGE_VERSION "5.2.0"
#define SIZEOF_SIZE_T 8
#define STDC_HEADERS 1
#define TUKLIB_CPUCORES_SYSCTL 1
-#define TUKLIB_PHYSMEM_SYSCONF 1
#ifndef _ALL_SOURCE
# define _ALL_SOURCE 1
#endif
@@ -82,7 +89,6 @@
#ifndef __EXTENSIONS__
# define __EXTENSIONS__ 1
#endif
-#define VERSION "5.0.3"
#if defined(__FreeBSD__)
#include <sys/_types.h>
#if defined(__NO_STRICT_ALIGNMENT)
@@ -92,14 +98,6 @@
#if _BYTE_ORDER == _BIG_ENDIAN
# define WORDS_BIGENDIAN 1
#endif
-#else
-#if defined AC_APPLE_UNIVERSAL_BUILD
-# if defined __BIG_ENDIAN__
-# define WORDS_BIGENDIAN 1
-# endif
-#else
-# ifndef WORDS_BIGENDIAN
-/* # undef WORDS_BIGENDIAN */
-# endif
-#endif
#endif
+#define TUKLIB_PHYSMEM_SYSCONF 1
+#define VERSION "5.2.0"
OpenPOWER on IntegriCloud