extzstd 0.1 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/HISTORY.ja +5 -0
- data/README.md +5 -5
- data/contrib/zstd/CONTRIBUTING.md +42 -0
- data/contrib/zstd/LICENSE-examples +11 -0
- data/contrib/zstd/Makefile +315 -0
- data/contrib/zstd/NEWS +261 -0
- data/contrib/zstd/PATENTS +33 -0
- data/contrib/zstd/README.md +121 -41
- data/contrib/zstd/TESTING.md +44 -0
- data/contrib/zstd/appveyor.yml +178 -0
- data/contrib/zstd/circle.yml +75 -0
- data/contrib/zstd/lib/BUCK +186 -0
- data/contrib/zstd/lib/Makefile +163 -0
- data/contrib/zstd/lib/README.md +77 -0
- data/contrib/zstd/{common → lib/common}/bitstream.h +7 -4
- data/contrib/zstd/{common → lib/common}/entropy_common.c +19 -23
- data/contrib/zstd/{common → lib/common}/error_private.c +0 -0
- data/contrib/zstd/{common → lib/common}/error_private.h +0 -0
- data/contrib/zstd/{common → lib/common}/fse.h +94 -34
- data/contrib/zstd/{common → lib/common}/fse_decompress.c +18 -19
- data/contrib/zstd/{common → lib/common}/huf.h +52 -20
- data/contrib/zstd/{common → lib/common}/mem.h +17 -13
- data/contrib/zstd/lib/common/pool.c +194 -0
- data/contrib/zstd/lib/common/pool.h +56 -0
- data/contrib/zstd/lib/common/threading.c +80 -0
- data/contrib/zstd/lib/common/threading.h +104 -0
- data/contrib/zstd/{common → lib/common}/xxhash.c +3 -1
- data/contrib/zstd/{common → lib/common}/xxhash.h +11 -15
- data/contrib/zstd/{common → lib/common}/zstd_common.c +1 -11
- data/contrib/zstd/{common → lib/common}/zstd_errors.h +16 -2
- data/contrib/zstd/{common → lib/common}/zstd_internal.h +17 -1
- data/contrib/zstd/{compress → lib/compress}/fse_compress.c +138 -91
- data/contrib/zstd/{compress → lib/compress}/huf_compress.c +218 -67
- data/contrib/zstd/{compress → lib/compress}/zstd_compress.c +231 -108
- data/contrib/zstd/{compress → lib/compress}/zstd_opt.h +44 -25
- data/contrib/zstd/lib/compress/zstdmt_compress.c +739 -0
- data/contrib/zstd/lib/compress/zstdmt_compress.h +78 -0
- data/contrib/zstd/{decompress → lib/decompress}/huf_decompress.c +28 -23
- data/contrib/zstd/{decompress → lib/decompress}/zstd_decompress.c +814 -176
- data/contrib/zstd/{common → lib/deprecated}/zbuff.h +60 -39
- data/contrib/zstd/lib/deprecated/zbuff_common.c +26 -0
- data/contrib/zstd/lib/deprecated/zbuff_compress.c +145 -0
- data/contrib/zstd/lib/deprecated/zbuff_decompress.c +74 -0
- data/contrib/zstd/lib/dictBuilder/cover.c +1029 -0
- data/contrib/zstd/{dictBuilder → lib/dictBuilder}/divsufsort.c +0 -0
- data/contrib/zstd/{dictBuilder → lib/dictBuilder}/divsufsort.h +0 -0
- data/contrib/zstd/{dictBuilder → lib/dictBuilder}/zdict.c +68 -18
- data/contrib/zstd/lib/dictBuilder/zdict.h +201 -0
- data/contrib/zstd/{legacy → lib/legacy}/zstd_legacy.h +122 -7
- data/contrib/zstd/{legacy → lib/legacy}/zstd_v01.c +34 -3
- data/contrib/zstd/{legacy → lib/legacy}/zstd_v01.h +8 -0
- data/contrib/zstd/{legacy → lib/legacy}/zstd_v02.c +45 -12
- data/contrib/zstd/{legacy → lib/legacy}/zstd_v02.h +8 -0
- data/contrib/zstd/{legacy → lib/legacy}/zstd_v03.c +45 -12
- data/contrib/zstd/{legacy → lib/legacy}/zstd_v03.h +8 -0
- data/contrib/zstd/{legacy → lib/legacy}/zstd_v04.c +56 -33
- data/contrib/zstd/{legacy → lib/legacy}/zstd_v04.h +8 -0
- data/contrib/zstd/{legacy → lib/legacy}/zstd_v05.c +45 -18
- data/contrib/zstd/{legacy → lib/legacy}/zstd_v05.h +7 -0
- data/contrib/zstd/{legacy → lib/legacy}/zstd_v06.c +43 -16
- data/contrib/zstd/{legacy → lib/legacy}/zstd_v06.h +7 -0
- data/contrib/zstd/{legacy → lib/legacy}/zstd_v07.c +57 -23
- data/contrib/zstd/{legacy → lib/legacy}/zstd_v07.h +8 -0
- data/contrib/zstd/lib/libzstd.pc.in +14 -0
- data/contrib/zstd/{zstd.h → lib/zstd.h} +206 -71
- data/ext/depend +2 -0
- data/ext/extconf.rb +4 -4
- data/ext/extzstd.c +1 -1
- data/ext/zstd_common.c +5 -5
- data/ext/zstd_compress.c +3 -3
- data/ext/zstd_decompress.c +2 -2
- data/ext/zstd_dictbuilder.c +2 -2
- data/ext/zstd_legacy_v01.c +1 -1
- data/ext/zstd_legacy_v02.c +1 -1
- data/ext/zstd_legacy_v03.c +1 -1
- data/ext/zstd_legacy_v04.c +1 -1
- data/ext/zstd_legacy_v05.c +1 -1
- data/ext/zstd_legacy_v06.c +1 -1
- data/ext/zstd_legacy_v07.c +1 -1
- data/gemstub.rb +9 -5
- data/lib/extzstd/version.rb +1 -1
- metadata +73 -51
- data/contrib/zstd/compress/zbuff_compress.c +0 -319
- data/contrib/zstd/decompress/zbuff_decompress.c +0 -252
- data/contrib/zstd/dictBuilder/zdict.h +0 -111
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 192d059ccf6eccb722bcee77c84156b9bb717f9e
|
4
|
+
data.tar.gz: f566c8ca8e441d798cf744537be4b8eb7d09d0e8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5c9cc38b7d2ffb6c4699b77a67272a36e1260e29365ea5e81174a23ebabb9da2225776a14838857103222cbfee89e66128593901ca9e6ba9b14a1306fc71b818
|
7
|
+
data.tar.gz: e90ed8d7c3868405ff9eab28859d5146ef53149a5cca9ceba29832acb68d0216064cc0b6249c60148ec74e40bd76fee1cba676e1e6229c7ff21f336a017e4280
|
data/HISTORY.ja
CHANGED
data/README.md
CHANGED
@@ -4,18 +4,18 @@ This is unofficial ruby bindings for compression library
|
|
4
4
|
[Zstd (Zstandard)](https://github.com/facebook/zstd).
|
5
5
|
|
6
6
|
* package name: extzstd
|
7
|
-
* version: 0.1
|
7
|
+
* version: 0.1.1
|
8
8
|
* software quality: EXPERIMENTAL
|
9
9
|
* license: BSD-2-clause License
|
10
|
-
* author: dearblue <mailto:dearblue@users.
|
11
|
-
* report issue to: <https://
|
10
|
+
* author: dearblue <mailto:dearblue@users.noreply.github.com>
|
11
|
+
* report issue to: <https://github.com/dearblue/ruby-extzstd/issues>
|
12
12
|
* dependency ruby: ruby-2.1+
|
13
13
|
* dependency ruby gems: (none)
|
14
14
|
* dependency library: (none)
|
15
15
|
* bundled external C library:
|
16
|
-
* zstd-1.1.
|
16
|
+
* zstd-1.1.4 <https://github.com/facebook/zstd/tree/v1.1.4>
|
17
17
|
|
18
|
-
under BSD-3-clause License <https://github.com/facebook/zstd/blob/v1.1.
|
18
|
+
under BSD-3-clause License <https://github.com/facebook/zstd/blob/v1.1.4/LICENSE>
|
19
19
|
|
20
20
|
by facebook <https://github.com/facebook>
|
21
21
|
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# Contributing to Zstandard
|
2
|
+
We want to make contributing to this project as easy and transparent as
|
3
|
+
possible.
|
4
|
+
|
5
|
+
## Our Development Process
|
6
|
+
New versions are being developed in the "dev" branch,
|
7
|
+
or in their own feature branch.
|
8
|
+
When they are deemed ready for a release, they are merged into "master".
|
9
|
+
|
10
|
+
As a consequences, all contributions must stage first through "dev"
|
11
|
+
or their own feature branch.
|
12
|
+
|
13
|
+
## Pull Requests
|
14
|
+
We actively welcome your pull requests.
|
15
|
+
|
16
|
+
1. Fork the repo and create your branch from `dev`.
|
17
|
+
2. If you've added code that should be tested, add tests.
|
18
|
+
3. If you've changed APIs, update the documentation.
|
19
|
+
4. Ensure the test suite passes.
|
20
|
+
5. Make sure your code lints.
|
21
|
+
6. If you haven't already, complete the Contributor License Agreement ("CLA").
|
22
|
+
|
23
|
+
## Contributor License Agreement ("CLA")
|
24
|
+
In order to accept your pull request, we need you to submit a CLA. You only need
|
25
|
+
to do this once to work on any of Facebook's open source projects.
|
26
|
+
|
27
|
+
Complete your CLA here: <https://code.facebook.com/cla>
|
28
|
+
|
29
|
+
## Issues
|
30
|
+
We use GitHub issues to track public bugs. Please ensure your description is
|
31
|
+
clear and has sufficient instructions to be able to reproduce the issue.
|
32
|
+
|
33
|
+
Facebook has a [bounty program](https://www.facebook.com/whitehat/) for the safe
|
34
|
+
disclosure of security bugs. In those cases, please go through the process
|
35
|
+
outlined on that page and do not file a public issue.
|
36
|
+
|
37
|
+
## Coding Style
|
38
|
+
* 4 spaces for indentation rather than tabs
|
39
|
+
|
40
|
+
## License
|
41
|
+
By contributing to Zstandard, you agree that your contributions will be licensed
|
42
|
+
under the [LICENSE](LICENSE) file in the root directory of this source tree.
|
@@ -0,0 +1,11 @@
|
|
1
|
+
Copyright (c) 2016-present, Facebook, Inc. All rights reserved.
|
2
|
+
|
3
|
+
The examples provided by Facebook are for non-commercial testing and evaluation
|
4
|
+
purposes only. Facebook reserves all rights not expressly granted.
|
5
|
+
|
6
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
7
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
8
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
9
|
+
FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
10
|
+
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
11
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
@@ -0,0 +1,315 @@
|
|
1
|
+
# ################################################################
|
2
|
+
# Copyright (c) 2016-present, Yann Collet, Facebook, Inc.
|
3
|
+
# All rights reserved.
|
4
|
+
#
|
5
|
+
# This source code is licensed under the BSD-style license found in the
|
6
|
+
# LICENSE file in the root directory of this source tree. An additional grant
|
7
|
+
# of patent rights can be found in the PATENTS file in the same directory.
|
8
|
+
# ################################################################
|
9
|
+
|
10
|
+
PRGDIR = programs
|
11
|
+
ZSTDDIR = lib
|
12
|
+
BUILDIR = build
|
13
|
+
ZWRAPDIR = zlibWrapper
|
14
|
+
TESTDIR = tests
|
15
|
+
|
16
|
+
# Define nul output
|
17
|
+
VOID = /dev/null
|
18
|
+
|
19
|
+
ifneq (,$(filter Windows%,$(OS)))
|
20
|
+
EXT =.exe
|
21
|
+
else
|
22
|
+
EXT =
|
23
|
+
endif
|
24
|
+
|
25
|
+
.PHONY: default
|
26
|
+
default: lib-release zstd-release
|
27
|
+
|
28
|
+
.PHONY: all
|
29
|
+
all: | allmost examples manual
|
30
|
+
|
31
|
+
.PHONY: allmost
|
32
|
+
allmost:
|
33
|
+
$(MAKE) -C $(ZSTDDIR) all
|
34
|
+
$(MAKE) -C $(PRGDIR) all
|
35
|
+
$(MAKE) -C $(TESTDIR) all
|
36
|
+
$(MAKE) -C $(ZWRAPDIR) all
|
37
|
+
|
38
|
+
#skip zwrapper, can't build that on alternate architectures without the proper zlib installed
|
39
|
+
.PHONY: allarch
|
40
|
+
allarch:
|
41
|
+
$(MAKE) -C $(ZSTDDIR) all
|
42
|
+
$(MAKE) -C $(PRGDIR) all
|
43
|
+
$(MAKE) -C $(TESTDIR) all
|
44
|
+
|
45
|
+
.PHONY: all32
|
46
|
+
all32:
|
47
|
+
$(MAKE) -C $(PRGDIR) zstd32
|
48
|
+
$(MAKE) -C $(TESTDIR) all32
|
49
|
+
|
50
|
+
.PHONY: lib
|
51
|
+
lib:
|
52
|
+
@$(MAKE) -C $(ZSTDDIR) $@
|
53
|
+
|
54
|
+
.PHONY: lib-release
|
55
|
+
lib-release:
|
56
|
+
@$(MAKE) -C $(ZSTDDIR)
|
57
|
+
|
58
|
+
.PHONY: zstd
|
59
|
+
zstd:
|
60
|
+
@$(MAKE) -C $(PRGDIR) $@
|
61
|
+
cp $(PRGDIR)/zstd$(EXT) .
|
62
|
+
|
63
|
+
.PHONY: zstd-release
|
64
|
+
zstd-release:
|
65
|
+
@$(MAKE) -C $(PRGDIR)
|
66
|
+
cp $(PRGDIR)/zstd$(EXT) .
|
67
|
+
|
68
|
+
.PHONY: zstdmt
|
69
|
+
zstdmt:
|
70
|
+
@$(MAKE) -C $(PRGDIR) $@
|
71
|
+
cp $(PRGDIR)/zstd$(EXT) ./zstdmt$(EXT)
|
72
|
+
|
73
|
+
.PHONY: zlibwrapper
|
74
|
+
zlibwrapper:
|
75
|
+
$(MAKE) -C $(ZWRAPDIR) test
|
76
|
+
|
77
|
+
.PHONY: shortest
|
78
|
+
shortest:
|
79
|
+
$(MAKE) -C $(TESTDIR) $@
|
80
|
+
|
81
|
+
.PHONY: test
|
82
|
+
test:
|
83
|
+
$(MAKE) -C $(TESTDIR) $@
|
84
|
+
|
85
|
+
.PHONY: examples
|
86
|
+
examples:
|
87
|
+
CPPFLAGS=-I../lib LDFLAGS=-L../lib $(MAKE) -C examples/ all
|
88
|
+
|
89
|
+
.PHONY: manual
|
90
|
+
manual:
|
91
|
+
$(MAKE) -C contrib/gen_html $@
|
92
|
+
|
93
|
+
.PHONY: clean
|
94
|
+
clean:
|
95
|
+
@$(MAKE) -C $(ZSTDDIR) $@ > $(VOID)
|
96
|
+
@$(MAKE) -C $(PRGDIR) $@ > $(VOID)
|
97
|
+
@$(MAKE) -C $(TESTDIR) $@ > $(VOID)
|
98
|
+
@$(MAKE) -C $(ZWRAPDIR) $@ > $(VOID)
|
99
|
+
@$(MAKE) -C examples/ $@ > $(VOID)
|
100
|
+
@$(MAKE) -C contrib/gen_html $@ > $(VOID)
|
101
|
+
@$(RM) zstd$(EXT) zstdmt$(EXT) tmp*
|
102
|
+
@echo Cleaning completed
|
103
|
+
|
104
|
+
#------------------------------------------------------------------------------
|
105
|
+
# make install is validated only for Linux, OSX, Hurd and some BSD targets
|
106
|
+
#------------------------------------------------------------------------------
|
107
|
+
ifneq (,$(filter $(shell uname),Linux Darwin GNU/kFreeBSD GNU FreeBSD DragonFly NetBSD))
|
108
|
+
HOST_OS = POSIX
|
109
|
+
.PHONY: install uninstall travis-install clangtest gpptest armtest usan asan uasan
|
110
|
+
|
111
|
+
install:
|
112
|
+
@$(MAKE) -C $(ZSTDDIR) $@
|
113
|
+
@$(MAKE) -C $(PRGDIR) $@
|
114
|
+
|
115
|
+
uninstall:
|
116
|
+
@$(MAKE) -C $(ZSTDDIR) $@
|
117
|
+
@$(MAKE) -C $(PRGDIR) $@
|
118
|
+
|
119
|
+
travis-install:
|
120
|
+
$(MAKE) install PREFIX=~/install_test_dir
|
121
|
+
|
122
|
+
gppbuild: clean
|
123
|
+
g++ -v
|
124
|
+
CC=g++ $(MAKE) -C programs all CFLAGS="-O3 -Wall -Wextra -Wundef -Wshadow -Wcast-align -Werror"
|
125
|
+
|
126
|
+
gcc5build: clean
|
127
|
+
gcc-5 -v
|
128
|
+
CC=gcc-5 $(MAKE) all MOREFLAGS="-Werror"
|
129
|
+
|
130
|
+
gcc6build: clean
|
131
|
+
gcc-6 -v
|
132
|
+
CC=gcc-6 $(MAKE) all MOREFLAGS="-Werror"
|
133
|
+
|
134
|
+
clangbuild: clean
|
135
|
+
clang -v
|
136
|
+
CXX=clang++ CC=clang $(MAKE) all MOREFLAGS="-Werror -Wconversion -Wno-sign-conversion -Wdocumentation"
|
137
|
+
|
138
|
+
m32build: clean
|
139
|
+
gcc -v
|
140
|
+
$(MAKE) all32
|
141
|
+
|
142
|
+
armbuild: clean
|
143
|
+
CC=arm-linux-gnueabi-gcc CFLAGS="-Werror" $(MAKE) allarch
|
144
|
+
|
145
|
+
aarch64build: clean
|
146
|
+
CC=aarch64-linux-gnu-gcc CFLAGS="-Werror" $(MAKE) allarch
|
147
|
+
|
148
|
+
ppcbuild: clean
|
149
|
+
CC=powerpc-linux-gnu-gcc CLAGS="-m32 -Wno-attributes -Werror" $(MAKE) allarch
|
150
|
+
|
151
|
+
ppc64build: clean
|
152
|
+
CC=powerpc-linux-gnu-gcc CFLAGS="-m64 -Werror" $(MAKE) allarch
|
153
|
+
|
154
|
+
armfuzz: clean
|
155
|
+
CC=arm-linux-gnueabi-gcc QEMU_SYS=qemu-arm-static MOREFLAGS="-static" $(MAKE) -C $(TESTDIR) fuzztest
|
156
|
+
|
157
|
+
aarch64fuzz: clean
|
158
|
+
CC=aarch64-linux-gnu-gcc QEMU_SYS=qemu-aarch64-static MOREFLAGS="-static" $(MAKE) -C $(TESTDIR) fuzztest
|
159
|
+
|
160
|
+
ppcfuzz: clean
|
161
|
+
CC=powerpc-linux-gnu-gcc QEMU_SYS=qemu-ppc-static MOREFLAGS="-static" $(MAKE) -C $(TESTDIR) fuzztest
|
162
|
+
|
163
|
+
ppc64fuzz: clean
|
164
|
+
CC=powerpc-linux-gnu-gcc QEMU_SYS=qemu-ppc64-static MOREFLAGS="-m64 -static" $(MAKE) -C $(TESTDIR) fuzztest
|
165
|
+
|
166
|
+
gpptest: clean
|
167
|
+
CC=g++ $(MAKE) -C $(PRGDIR) all CFLAGS="-O3 -Wall -Wextra -Wundef -Wshadow -Wcast-align -Werror"
|
168
|
+
|
169
|
+
gcc5test: clean
|
170
|
+
gcc-5 -v
|
171
|
+
$(MAKE) all CC=gcc-5 MOREFLAGS="-Werror"
|
172
|
+
|
173
|
+
gcc6test: clean
|
174
|
+
gcc-6 -v
|
175
|
+
$(MAKE) all CC=gcc-6 MOREFLAGS="-Werror"
|
176
|
+
|
177
|
+
clangtest: clean
|
178
|
+
clang -v
|
179
|
+
$(MAKE) all CXX=clang-++ CC=clang MOREFLAGS="-Werror -Wconversion -Wno-sign-conversion -Wdocumentation"
|
180
|
+
|
181
|
+
armtest: clean
|
182
|
+
$(MAKE) -C $(TESTDIR) datagen # use native, faster
|
183
|
+
$(MAKE) -C $(TESTDIR) test CC=arm-linux-gnueabi-gcc QEMU_SYS=qemu-arm-static ZSTDRTTEST= MOREFLAGS="-Werror -static"
|
184
|
+
|
185
|
+
aarch64test:
|
186
|
+
$(MAKE) -C $(TESTDIR) datagen # use native, faster
|
187
|
+
$(MAKE) -C $(TESTDIR) test CC=aarch64-linux-gnu-gcc QEMU_SYS=qemu-aarch64-static ZSTDRTTEST= MOREFLAGS="-Werror -static"
|
188
|
+
|
189
|
+
ppctest: clean
|
190
|
+
$(MAKE) -C $(TESTDIR) datagen # use native, faster
|
191
|
+
$(MAKE) -C $(TESTDIR) test CC=powerpc-linux-gnu-gcc QEMU_SYS=qemu-ppc-static ZSTDRTTEST= MOREFLAGS="-Werror -Wno-attributes -static"
|
192
|
+
|
193
|
+
ppc64test: clean
|
194
|
+
$(MAKE) -C $(TESTDIR) datagen # use native, faster
|
195
|
+
$(MAKE) -C $(TESTDIR) test CC=powerpc-linux-gnu-gcc QEMU_SYS=qemu-ppc64-static ZSTDRTTEST= MOREFLAGS="-m64 -static"
|
196
|
+
|
197
|
+
arm-ppc-compilation:
|
198
|
+
$(MAKE) -C $(PRGDIR) clean zstd CC=arm-linux-gnueabi-gcc QEMU_SYS=qemu-arm-static ZSTDRTTEST= MOREFLAGS="-Werror -static"
|
199
|
+
$(MAKE) -C $(PRGDIR) clean zstd CC=aarch64-linux-gnu-gcc QEMU_SYS=qemu-aarch64-static ZSTDRTTEST= MOREFLAGS="-Werror -static"
|
200
|
+
$(MAKE) -C $(PRGDIR) clean zstd CC=powerpc-linux-gnu-gcc QEMU_SYS=qemu-ppc-static ZSTDRTTEST= MOREFLAGS="-Werror -Wno-attributes -static"
|
201
|
+
$(MAKE) -C $(PRGDIR) clean zstd CC=powerpc-linux-gnu-gcc QEMU_SYS=qemu-ppc64-static ZSTDRTTEST= MOREFLAGS="-m64 -static"
|
202
|
+
|
203
|
+
# run UBsan with -fsanitize-recover=signed-integer-overflow
|
204
|
+
# due to a bug in UBsan when doing pointer subtraction
|
205
|
+
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63303
|
206
|
+
|
207
|
+
usan: clean
|
208
|
+
$(MAKE) test CC=clang MOREFLAGS="-g -fno-sanitize-recover=all -fsanitize-recover=signed-integer-overflow -fsanitize=undefined"
|
209
|
+
|
210
|
+
asan: clean
|
211
|
+
$(MAKE) test CC=clang MOREFLAGS="-g -fsanitize=address"
|
212
|
+
|
213
|
+
asan-%: clean
|
214
|
+
LDFLAGS=-fuse-ld=gold MOREFLAGS="-g -fno-sanitize-recover=all -fsanitize=address" $(MAKE) -C $(TESTDIR) $*
|
215
|
+
|
216
|
+
msan: clean
|
217
|
+
$(MAKE) test CC=clang MOREFLAGS="-g -fsanitize=memory -fno-omit-frame-pointer" # datagen.c fails this test for no obvious reason
|
218
|
+
|
219
|
+
msan-%: clean
|
220
|
+
LDFLAGS=-fuse-ld=gold MOREFLAGS="-fno-sanitize-recover=all -fsanitize=memory -fno-omit-frame-pointer" $(MAKE) -C $(TESTDIR) $*
|
221
|
+
|
222
|
+
asan32: clean
|
223
|
+
$(MAKE) -C $(TESTDIR) test32 CC=clang MOREFLAGS="-g -fsanitize=address"
|
224
|
+
|
225
|
+
uasan: clean
|
226
|
+
$(MAKE) test CC=clang MOREFLAGS="-g -fno-sanitize-recover=all -fsanitize-recover=signed-integer-overflow -fsanitize=address,undefined"
|
227
|
+
|
228
|
+
uasan-%: clean
|
229
|
+
LDFLAGS=-fuse-ld=gold MOREFLAGS="-Og -fno-sanitize-recover=all -fsanitize-recover=signed-integer-overflow -fsanitize=address,undefined" $(MAKE) -C $(TESTDIR) $*
|
230
|
+
|
231
|
+
tsan-%: clean
|
232
|
+
LDFLAGS=-fuse-ld=gold MOREFLAGS="-g -fno-sanitize-recover=all -fsanitize=thread" $(MAKE) -C $(TESTDIR) $*
|
233
|
+
apt-install:
|
234
|
+
sudo apt-get -yq --no-install-suggests --no-install-recommends --force-yes install $(APT_PACKAGES)
|
235
|
+
|
236
|
+
apt-add-repo:
|
237
|
+
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
|
238
|
+
sudo apt-get update -y -qq
|
239
|
+
|
240
|
+
ppcinstall:
|
241
|
+
APT_PACKAGES="qemu-system-ppc qemu-user-static gcc-powerpc-linux-gnu" $(MAKE) apt-install
|
242
|
+
|
243
|
+
arminstall:
|
244
|
+
APT_PACKAGES="qemu-system-arm qemu-user-static gcc-arm-linux-gnueabi libc6-dev-armel-cross gcc-aarch64-linux-gnu libc6-dev-arm64-cross" $(MAKE) apt-install
|
245
|
+
|
246
|
+
valgrindinstall:
|
247
|
+
APT_PACKAGES="valgrind" $(MAKE) apt-install
|
248
|
+
|
249
|
+
libc6install:
|
250
|
+
APT_PACKAGES="libc6-dev-i386 gcc-multilib" $(MAKE) apt-install
|
251
|
+
|
252
|
+
gcc6install: apt-add-repo
|
253
|
+
APT_PACKAGES="libc6-dev-i386 gcc-multilib gcc-6 gcc-6-multilib" $(MAKE) apt-install
|
254
|
+
|
255
|
+
gpp6install: apt-add-repo
|
256
|
+
APT_PACKAGES="libc6-dev-i386 g++-multilib gcc-6 g++-6 g++-6-multilib" $(MAKE) apt-install
|
257
|
+
|
258
|
+
clang38install:
|
259
|
+
APT_PACKAGES="clang-3.8" $(MAKE) apt-install
|
260
|
+
|
261
|
+
endif
|
262
|
+
|
263
|
+
|
264
|
+
ifneq (,$(filter MSYS%,$(shell uname)))
|
265
|
+
HOST_OS = MSYS
|
266
|
+
CMAKE_PARAMS = -G"MSYS Makefiles"
|
267
|
+
endif
|
268
|
+
|
269
|
+
|
270
|
+
#------------------------------------------------------------------------
|
271
|
+
#make tests validated only for MSYS, Linux, OSX, kFreeBSD and Hurd targets
|
272
|
+
#------------------------------------------------------------------------
|
273
|
+
ifneq (,$(filter $(HOST_OS),MSYS POSIX))
|
274
|
+
cmakebuild:
|
275
|
+
cmake --version
|
276
|
+
$(RM) -r $(BUILDIR)/cmake/build
|
277
|
+
mkdir $(BUILDIR)/cmake/build
|
278
|
+
cd $(BUILDIR)/cmake/build ; cmake -DPREFIX:STRING=~/install_test_dir $(CMAKE_PARAMS) .. ; $(MAKE) install ; $(MAKE) uninstall
|
279
|
+
|
280
|
+
c90build: clean
|
281
|
+
gcc -v
|
282
|
+
CFLAGS="-std=c90" $(MAKE) allmost # will fail, due to missing support for `long long`
|
283
|
+
|
284
|
+
gnu90build: clean
|
285
|
+
gcc -v
|
286
|
+
CFLAGS="-std=gnu90" $(MAKE) allmost
|
287
|
+
|
288
|
+
c99build: clean
|
289
|
+
gcc -v
|
290
|
+
CFLAGS="-std=c99" $(MAKE) allmost
|
291
|
+
|
292
|
+
gnu99build: clean
|
293
|
+
gcc -v
|
294
|
+
CFLAGS="-std=gnu99" $(MAKE) allmost
|
295
|
+
|
296
|
+
c11build: clean
|
297
|
+
gcc -v
|
298
|
+
CFLAGS="-std=c11" $(MAKE) allmost
|
299
|
+
|
300
|
+
bmix64build: clean
|
301
|
+
gcc -v
|
302
|
+
CFLAGS="-O3 -mbmi -Werror" $(MAKE) -C $(TESTDIR) test
|
303
|
+
|
304
|
+
bmix32build: clean
|
305
|
+
gcc -v
|
306
|
+
CFLAGS="-O3 -mbmi -mx32 -Werror" $(MAKE) -C $(TESTDIR) test
|
307
|
+
|
308
|
+
bmi32build: clean
|
309
|
+
gcc -v
|
310
|
+
CFLAGS="-O3 -mbmi -m32 -Werror" $(MAKE) -C $(TESTDIR) test
|
311
|
+
|
312
|
+
staticAnalyze: clean
|
313
|
+
gcc -v
|
314
|
+
CPPFLAGS=-g scan-build --status-bugs -v $(MAKE) all
|
315
|
+
endif
|
data/contrib/zstd/NEWS
ADDED
@@ -0,0 +1,261 @@
|
|
1
|
+
v1.1.4
|
2
|
+
cli : new : can compress in *.gz format, using --format=gzip command, by Przemyslaw Skibinski
|
3
|
+
cli : new : advanced benchmark command --priority=rt
|
4
|
+
cli : fix : write on sparse-enabled file systems in 32-bits mode, by @ds77
|
5
|
+
cli : fix : --rm remains silent when input is stdin
|
6
|
+
cli : experimental : xzstd, with support for xz/lzma decoding, by Przemyslaw Skibinski
|
7
|
+
speed : improved decompression speed in streaming mode for single shot scenarios (+5%)
|
8
|
+
memory : DDict (decompression dictionary) memory usage down from 150 KB to 20 KB
|
9
|
+
arch : 32-bits variant able to generate and decode very long matches (>32 MB), by Sean Purcell
|
10
|
+
API : new : ZSTD_findFrameCompressedSize(), ZSTD_getFrameContentSize(), ZSTD_findDecompressedSize()
|
11
|
+
API : changed : dropped support of legacy versions <= v0.3 (can be changed by modifying ZSTD_LEGACY_SUPPORT value)
|
12
|
+
build: new: meson build system in contrib/meson, by Dima Krasner
|
13
|
+
build: improved cmake script, by @Majlen
|
14
|
+
build: added -Wformat-security flag, as recommended by Padraig Brady
|
15
|
+
doc : new : educational decoder, by Sean Purcell
|
16
|
+
|
17
|
+
v1.1.3
|
18
|
+
cli : zstd can decompress .gz files (can be disabled with `make zstd-nogz` or `make HAVE_ZLIB=0`)
|
19
|
+
cli : new : experimental target `make zstdmt`, with multi-threading support
|
20
|
+
cli : new : improved dictionary builder "cover" (experimental), by Nick Terrell, based on prior work by Giuseppe Ottaviano.
|
21
|
+
cli : new : advanced commands for detailed parameters, by Przemyslaw Skibinski
|
22
|
+
cli : fix zstdless on Mac OS-X, by Andrew Janke
|
23
|
+
cli : fix #232 "compress non-files"
|
24
|
+
dictBuilder : improved dictionary generation quality, thanks to Nick Terrell
|
25
|
+
API : new : lib/compress/ZSTDMT_compress.h multithreading API (experimental)
|
26
|
+
API : new : ZSTD_create?Dict_byReference(), requested by Bartosz Taudul
|
27
|
+
API : new : ZDICT_finalizeDictionary()
|
28
|
+
API : fix : ZSTD_initCStream_usingCDict() properly writes dictID into frame header, by Gregory Szorc (#511)
|
29
|
+
API : fix : all symbols properly exposed in libzstd, by Nick Terrell
|
30
|
+
build : support for Solaris target, by Przemyslaw Skibinski
|
31
|
+
doc : clarified specification, by Sean Purcell
|
32
|
+
|
33
|
+
v1.1.2
|
34
|
+
API : streaming : decompression : changed : automatic implicit reset when chain-decoding new frames without init
|
35
|
+
API : experimental : added : dictID retrieval functions, and ZSTD_initCStream_srcSize()
|
36
|
+
API : zbuff : changed : prototypes now generate deprecation warnings
|
37
|
+
lib : improved : faster decompression speed at ultra compression settings and 32-bits mode
|
38
|
+
lib : changed : only public ZSTD_ symbols are now exposed
|
39
|
+
lib : changed : reduced usage of stack memory
|
40
|
+
lib : fixed : several corner case bugs, by Nick Terrell
|
41
|
+
cli : new : gzstd, experimental version able to decode .gz files, by Przemyslaw Skibinski
|
42
|
+
cli : new : preserve file attributes
|
43
|
+
cli : new : added zstdless and zstdgrep tools
|
44
|
+
cli : fixed : status displays total amount decoded, even for file consisting of multiple frames (like pzstd)
|
45
|
+
cli : fixed : zstdcat
|
46
|
+
zlib_wrapper : added support for gz* functions, by Przemyslaw Skibinski
|
47
|
+
install : better compatibility with FreeBSD, by Dimitry Andric
|
48
|
+
source tree : changed : zbuff source files moved to lib/deprecated
|
49
|
+
|
50
|
+
v1.1.1
|
51
|
+
New : command -M#, --memory=, --memlimit=, --memlimit-decompress= to limit allowed memory consumption
|
52
|
+
New : doc/zstd_manual.html, by Przemyslaw Skibinski
|
53
|
+
Improved : slightly better compression ratio at --ultra levels (>= 20)
|
54
|
+
Improved : better memory usage when using streaming compression API, thanks to @Rogier-5 report
|
55
|
+
Added : API : ZSTD_initCStream_usingCDict(), ZSTD_initDStream_usingDDict() (experimental section)
|
56
|
+
Added : example/multiple_streaming_compression.c
|
57
|
+
Changed : zstd_errors.h is now installed within /include (and replaces errors_public.h)
|
58
|
+
Updated man page
|
59
|
+
Fixed : zstd-small, zstd-compress and zstd-decompress compilation targets
|
60
|
+
|
61
|
+
v1.1.0
|
62
|
+
New : contrib/pzstd, parallel version of zstd, by Nick Terrell
|
63
|
+
added : NetBSD install target (#338)
|
64
|
+
Improved : speed for batches of small files
|
65
|
+
Improved : speed of zlib wrapper, by Przemyslaw Skibinski
|
66
|
+
Changed : libzstd on Windows supports legacy formats, by Christophe Chevalier
|
67
|
+
Fixed : CLI -d output to stdout by default when input is stdin (#322)
|
68
|
+
Fixed : CLI correctly detects console on Mac OS-X
|
69
|
+
Fixed : CLI supports recursive mode `-r` on Mac OS-X
|
70
|
+
Fixed : Legacy decoders use unified error codes, reported by benrg (#341), fixed by Przemyslaw Skibinski
|
71
|
+
Fixed : compatibility with OpenBSD, reported by Juan Francisco Cantero Hurtado (#319)
|
72
|
+
Fixed : compatibility with Hurd, by Przemyslaw Skibinski (#365)
|
73
|
+
Fixed : zstd-pgo, reported by octoploid (#329)
|
74
|
+
|
75
|
+
v1.0.0
|
76
|
+
Change Licensing, all project is now BSD, Copyright Facebook
|
77
|
+
Small decompression speed improvement
|
78
|
+
API : Streaming API supports legacy format
|
79
|
+
API : ZDICT_getDictID(), ZSTD_sizeof_{CCtx, DCtx, CStream, DStream}(), ZSTD_setDStreamParamter()
|
80
|
+
CLI supports legacy formats v0.4+
|
81
|
+
Fixed : compression fails on certain huge files, reported by Jesse McGrew
|
82
|
+
Enhanced documentation, by Przemyslaw Skibinski
|
83
|
+
|
84
|
+
v0.8.1
|
85
|
+
New streaming API
|
86
|
+
Changed : --ultra now enables levels beyond 19
|
87
|
+
Changed : -i# now selects benchmark time in second
|
88
|
+
Fixed : ZSTD_compress* can now compress > 4 GB in a single pass, reported by Nick Terrell
|
89
|
+
Fixed : speed regression on specific patterns (#272)
|
90
|
+
Fixed : support for Z_SYNC_FLUSH, by Dmitry Krot (#291)
|
91
|
+
Fixed : ICC compilation, by Przemyslaw Skibinski
|
92
|
+
|
93
|
+
v0.8.0
|
94
|
+
Improved : better speed on clang and gcc -O2, thanks to Eric Biggers
|
95
|
+
New : Build on FreeBSD and DragonFly, thanks to JrMarino
|
96
|
+
Changed : modified API : ZSTD_compressEnd()
|
97
|
+
Fixed : legacy mode with ZSTD_HEAPMODE=0, by Christopher Bergqvist
|
98
|
+
Fixed : premature end of frame when zero-sized raw block, reported by Eric Biggers
|
99
|
+
Fixed : large dictionaries (> 384 KB), reported by Ilona Papava
|
100
|
+
Fixed : checksum correctly checked in single-pass mode
|
101
|
+
Fixed : combined --test amd --rm, reported by Andreas M. Nilsson
|
102
|
+
Modified : minor compression level adaptations
|
103
|
+
Updated : compression format specification to v0.2.0
|
104
|
+
changed : zstd.h moved to /lib directory
|
105
|
+
|
106
|
+
v0.7.5
|
107
|
+
Transition version, supporting decoding of v0.8.x
|
108
|
+
|
109
|
+
v0.7.4
|
110
|
+
Added : homebrew for Mac, by Daniel Cade
|
111
|
+
Added : more examples
|
112
|
+
Fixed : segfault when using small dictionaries, reported by Felix Handte
|
113
|
+
Modified : default compression level for CLI is now 3
|
114
|
+
Updated : specification, to v0.1.1
|
115
|
+
|
116
|
+
v0.7.3
|
117
|
+
New : compression format specification
|
118
|
+
New : `--` separator, stating that all following arguments are file names. Suggested by Chip Turner.
|
119
|
+
New : `ZSTD_getDecompressedSize()`
|
120
|
+
New : OpenBSD target, by Juan Francisco Cantero Hurtado
|
121
|
+
New : `examples` directory
|
122
|
+
fixed : dictBuilder using HC levels, reported by Bartosz Taudul
|
123
|
+
fixed : legacy support from ZSTD_decompress_usingDDict(), reported by Felix Handte
|
124
|
+
fixed : multi-blocks decoding with intermediate uncompressed blocks, reported by Greg Slazinski
|
125
|
+
modified : removed "mem.h" and "error_public.h" dependencies from "zstd.h" (experimental section)
|
126
|
+
modified : legacy functions no longer need magic number
|
127
|
+
|
128
|
+
v0.7.2
|
129
|
+
fixed : ZSTD_decompressBlock() using multiple consecutive blocks. Reported by Greg Slazinski.
|
130
|
+
fixed : potential segfault on very large files (many gigabytes). Reported by Chip Turner.
|
131
|
+
fixed : CLI displays system error message when destination file cannot be created (#231). Reported by Chip Turner.
|
132
|
+
|
133
|
+
v0.7.1
|
134
|
+
fixed : ZBUFF_compressEnd() called multiple times with too small `dst` buffer, reported by Christophe Chevalier
|
135
|
+
fixed : dictBuilder fails if first sample is too small, reported by Руслан Ковалёв
|
136
|
+
fixed : corruption issue, reported by cj
|
137
|
+
modified : checksum enabled by default in command line mode
|
138
|
+
|
139
|
+
v0.7.0
|
140
|
+
New : Support for directory compression, using `-r`, thanks to Przemyslaw Skibinski
|
141
|
+
New : Command `--rm`, to remove source file after successful de/compression
|
142
|
+
New : Visual build scripts, by Christophe Chevalier
|
143
|
+
New : Support for Sparse File-systems (do not use space for zero-filled sectors)
|
144
|
+
New : Frame checksum support
|
145
|
+
New : Support pass-through mode (when using `-df`)
|
146
|
+
API : more efficient Dictionary API : `ZSTD_compress_usingCDict()`, `ZSTD_decompress_usingDDict()`
|
147
|
+
API : create dictionary files from custom content, by Giuseppe Ottaviano
|
148
|
+
API : support for custom malloc/free functions
|
149
|
+
New : controllable Dictionary ID
|
150
|
+
New : Support for skippable frames
|
151
|
+
|
152
|
+
v0.6.1
|
153
|
+
New : zlib wrapper API, thanks to Przemyslaw Skibinski
|
154
|
+
New : Ability to compile compressor / decompressor separately
|
155
|
+
Changed : new lib directory structure
|
156
|
+
Fixed : Legacy codec v0.5 compatible with dictionary decompression
|
157
|
+
Fixed : Decoder corruption error (#173)
|
158
|
+
Fixed : null-string roundtrip (#176)
|
159
|
+
New : benchmark mode can select directory as input
|
160
|
+
Experimental : midipix support, VMS support
|
161
|
+
|
162
|
+
v0.6.0
|
163
|
+
Stronger high compression modes, thanks to Przemyslaw Skibinski
|
164
|
+
API : ZSTD_getFrameParams() provides size of decompressed content
|
165
|
+
New : highest compression modes require `--ultra` command to fully unleash their capacity
|
166
|
+
Fixed : zstd cli return error code > 0 and removes dst file artifact when decompression fails, thanks to Chip Turner
|
167
|
+
|
168
|
+
v0.5.1
|
169
|
+
New : Optimal parsing => Very high compression modes, thanks to Przemyslaw Skibinski
|
170
|
+
Changed : Dictionary builder integrated into libzstd and zstd cli
|
171
|
+
Changed (!) : zstd cli now uses "multiple input files" as default mode. See `zstd -h`.
|
172
|
+
Fix : high compression modes for big-endian platforms
|
173
|
+
New : zstd cli : `-t` | `--test` command
|
174
|
+
|
175
|
+
v0.5.0
|
176
|
+
New : dictionary builder utility
|
177
|
+
Changed : streaming & dictionary API
|
178
|
+
Improved : better compression of small data
|
179
|
+
|
180
|
+
v0.4.7
|
181
|
+
Improved : small compression speed improvement in HC mode
|
182
|
+
Changed : `zstd_decompress.c` has ZSTD_LEGACY_SUPPORT to 0 by default
|
183
|
+
fix : bt search bug
|
184
|
+
|
185
|
+
v0.4.6
|
186
|
+
fix : fast compression mode on Windows
|
187
|
+
New : cmake configuration file, thanks to Artyom Dymchenko
|
188
|
+
Improved : high compression mode on repetitive data
|
189
|
+
New : block-level API
|
190
|
+
New : ZSTD_duplicateCCtx()
|
191
|
+
|
192
|
+
v0.4.5
|
193
|
+
new : -m/--multiple : compress/decompress multiple files
|
194
|
+
|
195
|
+
v0.4.4
|
196
|
+
Fixed : high compression modes for Windows 32 bits
|
197
|
+
new : external dictionary API extended to buffered mode and accessible through command line
|
198
|
+
new : windows DLL project, thanks to Christophe Chevalier
|
199
|
+
|
200
|
+
v0.4.3 :
|
201
|
+
new : external dictionary API
|
202
|
+
new : zstd-frugal
|
203
|
+
|
204
|
+
v0.4.2 :
|
205
|
+
Generic minor improvements for small blocks
|
206
|
+
Fixed : big-endian compatibility, by Peter Harris (#85)
|
207
|
+
|
208
|
+
v0.4.1
|
209
|
+
Fixed : ZSTD_LEGACY_SUPPORT=0 build mode (reported by Luben)
|
210
|
+
removed `zstd.c`
|
211
|
+
|
212
|
+
v0.4.0
|
213
|
+
Command line utility compatible with high compression levels
|
214
|
+
Removed zstdhc => merged into zstd
|
215
|
+
Added : ZBUFF API (see zstd_buffered.h)
|
216
|
+
Rolling buffer support
|
217
|
+
|
218
|
+
v0.3.6
|
219
|
+
small blocks params
|
220
|
+
|
221
|
+
v0.3.5
|
222
|
+
minor generic compression improvements
|
223
|
+
|
224
|
+
v0.3.4
|
225
|
+
Faster fast cLevels
|
226
|
+
|
227
|
+
v0.3.3
|
228
|
+
Small compression ratio improvement
|
229
|
+
|
230
|
+
v0.3.2
|
231
|
+
Fixed Visual Studio
|
232
|
+
|
233
|
+
v0.3.1 :
|
234
|
+
Small compression ratio improvement
|
235
|
+
|
236
|
+
v0.3
|
237
|
+
HC mode : compression levels 2-26
|
238
|
+
|
239
|
+
v0.2.2
|
240
|
+
Fix : Visual Studio 2013 & 2015 release compilation, by Christophe Chevalier
|
241
|
+
|
242
|
+
v0.2.1
|
243
|
+
Fix : Read errors, advanced fuzzer tests, by Hanno Böck
|
244
|
+
|
245
|
+
v0.2.0
|
246
|
+
**Breaking format change**
|
247
|
+
Faster decompression speed
|
248
|
+
Can still decode v0.1 format
|
249
|
+
|
250
|
+
v0.1.3
|
251
|
+
fix uninitialization warning, reported by Evan Nemerson
|
252
|
+
|
253
|
+
v0.1.2
|
254
|
+
frame concatenation support
|
255
|
+
|
256
|
+
v0.1.1
|
257
|
+
fix compression bug
|
258
|
+
detects write-flush errors
|
259
|
+
|
260
|
+
v0.1.0
|
261
|
+
first release
|