Mercurial > public > mercurial-scm > hg
comparison contrib/python-zstandard/setup_zstd.py @ 30822:b54a2984cdd4
zstd: vendor python-zstandard 0.6.0
Commit 63c68d6f5fc8de4afd9bde81b13b537beb4e47e8 from
https://github.com/indygreg/python-zstandard is imported without
modifications (other than removing unwanted files).
This includes minor performance and feature improvements. It also
changes the vendored zstd library from 1.1.1 to 1.1.2.
# no-check-commit
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Sat, 14 Jan 2017 19:41:43 -0800 |
parents | b86a448a2965 |
children | c32454d69b85 |
comparison
equal
deleted
inserted
replaced
30821:7005c03f7387 | 30822:b54a2984cdd4 |
---|---|
14 'common/fse_decompress.c', | 14 'common/fse_decompress.c', |
15 'common/xxhash.c', | 15 'common/xxhash.c', |
16 'common/zstd_common.c', | 16 'common/zstd_common.c', |
17 'compress/fse_compress.c', | 17 'compress/fse_compress.c', |
18 'compress/huf_compress.c', | 18 'compress/huf_compress.c', |
19 'compress/zbuff_compress.c', | |
20 'compress/zstd_compress.c', | 19 'compress/zstd_compress.c', |
21 'decompress/huf_decompress.c', | 20 'decompress/huf_decompress.c', |
22 'decompress/zbuff_decompress.c', | |
23 'decompress/zstd_decompress.c', | 21 'decompress/zstd_decompress.c', |
24 'dictBuilder/divsufsort.c', | 22 'dictBuilder/divsufsort.c', |
25 'dictBuilder/zdict.c', | 23 'dictBuilder/zdict.c', |
26 )] | 24 )] |
27 | 25 |
26 zstd_sources_legacy = ['zstd/%s' % p for p in ( | |
27 'deprecated/zbuff_compress.c', | |
28 'deprecated/zbuff_decompress.c', | |
29 'legacy/zstd_v01.c', | |
30 'legacy/zstd_v02.c', | |
31 'legacy/zstd_v03.c', | |
32 'legacy/zstd_v04.c', | |
33 'legacy/zstd_v05.c', | |
34 'legacy/zstd_v06.c', | |
35 'legacy/zstd_v07.c' | |
36 )] | |
28 | 37 |
29 zstd_includes = [ | 38 zstd_includes = [ |
30 'c-ext', | 39 'c-ext', |
31 'zstd', | 40 'zstd', |
32 'zstd/common', | 41 'zstd/common', |
33 'zstd/compress', | 42 'zstd/compress', |
34 'zstd/decompress', | 43 'zstd/decompress', |
35 'zstd/dictBuilder', | 44 'zstd/dictBuilder', |
45 ] | |
46 | |
47 zstd_includes_legacy = [ | |
48 'zstd/deprecated', | |
49 'zstd/legacy', | |
36 ] | 50 ] |
37 | 51 |
38 ext_sources = [ | 52 ext_sources = [ |
39 'zstd.c', | 53 'zstd.c', |
40 'c-ext/compressiondict.c', | 54 'c-ext/compressiondict.c', |
49 'c-ext/decompressoriterator.c', | 63 'c-ext/decompressoriterator.c', |
50 'c-ext/decompressionwriter.c', | 64 'c-ext/decompressionwriter.c', |
51 'c-ext/dictparams.c', | 65 'c-ext/dictparams.c', |
52 ] | 66 ] |
53 | 67 |
68 zstd_depends = [ | |
69 'c-ext/python-zstandard.h', | |
70 ] | |
54 | 71 |
55 def get_c_extension(name='zstd'): | 72 |
73 def get_c_extension(support_legacy=False, name='zstd'): | |
56 """Obtain a distutils.extension.Extension for the C extension.""" | 74 """Obtain a distutils.extension.Extension for the C extension.""" |
57 root = os.path.abspath(os.path.dirname(__file__)) | 75 root = os.path.abspath(os.path.dirname(__file__)) |
58 | 76 |
59 sources = [os.path.join(root, p) for p in zstd_sources + ext_sources] | 77 sources = [os.path.join(root, p) for p in zstd_sources + ext_sources] |
78 if support_legacy: | |
79 sources.extend([os.path.join(root, p) for p in zstd_sources_legacy]) | |
80 | |
60 include_dirs = [os.path.join(root, d) for d in zstd_includes] | 81 include_dirs = [os.path.join(root, d) for d in zstd_includes] |
82 if support_legacy: | |
83 include_dirs.extend([os.path.join(root, d) for d in zstd_includes_legacy]) | |
84 | |
85 depends = [os.path.join(root, p) for p in zstd_depends] | |
61 | 86 |
62 # TODO compile with optimizations. | 87 # TODO compile with optimizations. |
63 return Extension(name, sources, | 88 return Extension(name, sources, |
64 include_dirs=include_dirs) | 89 include_dirs=include_dirs, |
90 depends=depends, | |
91 extra_compile_args=["-DZSTD_LEGACY_SUPPORT=1"] if support_legacy else []) |