Commit Graph

1198 Commits

Author SHA1 Message Date
Evgenii Kliuchnikov
a8f5813b84 Update
Documentation:
  - add note that brotli is a "stream" format, not an archive-like
  - regenerate .1 with Pandoc
Build:
  - drop legacy "BROTLI_BUILD_PORTABLE" option
  - drop "BROTLI_SANITIZED" definition
Code:
  - c: comb includes
  - c/enc: extract encoder state into separate header
  - c/enc: drop designated q10 codepath
  - c/enc: dealing better with flushing of empty stream
  - fix MSVC compilation
API:
  - py: use library version instead of one in version.h
  - c: add plugable API to report consumed input / produced output
  - c/java: support "lean" prepared dictionaries (without copy of source)
2022-11-17 13:03:09 +00:00
清靈語
388d0d53fb
add pyproject.toml (#987)
* add pyproject.toml 

pypa/pip#8559

https://pip.pypa.io/en/stable/reference/build-system/pyproject-toml/#fallback-behaviour

* modify requirements

https://github.com/google/brotli/pull/987#issuecomment-1315486841
2022-11-15 18:39:13 +01:00
Keith Smiley
6d03dfbedd
Fix -Wstrict-prototypes warnings (#985)
Envoy builds brotli with -Werror, and these strict prototypes are picked
up by newer versions of clang.
2022-10-25 21:29:58 +02:00
Anonymous Maarten
9801a2c5d6
Wrap interface include directories with BUILD_INTERFACE generator expression (#966)
* Wrap interface include directories with BUILD_INTERFACE generator expression

When exporting a CMake target using install(TARGETS) + install(EXPORT),
CMake requires all include directories to be clean of build system
directories.

https://cmake.org/cmake/help/latest/prop_tgt/INTERFACE_INCLUDE_DIRECTORIES.html

This change also allows use of brotli as a CMake subproject and
installing + exporting it.

* Fix typo in generator expression
2022-05-12 10:50:48 +03:00
Ryan Schmidt
f09b2555ac
bootstrap: Fix exit code when autoreconf fails (#962)
Fixes:

./bootstrap: line 37: exit: $: numeric argument required
2022-05-11 19:21:00 +03:00
Ryan Schmidt
c9eb85691f
Fix bootstrap on macOS (#965)
* bootstrap: Verify functionality of sed

Check for the existence of sed by running a simple substitution rather
than using the --version flag. This lets us remove the weird exclusion
of FreeBSD from checking the sed requirement, and fixes checking the sed
requirement on other systems like macOS that use BSD sed, which doesn't
support --version.

* bootstrap: Detect flag for sed extended RE

Detect whether sed needs -E or -r to enable extended regular
expressions. Fixes bootstrap on macOS, whose BSD sed does not support
-r.

GNU sed has supported -E as a synonym for -r since version 4.2 (2009),
initially as an undocumented option for compatibility with BSD sed:

http://git.savannah.gnu.org/cgit/sed.git/commit/sed/sed.c?id=3a8e165ab02487c372df217c1989e287625ce0ae

and later as a documented option after -E became POSIX:

http://git.savannah.gnu.org/cgit/sed.git/commit/sed/sed.c?id=8b65e07904384b529a464c89f3739d2e7e4d5135
2022-05-11 19:20:39 +03:00
Marco Scardovi
f4153a09f8
Fix for future versions of python (#911)
Starting python 3.10, the use of - instead of _ will get a warn (see https://bugs.gentoo.org/796281 for reference)

Signed-off-by: Marco Scardovi <marco@scardovi.com>
2022-01-10 13:08:10 +03:00
Mohammad Bahoosh
e83c7b8e8f
Supress cmake warning (#931)
Not providing VERSION to "project" command will cause a warning.

Since this project's version is loaded from other files, this policy will help suppress the warning generated by cmake.
This policy is set because we can't provide "VERSION" in "project" command.
Use `cmake --help-policy CMP0048` for more information
2021-12-15 13:28:25 +03:00
Jyrki Alakuijala
4ec67035c0
Merge pull request #929 from jbms/fix-vla-parameter
Fix -Werror=vla-parameter errors with GCC 11.2.0
2021-12-07 01:47:07 +01:00
Eugene Kliuchnikov
8376f72ed6
Prepare for copybara (#939)
Co-authored-by: Eugene Kliuchnikov <eustas@chromium.org>
2021-11-10 10:34:39 +01:00
Jeremy Maitin-Shepard
27dd726540 Fix -Werror=vla-parameter errors with GCC 11.2.0 2021-09-14 12:27:45 -07:00
Eugene Kliuchnikov
62662f87cd
Strip "./" in includes (#925)
Co-authored-by: Eugene Kliuchnikov <eustas@chromium.org>
2021-09-08 09:18:45 +02:00
Eugene Kliuchnikov
698e3a7f9d
Update README.md
Fix typo in Gihtub actions badge
2021-08-31 15:24:35 +02:00
Eugene Kliuchnikov
a10269cea1
Update README.md (#923) 2021-08-31 15:22:23 +02:00
Eugene Kliuchnikov
0e42caf359
Migrate to github actions (#920)
Not all combinations are migrated to the initial configuration; corresponding TODOs added.

Drive-by: additional combinations uncovered minor portability problems -> fixed
Drive-by: remove no-longer used "script" files.

Co-authored-by: Eugene Kliuchnikov <eustas@chromium.org>
2021-08-31 14:07:17 +02:00
Eugene Kliuchnikov
68f1b90ad0
Update (#918)
Prepare to use copybara worklow.
2021-08-18 19:15:07 +02:00
Eugene Kliuchnikov
19d86fb9a6
Merge-in SharedDictionary feature (#916)
Co-authored-by: Eugene Kliuchnikov <eustas@chromium.org>
2021-08-04 14:42:02 +02:00
Eugene Kliuchnikov
630b5084ee
Update (#914)
* slimmer stack frames in encoder
 * fix MSAN problem in hasher_composite
   (not dangerous, only in large_window mode)
 * fix JNI decoder wrapper - power-of-two payloads fail to decode sometimes
 * reformat polyfil.js and decode_test.js
2021-07-29 22:29:43 +02:00
Dirk Lemstra
ce222e317e
Enabled install when building with emscripten. (#906)
* Enabled install when building with emscripten.

* Also install the pkg-config files.
2021-06-23 10:12:21 +02:00
Adrián Herrera Arcila
0a3944c8c9
Fix VLA parameter warning (#893)
Make VLA buffer types consistent in declarations and definitions.
Resolves build crash when using -Werror due to "vla-parameter" warning.

Signed-off-by: Adrian Herrera <adr.her.arc.95@gmail.com>
2021-06-23 09:53:59 +02:00
Ikko Ashimine
bdcfb123c8
Fix typo in hash_composite_inc.h (#903)
defered -> deferred
2021-06-23 09:42:28 +02:00
Eugene Kliuchnikov
f8c6717745
Update (#908)
* re-enable Js build/test
  * improve decoder performance
  * rewrite dictionary data in Java/Js to a shorter uncompressed form
  * improve dictionary generation tool
2021-06-23 09:40:57 +02:00
Martin Grigorov
bbe5d72ba3
[Java] make it possible to set modes (generic, text, font) (#887)
* [Java] make it possible to set modes (generic, text, font)
2021-03-24 21:23:03 +01:00
Eugene Kliuchnikov
2f9277ff2f
Update bazel WORKSPACE files (#896)
* Update bazel WORKSPACE files

* Use fresh OSX image

* Cache homebrew dirs for faster startup
2021-03-24 15:05:23 +01:00
Christian Clauss
63be8a9940
unichr was removed in Python 3 because all str are Unicode (#877)
https://python-future.org/compatible_idioms.html#unichr
2021-01-27 15:08:05 +01:00
marianopeck
2a51a85aa8
New Dart fast FFI-based Brotli implementation (#866)
New Dart compression framework with [fast FFI-based Brotli implementation](https://pub.dev/documentation/es_compression/latest/brotli/brotli-library.html) with ready-to-use prebuilt binaries for Win/Linux/Mac
2021-01-18 11:59:02 +01:00
Eugene Kliuchnikov
5692e422da
Update (#852)
* Update

 * comments and clarifications in block_splitter
 * power-of-2 aligned allocations for Hasher
 * refresh decode.js from Java sources
 * disable JS build
2021-01-18 10:56:39 +01:00
Aayush Atharva
f16845614d
Fix typo in variable name (#854)
* Fix typo in variable name

* Fix compile error
2021-01-08 13:24:44 +01:00
Juliy V. Chirkov
0e8afdc968
typo fix (#868) 2021-01-08 13:21:44 +01:00
dependabot[bot]
4969984a95
Bump junit from 4.12 to 4.13.1 in /java/org/brotli/dec (#853)
Bumps [junit](https://github.com/junit-team/junit4) from 4.12 to 4.13.1.
- [Release notes](https://github.com/junit-team/junit4/releases)
- [Changelog](https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.12.md)
- [Commits](https://github.com/junit-team/junit4/compare/r4.12...r4.13.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-08 13:21:02 +01:00
Evgenii Kliuchnikov
fcda9db7fd Shorten docs/brotli.svg
Kudos to @alrra
2020-10-08 14:50:33 +02:00
Tim Gates
685d7baea9
docs: Fix small typo: rougly -> roughly (#849) 2020-09-27 11:00:29 +02:00
Gábor Lipták
60b2a7ada5
Add Python 3.7 and 3.8 to Travis (#847) 2020-09-25 19:37:31 +02:00
Eugene Kliuchnikov
f6b3aa6d0f
Add brotli logo (#845)
Co-authored-by: Eugene Kliuchnikov <eustas@chromium.org>
2020-09-24 13:43:44 +02:00
Kurt Mosiejczuk
f2ca32eda6
Change MANIFEST.in to include python regression tests in tarball (#841)
* Change MANIFEST.in to include python regression tests in tarball

* Python tests need the testdata from the base tests directory
2020-09-21 13:24:13 +02:00
Gabriel
97006561ea
Fix VC C++ 12.0 BROTLI_MSVC_VERSION_CHECK calls (#843) 2020-09-21 13:22:56 +02:00
Dmitry Rozhkov
0cd2e3926e
Fix MSVC linker error (#840)
The -lm linker option is not known to MSVC and setting it triggers
errors in some build systems:

  [6,366 / 6,367] Linking source/exe/envoy-static.exe; 11s remote
  LINK : warning LNK4044: unrecognized option '/lm'; ignored
  LINK : error LNK1218: warning treated as error; no output file generated
  ERROR: C:/source/source/exe/BUILD:22:16: Linking of rule
    '//source/exe:envoy-static' failed (Exit 4044): link.exe failed: error
    executing command

Do not set -lm in case of MSVC.
2020-09-08 16:48:31 +02:00
Pavel Rosický
90fd2b60cc
add execution time (#834) 2020-09-07 10:53:03 +02:00
Dmitry Rozhkov
7e8e207ce2
Fix clang-10 compilation issue (#839)
clang-10 throws the following error:
In file included from external/org_brotli/c/enc/bit_cost.c:9:
external/org_brotli/c/enc/./bit_cost.h:48:16: error: implicit conversion
from 'size_t' (aka 'unsigned long') to 'double' may lose precision
[-Werror,-Wimplicit-int-float-conversion]
  if (retval < sum) {
             ~ ^~~
1 error generated.

Make the conversion explicit.
2020-09-07 09:40:03 +02:00
Eugene Kliuchnikov
09b0992b6a
Revert "Add runtime linker path to pkg-config files (#740)" (#838)
This reverts commit 31754d4ffc.
2020-09-02 11:38:26 +02:00
Evgenii Kliuchnikov
0545759b2e Address issues noted in #833 2020-08-28 10:14:08 +02:00
Evgenii Kliuchnikov
e61745a6b7 Re-release 2020-08-27 16:12:55 +02:00
Evgenii Kliuchnikov
db361a0bb9 Re-add python bindings to sources tarball 2020-08-27 16:01:44 +02:00
Eugene Kliuchnikov
d518e55ba7
Update README.md 2020-08-26 18:46:19 +02:00
Eugene Kliuchnikov
d052918255
Fix build files (#829) 2020-08-26 17:13:31 +02:00
Eugene Kliuchnikov
665e81dc9b
New version: 1.0.8 (#827) 2020-08-26 14:36:02 +02:00
Eugene Kliuchnikov
223d80cfbe
Update (#826)
* IMPORTANT: decoder: fix potential overflow when input chunk is >2GiB
 * simplify max Huffman table size calculation
 * eliminate symbol duplicates (static arrays in .h files)
 * minor combing in research/ code
2020-08-26 12:32:27 +02:00
Eugene Kliuchnikov
0c5603e07b
Fix output parameter type for _BitScanReverse (#819)
Fix #811
2020-07-09 16:40:01 +02:00
Eugene Kliuchnikov
e8155d67b0
CMake: change default ("") build type to Release (#818)
Fix #817
2020-07-09 15:35:57 +02:00
Eugene Kliuchnikov
fc823290a7
Mute strerror/strcpy warnings is MSVC build. (#815) 2020-07-02 19:45:57 +02:00