libdeflate 0.1.1 → 0.2.0
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 +5 -5
- data/.github/workflows/test.yml +34 -0
- data/README.md +1 -6
- data/ext/libdeflate/extconf.rb +18 -7
- data/ext/libdeflate/libdeflate_ext.c +17 -17
- data/lib/libdeflate/version.rb +1 -1
- data/libdeflate.gemspec +2 -1
- metadata +13 -84
- data/.gitmodules +0 -3
- data/.travis.yml +0 -5
- data/ext/libdeflate/libdeflate/.gitignore +0 -19
- data/ext/libdeflate/libdeflate/COPYING +0 -21
- data/ext/libdeflate/libdeflate/Makefile +0 -231
- data/ext/libdeflate/libdeflate/Makefile.msc +0 -64
- data/ext/libdeflate/libdeflate/NEWS +0 -57
- data/ext/libdeflate/libdeflate/README.md +0 -170
- data/ext/libdeflate/libdeflate/common/common_defs.h +0 -351
- data/ext/libdeflate/libdeflate/common/compiler_gcc.h +0 -134
- data/ext/libdeflate/libdeflate/common/compiler_msc.h +0 -95
- data/ext/libdeflate/libdeflate/lib/adler32.c +0 -213
- data/ext/libdeflate/libdeflate/lib/adler32_impl.h +0 -281
- data/ext/libdeflate/libdeflate/lib/aligned_malloc.c +0 -57
- data/ext/libdeflate/libdeflate/lib/aligned_malloc.h +0 -13
- data/ext/libdeflate/libdeflate/lib/bt_matchfinder.h +0 -357
- data/ext/libdeflate/libdeflate/lib/crc32.c +0 -368
- data/ext/libdeflate/libdeflate/lib/crc32_impl.h +0 -286
- data/ext/libdeflate/libdeflate/lib/crc32_table.h +0 -526
- data/ext/libdeflate/libdeflate/lib/decompress_impl.h +0 -404
- data/ext/libdeflate/libdeflate/lib/deflate_compress.c +0 -2817
- data/ext/libdeflate/libdeflate/lib/deflate_compress.h +0 -14
- data/ext/libdeflate/libdeflate/lib/deflate_constants.h +0 -66
- data/ext/libdeflate/libdeflate/lib/deflate_decompress.c +0 -889
- data/ext/libdeflate/libdeflate/lib/gzip_compress.c +0 -95
- data/ext/libdeflate/libdeflate/lib/gzip_constants.h +0 -45
- data/ext/libdeflate/libdeflate/lib/gzip_decompress.c +0 -130
- data/ext/libdeflate/libdeflate/lib/hc_matchfinder.h +0 -405
- data/ext/libdeflate/libdeflate/lib/lib_common.h +0 -35
- data/ext/libdeflate/libdeflate/lib/matchfinder_avx2.h +0 -53
- data/ext/libdeflate/libdeflate/lib/matchfinder_common.h +0 -205
- data/ext/libdeflate/libdeflate/lib/matchfinder_neon.h +0 -61
- data/ext/libdeflate/libdeflate/lib/matchfinder_sse2.h +0 -53
- data/ext/libdeflate/libdeflate/lib/unaligned.h +0 -202
- data/ext/libdeflate/libdeflate/lib/x86_cpu_features.c +0 -169
- data/ext/libdeflate/libdeflate/lib/x86_cpu_features.h +0 -48
- data/ext/libdeflate/libdeflate/lib/zlib_compress.c +0 -87
- data/ext/libdeflate/libdeflate/lib/zlib_constants.h +0 -21
- data/ext/libdeflate/libdeflate/lib/zlib_decompress.c +0 -91
- data/ext/libdeflate/libdeflate/libdeflate.h +0 -274
- data/ext/libdeflate/libdeflate/programs/benchmark.c +0 -558
- data/ext/libdeflate/libdeflate/programs/checksum.c +0 -197
- data/ext/libdeflate/libdeflate/programs/detect.sh +0 -62
- data/ext/libdeflate/libdeflate/programs/gzip.c +0 -603
- data/ext/libdeflate/libdeflate/programs/prog_util.c +0 -530
- data/ext/libdeflate/libdeflate/programs/prog_util.h +0 -162
- data/ext/libdeflate/libdeflate/programs/test_checksums.c +0 -135
- data/ext/libdeflate/libdeflate/programs/tgetopt.c +0 -118
- data/ext/libdeflate/libdeflate/tools/afl-fuzz/Makefile +0 -12
- data/ext/libdeflate/libdeflate/tools/afl-fuzz/deflate_compress/fuzz.c +0 -40
- data/ext/libdeflate/libdeflate/tools/afl-fuzz/deflate_compress/inputs/0 +0 -0
- data/ext/libdeflate/libdeflate/tools/afl-fuzz/deflate_decompress/fuzz.c +0 -28
- data/ext/libdeflate/libdeflate/tools/afl-fuzz/deflate_decompress/inputs/0 +0 -3
- data/ext/libdeflate/libdeflate/tools/afl-fuzz/gzip_decompress/fuzz.c +0 -28
- data/ext/libdeflate/libdeflate/tools/afl-fuzz/gzip_decompress/inputs/0 +0 -0
- data/ext/libdeflate/libdeflate/tools/afl-fuzz/prepare_for_fuzz.sh +0 -14
- data/ext/libdeflate/libdeflate/tools/afl-fuzz/zlib_decompress/fuzz.c +0 -28
- data/ext/libdeflate/libdeflate/tools/afl-fuzz/zlib_decompress/inputs/0 +0 -3
- data/ext/libdeflate/libdeflate/tools/android_build.sh +0 -104
- data/ext/libdeflate/libdeflate/tools/checksum_benchmarks.sh +0 -76
- data/ext/libdeflate/libdeflate/tools/exec_tests.sh +0 -30
- data/ext/libdeflate/libdeflate/tools/gen_crc32_multipliers.c +0 -108
- data/ext/libdeflate/libdeflate/tools/gen_crc32_table.c +0 -100
- data/ext/libdeflate/libdeflate/tools/gzip_tests.sh +0 -412
- data/ext/libdeflate/libdeflate/tools/make-windows-releases +0 -21
- data/ext/libdeflate/libdeflate/tools/mips_build.sh +0 -9
- data/ext/libdeflate/libdeflate/tools/msc_test.bat +0 -3
- data/ext/libdeflate/libdeflate/tools/pgo_build.sh +0 -23
- data/ext/libdeflate/libdeflate/tools/produce_gzip_benchmark_table.sh +0 -37
- data/ext/libdeflate/libdeflate/tools/run_tests.sh +0 -305
- data/ext/libdeflate/libdeflate/tools/windows_build.sh +0 -10
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: fe15171c2f781773ed4be5ae2abc819b4cf4ddf27f73263fc116595776d9a00b
|
|
4
|
+
data.tar.gz: 9e745bc4052502d3ab57ddcf5ca319f1096bfe183ab5b22819d0c9ab169cf765
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 84da467236b94d33e2a39253ae296214c3f25a50509364c4f8ba2151c931b29778f2bd7a78f82893f05158a12a23c3329305cd879d17e69e40e1f16ac640f6ed
|
|
7
|
+
data.tar.gz: 1ca1a8143416b805b3510a774d1f09edb50ad4d8c17d5248aa5070680175b5cc1942365c57251d8bb506c23cf454620698b3aac6cfe45340f399ee4fdc0f6cca
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
name: Test
|
|
2
|
+
on:
|
|
3
|
+
push:
|
|
4
|
+
branches: [master]
|
|
5
|
+
pull_request:
|
|
6
|
+
branches: [master]
|
|
7
|
+
permissions:
|
|
8
|
+
contents: read
|
|
9
|
+
jobs:
|
|
10
|
+
test:
|
|
11
|
+
strategy:
|
|
12
|
+
matrix:
|
|
13
|
+
ruby-version: ['3.0', '3.1', '3.2']
|
|
14
|
+
os: [macos-latest, ubuntu-latest]
|
|
15
|
+
runs-on: ${{ matrix.os }}
|
|
16
|
+
steps:
|
|
17
|
+
- uses: actions/checkout@v3
|
|
18
|
+
- uses: ruby/setup-ruby@v1
|
|
19
|
+
with:
|
|
20
|
+
ruby-version: ${{ matrix.ruby-version }}
|
|
21
|
+
bundler-cache: true
|
|
22
|
+
- run: bundle exec rake
|
|
23
|
+
test-with-system-library:
|
|
24
|
+
runs-on: ubuntu-latest
|
|
25
|
+
steps:
|
|
26
|
+
- uses: actions/checkout@v3
|
|
27
|
+
- uses: ruby/setup-ruby@v1
|
|
28
|
+
with:
|
|
29
|
+
ruby-version: '3.2'
|
|
30
|
+
bundler-cache: true
|
|
31
|
+
- run: sudo apt-get -y install libdeflate-dev
|
|
32
|
+
- run: bundle exec rake
|
|
33
|
+
env:
|
|
34
|
+
LIBDEFLATE_USE_SYSTEM_LIBRARIES: 1
|
data/README.md
CHANGED
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
# libdeflate-ruby
|
|
2
2
|
|
|
3
|
-
[](https://rubygems.org/gems/libdeflate)
|
|
4
|
-
[](https://travis-ci.org/kaorimatz/libdeflate-ruby)
|
|
5
|
-
[](https://coveralls.io/github/kaorimatz/libdeflate-ruby)
|
|
6
|
-
[](https://gemnasium.com/kaorimatz/libdeflate-ruby)
|
|
7
|
-
|
|
8
3
|
Ruby bindings for [libdeflate](https://github.com/ebiggers/libdeflate).
|
|
9
4
|
|
|
10
5
|
## Installation
|
|
@@ -32,7 +27,7 @@ compressor = Libdeflate::Compressor.new
|
|
|
32
27
|
compressed_string = compressor.compress('Hello, World!')
|
|
33
28
|
|
|
34
29
|
decompressor = Libdeflate::Decompressor.new
|
|
35
|
-
|
|
30
|
+
decompressor.decompress(compressed_string)
|
|
36
31
|
```
|
|
37
32
|
|
|
38
33
|
## Development
|
data/ext/libdeflate/extconf.rb
CHANGED
|
@@ -2,13 +2,24 @@ require 'mkmf'
|
|
|
2
2
|
|
|
3
3
|
dir_config('libdeflate')
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
5
|
+
unless arg_config('--use-system-libraries', !!ENV['LIBDEFLATE_USE_SYSTEM_LIBRARIES'])
|
|
6
|
+
require 'mini_portile2'
|
|
7
|
+
recipe = MiniPortileCMake.new('libdeflate', '1.18')
|
|
8
|
+
recipe.files << {
|
|
9
|
+
url: 'https://github.com/ebiggers/libdeflate/archive/refs/tags/v1.18.tar.gz',
|
|
10
|
+
sha256: '225d982bcaf553221c76726358d2ea139bb34913180b20823c782cede060affd',
|
|
11
|
+
}
|
|
12
|
+
recipe.configure_options << %w[
|
|
13
|
+
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
|
14
|
+
-DLIBDEFLATE_BUILD_GZIP=OFF
|
|
15
|
+
-DLIBDEFLATE_BUILD_SHARED_LIB=OFF
|
|
16
|
+
]
|
|
17
|
+
recipe.cook
|
|
18
|
+
abort 'libdeflate.h not found' unless find_header('libdeflate.h', "#{recipe.path}/include")
|
|
19
|
+
abort 'libdeflate not found' unless find_library('deflate', 'libdeflate_alloc_compressor', "#{recipe.path}/lib")
|
|
20
|
+
else
|
|
21
|
+
abort 'libdeflate.h not found' unless find_header('libdeflate.h')
|
|
22
|
+
abort 'libdeflate not found' unless find_library('deflate', 'libdeflate_alloc_compressor')
|
|
12
23
|
end
|
|
13
24
|
|
|
14
25
|
create_makefile('libdeflate/libdeflate_ext')
|
|
@@ -135,7 +135,7 @@ rb_compressor_initialize(int argc, VALUE *argv, VALUE self)
|
|
|
135
135
|
static inline struct libdeflate_compressor *
|
|
136
136
|
check_compressor(VALUE self)
|
|
137
137
|
{
|
|
138
|
-
|
|
138
|
+
return rb_check_typeddata(self, &compressor_data_type);
|
|
139
139
|
}
|
|
140
140
|
|
|
141
141
|
/*
|
|
@@ -198,7 +198,6 @@ rb_compressor_compress(int argc, VALUE *argv, VALUE self)
|
|
|
198
198
|
|
|
199
199
|
if (out_nbytes > 0) {
|
|
200
200
|
rb_str_set_len(outbuf, out_nbytes);
|
|
201
|
-
OBJ_INFECT(outbuf, str);
|
|
202
201
|
return outbuf;
|
|
203
202
|
}
|
|
204
203
|
|
|
@@ -220,7 +219,6 @@ rb_compressor_compress(int argc, VALUE *argv, VALUE self)
|
|
|
220
219
|
}
|
|
221
220
|
|
|
222
221
|
rb_str_set_len(outbuf, out_nbytes);
|
|
223
|
-
OBJ_INFECT(outbuf, str);
|
|
224
222
|
|
|
225
223
|
return outbuf;
|
|
226
224
|
}
|
|
@@ -267,22 +265,23 @@ rb_decompressor_initialize(VALUE self)
|
|
|
267
265
|
static inline struct libdeflate_decompressor *
|
|
268
266
|
check_decompressor(VALUE self)
|
|
269
267
|
{
|
|
270
|
-
|
|
268
|
+
return rb_check_typeddata(self, &decompressor_data_type);
|
|
271
269
|
}
|
|
272
270
|
|
|
273
271
|
static long
|
|
274
|
-
next_power_of_two(long n)
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
272
|
+
next_power_of_two(long n)
|
|
273
|
+
{
|
|
274
|
+
n--;
|
|
275
|
+
n |= n >> 1;
|
|
276
|
+
n |= n >> 2;
|
|
277
|
+
n |= n >> 4;
|
|
278
|
+
n |= n >> 8;
|
|
279
|
+
n |= n >> 16;
|
|
281
280
|
#if LONG_MAX > UINT32_MAX
|
|
282
|
-
|
|
281
|
+
n |= n >> 32;
|
|
283
282
|
#endif
|
|
284
|
-
|
|
285
|
-
|
|
283
|
+
n++;
|
|
284
|
+
return n;
|
|
286
285
|
}
|
|
287
286
|
|
|
288
287
|
/*
|
|
@@ -293,8 +292,10 @@ next_power_of_two(long n) {
|
|
|
293
292
|
* <i>format</i> are DEFLATE (default), ZLIB and GZIP. If <i>outbuf</i> is
|
|
294
293
|
* given, the resulting uncompressed data will be written to it.
|
|
295
294
|
*
|
|
296
|
-
* decompressor.decompress("\x01\x03\x00\xFC\xFFfoo")
|
|
297
|
-
*
|
|
295
|
+
* decompressor.decompress("\x01\x03\x00\xFC\xFFfoo")
|
|
296
|
+
* #=> "foo"
|
|
297
|
+
* decompressor.decompress("x\x9C\x01\x03\x00\xFC\xFFfoo\x02\x82\x01E", Libdeflate::ZLIB)
|
|
298
|
+
* #=> "foo"
|
|
298
299
|
*
|
|
299
300
|
* outbuf = 'bar'
|
|
300
301
|
* decompressor.decompress("\x01\x03\x00\xFC\xFFfoo", nil, outbuf) #=> "foo"
|
|
@@ -356,7 +357,6 @@ rb_compressor_decompress(int argc, VALUE *argv, VALUE self)
|
|
|
356
357
|
}
|
|
357
358
|
|
|
358
359
|
rb_str_set_len(outbuf, actual_out_nbytes_ret);
|
|
359
|
-
OBJ_INFECT(outbuf, str);
|
|
360
360
|
|
|
361
361
|
return outbuf;
|
|
362
362
|
}
|
data/lib/libdeflate/version.rb
CHANGED
data/libdeflate.gemspec
CHANGED
|
@@ -23,9 +23,10 @@ Gem::Specification.new do |spec|
|
|
|
23
23
|
spec.require_paths = ['lib']
|
|
24
24
|
spec.extensions = ['ext/libdeflate/extconf.rb']
|
|
25
25
|
|
|
26
|
+
spec.add_runtime_dependency 'mini_portile2', '>= 2.2.0'
|
|
27
|
+
|
|
26
28
|
spec.add_development_dependency 'benchmark-ips'
|
|
27
29
|
spec.add_development_dependency 'bundler'
|
|
28
|
-
spec.add_development_dependency 'coveralls'
|
|
29
30
|
spec.add_development_dependency 'rake'
|
|
30
31
|
spec.add_development_dependency 'rake-compiler'
|
|
31
32
|
spec.add_development_dependency 'rspec'
|
metadata
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: libdeflate
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Satoshi Matsumoto
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2023-05-07 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
|
-
name:
|
|
14
|
+
name: mini_portile2
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
17
|
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version:
|
|
20
|
-
type: :
|
|
19
|
+
version: 2.2.0
|
|
20
|
+
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - ">="
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version:
|
|
26
|
+
version: 2.2.0
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
|
-
name:
|
|
28
|
+
name: benchmark-ips
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
31
|
- - ">="
|
|
@@ -39,7 +39,7 @@ dependencies:
|
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
40
|
version: '0'
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
|
-
name:
|
|
42
|
+
name: bundler
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
45
|
- - ">="
|
|
@@ -116,12 +116,11 @@ extensions:
|
|
|
116
116
|
- ext/libdeflate/extconf.rb
|
|
117
117
|
extra_rdoc_files: []
|
|
118
118
|
files:
|
|
119
|
+
- ".github/workflows/test.yml"
|
|
119
120
|
- ".gitignore"
|
|
120
|
-
- ".gitmodules"
|
|
121
121
|
- ".rspec"
|
|
122
122
|
- ".rubocop.yml"
|
|
123
123
|
- ".rubocop_todo.yml"
|
|
124
|
-
- ".travis.yml"
|
|
125
124
|
- Gemfile
|
|
126
125
|
- LICENSE.txt
|
|
127
126
|
- README.md
|
|
@@ -129,75 +128,6 @@ files:
|
|
|
129
128
|
- bin/console
|
|
130
129
|
- bin/setup
|
|
131
130
|
- ext/libdeflate/extconf.rb
|
|
132
|
-
- ext/libdeflate/libdeflate/.gitignore
|
|
133
|
-
- ext/libdeflate/libdeflate/COPYING
|
|
134
|
-
- ext/libdeflate/libdeflate/Makefile
|
|
135
|
-
- ext/libdeflate/libdeflate/Makefile.msc
|
|
136
|
-
- ext/libdeflate/libdeflate/NEWS
|
|
137
|
-
- ext/libdeflate/libdeflate/README.md
|
|
138
|
-
- ext/libdeflate/libdeflate/common/common_defs.h
|
|
139
|
-
- ext/libdeflate/libdeflate/common/compiler_gcc.h
|
|
140
|
-
- ext/libdeflate/libdeflate/common/compiler_msc.h
|
|
141
|
-
- ext/libdeflate/libdeflate/lib/adler32.c
|
|
142
|
-
- ext/libdeflate/libdeflate/lib/adler32_impl.h
|
|
143
|
-
- ext/libdeflate/libdeflate/lib/aligned_malloc.c
|
|
144
|
-
- ext/libdeflate/libdeflate/lib/aligned_malloc.h
|
|
145
|
-
- ext/libdeflate/libdeflate/lib/bt_matchfinder.h
|
|
146
|
-
- ext/libdeflate/libdeflate/lib/crc32.c
|
|
147
|
-
- ext/libdeflate/libdeflate/lib/crc32_impl.h
|
|
148
|
-
- ext/libdeflate/libdeflate/lib/crc32_table.h
|
|
149
|
-
- ext/libdeflate/libdeflate/lib/decompress_impl.h
|
|
150
|
-
- ext/libdeflate/libdeflate/lib/deflate_compress.c
|
|
151
|
-
- ext/libdeflate/libdeflate/lib/deflate_compress.h
|
|
152
|
-
- ext/libdeflate/libdeflate/lib/deflate_constants.h
|
|
153
|
-
- ext/libdeflate/libdeflate/lib/deflate_decompress.c
|
|
154
|
-
- ext/libdeflate/libdeflate/lib/gzip_compress.c
|
|
155
|
-
- ext/libdeflate/libdeflate/lib/gzip_constants.h
|
|
156
|
-
- ext/libdeflate/libdeflate/lib/gzip_decompress.c
|
|
157
|
-
- ext/libdeflate/libdeflate/lib/hc_matchfinder.h
|
|
158
|
-
- ext/libdeflate/libdeflate/lib/lib_common.h
|
|
159
|
-
- ext/libdeflate/libdeflate/lib/matchfinder_avx2.h
|
|
160
|
-
- ext/libdeflate/libdeflate/lib/matchfinder_common.h
|
|
161
|
-
- ext/libdeflate/libdeflate/lib/matchfinder_neon.h
|
|
162
|
-
- ext/libdeflate/libdeflate/lib/matchfinder_sse2.h
|
|
163
|
-
- ext/libdeflate/libdeflate/lib/unaligned.h
|
|
164
|
-
- ext/libdeflate/libdeflate/lib/x86_cpu_features.c
|
|
165
|
-
- ext/libdeflate/libdeflate/lib/x86_cpu_features.h
|
|
166
|
-
- ext/libdeflate/libdeflate/lib/zlib_compress.c
|
|
167
|
-
- ext/libdeflate/libdeflate/lib/zlib_constants.h
|
|
168
|
-
- ext/libdeflate/libdeflate/lib/zlib_decompress.c
|
|
169
|
-
- ext/libdeflate/libdeflate/libdeflate.h
|
|
170
|
-
- ext/libdeflate/libdeflate/programs/benchmark.c
|
|
171
|
-
- ext/libdeflate/libdeflate/programs/checksum.c
|
|
172
|
-
- ext/libdeflate/libdeflate/programs/detect.sh
|
|
173
|
-
- ext/libdeflate/libdeflate/programs/gzip.c
|
|
174
|
-
- ext/libdeflate/libdeflate/programs/prog_util.c
|
|
175
|
-
- ext/libdeflate/libdeflate/programs/prog_util.h
|
|
176
|
-
- ext/libdeflate/libdeflate/programs/test_checksums.c
|
|
177
|
-
- ext/libdeflate/libdeflate/programs/tgetopt.c
|
|
178
|
-
- ext/libdeflate/libdeflate/tools/afl-fuzz/Makefile
|
|
179
|
-
- ext/libdeflate/libdeflate/tools/afl-fuzz/deflate_compress/fuzz.c
|
|
180
|
-
- ext/libdeflate/libdeflate/tools/afl-fuzz/deflate_compress/inputs/0
|
|
181
|
-
- ext/libdeflate/libdeflate/tools/afl-fuzz/deflate_decompress/fuzz.c
|
|
182
|
-
- ext/libdeflate/libdeflate/tools/afl-fuzz/deflate_decompress/inputs/0
|
|
183
|
-
- ext/libdeflate/libdeflate/tools/afl-fuzz/gzip_decompress/fuzz.c
|
|
184
|
-
- ext/libdeflate/libdeflate/tools/afl-fuzz/gzip_decompress/inputs/0
|
|
185
|
-
- ext/libdeflate/libdeflate/tools/afl-fuzz/prepare_for_fuzz.sh
|
|
186
|
-
- ext/libdeflate/libdeflate/tools/afl-fuzz/zlib_decompress/fuzz.c
|
|
187
|
-
- ext/libdeflate/libdeflate/tools/afl-fuzz/zlib_decompress/inputs/0
|
|
188
|
-
- ext/libdeflate/libdeflate/tools/android_build.sh
|
|
189
|
-
- ext/libdeflate/libdeflate/tools/checksum_benchmarks.sh
|
|
190
|
-
- ext/libdeflate/libdeflate/tools/exec_tests.sh
|
|
191
|
-
- ext/libdeflate/libdeflate/tools/gen_crc32_multipliers.c
|
|
192
|
-
- ext/libdeflate/libdeflate/tools/gen_crc32_table.c
|
|
193
|
-
- ext/libdeflate/libdeflate/tools/gzip_tests.sh
|
|
194
|
-
- ext/libdeflate/libdeflate/tools/make-windows-releases
|
|
195
|
-
- ext/libdeflate/libdeflate/tools/mips_build.sh
|
|
196
|
-
- ext/libdeflate/libdeflate/tools/msc_test.bat
|
|
197
|
-
- ext/libdeflate/libdeflate/tools/pgo_build.sh
|
|
198
|
-
- ext/libdeflate/libdeflate/tools/produce_gzip_benchmark_table.sh
|
|
199
|
-
- ext/libdeflate/libdeflate/tools/run_tests.sh
|
|
200
|
-
- ext/libdeflate/libdeflate/tools/windows_build.sh
|
|
201
131
|
- ext/libdeflate/libdeflate_ext.c
|
|
202
132
|
- ext/libdeflate/libdeflate_ext.h
|
|
203
133
|
- lib/libdeflate.rb
|
|
@@ -207,7 +137,7 @@ homepage: https://github.com/kaorimatz/libdeflate-ruby
|
|
|
207
137
|
licenses:
|
|
208
138
|
- MIT
|
|
209
139
|
metadata: {}
|
|
210
|
-
post_install_message:
|
|
140
|
+
post_install_message:
|
|
211
141
|
rdoc_options: []
|
|
212
142
|
require_paths:
|
|
213
143
|
- lib
|
|
@@ -222,9 +152,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
222
152
|
- !ruby/object:Gem::Version
|
|
223
153
|
version: '0'
|
|
224
154
|
requirements: []
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
signing_key:
|
|
155
|
+
rubygems_version: 3.4.10
|
|
156
|
+
signing_key:
|
|
228
157
|
specification_version: 4
|
|
229
158
|
summary: Ruby bindings for libdeflate
|
|
230
159
|
test_files: []
|
data/.gitmodules
DELETED
data/.travis.yml
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
Copyright 2016 Eric Biggers
|
|
2
|
-
|
|
3
|
-
Permission is hereby granted, free of charge, to any person
|
|
4
|
-
obtaining a copy of this software and associated documentation files
|
|
5
|
-
(the "Software"), to deal in the Software without restriction,
|
|
6
|
-
including without limitation the rights to use, copy, modify, merge,
|
|
7
|
-
publish, distribute, sublicense, and/or sell copies of the Software,
|
|
8
|
-
and to permit persons to whom the Software is furnished to do so,
|
|
9
|
-
subject to the following conditions:
|
|
10
|
-
|
|
11
|
-
The above copyright notice and this permission notice shall be
|
|
12
|
-
included in all copies or substantial portions of the Software.
|
|
13
|
-
|
|
14
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
15
|
-
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
16
|
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
17
|
-
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
|
18
|
-
BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
|
19
|
-
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
20
|
-
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
@@ -1,231 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# Use 'make help' to list available targets.
|
|
3
|
-
#
|
|
4
|
-
# Define V=1 to enable "verbose" mode, showing all executed commands.
|
|
5
|
-
#
|
|
6
|
-
# Define DECOMPRESSION_ONLY to omit all compression code, building a
|
|
7
|
-
# decompression-only library. If doing this, you must also build a specific
|
|
8
|
-
# library target such as 'libdeflate.a', as the programs will no longer compile.
|
|
9
|
-
#
|
|
10
|
-
# Define DISABLE_GZIP to disable support for the gzip wrapper format.
|
|
11
|
-
#
|
|
12
|
-
# Define DISABLE_ZLIB to disable support for the zlib wrapper format.
|
|
13
|
-
#
|
|
14
|
-
##############################################################################
|
|
15
|
-
|
|
16
|
-
#### Common compiler flags.
|
|
17
|
-
#### Flags given here are not intended to be overridden, but you can add more
|
|
18
|
-
#### by defining CFLAGS in the environment or on the 'make' command line.
|
|
19
|
-
|
|
20
|
-
cc-option = $(shell if $(CC) $(1) -c -x c /dev/null -o /dev/null \
|
|
21
|
-
1>&2 2>/dev/null; then echo $(1); fi)
|
|
22
|
-
|
|
23
|
-
override CFLAGS := \
|
|
24
|
-
$(CFLAGS) -O2 -fomit-frame-pointer -std=c99 -I. -Icommon \
|
|
25
|
-
-Wall -Wundef \
|
|
26
|
-
$(call cc-option,-Wpedantic) \
|
|
27
|
-
$(call cc-option,-Wdeclaration-after-statement) \
|
|
28
|
-
$(call cc-option,-Wmissing-prototypes) \
|
|
29
|
-
$(call cc-option,-Wstrict-prototypes) \
|
|
30
|
-
$(call cc-option,-Wvla)
|
|
31
|
-
|
|
32
|
-
##############################################################################
|
|
33
|
-
|
|
34
|
-
STATIC_LIB_SUFFIX := .a
|
|
35
|
-
SHARED_LIB_SUFFIX := .so
|
|
36
|
-
SHARED_LIB_CFLAGS := -fPIC
|
|
37
|
-
PROG_SUFFIX :=
|
|
38
|
-
PROG_CFLAGS :=
|
|
39
|
-
HARD_LINKS := 1
|
|
40
|
-
|
|
41
|
-
# Compiling for Windows with MinGW?
|
|
42
|
-
ifneq ($(findstring -mingw,$(shell $(CC) -dumpmachine 2>/dev/null)),)
|
|
43
|
-
ifeq ($(AR),ar)
|
|
44
|
-
ifneq ($(findstring -mingw,$(CC)),)
|
|
45
|
-
AR := $(patsubst %-gcc,%-ar,$(CC))
|
|
46
|
-
endif
|
|
47
|
-
endif
|
|
48
|
-
STATIC_LIB_SUFFIX := .lib
|
|
49
|
-
SHARED_LIB_SUFFIX := .dll
|
|
50
|
-
SHARED_LIB_CFLAGS :=
|
|
51
|
-
PROG_SUFFIX := .exe
|
|
52
|
-
PROG_CFLAGS := -static -municode
|
|
53
|
-
HARD_LINKS :=
|
|
54
|
-
override CFLAGS := $(CFLAGS) $(call cc-option,-Wno-pedantic-ms-format)
|
|
55
|
-
endif
|
|
56
|
-
|
|
57
|
-
##############################################################################
|
|
58
|
-
|
|
59
|
-
#### Quiet make is enabled by default. Define V=1 to disable.
|
|
60
|
-
|
|
61
|
-
ifneq ($(findstring s,$(MAKEFLAGS)),s)
|
|
62
|
-
ifneq ($(V),1)
|
|
63
|
-
QUIET_CC = @echo ' CC ' $@;
|
|
64
|
-
QUIET_CCLD = @echo ' CCLD ' $@;
|
|
65
|
-
QUIET_AR = @echo ' AR ' $@;
|
|
66
|
-
QUIET_LN = @echo ' LN ' $@;
|
|
67
|
-
QUIET_CP = @echo ' CP ' $@;
|
|
68
|
-
QUIET_GEN = @echo ' GEN ' $@;
|
|
69
|
-
endif
|
|
70
|
-
endif
|
|
71
|
-
|
|
72
|
-
##############################################################################
|
|
73
|
-
|
|
74
|
-
COMMON_HEADERS := $(wildcard common/*.h)
|
|
75
|
-
DEFAULT_TARGETS :=
|
|
76
|
-
|
|
77
|
-
#### Library
|
|
78
|
-
|
|
79
|
-
STATIC_LIB := libdeflate$(STATIC_LIB_SUFFIX)
|
|
80
|
-
SHARED_LIB := libdeflate$(SHARED_LIB_SUFFIX)
|
|
81
|
-
|
|
82
|
-
LIB_CFLAGS += $(CFLAGS) -fvisibility=hidden -D_ANSI_SOURCE
|
|
83
|
-
|
|
84
|
-
LIB_HEADERS := $(wildcard lib/*.h)
|
|
85
|
-
|
|
86
|
-
LIB_SRC := lib/aligned_malloc.c lib/deflate_decompress.c lib/x86_cpu_features.c
|
|
87
|
-
|
|
88
|
-
DECOMPRESSION_ONLY :=
|
|
89
|
-
ifndef DECOMPRESSION_ONLY
|
|
90
|
-
LIB_SRC += lib/deflate_compress.c
|
|
91
|
-
endif
|
|
92
|
-
|
|
93
|
-
DISABLE_ZLIB :=
|
|
94
|
-
ifndef DISABLE_ZLIB
|
|
95
|
-
LIB_SRC += lib/adler32.c lib/zlib_decompress.c
|
|
96
|
-
ifndef DECOMPRESSION_ONLY
|
|
97
|
-
LIB_SRC += lib/zlib_compress.c
|
|
98
|
-
endif
|
|
99
|
-
endif
|
|
100
|
-
|
|
101
|
-
DISABLE_GZIP :=
|
|
102
|
-
ifndef DISABLE_GZIP
|
|
103
|
-
LIB_SRC += lib/crc32.c lib/gzip_decompress.c
|
|
104
|
-
ifndef DECOMPRESSION_ONLY
|
|
105
|
-
LIB_SRC += lib/gzip_compress.c
|
|
106
|
-
endif
|
|
107
|
-
endif
|
|
108
|
-
|
|
109
|
-
STATIC_LIB_OBJ := $(LIB_SRC:.c=.o)
|
|
110
|
-
SHARED_LIB_OBJ := $(LIB_SRC:.c=.shlib.o)
|
|
111
|
-
|
|
112
|
-
# Compile static library object files
|
|
113
|
-
$(STATIC_LIB_OBJ): %.o: %.c $(LIB_HEADERS) $(COMMON_HEADERS) .lib-cflags
|
|
114
|
-
$(QUIET_CC) $(CC) -o $@ -c $(LIB_CFLAGS) $<
|
|
115
|
-
|
|
116
|
-
# Compile shared library object files
|
|
117
|
-
$(SHARED_LIB_OBJ): %.shlib.o: %.c $(LIB_HEADERS) $(COMMON_HEADERS) .lib-cflags
|
|
118
|
-
$(QUIET_CC) $(CC) -o $@ -c $(LIB_CFLAGS) $(SHARED_LIB_CFLAGS) -DLIBDEFLATE_DLL $<
|
|
119
|
-
|
|
120
|
-
# Create static library
|
|
121
|
-
$(STATIC_LIB):$(STATIC_LIB_OBJ)
|
|
122
|
-
$(QUIET_AR) $(AR) cr $@ $+
|
|
123
|
-
|
|
124
|
-
DEFAULT_TARGETS += $(STATIC_LIB)
|
|
125
|
-
|
|
126
|
-
# Create shared library
|
|
127
|
-
$(SHARED_LIB):$(SHARED_LIB_OBJ)
|
|
128
|
-
$(QUIET_CCLD) $(CC) -o $@ $(LDFLAGS) $(LIB_CFLAGS) -shared $+
|
|
129
|
-
|
|
130
|
-
DEFAULT_TARGETS += $(SHARED_LIB)
|
|
131
|
-
|
|
132
|
-
# Rebuild if CC or LIB_CFLAGS changed
|
|
133
|
-
.lib-cflags: FORCE
|
|
134
|
-
@flags='$(CC):$(LIB_CFLAGS)'; \
|
|
135
|
-
if [ "$$flags" != "`cat $@ 2>/dev/null`" ]; then \
|
|
136
|
-
[ -e $@ ] && echo "Rebuilding library due to new compiler flags"; \
|
|
137
|
-
echo "$$flags" > $@; \
|
|
138
|
-
fi
|
|
139
|
-
|
|
140
|
-
##############################################################################
|
|
141
|
-
|
|
142
|
-
#### Programs
|
|
143
|
-
|
|
144
|
-
PROG_CFLAGS += $(CFLAGS) \
|
|
145
|
-
-D_DEFAULT_SOURCE \
|
|
146
|
-
-D_FILE_OFFSET_BITS=64 \
|
|
147
|
-
-DHAVE_CONFIG_H
|
|
148
|
-
|
|
149
|
-
PROG_COMMON_HEADERS := programs/prog_util.h programs/config.h
|
|
150
|
-
PROG_COMMON_SRC := programs/prog_util.c programs/tgetopt.c
|
|
151
|
-
NONTEST_PROGRAM_SRC := programs/gzip.c
|
|
152
|
-
TEST_PROGRAM_SRC := programs/benchmark.c programs/test_checksums.c \
|
|
153
|
-
programs/checksum.c
|
|
154
|
-
|
|
155
|
-
NONTEST_PROGRAMS := $(NONTEST_PROGRAM_SRC:programs/%.c=%$(PROG_SUFFIX))
|
|
156
|
-
DEFAULT_TARGETS += $(NONTEST_PROGRAMS)
|
|
157
|
-
TEST_PROGRAMS := $(TEST_PROGRAM_SRC:programs/%.c=%$(PROG_SUFFIX))
|
|
158
|
-
|
|
159
|
-
PROG_COMMON_OBJ := $(PROG_COMMON_SRC:%.c=%.o)
|
|
160
|
-
NONTEST_PROGRAM_OBJ := $(NONTEST_PROGRAM_SRC:%.c=%.o)
|
|
161
|
-
TEST_PROGRAM_OBJ := $(TEST_PROGRAM_SRC:%.c=%.o)
|
|
162
|
-
PROG_OBJ := $(PROG_COMMON_OBJ) $(NONTEST_PROGRAM_OBJ) $(TEST_PROGRAM_OBJ)
|
|
163
|
-
|
|
164
|
-
# Generate autodetected configuration header
|
|
165
|
-
programs/config.h:programs/detect.sh .prog-cflags
|
|
166
|
-
$(QUIET_GEN) CC="$(CC)" CFLAGS="$(PROG_CFLAGS)" $< > $@
|
|
167
|
-
|
|
168
|
-
# Compile program object files
|
|
169
|
-
$(PROG_OBJ): %.o: %.c $(PROG_COMMON_HEADERS) $(COMMON_HEADERS) .prog-cflags
|
|
170
|
-
$(QUIET_CC) $(CC) -o $@ -c $(PROG_CFLAGS) $<
|
|
171
|
-
|
|
172
|
-
# Link the programs.
|
|
173
|
-
#
|
|
174
|
-
# Note: the test programs are not compiled by default. One reason is that the
|
|
175
|
-
# test programs must be linked with zlib for doing comparisons.
|
|
176
|
-
|
|
177
|
-
$(NONTEST_PROGRAMS): %$(PROG_SUFFIX): programs/%.o $(PROG_COMMON_OBJ) $(STATIC_LIB)
|
|
178
|
-
$(QUIET_CCLD) $(CC) -o $@ $(LDFLAGS) $(PROG_CFLAGS) $+
|
|
179
|
-
|
|
180
|
-
$(TEST_PROGRAMS): %$(PROG_SUFFIX): programs/%.o $(PROG_COMMON_OBJ) $(STATIC_LIB)
|
|
181
|
-
$(QUIET_CCLD) $(CC) -o $@ $(LDFLAGS) $(PROG_CFLAGS) $+ -lz
|
|
182
|
-
|
|
183
|
-
ifdef HARD_LINKS
|
|
184
|
-
# Hard link gunzip to gzip
|
|
185
|
-
gunzip$(PROG_SUFFIX):gzip$(PROG_SUFFIX)
|
|
186
|
-
$(QUIET_LN) ln -f $< $@
|
|
187
|
-
else
|
|
188
|
-
# No hard links; copy gzip to gunzip
|
|
189
|
-
gunzip$(PROG_SUFFIX):gzip$(PROG_SUFFIX)
|
|
190
|
-
$(QUIET_CP) cp -f $< $@
|
|
191
|
-
endif
|
|
192
|
-
|
|
193
|
-
DEFAULT_TARGETS += gunzip$(PROG_SUFFIX)
|
|
194
|
-
|
|
195
|
-
# Rebuild if CC or PROG_CFLAGS changed
|
|
196
|
-
.prog-cflags: FORCE
|
|
197
|
-
@flags='$(CC):$(PROG_CFLAGS)'; \
|
|
198
|
-
if [ "$$flags" != "`cat $@ 2>/dev/null`" ]; then \
|
|
199
|
-
[ -e $@ ] && echo "Rebuilding programs due to new compiler flags"; \
|
|
200
|
-
echo "$$flags" > $@; \
|
|
201
|
-
fi
|
|
202
|
-
|
|
203
|
-
##############################################################################
|
|
204
|
-
|
|
205
|
-
all:$(DEFAULT_TARGETS)
|
|
206
|
-
|
|
207
|
-
test_programs:$(TEST_PROGRAMS)
|
|
208
|
-
|
|
209
|
-
help:
|
|
210
|
-
@echo "Available targets:"
|
|
211
|
-
@echo "------------------"
|
|
212
|
-
@for target in $(DEFAULT_TARGETS) $(TEST_PROGRAMS); do \
|
|
213
|
-
echo -e "$$target"; \
|
|
214
|
-
done
|
|
215
|
-
|
|
216
|
-
clean:
|
|
217
|
-
rm -f *.a *.dll *.exe *.exp *.so \
|
|
218
|
-
lib/*.o lib/*.obj lib/*.dllobj \
|
|
219
|
-
programs/*.o programs/*.obj \
|
|
220
|
-
$(DEFAULT_TARGETS) $(TEST_PROGRAMS) programs/config.h \
|
|
221
|
-
libdeflate.lib libdeflatestatic.lib \
|
|
222
|
-
.lib-cflags .prog-cflags
|
|
223
|
-
|
|
224
|
-
realclean: clean
|
|
225
|
-
rm -f tags cscope* run_tests.log
|
|
226
|
-
|
|
227
|
-
FORCE:
|
|
228
|
-
|
|
229
|
-
.PHONY: all test_programs help clean realclean
|
|
230
|
-
|
|
231
|
-
.DEFAULT_GOAL = all
|