203 Commits

Author SHA1 Message Date
Eric Biggers
7d3e2a997c Update licensing status
I've decided to simplify and standardize the licensing status for the
library by using the MIT license instead of CC0 (a.k.a. "public
domain").  This eliminates the somewhat controversial 4(a) clause in
CC0, and, for this and other reasons, should (somewhat ironically) make
it easier for some people to use and contribute to the project.

Note: copyright will apply to new changes and to new versions of the
work as a whole.  Of course, versions previously released as public
domain remain public domain where legally recognized.
2016-09-09 19:34:58 -07:00
Eric Biggers
1286b4ddcb v0.4 v0.4 2016-09-07 21:39:47 -07:00
Eric Biggers
015e95040c Remove leading underscores from include guards 2016-09-05 13:53:38 -07:00
Eric Biggers
f2b401539c Pass CFLAGS to detect.sh
Needed when cross-compiling with clang.
2016-09-05 00:02:18 -07:00
Eric Biggers
8081ce7853 Improved Android test script 2016-09-05 00:02:18 -07:00
Eric Biggers
63598528fb adler32_impl.h: minor tweaks 2016-09-04 11:09:17 -07:00
Eric Biggers
e9a956efca Avoid "exporting" symbols from static library
It was reported that API symbols were being "exported" from the static
library built with MSVC, causing them to remain exported after being
linked into another program.  It turns out this was actually a problem
outside of MSVC as well.  The solution is to always build the static and
shared libraries from different object files, where the API symbols are
exported from the shared library object files but not from the static
library object files.

Reported-by: Joergen Ibsen <ji@ibse.dk>
2016-09-04 01:18:26 -07:00
Eric Biggers
1bd972195e Vectorized Adler-32 optimizations and cleanups 2016-09-04 01:18:26 -07:00
Eric Biggers
a525da5ba7 Add NEON-accelerated Adler-32 2016-09-03 16:02:14 -07:00
Eric Biggers
c2c8005591 Add tools/arm64_test.sh 2016-09-03 16:02:13 -07:00
Eric Biggers
683832e824 tools/arm_test.sh: push testdata only if needed 2016-09-03 16:02:12 -07:00
Eric Biggers
2dafb65f28 Test for __ARM_NEON, not __ARM_NEON__ 2016-09-03 16:02:11 -07:00
Eric Biggers
81e45b86e2 Add SSE2 and AVX2 accelerated Adler-32 2016-08-31 23:53:25 -07:00
Eric Biggers
c4f51b1311 Rename heapsort() to heap_sort() to avoid naming collision 2016-08-29 00:09:39 -07:00
Eric Biggers
e603f7868d aligned_malloc: store pointer directly 2016-08-28 00:20:49 -07:00
Eric Biggers
18b149f52e Drop 'unsigned' from compression_level argument 2016-08-27 23:15:47 -07:00
Eric Biggers
268d2fe602 libdeflate.h: add note about thread-safety 2016-08-27 23:13:20 -07:00
Eric Biggers
3992efa340 Update API to avoid naming collisions 2016-08-27 23:11:32 -07:00
Eric Biggers
e60b238b4b README.md: add more details about building with MinGW 2016-08-26 23:29:30 -07:00
Eric Biggers
a34c5e0b14 Makefile: support plain 'gcc' being MinGW 2016-08-26 23:22:39 -07:00
Eric Biggers
94145eb14e programs: use sequential file access hints 2016-08-20 14:22:18 -07:00
Eric Biggers
3c1077a4b3 gzip: allow hard links when source file is being kept 2016-08-20 13:56:19 -07:00
Eric Biggers
bcc741cc7b Prefix non-API global symbols with "_libdeflate_" 2016-07-12 14:10:23 -05:00
Eric Biggers
f5f2a8f0cb Add lib_common.h 2016-07-12 13:49:55 -05:00
Eric Biggers
f649a4b8db Compressor updates 2016-06-11 22:41:45 -05:00
Eric Biggers
e3cfa7b5cd v0.3 v0.3 2016-05-28 16:13:30 -05:00
Eric Biggers
6ac4a94203 tools/make-windows-release: use -Werror 2016-05-28 16:13:30 -05:00
Eric Biggers
eaa2247dfa Makefile: use -Wno-pedantic-ms-format for MinGW builds 2016-05-28 16:13:30 -05:00
Eric Biggers
021e692a7b Makefile: fix order of cc-option and CFLAGS definitions 2016-05-26 23:09:39 -05:00
Eric Biggers
e8003ecd71 Warn about use of variable length arrays 2016-05-26 00:20:10 -05:00
Eric Biggers
d39f4505a1 Compatibility with older versions of GCC 2016-05-26 00:20:10 -05:00
Eric Biggers
6bcfb00c54 C99 compatibility 2016-05-26 00:14:29 -05:00
Eric Biggers
d1e4d4cab8 Halve size of struct lz_match 2016-05-23 21:24:58 -05:00
Eric Biggers
992eb78578 Move block split statistics into compressor struct 2016-05-23 20:59:32 -05:00
Eric Biggers
453a628996 Fix compiling without near-optimal parsing support 2016-05-23 20:50:02 -05:00
Eric Biggers
7458bea118 Rename optimum -> optimum_nodes 2016-05-23 20:35:38 -05:00
Eric Biggers
4d81654402 Use tighter bound on max number of nodes 2016-05-23 20:35:38 -05:00
Eric Biggers
7bfba00a19 Fix comment 2016-05-23 19:08:20 -05:00
Eric Biggers
4f7d134b39 Fix check for match cache overflow 2016-05-23 08:28:02 -05:00
Eric Biggers
3d52ac1195 README.md: note that GCC is recommended over clang 2016-05-22 14:20:50 -05:00
Eric Biggers
b3434646e0 Makefile: remove useless assignments to CC and AR
These assignments had no effect because 'make' defines default values for
these variables.
2016-05-22 14:20:47 -05:00
Eric Biggers
aaadf1421a Makefile: use ifdef/ifndef 2016-05-22 13:14:09 -05:00
Eric Biggers
7e19d17e49 Fix deflate_compress_bound() to account for extra word at end 2016-05-21 17:35:35 -05:00
Eric Biggers
dad582cd57 gzip: -s and -L are not supported options 2016-05-21 16:38:51 -05:00
Eric Biggers
c1b48b7f03 Makefile: add missing LIB_HEADERS definition 2016-05-21 16:31:43 -05:00
Eric Biggers
27125469cd v0.2 v0.2 2016-05-21 15:38:15 -05:00
Eric Biggers
f2c3a5b4e9 Various reorganization and cleanups
* Bring in common headers and program code from xpack project
* Move program code to programs/
* Move library code to lib/
* GNU89 and MSVC2010 compatibility
* Other changes
2016-05-21 15:38:15 -05:00
Eric Biggers
6acb3054f8 Add produce_gzip_benchmark_table.sh 2016-05-21 10:34:02 -05:00
Eric Biggers
92e6c1ff01 Choose cheapest block type in compressor 2016-05-21 10:34:00 -05:00
Eric Biggers
ecdcfc600b New block splitting algorithm 2016-05-21 10:33:59 -05:00