zstd-ruby 1.5.1.1 → 1.5.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (117) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/README.md +78 -5
  4. data/Rakefile +8 -2
  5. data/ext/zstdruby/common.h +15 -0
  6. data/ext/zstdruby/extconf.rb +1 -1
  7. data/ext/zstdruby/libzstd/common/allocations.h +55 -0
  8. data/ext/zstdruby/libzstd/common/bits.h +200 -0
  9. data/ext/zstdruby/libzstd/common/bitstream.h +19 -60
  10. data/ext/zstdruby/libzstd/common/compiler.h +26 -3
  11. data/ext/zstdruby/libzstd/common/cpu.h +1 -1
  12. data/ext/zstdruby/libzstd/common/debug.c +1 -1
  13. data/ext/zstdruby/libzstd/common/debug.h +1 -1
  14. data/ext/zstdruby/libzstd/common/entropy_common.c +12 -40
  15. data/ext/zstdruby/libzstd/common/error_private.c +9 -2
  16. data/ext/zstdruby/libzstd/common/error_private.h +1 -1
  17. data/ext/zstdruby/libzstd/common/fse.h +5 -83
  18. data/ext/zstdruby/libzstd/common/fse_decompress.c +7 -99
  19. data/ext/zstdruby/libzstd/common/huf.h +65 -156
  20. data/ext/zstdruby/libzstd/common/mem.h +39 -46
  21. data/ext/zstdruby/libzstd/common/pool.c +37 -16
  22. data/ext/zstdruby/libzstd/common/pool.h +9 -3
  23. data/ext/zstdruby/libzstd/common/portability_macros.h +28 -3
  24. data/ext/zstdruby/libzstd/common/threading.c +68 -14
  25. data/ext/zstdruby/libzstd/common/threading.h +5 -10
  26. data/ext/zstdruby/libzstd/common/xxhash.c +2 -2
  27. data/ext/zstdruby/libzstd/common/xxhash.h +8 -8
  28. data/ext/zstdruby/libzstd/common/zstd_common.c +1 -36
  29. data/ext/zstdruby/libzstd/common/zstd_deps.h +1 -1
  30. data/ext/zstdruby/libzstd/common/zstd_internal.h +20 -122
  31. data/ext/zstdruby/libzstd/common/zstd_trace.h +3 -3
  32. data/ext/zstdruby/libzstd/compress/clevels.h +1 -1
  33. data/ext/zstdruby/libzstd/compress/fse_compress.c +7 -124
  34. data/ext/zstdruby/libzstd/compress/hist.c +1 -1
  35. data/ext/zstdruby/libzstd/compress/hist.h +1 -1
  36. data/ext/zstdruby/libzstd/compress/huf_compress.c +234 -169
  37. data/ext/zstdruby/libzstd/compress/zstd_compress.c +1317 -594
  38. data/ext/zstdruby/libzstd/compress/zstd_compress_internal.h +272 -165
  39. data/ext/zstdruby/libzstd/compress/zstd_compress_literals.c +115 -39
  40. data/ext/zstdruby/libzstd/compress/zstd_compress_literals.h +16 -8
  41. data/ext/zstdruby/libzstd/compress/zstd_compress_sequences.c +13 -13
  42. data/ext/zstdruby/libzstd/compress/zstd_compress_sequences.h +1 -1
  43. data/ext/zstdruby/libzstd/compress/zstd_compress_superblock.c +25 -21
  44. data/ext/zstdruby/libzstd/compress/zstd_compress_superblock.h +1 -1
  45. data/ext/zstdruby/libzstd/compress/zstd_cwksp.h +162 -82
  46. data/ext/zstdruby/libzstd/compress/zstd_double_fast.c +95 -33
  47. data/ext/zstdruby/libzstd/compress/zstd_double_fast.h +3 -2
  48. data/ext/zstdruby/libzstd/compress/zstd_fast.c +434 -149
  49. data/ext/zstdruby/libzstd/compress/zstd_fast.h +3 -2
  50. data/ext/zstdruby/libzstd/compress/zstd_lazy.c +405 -348
  51. data/ext/zstdruby/libzstd/compress/zstd_lazy.h +4 -2
  52. data/ext/zstdruby/libzstd/compress/zstd_ldm.c +9 -7
  53. data/ext/zstdruby/libzstd/compress/zstd_ldm.h +1 -1
  54. data/ext/zstdruby/libzstd/compress/zstd_ldm_geartab.h +1 -1
  55. data/ext/zstdruby/libzstd/compress/zstd_opt.c +149 -100
  56. data/ext/zstdruby/libzstd/compress/zstd_opt.h +1 -1
  57. data/ext/zstdruby/libzstd/compress/zstdmt_compress.c +32 -16
  58. data/ext/zstdruby/libzstd/compress/zstdmt_compress.h +5 -2
  59. data/ext/zstdruby/libzstd/decompress/huf_decompress.c +434 -441
  60. data/ext/zstdruby/libzstd/decompress/huf_decompress_amd64.S +42 -37
  61. data/ext/zstdruby/libzstd/decompress/zstd_ddict.c +4 -4
  62. data/ext/zstdruby/libzstd/decompress/zstd_ddict.h +1 -1
  63. data/ext/zstdruby/libzstd/decompress/zstd_decompress.c +205 -80
  64. data/ext/zstdruby/libzstd/decompress/zstd_decompress_block.c +201 -81
  65. data/ext/zstdruby/libzstd/decompress/zstd_decompress_block.h +6 -1
  66. data/ext/zstdruby/libzstd/decompress/zstd_decompress_internal.h +4 -2
  67. data/ext/zstdruby/libzstd/dictBuilder/cover.c +19 -15
  68. data/ext/zstdruby/libzstd/dictBuilder/cover.h +1 -1
  69. data/ext/zstdruby/libzstd/dictBuilder/fastcover.c +2 -2
  70. data/ext/zstdruby/libzstd/dictBuilder/zdict.c +13 -91
  71. data/ext/zstdruby/libzstd/zdict.h +53 -31
  72. data/ext/zstdruby/libzstd/zstd.h +580 -135
  73. data/ext/zstdruby/libzstd/zstd_errors.h +27 -8
  74. data/ext/zstdruby/main.c +20 -0
  75. data/ext/zstdruby/skippable_frame.c +63 -0
  76. data/ext/zstdruby/streaming_compress.c +177 -0
  77. data/ext/zstdruby/streaming_compress.h +5 -0
  78. data/ext/zstdruby/streaming_decompress.c +123 -0
  79. data/ext/zstdruby/zstdruby.c +113 -31
  80. data/lib/zstd-ruby/version.rb +1 -1
  81. data/lib/zstd-ruby.rb +0 -1
  82. data/zstd-ruby.gemspec +1 -1
  83. metadata +11 -37
  84. data/.github/dependabot.yml +0 -8
  85. data/.github/workflows/ruby.yml +0 -35
  86. data/ext/zstdruby/libzstd/.gitignore +0 -3
  87. data/ext/zstdruby/libzstd/BUCK +0 -232
  88. data/ext/zstdruby/libzstd/Makefile +0 -357
  89. data/ext/zstdruby/libzstd/README.md +0 -217
  90. data/ext/zstdruby/libzstd/deprecated/zbuff.h +0 -214
  91. data/ext/zstdruby/libzstd/deprecated/zbuff_common.c +0 -26
  92. data/ext/zstdruby/libzstd/deprecated/zbuff_compress.c +0 -167
  93. data/ext/zstdruby/libzstd/deprecated/zbuff_decompress.c +0 -75
  94. data/ext/zstdruby/libzstd/dll/example/Makefile +0 -48
  95. data/ext/zstdruby/libzstd/dll/example/README.md +0 -63
  96. data/ext/zstdruby/libzstd/dll/example/build_package.bat +0 -20
  97. data/ext/zstdruby/libzstd/dll/example/fullbench-dll.sln +0 -25
  98. data/ext/zstdruby/libzstd/dll/example/fullbench-dll.vcxproj +0 -181
  99. data/ext/zstdruby/libzstd/legacy/zstd_legacy.h +0 -415
  100. data/ext/zstdruby/libzstd/legacy/zstd_v01.c +0 -2158
  101. data/ext/zstdruby/libzstd/legacy/zstd_v01.h +0 -94
  102. data/ext/zstdruby/libzstd/legacy/zstd_v02.c +0 -3518
  103. data/ext/zstdruby/libzstd/legacy/zstd_v02.h +0 -93
  104. data/ext/zstdruby/libzstd/legacy/zstd_v03.c +0 -3160
  105. data/ext/zstdruby/libzstd/legacy/zstd_v03.h +0 -93
  106. data/ext/zstdruby/libzstd/legacy/zstd_v04.c +0 -3647
  107. data/ext/zstdruby/libzstd/legacy/zstd_v04.h +0 -142
  108. data/ext/zstdruby/libzstd/legacy/zstd_v05.c +0 -4050
  109. data/ext/zstdruby/libzstd/legacy/zstd_v05.h +0 -162
  110. data/ext/zstdruby/libzstd/legacy/zstd_v06.c +0 -4154
  111. data/ext/zstdruby/libzstd/legacy/zstd_v06.h +0 -172
  112. data/ext/zstdruby/libzstd/legacy/zstd_v07.c +0 -4541
  113. data/ext/zstdruby/libzstd/legacy/zstd_v07.h +0 -187
  114. data/ext/zstdruby/libzstd/libzstd.mk +0 -185
  115. data/ext/zstdruby/libzstd/libzstd.pc.in +0 -16
  116. data/ext/zstdruby/libzstd/modulemap/module.modulemap +0 -4
  117. data/ext/zstdruby/zstdruby.h +0 -6
