extzstd 0.3.3 → 0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +4 -3
- data/contrib/zstd/CHANGELOG +39 -2
- data/contrib/zstd/CONTRIBUTING.md +3 -3
- data/contrib/zstd/Makefile +34 -20
- data/contrib/zstd/README.md +6 -2
- data/contrib/zstd/SECURITY.md +15 -0
- data/contrib/zstd/lib/Makefile +40 -28
- data/contrib/zstd/lib/README.md +14 -1
- data/contrib/zstd/lib/common/allocations.h +1 -1
- data/contrib/zstd/lib/common/bitstream.h +49 -29
- data/contrib/zstd/lib/common/compiler.h +114 -22
- data/contrib/zstd/lib/common/cpu.h +36 -0
- data/contrib/zstd/lib/common/debug.c +6 -0
- data/contrib/zstd/lib/common/debug.h +20 -11
- data/contrib/zstd/lib/common/error_private.h +45 -36
- data/contrib/zstd/lib/common/fse.h +3 -2
- data/contrib/zstd/lib/common/fse_decompress.c +19 -17
- data/contrib/zstd/lib/common/huf.h +14 -1
- data/contrib/zstd/lib/common/mem.h +0 -9
- data/contrib/zstd/lib/common/pool.c +1 -1
- data/contrib/zstd/lib/common/pool.h +1 -1
- data/contrib/zstd/lib/common/portability_macros.h +2 -0
- data/contrib/zstd/lib/common/threading.c +8 -2
- data/contrib/zstd/lib/common/xxhash.c +5 -11
- data/contrib/zstd/lib/common/xxhash.h +2341 -1007
- data/contrib/zstd/lib/common/zstd_internal.h +5 -5
- data/contrib/zstd/lib/compress/fse_compress.c +8 -7
- data/contrib/zstd/lib/compress/huf_compress.c +54 -25
- data/contrib/zstd/lib/compress/zstd_compress.c +282 -161
- data/contrib/zstd/lib/compress/zstd_compress_internal.h +29 -27
- data/contrib/zstd/lib/compress/zstd_compress_superblock.c +224 -113
- data/contrib/zstd/lib/compress/zstd_cwksp.h +19 -13
- data/contrib/zstd/lib/compress/zstd_double_fast.c +17 -5
- data/contrib/zstd/lib/compress/zstd_double_fast.h +11 -0
- data/contrib/zstd/lib/compress/zstd_fast.c +14 -6
- data/contrib/zstd/lib/compress/zstd_lazy.c +129 -87
- data/contrib/zstd/lib/compress/zstd_lazy.h +103 -28
- data/contrib/zstd/lib/compress/zstd_ldm.c +8 -2
- data/contrib/zstd/lib/compress/zstd_opt.c +216 -112
- data/contrib/zstd/lib/compress/zstd_opt.h +31 -7
- data/contrib/zstd/lib/compress/zstdmt_compress.c +94 -79
- data/contrib/zstd/lib/decompress/huf_decompress.c +188 -126
- data/contrib/zstd/lib/decompress/huf_decompress_amd64.S +38 -19
- data/contrib/zstd/lib/decompress/zstd_decompress.c +84 -32
- data/contrib/zstd/lib/decompress/zstd_decompress_block.c +231 -208
- data/contrib/zstd/lib/decompress/zstd_decompress_block.h +1 -1
- data/contrib/zstd/lib/decompress/zstd_decompress_internal.h +2 -0
- data/contrib/zstd/lib/dictBuilder/cover.c +16 -12
- data/contrib/zstd/lib/dictBuilder/cover.h +2 -8
- data/contrib/zstd/lib/dictBuilder/fastcover.c +2 -2
- data/contrib/zstd/lib/dictBuilder/zdict.c +12 -6
- data/contrib/zstd/lib/legacy/zstd_legacy.h +30 -0
- data/contrib/zstd/lib/legacy/zstd_v01.c +2 -0
- data/contrib/zstd/lib/legacy/zstd_v02.c +4 -16
- data/contrib/zstd/lib/legacy/zstd_v03.c +4 -16
- data/contrib/zstd/lib/legacy/zstd_v04.c +4 -11
- data/contrib/zstd/lib/legacy/zstd_v05.c +1 -0
- data/contrib/zstd/lib/legacy/zstd_v06.c +2 -9
- data/contrib/zstd/lib/legacy/zstd_v07.c +2 -10
- data/contrib/zstd/lib/libzstd.mk +34 -11
- data/contrib/zstd/lib/zstd.h +129 -60
- data/ext/extconf.rb +19 -1
- data/ext/extzstd.c +38 -14
- data/ext/extzstd.h +33 -6
- data/ext/extzstd_stream.c +74 -31
- metadata +4 -5
- data/contrib/zstd/appveyor.yml +0 -205
- data/ext/depend +0 -2
data/ext/extzstd_stream.c
CHANGED
@@ -9,12 +9,13 @@ enum {
|
|
9
9
|
};
|
10
10
|
|
11
11
|
static inline VALUE
|
12
|
-
aux_str_buf_recycle(VALUE str, size_t capacity)
|
12
|
+
aux_str_buf_recycle(VALUE *str, size_t capacity)
|
13
13
|
{
|
14
|
-
if (!RTEST(str) || rb_obj_frozen_p(str) || !rb_type_p(str, RUBY_T_STRING)) {
|
15
|
-
|
14
|
+
if (!RTEST(*str) || rb_obj_frozen_p(*str) || !rb_type_p(*str, RUBY_T_STRING)) {
|
15
|
+
*str = rb_str_buf_new(capacity);
|
16
|
+
return *str;
|
16
17
|
} else {
|
17
|
-
return aux_str_modify_expand(str, capacity);
|
18
|
+
return aux_str_modify_expand(*str, capacity);
|
18
19
|
}
|
19
20
|
}
|
20
21
|
|
@@ -128,10 +129,6 @@ enc_init(int argc, VALUE argv[], VALUE self)
|
|
128
129
|
rb_obj_classname(self), (void *)self);
|
129
130
|
}
|
130
131
|
|
131
|
-
AUX_TRY_WITH_GC(
|
132
|
-
p->context = ZSTD_createCStream(),
|
133
|
-
"failed ZSTD_createCStream()");
|
134
|
-
|
135
132
|
const void *predictp;
|
136
133
|
size_t predictsize;
|
137
134
|
if (NIL_P(predict)) {
|
@@ -143,13 +140,39 @@ enc_init(int argc, VALUE argv[], VALUE self)
|
|
143
140
|
RSTRING_GETMEM(predict, predictp, predictsize);
|
144
141
|
}
|
145
142
|
|
143
|
+
AUX_TRY_WITH_GC(
|
144
|
+
p->context = ZSTD_createCStream(),
|
145
|
+
"failed ZSTD_createCStream()");
|
146
|
+
|
146
147
|
if (extzstd_params_p(params)) {
|
147
148
|
ZSTD_parameters *paramsp = extzstd_getparams(params);
|
148
|
-
|
149
|
-
|
149
|
+
ZSTD_CCtx *zstd = p->context;
|
150
|
+
p->context = NULL; // 一時的に無効化する
|
151
|
+
|
152
|
+
aux_ZSTD_CCtx_reset(zstd, ZSTD_reset_session_and_parameters);
|
153
|
+
aux_ZSTD_CCtx_setParameter(zstd, ZSTD_c_windowLog, paramsp->cParams.windowLog);
|
154
|
+
aux_ZSTD_CCtx_setParameter(zstd, ZSTD_c_chainLog, paramsp->cParams.chainLog);
|
155
|
+
aux_ZSTD_CCtx_setParameter(zstd, ZSTD_c_hashLog, paramsp->cParams.hashLog);
|
156
|
+
aux_ZSTD_CCtx_setParameter(zstd, ZSTD_c_searchLog, paramsp->cParams.searchLog);
|
157
|
+
aux_ZSTD_CCtx_setParameter(zstd, ZSTD_c_minMatch, paramsp->cParams.minMatch);
|
158
|
+
aux_ZSTD_CCtx_setParameter(zstd, ZSTD_c_targetLength, paramsp->cParams.targetLength);
|
159
|
+
aux_ZSTD_CCtx_setParameter(zstd, ZSTD_c_strategy, paramsp->cParams.strategy);
|
160
|
+
aux_ZSTD_CCtx_setParameter(zstd, ZSTD_c_contentSizeFlag, paramsp->fParams.contentSizeFlag);
|
161
|
+
aux_ZSTD_CCtx_setParameter(zstd, ZSTD_c_checksumFlag, paramsp->fParams.checksumFlag);
|
162
|
+
aux_ZSTD_CCtx_setParameter(zstd, ZSTD_c_dictIDFlag, !paramsp->fParams.noDictIDFlag);
|
163
|
+
aux_ZSTD_CCtx_loadDictionary(zstd, predictp, predictsize);
|
164
|
+
|
165
|
+
p->context = zstd;
|
150
166
|
} else {
|
151
|
-
|
152
|
-
|
167
|
+
int clevel = aux_num2int(params, ZSTD_CLEVEL_DEFAULT);
|
168
|
+
ZSTD_CCtx *zstd = p->context;
|
169
|
+
p->context = NULL; // 一時的に無効化する
|
170
|
+
|
171
|
+
aux_ZSTD_CCtx_reset(zstd, ZSTD_reset_session_and_parameters);
|
172
|
+
aux_ZSTD_CCtx_setParameter(zstd, ZSTD_c_compressionLevel, clevel);
|
173
|
+
aux_ZSTD_CCtx_loadDictionary(zstd, predictp, predictsize);
|
174
|
+
|
175
|
+
p->context = zstd;
|
153
176
|
}
|
154
177
|
|
155
178
|
p->predict = predict;
|
@@ -170,7 +193,7 @@ enc_write(VALUE self, VALUE src)
|
|
170
193
|
ZSTD_inBuffer input = { RSTRING_PTR(src), RSTRING_LEN(src), 0 };
|
171
194
|
|
172
195
|
while (input.pos < input.size) {
|
173
|
-
|
196
|
+
aux_str_buf_recycle(&p->destbuf, ZSTD_CStreamOutSize() * 2);
|
174
197
|
rb_str_set_len(p->destbuf, 0);
|
175
198
|
rb_obj_infect(self, src);
|
176
199
|
rb_obj_infect(p->destbuf, self);
|
@@ -195,7 +218,7 @@ enc_sync(VALUE self)
|
|
195
218
|
*/
|
196
219
|
|
197
220
|
struct encoder *p = encoder_context(self);
|
198
|
-
aux_str_buf_recycle(p->destbuf, ZSTD_CStreamOutSize());
|
221
|
+
aux_str_buf_recycle(&p->destbuf, ZSTD_CStreamOutSize());
|
199
222
|
rb_str_set_len(p->destbuf, 0);
|
200
223
|
rb_obj_infect(p->destbuf, self);
|
201
224
|
ZSTD_outBuffer output = { RSTRING_PTR(p->destbuf), rb_str_capacity(p->destbuf), 0 };
|
@@ -216,7 +239,7 @@ enc_close(VALUE self)
|
|
216
239
|
*/
|
217
240
|
|
218
241
|
struct encoder *p = encoder_context(self);
|
219
|
-
aux_str_buf_recycle(p->destbuf, ZSTD_CStreamOutSize());
|
242
|
+
aux_str_buf_recycle(&p->destbuf, ZSTD_CStreamOutSize());
|
220
243
|
rb_str_set_len(p->destbuf, 0);
|
221
244
|
rb_obj_infect(p->destbuf, self);
|
222
245
|
ZSTD_outBuffer output = { RSTRING_PTR(p->destbuf), rb_str_capacity(p->destbuf), 0 };
|
@@ -241,11 +264,18 @@ static VALUE
|
|
241
264
|
enc_reset(VALUE self, VALUE pledged_srcsize)
|
242
265
|
{
|
243
266
|
/*
|
244
|
-
* ZSTDLIB_API size_t
|
267
|
+
* ZSTDLIB_API size_t ZSTD_CCtx_reset(ZSTD_CCtx* cctx, ZSTD_ResetDirective reset);
|
245
268
|
*/
|
246
269
|
|
247
|
-
size_t s =
|
270
|
+
size_t s = ZSTD_CCtx_reset(encoder_context(self)->context, ZSTD_reset_session_only);
|
248
271
|
extzstd_check_error(s);
|
272
|
+
|
273
|
+
if (pledged_srcsize == Qnil) {
|
274
|
+
ZSTD_CCtx_setPledgedSrcSize(encoder_context(self)->context, ZSTD_CONTENTSIZE_UNKNOWN);
|
275
|
+
} else {
|
276
|
+
ZSTD_CCtx_setPledgedSrcSize(encoder_context(self)->context, NUM2ULL(pledged_srcsize));
|
277
|
+
}
|
278
|
+
|
249
279
|
return self;
|
250
280
|
}
|
251
281
|
|
@@ -281,6 +311,10 @@ init_encoder(void)
|
|
281
311
|
rb_define_alias(cStreamEncoder, "flush", "sync");
|
282
312
|
rb_define_alias(cStreamEncoder, "end", "close");
|
283
313
|
rb_define_alias(cStreamEncoder, "finish", "close");
|
314
|
+
|
315
|
+
(void)encoder_alloc_dummy;
|
316
|
+
(void)getencoderp;
|
317
|
+
(void)encoder_p;
|
284
318
|
}
|
285
319
|
|
286
320
|
/*
|
@@ -291,7 +325,7 @@ static VALUE cStreamDecoder;
|
|
291
325
|
|
292
326
|
struct decoder
|
293
327
|
{
|
294
|
-
|
328
|
+
ZSTD_DCtx *context;
|
295
329
|
VALUE inport;
|
296
330
|
VALUE readbuf;
|
297
331
|
VALUE predict;
|
@@ -313,7 +347,7 @@ dec_free(void *pp)
|
|
313
347
|
{
|
314
348
|
struct decoder *p = (struct decoder *)pp;
|
315
349
|
if (p->context) {
|
316
|
-
|
350
|
+
ZSTD_freeDCtx(p->context);
|
317
351
|
p->context = NULL;
|
318
352
|
}
|
319
353
|
xfree(p);
|
@@ -352,6 +386,8 @@ static VALUE
|
|
352
386
|
dec_init(int argc, VALUE argv[], VALUE self)
|
353
387
|
{
|
354
388
|
/*
|
389
|
+
* ZSTDLIB_API size_t ZSTD_DCtx_loadDictionary(ZSTD_DCtx* dctx, const void* dict, size_t dictSize);
|
390
|
+
*
|
355
391
|
* ZSTDLIB_API size_t ZSTD_initDStream(ZSTD_DStream* zds);
|
356
392
|
* ZSTDLIB_API size_t ZSTD_initDStream_usingDict(ZSTD_DStream* zds, const void* dict, size_t dictSize);
|
357
393
|
*/
|
@@ -379,16 +415,19 @@ dec_init(int argc, VALUE argv[], VALUE self)
|
|
379
415
|
}
|
380
416
|
|
381
417
|
AUX_TRY_WITH_GC(
|
382
|
-
p->context =
|
383
|
-
"failed
|
418
|
+
p->context = ZSTD_createDCtx(),
|
419
|
+
"failed ZSTD_createDCtx()");
|
384
420
|
|
421
|
+
//ZSTD_DCtx_reset
|
422
|
+
//ZSTD_DCtx_loadDictionary
|
385
423
|
if (NIL_P(predict)) {
|
386
|
-
size_t s = ZSTD_initDStream(p->context);
|
387
|
-
extzstd_check_error(s);
|
424
|
+
//size_t s = ZSTD_initDStream(p->context);
|
425
|
+
//extzstd_check_error(s);
|
388
426
|
} else {
|
389
427
|
rb_check_type(predict, RUBY_T_STRING);
|
390
428
|
predict = rb_str_new_frozen(predict);
|
391
|
-
size_t s = ZSTD_initDStream_usingDict(p->context, RSTRING_PTR(predict), RSTRING_LEN(predict));
|
429
|
+
//size_t s = ZSTD_initDStream_usingDict(p->context, RSTRING_PTR(predict), RSTRING_LEN(predict));
|
430
|
+
size_t s = ZSTD_DCtx_loadDictionary(p->context, RSTRING_PTR(predict), RSTRING_LEN(predict));
|
392
431
|
extzstd_check_error(s);
|
393
432
|
}
|
394
433
|
|
@@ -401,8 +440,8 @@ dec_init(int argc, VALUE argv[], VALUE self)
|
|
401
440
|
static int
|
402
441
|
dec_read_fetch(VALUE o, struct decoder *p)
|
403
442
|
{
|
404
|
-
if (!p->inbuf.src || NIL_P(p->readbuf) || p->inbuf.pos >= RSTRING_LEN(p->readbuf)) {
|
405
|
-
|
443
|
+
if (!p->inbuf.src || NIL_P(p->readbuf) || p->inbuf.pos >= (size_t)RSTRING_LEN(p->readbuf)) {
|
444
|
+
aux_str_buf_recycle(&p->readbuf, EXT_PARTIAL_READ_SIZE);
|
406
445
|
VALUE st = AUX_FUNCALL(p->inport, id_read, INT2FIX(EXT_PARTIAL_READ_SIZE), p->readbuf);
|
407
446
|
if (NIL_P(st)) { return -1; }
|
408
447
|
rb_check_type(st, RUBY_T_STRING);
|
@@ -420,13 +459,14 @@ dec_read_fetch(VALUE o, struct decoder *p)
|
|
420
459
|
static size_t
|
421
460
|
dec_read_decode(VALUE o, struct decoder *p, char *buf, ssize_t size)
|
422
461
|
{
|
462
|
+
|
423
463
|
if (p->reached_eof != 0) {
|
424
464
|
return 0;
|
425
465
|
}
|
426
466
|
|
427
467
|
ZSTD_outBuffer output = { buf, size, 0 };
|
428
468
|
|
429
|
-
while (size < 0 || output.pos < size) {
|
469
|
+
while (size < 0 || output.pos < (size_t)size) {
|
430
470
|
if (dec_read_fetch(o, p) != 0) {
|
431
471
|
if (p->reached_eof == 0) {
|
432
472
|
rb_raise(rb_eRuntimeError,
|
@@ -563,10 +603,9 @@ dec_close(VALUE self)
|
|
563
603
|
static VALUE
|
564
604
|
dec_reset(VALUE self)
|
565
605
|
{
|
566
|
-
|
567
|
-
|
568
|
-
|
569
|
-
size_t s = ZSTD_resetDStream(decoder_context(self)->context);
|
606
|
+
//> ZSTDLIB_API size_t ZSTD_DCtx_reset(ZSTD_DCtx* dctx, ZSTD_ResetDirective reset);
|
607
|
+
|
608
|
+
size_t s = ZSTD_DCtx_reset(decoder_context(self)->context, ZSTD_reset_session_only);
|
570
609
|
extzstd_check_error(s);
|
571
610
|
return self;
|
572
611
|
}
|
@@ -605,6 +644,10 @@ init_decoder(void)
|
|
605
644
|
rb_define_method(cStreamDecoder, "reset", dec_reset, 0);
|
606
645
|
rb_define_method(cStreamDecoder, "sizeof", dec_sizeof, 0);
|
607
646
|
rb_define_method(cStreamDecoder, "pos", dec_pos, 0);
|
647
|
+
|
648
|
+
(void)decoder_alloc_dummy;
|
649
|
+
(void)getdecoderp;
|
650
|
+
(void)decoder_p;
|
608
651
|
}
|
609
652
|
|
610
653
|
/*
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: extzstd
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: '0.4'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- dearblue
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-05-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -71,8 +71,8 @@ files:
|
|
71
71
|
- contrib/zstd/Makefile
|
72
72
|
- contrib/zstd/Package.swift
|
73
73
|
- contrib/zstd/README.md
|
74
|
+
- contrib/zstd/SECURITY.md
|
74
75
|
- contrib/zstd/TESTING.md
|
75
|
-
- contrib/zstd/appveyor.yml
|
76
76
|
- contrib/zstd/lib/BUCK
|
77
77
|
- contrib/zstd/lib/Makefile
|
78
78
|
- contrib/zstd/lib/README.md
|
@@ -167,7 +167,6 @@ files:
|
|
167
167
|
- contrib/zstd/lib/zdict.h
|
168
168
|
- contrib/zstd/lib/zstd.h
|
169
169
|
- contrib/zstd/lib/zstd_errors.h
|
170
|
-
- ext/depend
|
171
170
|
- ext/extconf.rb
|
172
171
|
- ext/extzstd.c
|
173
172
|
- ext/extzstd.h
|
@@ -214,7 +213,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
214
213
|
- !ruby/object:Gem::Version
|
215
214
|
version: '0'
|
216
215
|
requirements: []
|
217
|
-
rubygems_version: 3.
|
216
|
+
rubygems_version: 3.5.9
|
218
217
|
signing_key:
|
219
218
|
specification_version: 4
|
220
219
|
summary: ruby bindings for Zstandard (zstd)
|
data/contrib/zstd/appveyor.yml
DELETED
@@ -1,205 +0,0 @@
|
|
1
|
-
# Following tests are run _only_ on `release` branch
|
2
|
-
# and on selected feature branch named `appveyorTest` or `visual*`
|
3
|
-
|
4
|
-
-
|
5
|
-
version: 1.0.{build}
|
6
|
-
branches:
|
7
|
-
only:
|
8
|
-
- release
|
9
|
-
- master
|
10
|
-
- /appveyor*/
|
11
|
-
- /visual*/
|
12
|
-
environment:
|
13
|
-
matrix:
|
14
|
-
- COMPILER: "gcc"
|
15
|
-
HOST: "mingw"
|
16
|
-
PLATFORM: "x64"
|
17
|
-
SCRIPT: "make allzstd MOREFLAGS=-static"
|
18
|
-
ARTIFACT: "true"
|
19
|
-
BUILD: "true"
|
20
|
-
- COMPILER: "gcc"
|
21
|
-
HOST: "mingw"
|
22
|
-
PLATFORM: "x86"
|
23
|
-
SCRIPT: "make allzstd MOREFLAGS=-static"
|
24
|
-
ARTIFACT: "true"
|
25
|
-
BUILD: "true"
|
26
|
-
|
27
|
-
- COMPILER: "clang-cl"
|
28
|
-
HOST: "cmake-visual"
|
29
|
-
PLATFORM: "x64"
|
30
|
-
CONFIGURATION: "Release"
|
31
|
-
CMAKE_GENERATOR: "Visual Studio 15 2017"
|
32
|
-
CMAKE_GENERATOR_PLATFORM: "x64"
|
33
|
-
CMAKE_GENERATOR_TOOLSET: "LLVM"
|
34
|
-
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
|
35
|
-
|
36
|
-
install:
|
37
|
-
- ECHO Installing %COMPILER% %PLATFORM% %CONFIGURATION%
|
38
|
-
- SET PATH_ORIGINAL=%PATH%
|
39
|
-
- if [%HOST%]==[mingw] (
|
40
|
-
SET "PATH_MINGW32=C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin" &&
|
41
|
-
SET "PATH_MINGW64=C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin" &&
|
42
|
-
COPY C:\msys64\usr\bin\make.exe C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin\make.exe &&
|
43
|
-
COPY C:\msys64\usr\bin\make.exe C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin\make.exe
|
44
|
-
)
|
45
|
-
- IF [%HOST%]==[visual] IF [%PLATFORM%]==[x64] (
|
46
|
-
SET ADDITIONALPARAM=/p:LibraryPath="C:\Program Files\Microsoft SDKs\Windows\v7.1\lib\x64;c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\amd64;C:\Program Files (x86)\Microsoft Visual Studio 10.0\;C:\Program Files (x86)\Microsoft Visual Studio 10.0\lib\amd64;"
|
47
|
-
)
|
48
|
-
|
49
|
-
build_script:
|
50
|
-
- if [%HOST%]==[mingw] (
|
51
|
-
( if [%PLATFORM%]==[x64] (
|
52
|
-
SET "PATH=%PATH_MINGW64%;%PATH_ORIGINAL%"
|
53
|
-
) else if [%PLATFORM%]==[x86] (
|
54
|
-
SET "PATH=%PATH_MINGW32%;%PATH_ORIGINAL%"
|
55
|
-
) )
|
56
|
-
)
|
57
|
-
- if [%HOST%]==[mingw] if [%BUILD%]==[true] (
|
58
|
-
make -v &&
|
59
|
-
sh -c "%COMPILER% -v" &&
|
60
|
-
ECHO Building zlib to static link &&
|
61
|
-
SET "CC=%COMPILER%" &&
|
62
|
-
sh -c "cd .. && git clone --depth 1 --branch v1.2.11 https://github.com/madler/zlib" &&
|
63
|
-
sh -c "cd ../zlib && make -f win32/Makefile.gcc libz.a"
|
64
|
-
ECHO Building zstd &&
|
65
|
-
SET "CPPFLAGS=-I../../zlib" &&
|
66
|
-
SET "LDFLAGS=../../zlib/libz.a" &&
|
67
|
-
sh -c "%SCRIPT%" &&
|
68
|
-
( if [%COMPILER%]==[gcc] if [%ARTIFACT%]==[true]
|
69
|
-
ECHO Creating artifacts &&
|
70
|
-
ECHO %cd% &&
|
71
|
-
lib\dll\example\build_package.bat &&
|
72
|
-
make -C programs DEBUGFLAGS= clean zstd &&
|
73
|
-
cd programs\ && 7z a -tzip -mx9 zstd-win-binary-%PLATFORM%.zip zstd.exe &&
|
74
|
-
appveyor PushArtifact zstd-win-binary-%PLATFORM%.zip &&
|
75
|
-
cp zstd.exe ..\bin\zstd.exe &&
|
76
|
-
git clone --depth 1 --branch release https://github.com/facebook/zstd &&
|
77
|
-
cd zstd &&
|
78
|
-
git archive --format=tar release -o zstd-src.tar &&
|
79
|
-
..\zstd -19 zstd-src.tar &&
|
80
|
-
appveyor PushArtifact zstd-src.tar.zst &&
|
81
|
-
certUtil -hashfile zstd-src.tar.zst SHA256 > zstd-src.tar.zst.sha256.sig &&
|
82
|
-
appveyor PushArtifact zstd-src.tar.zst.sha256.sig &&
|
83
|
-
cd ..\..\bin\ &&
|
84
|
-
7z a -tzip -mx9 zstd-win-release-%PLATFORM%.zip * &&
|
85
|
-
appveyor PushArtifact zstd-win-release-%PLATFORM%.zip
|
86
|
-
)
|
87
|
-
)
|
88
|
-
- if [%HOST%]==[cmake-visual] (
|
89
|
-
ECHO *** &&
|
90
|
-
ECHO *** Building %CMAKE_GENERATOR% ^(%CMAKE_GENERATOR_TOOLSET%^) %PLATFORM%\%CONFIGURATION% &&
|
91
|
-
PUSHD build\cmake &&
|
92
|
-
cmake -DBUILD_TESTING=ON . &&
|
93
|
-
cmake --build . --config %CONFIGURATION% -j4 &&
|
94
|
-
POPD &&
|
95
|
-
ECHO ***
|
96
|
-
)
|
97
|
-
|
98
|
-
test_script:
|
99
|
-
- ECHO Testing %COMPILER% %PLATFORM% %CONFIGURATION%
|
100
|
-
- SET "CC=gcc"
|
101
|
-
- SET "CXX=g++"
|
102
|
-
- if [%TEST%]==[cmake] (
|
103
|
-
mkdir build\cmake\build &&
|
104
|
-
cd build\cmake\build &&
|
105
|
-
SET FUZZERTEST=-T2mn &&
|
106
|
-
SET ZSTREAM_TESTTIME=-T2mn &&
|
107
|
-
cmake -G "Visual Studio 14 2015 Win64" .. &&
|
108
|
-
cd ..\..\.. &&
|
109
|
-
make clean
|
110
|
-
)
|
111
|
-
|
112
|
-
|
113
|
-
# The following tests are for regular pushes
|
114
|
-
# into `dev` or some feature branch
|
115
|
-
# There run less tests, for shorter feedback loop
|
116
|
-
|
117
|
-
-
|
118
|
-
version: 1.0.{build}
|
119
|
-
environment:
|
120
|
-
matrix:
|
121
|
-
- COMPILER: "visual"
|
122
|
-
HOST: "visual"
|
123
|
-
PLATFORM: "x64"
|
124
|
-
CONFIGURATION: "Debug"
|
125
|
-
- COMPILER: "visual"
|
126
|
-
HOST: "visual"
|
127
|
-
PLATFORM: "Win32"
|
128
|
-
CONFIGURATION: "Debug"
|
129
|
-
- COMPILER: "visual"
|
130
|
-
HOST: "visual"
|
131
|
-
PLATFORM: "x64"
|
132
|
-
CONFIGURATION: "Release"
|
133
|
-
- COMPILER: "visual"
|
134
|
-
HOST: "visual"
|
135
|
-
PLATFORM: "Win32"
|
136
|
-
CONFIGURATION: "Release"
|
137
|
-
|
138
|
-
- COMPILER: "gcc"
|
139
|
-
HOST: "cygwin"
|
140
|
-
PLATFORM: "x64"
|
141
|
-
|
142
|
-
- COMPILER: "clang-cl"
|
143
|
-
HOST: "cmake-visual"
|
144
|
-
PLATFORM: "x64"
|
145
|
-
CONFIGURATION: "Release"
|
146
|
-
CMAKE_GENERATOR: "Visual Studio 15 2017"
|
147
|
-
CMAKE_GENERATOR_PLATFORM: "x64"
|
148
|
-
CMAKE_GENERATOR_TOOLSET: "LLVM"
|
149
|
-
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
|
150
|
-
|
151
|
-
install:
|
152
|
-
- ECHO Installing %COMPILER% %PLATFORM% %CONFIGURATION%
|
153
|
-
- SET PATH_ORIGINAL=%PATH%
|
154
|
-
- if [%HOST%]==[cygwin] (
|
155
|
-
ECHO Installing Cygwin Packages &&
|
156
|
-
C:\cygwin64\setup-x86_64.exe -qnNdO -R "C:\cygwin64" -g -P ^
|
157
|
-
gcc,^
|
158
|
-
cmake,^
|
159
|
-
make
|
160
|
-
)
|
161
|
-
- IF [%HOST%]==[visual] IF [%PLATFORM%]==[x64] (
|
162
|
-
SET ADDITIONALPARAM=/p:LibraryPath="C:\Program Files\Microsoft SDKs\Windows\v7.1\lib\x64;c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\amd64;C:\Program Files (x86)\Microsoft Visual Studio 10.0\;C:\Program Files (x86)\Microsoft Visual Studio 10.0\lib\amd64;"
|
163
|
-
)
|
164
|
-
|
165
|
-
build_script:
|
166
|
-
- ECHO Building %COMPILER% %PLATFORM% %CONFIGURATION%
|
167
|
-
- if [%HOST%]==[cygwin] (
|
168
|
-
set CHERE_INVOKING=yes &&
|
169
|
-
set CC=%COMPILER% &&
|
170
|
-
C:\cygwin64\bin\bash --login -c "
|
171
|
-
set -e;
|
172
|
-
cd build/cmake;
|
173
|
-
CFLAGS='-Werror' cmake -G 'Unix Makefiles' -DCMAKE_BUILD_TYPE=Debug -DZSTD_BUILD_TESTS:BOOL=ON -DZSTD_FUZZER_FLAGS=-T20s -DZSTD_ZSTREAM_FLAGS=-T20s -DZSTD_FULLBENCH_FLAGS=-i0 .;
|
174
|
-
make VERBOSE=1 -j;
|
175
|
-
ctest -V -L Medium;
|
176
|
-
"
|
177
|
-
)
|
178
|
-
- if [%HOST%]==[cmake-visual] (
|
179
|
-
ECHO *** &&
|
180
|
-
ECHO *** Building %CMAKE_GENERATOR% ^(%CMAKE_GENERATOR_TOOLSET%^) %PLATFORM%\%CONFIGURATION% &&
|
181
|
-
PUSHD build\cmake &&
|
182
|
-
cmake -DBUILD_TESTING=ON . &&
|
183
|
-
cmake --build . --config %CONFIGURATION% -j4 &&
|
184
|
-
POPD &&
|
185
|
-
ECHO ***
|
186
|
-
)
|
187
|
-
- if [%HOST%]==[visual] (
|
188
|
-
ECHO *** &&
|
189
|
-
ECHO *** Building Visual Studio 2012 %PLATFORM%\%CONFIGURATION% &&
|
190
|
-
ECHO *** &&
|
191
|
-
msbuild "build\VS2010\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=v110 /p:ForceImportBeforeCppTargets=%APPVEYOR_BUILD_FOLDER%\build\VS2010\CompileAsCpp.props /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" &&
|
192
|
-
DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
|
193
|
-
msbuild "build\VS2010\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=v110 /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" &&
|
194
|
-
DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe
|
195
|
-
)
|
196
|
-
|
197
|
-
|
198
|
-
test_script:
|
199
|
-
- ECHO Testing %COMPILER% %PLATFORM% %CONFIGURATION%
|
200
|
-
- SET "FUZZERTEST=-T10s"
|
201
|
-
- if [%HOST%]==[mingw] (
|
202
|
-
set "CC=%COMPILER%" &&
|
203
|
-
make clean &&
|
204
|
-
make check
|
205
|
-
)
|
data/ext/depend
DELETED