Mercurial > public > mercurial-scm > hg-stable
diff contrib/python-zstandard/setup_zstd.py @ 31799:e0dc40530c5a
zstd: vendor python-zstandard 0.8.0
Commit 81e1f5bbf1fc54808649562d3ed829730765c540 from
https://github.com/indygreg/python-zstandard is imported without
modifications (other than removing unwanted files).
Updates relevant to Mercurial include:
* Support for multi-threaded compression (we can use this for
bundle and wire protocol compression).
* APIs for batch compression and decompression operations using
multiple threads and optimal memory allocation mechanism. (Can
be useful for revlog perf improvements.)
* A ``BufferWithSegments`` type that models a single memory buffer
containing N discrete items of known lengths. This type can be
used for very efficient 0-copy data operations.
# no-check-commit
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Sat, 01 Apr 2017 15:24:03 -0700 |
parents | c32454d69b85 |
children | b1fb341d8a61 |
line wrap: on
line diff
--- a/contrib/python-zstandard/setup_zstd.py Sat Apr 01 13:43:52 2017 -0700 +++ b/contrib/python-zstandard/setup_zstd.py Sat Apr 01 15:24:03 2017 -0700 @@ -19,6 +19,7 @@ 'compress/fse_compress.c', 'compress/huf_compress.c', 'compress/zstd_compress.c', + 'compress/zstdmt_compress.c', 'decompress/huf_decompress.c', 'decompress/zstd_decompress.c', 'dictBuilder/cover.c', @@ -55,6 +56,7 @@ ext_sources = [ 'zstd.c', + 'c-ext/bufferutil.c', 'c-ext/compressiondict.c', 'c-ext/compressobj.c', 'c-ext/compressor.c', @@ -66,7 +68,6 @@ 'c-ext/decompressor.c', 'c-ext/decompressoriterator.c', 'c-ext/decompressionwriter.c', - 'c-ext/dictparams.c', 'c-ext/frameparams.c', ] @@ -89,8 +90,13 @@ depends = [os.path.join(root, p) for p in zstd_depends] + extra_args = ['-DZSTD_MULTITHREAD'] + + if support_legacy: + extra_args.append('-DZSTD_LEGACY_SUPPORT=1') + # TODO compile with optimizations. return Extension(name, sources, include_dirs=include_dirs, depends=depends, - extra_compile_args=["-DZSTD_LEGACY_SUPPORT=1"] if support_legacy else []) + extra_compile_args=extra_args)