@@ -1,187 +0,0 @@
1
- /*
2
- * Copyright (c) Yann Collet, Facebook, Inc.
3
- * All rights reserved.
4
- *
5
- * This source code is licensed under both the BSD-style license (found in the
6
- * LICENSE file in the root directory of this source tree) and the GPLv2 (found
7
- * in the COPYING file in the root directory of this source tree).
8
- * You may select, at your option, one of the above-listed licenses.
9
- */
10
-
11
- #ifndef ZSTDv07_H_235446
12
- #define ZSTDv07_H_235446
13
-
14
- #if defined (__cplusplus)
15
- extern "C" {
16
- #endif
17
-
18
- /*====== Dependency ======*/
19
- #include <stddef.h> /* size_t */
20
-
21
-
22
- /*====== Export for Windows ======*/
23
- /*!
24
- * ZSTDv07_DLL_EXPORT :
25
- * Enable exporting of functions when building a Windows DLL
26
- */
27
- #if defined(_WIN32) && defined(ZSTDv07_DLL_EXPORT) && (ZSTDv07_DLL_EXPORT==1)
28
- # define ZSTDLIBv07_API __declspec(dllexport)
29
- #else
30
- # define ZSTDLIBv07_API
31
- #endif
32
-
33
-
34
- /* *************************************
35
- * Simple API
36
- ***************************************/
37
- /*! ZSTDv07_getDecompressedSize() :
38
- * @return : decompressed size if known, 0 otherwise.
39
- note 1 : if `0`, follow up with ZSTDv07_getFrameParams() to know precise failure cause.
40
- note 2 : decompressed size could be wrong or intentionally modified !
41
- always ensure results fit within application's authorized limits */
42
- unsigned long long ZSTDv07_getDecompressedSize(const void* src, size_t srcSize);
43
-
44
- /*! ZSTDv07_decompress() :
45
- `compressedSize` : must be _exact_ size of compressed input, otherwise decompression will fail.
46
- `dstCapacity` must be equal or larger than originalSize.
47
- @return : the number of bytes decompressed into `dst` (<= `dstCapacity`),
48
- or an errorCode if it fails (which can be tested using ZSTDv07_isError()) */
49
- ZSTDLIBv07_API size_t ZSTDv07_decompress( void* dst, size_t dstCapacity,
50
- const void* src, size_t compressedSize);
51
-
52
- /**
53
- ZSTDv07_findFrameSizeInfoLegacy() : get the source length and decompressed bound of a ZSTD frame compliant with v0.7.x format
54
- srcSize : The size of the 'src' buffer, at least as large as the frame pointed to by 'src'
55
- cSize (output parameter) : the number of bytes that would be read to decompress this frame
56
- or an error code if it fails (which can be tested using ZSTDv01_isError())
57
- dBound (output parameter) : an upper-bound for the decompressed size of the data in the frame
58
- or ZSTD_CONTENTSIZE_ERROR if an error occurs
59
-
60
- note : assumes `cSize` and `dBound` are _not_ NULL.
61
- */
62
- void ZSTDv07_findFrameSizeInfoLegacy(const void *src, size_t srcSize,
63
- size_t* cSize, unsigned long long* dBound);
64
-
65
- /*====== Helper functions ======*/
66
- ZSTDLIBv07_API unsigned ZSTDv07_isError(size_t code); /*!< tells if a `size_t` function result is an error code */
67
- ZSTDLIBv07_API const char* ZSTDv07_getErrorName(size_t code); /*!< provides readable string from an error code */
68
-
69
-
70
- /*-*************************************
71
- * Explicit memory management
72
- ***************************************/
73
- /** Decompression context */
74
- typedef struct ZSTDv07_DCtx_s ZSTDv07_DCtx;
75
- ZSTDLIBv07_API ZSTDv07_DCtx* ZSTDv07_createDCtx(void);
76
- ZSTDLIBv07_API size_t ZSTDv07_freeDCtx(ZSTDv07_DCtx* dctx); /*!< @return : errorCode */
77
-
78
- /** ZSTDv07_decompressDCtx() :
79
- * Same as ZSTDv07_decompress(), requires an allocated ZSTDv07_DCtx (see ZSTDv07_createDCtx()) */
80
- ZSTDLIBv07_API size_t ZSTDv07_decompressDCtx(ZSTDv07_DCtx* ctx, void* dst, size_t dstCapacity, const void* src, size_t srcSize);
81
-
82
-
83
- /*-************************
84
- * Simple dictionary API
85
- ***************************/
86
- /*! ZSTDv07_decompress_usingDict() :
87
- * Decompression using a pre-defined Dictionary content (see dictBuilder).
88
- * Dictionary must be identical to the one used during compression.
89
- * Note : This function load the dictionary, resulting in a significant startup time */
90
- ZSTDLIBv07_API size_t ZSTDv07_decompress_usingDict(ZSTDv07_DCtx* dctx,
91
- void* dst, size_t dstCapacity,
92
- const void* src, size_t srcSize,
93
- const void* dict,size_t dictSize);
94
-
95
-
96
- /*-**************************
97
- * Advanced Dictionary API
98
- ****************************/
99
- /*! ZSTDv07_createDDict() :
100
- * Create a digested dictionary, ready to start decompression operation without startup delay.
101
- * `dict` can be released after creation */
102
- typedef struct ZSTDv07_DDict_s ZSTDv07_DDict;
103
- ZSTDLIBv07_API ZSTDv07_DDict* ZSTDv07_createDDict(const void* dict, size_t dictSize);
104
- ZSTDLIBv07_API size_t ZSTDv07_freeDDict(ZSTDv07_DDict* ddict);
105
-
106
- /*! ZSTDv07_decompress_usingDDict() :
107
- * Decompression using a pre-digested Dictionary
108
- * Faster startup than ZSTDv07_decompress_usingDict(), recommended when same dictionary is used multiple times. */
109
- ZSTDLIBv07_API size_t ZSTDv07_decompress_usingDDict(ZSTDv07_DCtx* dctx,
110
- void* dst, size_t dstCapacity,
111
- const void* src, size_t srcSize,
112
- const ZSTDv07_DDict* ddict);
113
-
114
- typedef struct {
115
- unsigned long long frameContentSize;
116
- unsigned windowSize;
117
- unsigned dictID;
118
- unsigned checksumFlag;
119
- } ZSTDv07_frameParams;
120
-
121
- ZSTDLIBv07_API size_t ZSTDv07_getFrameParams(ZSTDv07_frameParams* fparamsPtr, const void* src, size_t srcSize); /**< doesn't consume input */
122
-
123
-
124
-
125
-
126
- /* *************************************
127
- * Streaming functions
128
- ***************************************/
129
- typedef struct ZBUFFv07_DCtx_s ZBUFFv07_DCtx;
130
- ZSTDLIBv07_API ZBUFFv07_DCtx* ZBUFFv07_createDCtx(void);
131
- ZSTDLIBv07_API size_t ZBUFFv07_freeDCtx(ZBUFFv07_DCtx* dctx);
132
-
133
- ZSTDLIBv07_API size_t ZBUFFv07_decompressInit(ZBUFFv07_DCtx* dctx);
134
- ZSTDLIBv07_API size_t ZBUFFv07_decompressInitDictionary(ZBUFFv07_DCtx* dctx, const void* dict, size_t dictSize);
135
-
136
- ZSTDLIBv07_API size_t ZBUFFv07_decompressContinue(ZBUFFv07_DCtx* dctx,
137
- void* dst, size_t* dstCapacityPtr,
138
- const void* src, size_t* srcSizePtr);
139
-
140
- /*-***************************************************************************
141
- * Streaming decompression howto
142
- *
143
- * A ZBUFFv07_DCtx object is required to track streaming operations.
144
- * Use ZBUFFv07_createDCtx() and ZBUFFv07_freeDCtx() to create/release resources.
145
- * Use ZBUFFv07_decompressInit() to start a new decompression operation,
146
- * or ZBUFFv07_decompressInitDictionary() if decompression requires a dictionary.
147
- * Note that ZBUFFv07_DCtx objects can be re-init multiple times.
148
- *
149
- * Use ZBUFFv07_decompressContinue() repetitively to consume your input.
150
- * *srcSizePtr and *dstCapacityPtr can be any size.
151
- * The function will report how many bytes were read or written by modifying *srcSizePtr and *dstCapacityPtr.
152
- * Note that it may not consume the entire input, in which case it's up to the caller to present remaining input again.
153
- * The content of `dst` will be overwritten (up to *dstCapacityPtr) at each function call, so save its content if it matters, or change `dst`.
154
- * @return : a hint to preferred nb of bytes to use as input for next function call (it's only a hint, to help latency),
155
- * or 0 when a frame is completely decoded,
156
- * or an error code, which can be tested using ZBUFFv07_isError().
157
- *
158
- * Hint : recommended buffer sizes (not compulsory) : ZBUFFv07_recommendedDInSize() and ZBUFFv07_recommendedDOutSize()
159
- * output : ZBUFFv07_recommendedDOutSize== 128 KB block size is the internal unit, it ensures it's always possible to write a full block when decoded.
160
- * input : ZBUFFv07_recommendedDInSize == 128KB + 3;
161
- * just follow indications from ZBUFFv07_decompressContinue() to minimize latency. It should always be <= 128 KB + 3 .
162
- * *******************************************************************************/
163
-
164
-
165
- /* *************************************
166
- * Tool functions
167
- ***************************************/
168
- ZSTDLIBv07_API unsigned ZBUFFv07_isError(size_t errorCode);
169
- ZSTDLIBv07_API const char* ZBUFFv07_getErrorName(size_t errorCode);
170
-
171
- /** Functions below provide recommended buffer sizes for Compression or Decompression operations.
172
- * These sizes are just hints, they tend to offer better latency */
173
- ZSTDLIBv07_API size_t ZBUFFv07_recommendedDInSize(void);
174
- ZSTDLIBv07_API size_t ZBUFFv07_recommendedDOutSize(void);
175
-
176
-
177
- /*-*************************************
178
- * Constants
179
- ***************************************/
180
- #define ZSTDv07_MAGICNUMBER 0xFD2FB527 /* v0.7 */
181
-
182
-
183
- #if defined (__cplusplus)
184
- }
185
- #endif
186
-
187
- #endif /* ZSTDv07_H_235446 */
@@ -1,185 +0,0 @@
1
- # ################################################################
2
- # Copyright (c) Yann Collet, Facebook, Inc.
3
- # All rights reserved.
4
- #
5
- # This source code is licensed under both the BSD-style license (found in the
6
- # LICENSE file in the root directory of this source tree) and the GPLv2 (found
7
- # in the COPYING file in the root directory of this source tree).
8
- # You may select, at your option, one of the above-listed licenses.
9
- # ################################################################
10
-
11
- ##################################################################
12
- # Input Variables
13
- ##################################################################
14
-
15
- # Zstd lib directory
16
- LIBZSTD ?= ./
17
-
18
- # Legacy support
19
- ZSTD_LEGACY_SUPPORT ?= 5
20
- ZSTD_LEGACY_MULTITHREADED_API ?= 0
21
-
22
- # Build size optimizations
23
- HUF_FORCE_DECOMPRESS_X1 ?= 0
24
- HUF_FORCE_DECOMPRESS_X2 ?= 0
25
- ZSTD_FORCE_DECOMPRESS_SEQUENCES_SHORT ?= 0
26
- ZSTD_FORCE_DECOMPRESS_SEQUENCES_LONG ?= 0
27
- ZSTD_NO_INLINE ?= 0
28
- ZSTD_STRIP_ERROR_STRINGS ?= 0
29
-
30
- # Assembly support
31
- ZSTD_NO_ASM ?= 0
32
-
33
- ##################################################################
34
- # libzstd helpers
35
- ##################################################################
36
-
37
- # Make 4.3 doesn't support '\#' anymore (https://lwn.net/Articles/810071/)
38
- NUM_SYMBOL := \#
39
-
40
- # define silent mode as default (verbose mode with V=1 or VERBOSE=1)
41
- $(V)$(VERBOSE).SILENT:
42
-
43
- # When cross-compiling from linux to windows,
44
- # one might need to specify TARGET_SYSTEM as "Windows."
45
- # Building from Fedora fails without it.
46
- # (but Ubuntu and Debian don't need to set anything)
47
- TARGET_SYSTEM ?= $(OS)
48
-
49
- # Version numbers
50
- LIBVER_SRC := $(LIBZSTD)/zstd.h
51
- LIBVER_MAJOR_SCRIPT:=`sed -n '/define ZSTD_VERSION_MAJOR/s/.*[[:blank:]]\([0-9][0-9]*\).*/\1/p' < $(LIBVER_SRC)`
52
- LIBVER_MINOR_SCRIPT:=`sed -n '/define ZSTD_VERSION_MINOR/s/.*[[:blank:]]\([0-9][0-9]*\).*/\1/p' < $(LIBVER_SRC)`
53
- LIBVER_PATCH_SCRIPT:=`sed -n '/define ZSTD_VERSION_RELEASE/s/.*[[:blank:]]\([0-9][0-9]*\).*/\1/p' < $(LIBVER_SRC)`
54
- LIBVER_SCRIPT:= $(LIBVER_MAJOR_SCRIPT).$(LIBVER_MINOR_SCRIPT).$(LIBVER_PATCH_SCRIPT)
55
- LIBVER_MAJOR := $(shell echo $(LIBVER_MAJOR_SCRIPT))
56
- LIBVER_MINOR := $(shell echo $(LIBVER_MINOR_SCRIPT))
57
- LIBVER_PATCH := $(shell echo $(LIBVER_PATCH_SCRIPT))
58
- LIBVER := $(shell echo $(LIBVER_SCRIPT))
59
- CCVER := $(shell $(CC) --version)
60
- ZSTD_VERSION?= $(LIBVER)
61
-
62
- # ZSTD_LIB_MINIFY is a helper variable that
63
- # configures a bunch of other variables to space-optimized defaults.
64
- ZSTD_LIB_MINIFY ?= 0
65
- ifneq ($(ZSTD_LIB_MINIFY), 0)
66
- HAVE_CC_OZ ?= $(shell echo "" | $(CC) -Oz -x c -c - -o /dev/null 2> /dev/null && echo 1 || echo 0)
67
- ZSTD_LEGACY_SUPPORT ?= 0
68
- ZSTD_LIB_DEPRECATED ?= 0
69
- HUF_FORCE_DECOMPRESS_X1 ?= 1
70
- ZSTD_FORCE_DECOMPRESS_SEQUENCES_SHORT ?= 1
71
- ZSTD_NO_INLINE ?= 1
72
- ZSTD_STRIP_ERROR_STRINGS ?= 1
73
- ifneq ($(HAVE_CC_OZ), 0)
74
- # Some compilers (clang) support an even more space-optimized setting.
75
- CFLAGS += -Oz
76
- else
77
- CFLAGS += -Os
78
- endif
79
- CFLAGS += -fno-stack-protector -fomit-frame-pointer -fno-ident \
80
- -DDYNAMIC_BMI2=0 -DNDEBUG
81
- else
82
- CFLAGS += -O3
83
- endif
84
-
85
- DEBUGLEVEL ?= 0
86
- CPPFLAGS += -DXXH_NAMESPACE=ZSTD_ -DDEBUGLEVEL=$(DEBUGLEVEL)
87
- ifeq ($(TARGET_SYSTEM),Windows_NT) # MinGW assumed
88
- CPPFLAGS += -D__USE_MINGW_ANSI_STDIO # compatibility with %zu formatting
89
- endif
90
- DEBUGFLAGS= -Wall -Wextra -Wcast-qual -Wcast-align -Wshadow \
91
- -Wstrict-aliasing=1 -Wswitch-enum -Wdeclaration-after-statement \
92
- -Wstrict-prototypes -Wundef -Wpointer-arith \
93
- -Wvla -Wformat=2 -Winit-self -Wfloat-equal -Wwrite-strings \
94
- -Wredundant-decls -Wmissing-prototypes -Wc++-compat
95
- CFLAGS += $(DEBUGFLAGS) $(MOREFLAGS)
96
- LDFLAGS += $(MOREFLAGS)
97
- FLAGS = $(CPPFLAGS) $(CFLAGS) $(LDFLAGS)
98
-
99
- HAVE_COLORNEVER = $(shell echo a | grep --color=never a > /dev/null 2> /dev/null && echo 1 || echo 0)
100
- GREP_OPTIONS ?=
101
- ifeq ($HAVE_COLORNEVER, 1)
102
- GREP_OPTIONS += --color=never
103
- endif
104
- GREP = grep $(GREP_OPTIONS)
105
- SED_ERE_OPT ?= -E
106
-
107
- ZSTD_COMMON_FILES := $(sort $(wildcard $(LIBZSTD)/common/*.c))
108
- ZSTD_COMPRESS_FILES := $(sort $(wildcard $(LIBZSTD)/compress/*.c))
109
- ZSTD_DECOMPRESS_FILES := $(sort $(wildcard $(LIBZSTD)/decompress/*.c))
110
- ZSTD_DICTBUILDER_FILES := $(sort $(wildcard $(LIBZSTD)/dictBuilder/*.c))
111
- ZSTD_DEPRECATED_FILES := $(sort $(wildcard $(LIBZSTD)/deprecated/*.c))
112
- ZSTD_LEGACY_FILES :=
113
-
114
- ZSTD_DECOMPRESS_AMD64_ASM_FILES := $(sort $(wildcard $(LIBZSTD)/decompress/*_amd64.S))
115
-
116
- ifneq ($(ZSTD_NO_ASM), 0)
117
- CPPFLAGS += -DZSTD_DISABLE_ASM
118
- else
119
- # Unconditionally add the ASM files they are disabled by
120
- # macros in the .S file.
121
- ZSTD_DECOMPRESS_FILES += $(ZSTD_DECOMPRESS_AMD64_ASM_FILES)
122
- endif
123
-
124
- ifneq ($(HUF_FORCE_DECOMPRESS_X1), 0)
125
- CFLAGS += -DHUF_FORCE_DECOMPRESS_X1
126
- endif
127
-
128
- ifneq ($(HUF_FORCE_DECOMPRESS_X2), 0)
129
- CFLAGS += -DHUF_FORCE_DECOMPRESS_X2
130
- endif
131
-
132
- ifneq ($(ZSTD_FORCE_DECOMPRESS_SEQUENCES_SHORT), 0)
133
- CFLAGS += -DZSTD_FORCE_DECOMPRESS_SEQUENCES_SHORT
134
- endif
135
-
136
- ifneq ($(ZSTD_FORCE_DECOMPRESS_SEQUENCES_LONG), 0)
137
- CFLAGS += -DZSTD_FORCE_DECOMPRESS_SEQUENCES_LONG
138
- endif
139
-
140
- ifneq ($(ZSTD_NO_INLINE), 0)
141
- CFLAGS += -DZSTD_NO_INLINE
142
- endif
143
-
144
- ifneq ($(ZSTD_STRIP_ERROR_STRINGS), 0)
145
- CFLAGS += -DZSTD_STRIP_ERROR_STRINGS
146
- endif
147
-
148
- ifneq ($(ZSTD_LEGACY_MULTITHREADED_API), 0)
149
- CFLAGS += -DZSTD_LEGACY_MULTITHREADED_API
150
- endif
151
-
152
- ifneq ($(ZSTD_LEGACY_SUPPORT), 0)
153
- ifeq ($(shell test $(ZSTD_LEGACY_SUPPORT) -lt 8; echo $$?), 0)
154
- ZSTD_LEGACY_FILES += $(shell ls $(LIBZSTD)/legacy/*.c | $(GREP) 'v0[$(ZSTD_LEGACY_SUPPORT)-7]')
155
- endif
156
- endif
157
- CPPFLAGS += -DZSTD_LEGACY_SUPPORT=$(ZSTD_LEGACY_SUPPORT)
158
-
159
- UNAME := $(shell uname)
160
-
161
- ifndef BUILD_DIR
162
- ifeq ($(UNAME), Darwin)
163
- ifeq ($(shell md5 < /dev/null > /dev/null; echo $$?), 0)
164
- HASH ?= md5
165
- endif
166
- else ifeq ($(UNAME), FreeBSD)
167
- HASH ?= gmd5sum
168
- else ifeq ($(UNAME), NetBSD)
169
- HASH ?= md5 -n
170
- else ifeq ($(UNAME), OpenBSD)
171
- HASH ?= md5
172
- endif
173
- HASH ?= md5sum
174
-
175
- HASH_DIR = conf_$(shell echo $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $(ZSTD_FILES) | $(HASH) | cut -f 1 -d " " )
176
- HAVE_HASH :=$(shell echo 1 | $(HASH) > /dev/null && echo 1 || echo 0)
177
- ifeq ($(HAVE_HASH),0)
178
- $(info warning : could not find HASH ($(HASH)), needed to differentiate builds using different flags)
179
- BUILD_DIR := obj/generic_noconf
180
- endif
181
- endif # BUILD_DIR
182
-
183
- ZSTD_SUBDIR := $(LIBZSTD)/common $(LIBZSTD)/compress $(LIBZSTD)/decompress $(LIBZSTD)/dictBuilder $(LIBZSTD)/legacy $(LIBZSTD)/deprecated
184
- vpath %.c $(ZSTD_SUBDIR)
185
- vpath %.S $(ZSTD_SUBDIR)
@@ -1,16 +0,0 @@
1
- # ZSTD - standard compression algorithm
2
- # Copyright (C) 2014-2016, Yann Collet, Facebook
3
- # BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php)
4
-
5
- prefix=@PREFIX@
6
- exec_prefix=@EXEC_PREFIX@
7
- includedir=@INCLUDEDIR@
8
- libdir=@LIBDIR@
9
-
10
- Name: zstd
11
- Description: fast lossless compression algorithm library
12
- URL: http://www.zstd.net/
13
- Version: @VERSION@
14
- Libs: -L${libdir} -lzstd
15
- Libs.private: @LIBS_PRIVATE@
16
- Cflags: -I${includedir}
@@ -1,4 +0,0 @@
1
- module libzstd [extern_c] {
2
- header "../zstd.h"
3
- export *
4
- }
@@ -1,6 +0,0 @@
1
- #ifndef ZSTD_RUBY_H
2
- #define ZSTD_RUBY_H 1
3
-
4
- #include "ruby.h"
5
-
6
- #endif /* ZSTD_RUBY_H */