diff options
author | Sunpoet Po-Chuan Hsieh <sunpoet@FreeBSD.org> | 2016-01-12 21:37:09 +0000 |
---|---|---|
committer | Sunpoet Po-Chuan Hsieh <sunpoet@FreeBSD.org> | 2016-01-12 21:37:09 +0000 |
commit | 5408c4270cdae74953a95619e2575d7c9a2fb09a (patch) | |
tree | 47d62dc68745230742b1f716d65644acd342c575 /archivers/brotli | |
parent | - Fix RUN_DEPENDS (diff) |
- Update to 0.3.0
Changes: https://github.com/google/brotli/releases
Notes
Notes:
svn path=/head/; revision=405921
Diffstat (limited to 'archivers/brotli')
-rw-r--r-- | archivers/brotli/Makefile | 3 | ||||
-rw-r--r-- | archivers/brotli/distinfo | 4 | ||||
-rw-r--r-- | archivers/brotli/files/patch-freebsd9 | 879 |
3 files changed, 3 insertions, 883 deletions
diff --git a/archivers/brotli/Makefile b/archivers/brotli/Makefile index b9d5ad5ab4af..3dbaa751725a 100644 --- a/archivers/brotli/Makefile +++ b/archivers/brotli/Makefile @@ -2,9 +2,8 @@ # $FreeBSD$ PORTNAME= brotli -PORTVERSION= 0.2.0 +PORTVERSION= 0.3.0 DISTVERSIONPREFIX= v -PORTREVISION= 1 CATEGORIES= archivers MAINTAINER= sunpoet@FreeBSD.org diff --git a/archivers/brotli/distinfo b/archivers/brotli/distinfo index 28dce7f9b36c..9950c10c1f06 100644 --- a/archivers/brotli/distinfo +++ b/archivers/brotli/distinfo @@ -1,2 +1,2 @@ -SHA256 (google-brotli-v0.2.0_GH0.tar.gz) = 634d1089ee21b35e0ec5066cb5e44dd097e04e679e1e8c50bffa2b0dc77c2c29 -SIZE (google-brotli-v0.2.0_GH0.tar.gz) = 7839880 +SHA256 (google-brotli-v0.3.0_GH0.tar.gz) = 5d49eb1a6dd19304dd683c293abf66c8a419728f4c6d0f390fa7deb2a39eaae2 +SIZE (google-brotli-v0.3.0_GH0.tar.gz) = 8035159 diff --git a/archivers/brotli/files/patch-freebsd9 b/archivers/brotli/files/patch-freebsd9 deleted file mode 100644 index 3574e32df421..000000000000 --- a/archivers/brotli/files/patch-freebsd9 +++ /dev/null @@ -1,879 +0,0 @@ -Obtained from: https://github.com/google/brotli/commit/4a7024dcde1aaf30d824ade299e70711a30f4399 - ---- enc/backward_references.cc.orig 2015-09-01 13:04:54 UTC -+++ enc/backward_references.cc -@@ -636,7 +636,7 @@ void CreateBackwardReferences(size_t num - int* num_literals) { - bool zopflify = quality > 9; - if (zopflify) { -- Hashers::H9* hasher = hashers->hash_h9.get(); -+ Hashers::H9* hasher = hashers->hash_h9; - if (num_bytes >= 3 && position >= 3) { - // Prepare the hashes for three last bytes of the last write. - // These could not be calculated before, since they require knowledge -@@ -710,55 +710,55 @@ void CreateBackwardReferences(size_t num - case 1: - CreateBackwardReferences<Hashers::H1>( - num_bytes, position, ringbuffer, ringbuffer_mask, max_backward_limit, -- quality, hashers->hash_h1.get(), dist_cache, last_insert_len, -+ quality, hashers->hash_h1, dist_cache, last_insert_len, - commands, num_commands, num_literals); - break; - case 2: - CreateBackwardReferences<Hashers::H2>( - num_bytes, position, ringbuffer, ringbuffer_mask, max_backward_limit, -- quality, hashers->hash_h2.get(), dist_cache, last_insert_len, -+ quality, hashers->hash_h2, dist_cache, last_insert_len, - commands, num_commands, num_literals); - break; - case 3: - CreateBackwardReferences<Hashers::H3>( - num_bytes, position, ringbuffer, ringbuffer_mask, max_backward_limit, -- quality, hashers->hash_h3.get(), dist_cache, last_insert_len, -+ quality, hashers->hash_h3, dist_cache, last_insert_len, - commands, num_commands, num_literals); - break; - case 4: - CreateBackwardReferences<Hashers::H4>( - num_bytes, position, ringbuffer, ringbuffer_mask, max_backward_limit, -- quality, hashers->hash_h4.get(), dist_cache, last_insert_len, -+ quality, hashers->hash_h4, dist_cache, last_insert_len, - commands, num_commands, num_literals); - break; - case 5: - CreateBackwardReferences<Hashers::H5>( - num_bytes, position, ringbuffer, ringbuffer_mask, max_backward_limit, -- quality, hashers->hash_h5.get(), dist_cache, last_insert_len, -+ quality, hashers->hash_h5, dist_cache, last_insert_len, - commands, num_commands, num_literals); - break; - case 6: - CreateBackwardReferences<Hashers::H6>( - num_bytes, position, ringbuffer, ringbuffer_mask, max_backward_limit, -- quality, hashers->hash_h6.get(), dist_cache, last_insert_len, -+ quality, hashers->hash_h6, dist_cache, last_insert_len, - commands, num_commands, num_literals); - break; - case 7: - CreateBackwardReferences<Hashers::H7>( - num_bytes, position, ringbuffer, ringbuffer_mask, max_backward_limit, -- quality, hashers->hash_h7.get(), dist_cache, last_insert_len, -+ quality, hashers->hash_h7, dist_cache, last_insert_len, - commands, num_commands, num_literals); - break; - case 8: - CreateBackwardReferences<Hashers::H8>( - num_bytes, position, ringbuffer, ringbuffer_mask, max_backward_limit, -- quality, hashers->hash_h8.get(), dist_cache, last_insert_len, -+ quality, hashers->hash_h8, dist_cache, last_insert_len, - commands, num_commands, num_literals); - break; - case 9: - CreateBackwardReferences<Hashers::H9>( - num_bytes, position, ringbuffer, ringbuffer_mask, max_backward_limit, -- quality, hashers->hash_h9.get(), dist_cache, last_insert_len, -+ quality, hashers->hash_h9, dist_cache, last_insert_len, - commands, num_commands, num_literals); - break; - default: ---- enc/backward_references.h.orig 2015-09-01 13:04:54 UTC -+++ enc/backward_references.h -@@ -17,11 +17,11 @@ - #ifndef BROTLI_ENC_BACKWARD_REFERENCES_H_ - #define BROTLI_ENC_BACKWARD_REFERENCES_H_ - --#include <stdint.h> - #include <vector> - - #include "./hash.h" - #include "./command.h" -+#include "./types.h" - - namespace brotli { - ---- enc/bit_cost.h.orig 2015-09-01 13:04:54 UTC -+++ enc/bit_cost.h -@@ -18,10 +18,10 @@ - #define BROTLI_ENC_BIT_COST_H_ - - --#include <stdint.h> - - #include "./entropy_encode.h" - #include "./fast_log.h" -+#include "./types.h" - - namespace brotli { - ---- enc/block_splitter.h.orig 2015-09-01 13:04:54 UTC -+++ enc/block_splitter.h -@@ -17,14 +17,13 @@ - #ifndef BROTLI_ENC_BLOCK_SPLITTER_H_ - #define BROTLI_ENC_BLOCK_SPLITTER_H_ - --#include <stddef.h> --#include <stdint.h> - #include <string.h> - #include <vector> - #include <utility> - - #include "./command.h" - #include "./metablock.h" -+#include "./types.h" - - namespace brotli { - ---- enc/brotli_bit_stream.cc.orig 2015-09-01 13:04:54 UTC -+++ enc/brotli_bit_stream.cc -@@ -28,7 +28,6 @@ - #include "./fast_log.h" - #include "./prefix.h" - #include "./write_bits.h" -- - namespace brotli { - - // returns false if fail -@@ -275,6 +274,7 @@ void StoreHuffmanTree(const uint8_t* dep - storage_ix, storage); - } - -+ - void BuildAndStoreHuffmanTree(const int *histogram, - const int length, - uint8_t* depth, ---- enc/brotli_bit_stream.h.orig 2015-09-01 13:04:54 UTC -+++ enc/brotli_bit_stream.h -@@ -24,11 +24,10 @@ - #ifndef BROTLI_ENC_BROTLI_BIT_STREAM_H_ - #define BROTLI_ENC_BROTLI_BIT_STREAM_H_ - --#include <stddef.h> --#include <stdint.h> - #include <vector> - - #include "./metablock.h" -+#include "./types.h" - - namespace brotli { - ---- enc/cluster.h.orig 2015-09-01 13:04:54 UTC -+++ enc/cluster.h -@@ -18,7 +18,6 @@ - #define BROTLI_ENC_CLUSTER_H_ - - #include <math.h> --#include <stdint.h> - #include <stdio.h> - #include <algorithm> - #include <complex> -@@ -31,6 +30,7 @@ - #include "./entropy_encode.h" - #include "./fast_log.h" - #include "./histogram.h" -+#include "./types.h" - - namespace brotli { - -@@ -264,6 +264,7 @@ void ClusterHistograms(const std::vector - (*histogram_symbols)[i] = i; - } - -+ - const int max_input_histograms = 64; - for (int i = 0; i < in_size; i += max_input_histograms) { - int num_to_combine = std::min(in_size - i, max_input_histograms); -@@ -282,6 +283,7 @@ void ClusterHistograms(const std::vector - - // Convert the context map to a canonical form. - HistogramReindex(out, histogram_symbols); -+ - } - - ---- enc/command.h.orig 2015-09-01 13:04:54 UTC -+++ enc/command.h -@@ -17,9 +17,9 @@ - #ifndef BROTLI_ENC_COMMAND_H_ - #define BROTLI_ENC_COMMAND_H_ - --#include <stdint.h> - #include "./fast_log.h" - #include "./prefix.h" -+#include "./types.h" - - namespace brotli { - ---- enc/context.h.orig 2015-09-01 13:04:54 UTC -+++ enc/context.h -@@ -17,7 +17,7 @@ - #ifndef BROTLI_ENC_CONTEXT_H_ - #define BROTLI_ENC_CONTEXT_H_ - --#include <stdint.h> -+#include "./types.h" - - namespace brotli { - ---- enc/dictionary.h.orig 2015-09-01 13:04:54 UTC -+++ enc/dictionary.h -@@ -17,7 +17,7 @@ - #ifndef BROTLI_ENC_DICTIONARY_H_ - #define BROTLI_ENC_DICTIONARY_H_ - --#include <stdint.h> -+#include "./types.h" - - static const uint8_t kBrotliDictionary[] = { - 0x74, 0x69, 0x6d, 0x65, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x69, 0x66, 0x65, 0x6c, ---- enc/dictionary_hash.h.orig 2015-09-01 13:04:54 UTC -+++ enc/dictionary_hash.h -@@ -17,7 +17,7 @@ - #ifndef BROTLI_ENC_DICTIONARY_HASH_H_ - #define BROTLI_ENC_DICTIONARY_HASH_H_ - --#include <stdint.h> -+#include "./types.h" - - namespace brotli { - ---- enc/encode.cc.orig 2015-09-01 13:04:54 UTC -+++ enc/encode.cc -@@ -125,16 +125,18 @@ void RecomputeDistancePrefixes(Command* - - uint8_t* BrotliCompressor::GetBrotliStorage(size_t size) { - if (storage_size_ < size) { -- storage_.reset(new uint8_t[size]); -+ delete[] storage_; -+ storage_ = new uint8_t[size]; - storage_size_ = size; - } -- return &storage_[0]; -+ return storage_; - } - - BrotliCompressor::BrotliCompressor(BrotliParams params) - : params_(params), - hashers_(new Hashers()), - input_pos_(0), -+ literal_cost_(0), - num_commands_(0), - num_literals_(0), - last_insert_len_(0), -@@ -142,7 +144,8 @@ BrotliCompressor::BrotliCompressor(Brotl - last_processed_pos_(0), - prev_byte_(0), - prev_byte2_(0), -- storage_size_(0) { -+ storage_size_(0), -+ storage_(0) { - // Sanitize params. - params_.quality = std::max(1, params_.quality); - if (params_.lgwin < kMinWindowBits) { -@@ -169,15 +172,15 @@ BrotliCompressor::BrotliCompressor(Brotl - // read_block_size_bits + 1 bits because the copy tail length needs to be - // smaller than ringbuffer size. - int ringbuffer_bits = std::max(params_.lgwin + 1, params_.lgblock + 1); -- ringbuffer_.reset(new RingBuffer(ringbuffer_bits, params_.lgblock)); -+ ringbuffer_ = new RingBuffer(ringbuffer_bits, params_.lgblock); - if (params_.quality > 9) { - literal_cost_mask_ = (1 << params_.lgblock) - 1; -- literal_cost_.reset(new float[literal_cost_mask_ + 1]); -+ literal_cost_ = new float[literal_cost_mask_ + 1]; - } - - // Allocate command buffer. - cmd_buffer_size_ = std::max(1 << 18, 1 << params_.lgblock); -- commands_.reset(new brotli::Command[cmd_buffer_size_]); -+ commands_ = new brotli::Command[cmd_buffer_size_]; - - // Initialize last byte with stream header. - if (params_.lgwin == 16) { -@@ -209,6 +212,11 @@ BrotliCompressor::BrotliCompressor(Brotl - } - - BrotliCompressor::~BrotliCompressor() { -+ delete[] storage_; -+ delete[] literal_cost_; -+ delete[] commands_; -+ delete ringbuffer_; -+ delete hashers_; - } - - void BrotliCompressor::CopyInputToRingBuffer(const size_t input_size, -@@ -292,23 +300,23 @@ bool BrotliCompressor::WriteBrotliData(c - params_.quality >= 9 && - IsMostlyUTF8(&data[last_processed_pos_ & mask], bytes, kMinUTF8Ratio); - -- if (literal_cost_.get()) { -+ if (literal_cost_) { - if (utf8_mode) { - EstimateBitCostsForLiteralsUTF8(last_processed_pos_, bytes, mask, - literal_cost_mask_, data, -- literal_cost_.get()); -+ literal_cost_); - } else { - EstimateBitCostsForLiterals(last_processed_pos_, bytes, mask, - literal_cost_mask_, -- data, literal_cost_.get()); -+ data, literal_cost_); - } - } - CreateBackwardReferences(bytes, last_processed_pos_, data, mask, -- literal_cost_.get(), -+ literal_cost_, - literal_cost_mask_, - max_backward_distance_, - params_.quality, -- hashers_.get(), -+ hashers_, - hash_type_, - dist_cache_, - &last_insert_len_, -@@ -487,14 +495,14 @@ bool BrotliCompressor::WriteMetaBlockInt - if (params_.quality > 9 && params_.mode == BrotliParams::MODE_FONT) { - num_direct_distance_codes = 12; - distance_postfix_bits = 1; -- RecomputeDistancePrefixes(commands_.get(), -+ RecomputeDistancePrefixes(commands_, - num_commands_, - num_direct_distance_codes, - distance_postfix_bits); - } - if (params_.quality < kMinQualityForBlockSplit) { - if (!StoreMetaBlockTrivial(data, last_flush_pos_, bytes, mask, is_last, -- commands_.get(), num_commands_, -+ commands_, num_commands_, - &storage_ix, - &storage[0])) { - return false; -@@ -512,7 +520,7 @@ bool BrotliCompressor::WriteMetaBlockInt - &literal_context_map); - if (literal_context_map == NULL) { - BuildMetaBlockGreedy(data, last_flush_pos_, mask, -- commands_.get(), num_commands_, -+ commands_, num_commands_, - &mb); - } else { - BuildMetaBlockGreedyWithContexts(data, last_flush_pos_, mask, -@@ -520,13 +528,13 @@ bool BrotliCompressor::WriteMetaBlockInt - literal_context_mode, - num_literal_contexts, - literal_context_map, -- commands_.get(), num_commands_, -+ commands_, num_commands_, - &mb); - } - } else { - BuildMetaBlock(data, last_flush_pos_, mask, - prev_byte_, prev_byte2_, -- commands_.get(), num_commands_, -+ commands_, num_commands_, - literal_context_mode, - &mb); - } -@@ -541,7 +549,7 @@ bool BrotliCompressor::WriteMetaBlockInt - num_direct_distance_codes, - distance_postfix_bits, - literal_context_mode, -- commands_.get(), num_commands_, -+ commands_, num_commands_, - mb, - &storage_ix, - &storage[0])) { -@@ -684,7 +692,7 @@ bool BrotliInIsFinished(BrotliIn* r) { - } - - int BrotliCompress(BrotliParams params, BrotliIn* in, BrotliOut* out) { -- return BrotliCompressWithCustomDictionary(0, nullptr, params, in, out); -+ return BrotliCompressWithCustomDictionary(0, 0, params, in, out); - } - - int BrotliCompressWithCustomDictionary(size_t dictsize, const uint8_t* dict, ---- enc/encode.h.orig 2015-09-01 13:04:54 UTC -+++ enc/encode.h -@@ -17,8 +17,6 @@ - #ifndef BROTLI_ENC_ENCODE_H_ - #define BROTLI_ENC_ENCODE_H_ - --#include <stddef.h> --#include <stdint.h> - #include <string> - #include <vector> - #include "./command.h" -@@ -26,6 +24,7 @@ - #include "./ringbuffer.h" - #include "./static_dict.h" - #include "./streams.h" -+#include "./types.h" - - namespace brotli { - -@@ -149,14 +148,14 @@ class BrotliCompressor { - - BrotliParams params_; - int max_backward_distance_; -- std::unique_ptr<Hashers> hashers_; -+ Hashers* hashers_; - int hash_type_; - size_t input_pos_; -- std::unique_ptr<RingBuffer> ringbuffer_; -- std::unique_ptr<float[]> literal_cost_; -+ RingBuffer* ringbuffer_; -+ float* literal_cost_; - size_t literal_cost_mask_; - size_t cmd_buffer_size_; -- std::unique_ptr<Command[]> commands_; -+ Command* commands_; - int num_commands_; - int num_literals_; - int last_insert_len_; -@@ -169,7 +168,7 @@ class BrotliCompressor { - uint8_t prev_byte_; - uint8_t prev_byte2_; - int storage_size_; -- std::unique_ptr<uint8_t[]> storage_; -+ uint8_t* storage_; - }; - - // Compresses the data in input_buffer into encoded_buffer, and sets ---- enc/encode_parallel.cc.orig 2015-09-01 13:04:54 UTC -+++ enc/encode_parallel.cc -@@ -167,7 +167,7 @@ bool WriteMetaBlockParallel(const Brotli - - // Initialize hashers. - int hash_type = std::min(9, params.quality); -- std::unique_ptr<Hashers> hashers(new Hashers()); -+ Hashers* hashers = new Hashers(); - hashers->Init(hash_type); - - // Compute backward references. -@@ -183,13 +183,14 @@ bool WriteMetaBlockParallel(const Brotli - &literal_cost[0], mask, - max_backward_distance, - params.quality, -- hashers.get(), -+ hashers, - hash_type, - dist_cache, - &last_insert_len, - &commands[0], - &num_commands, - &num_literals); -+ delete hashers; - commands.resize(num_commands); - if (last_insert_len > 0) { - commands.push_back(Command(last_insert_len)); ---- enc/encode_parallel.h.orig 2015-09-01 13:04:54 UTC -+++ enc/encode_parallel.h -@@ -19,10 +19,9 @@ - #ifndef BROTLI_ENC_ENCODE_PARALLEL_H_ - #define BROTLI_ENC_ENCODE_PARALLEL_H_ - --#include <stddef.h> --#include <stdint.h> - - #include "./encode.h" -+#include "./types.h" - - namespace brotli { - ---- enc/entropy_encode.cc.orig 2015-09-01 13:04:54 UTC -+++ enc/entropy_encode.cc -@@ -16,13 +16,13 @@ - - #include "./entropy_encode.h" - --#include <stdint.h> - #include <algorithm> - #include <limits> - #include <vector> - #include <cstdlib> - - #include "./histogram.h" -+#include "./types.h" - - namespace brotli { - ---- enc/entropy_encode.h.orig 2015-09-01 13:04:54 UTC -+++ enc/entropy_encode.h -@@ -17,11 +17,11 @@ - #ifndef BROTLI_ENC_ENTROPY_ENCODE_H_ - #define BROTLI_ENC_ENTROPY_ENCODE_H_ - --#include <stdint.h> - #include <string.h> - #include <vector> - #include "./histogram.h" - #include "./prefix.h" -+#include "./types.h" - - namespace brotli { - ---- enc/fast_log.h.orig 2015-09-01 13:04:54 UTC -+++ enc/fast_log.h -@@ -19,7 +19,8 @@ - - #include <assert.h> - #include <math.h> --#include <stdint.h> -+ -+#include "./types.h" - - namespace brotli { - ---- enc/find_match_length.h.orig 2015-09-01 13:04:54 UTC -+++ enc/find_match_length.h -@@ -17,11 +17,9 @@ - #ifndef BROTLI_ENC_FIND_MATCH_LENGTH_H_ - #define BROTLI_ENC_FIND_MATCH_LENGTH_H_ - --#include <stdint.h> -- --#include <stddef.h> - - #include "./port.h" -+#include "./types.h" - - namespace brotli { - ---- enc/hash.h.orig 2015-09-01 13:04:54 UTC -+++ enc/hash.h -@@ -18,8 +18,6 @@ - #ifndef BROTLI_ENC_HASH_H_ - #define BROTLI_ENC_HASH_H_ - --#include <stddef.h> --#include <stdint.h> - #include <string.h> - #include <sys/types.h> - #include <algorithm> -@@ -34,6 +32,7 @@ - #include "./prefix.h" - #include "./static_dict.h" - #include "./transform.h" -+#include "./types.h" - - namespace brotli { - -@@ -631,17 +630,32 @@ struct Hashers { - typedef HashLongestMatch<15, 7, 10> H8; - typedef HashLongestMatch<15, 8, 16> H9; - -+ Hashers() : hash_h1(0), hash_h2(0), hash_h3(0), hash_h4(0), hash_h5(0), -+ hash_h6(0), hash_h7(0), hash_h8(0), hash_h9(0) {} -+ -+ ~Hashers() { -+ delete hash_h1; -+ delete hash_h2; -+ delete hash_h3; -+ delete hash_h4; -+ delete hash_h5; -+ delete hash_h6; -+ delete hash_h7; -+ delete hash_h8; -+ delete hash_h9; -+ } -+ - void Init(int type) { - switch (type) { -- case 1: hash_h1.reset(new H1); break; -- case 2: hash_h2.reset(new H2); break; -- case 3: hash_h3.reset(new H3); break; -- case 4: hash_h4.reset(new H4); break; -- case 5: hash_h5.reset(new H5); break; -- case 6: hash_h6.reset(new H6); break; -- case 7: hash_h7.reset(new H7); break; -- case 8: hash_h8.reset(new H8); break; -- case 9: hash_h9.reset(new H9); break; -+ case 1: hash_h1 = new H1; break; -+ case 2: hash_h2 = new H2; break; -+ case 3: hash_h3 = new H3; break; -+ case 4: hash_h4 = new H4; break; -+ case 5: hash_h5 = new H5; break; -+ case 6: hash_h6 = new H6; break; -+ case 7: hash_h7 = new H7; break; -+ case 8: hash_h8 = new H8; break; -+ case 9: hash_h9 = new H9; break; - default: break; - } - } -@@ -657,28 +671,28 @@ struct Hashers { - void PrependCustomDictionary( - int type, const size_t size, const uint8_t* dict) { - switch (type) { -- case 1: WarmupHash(size, dict, hash_h1.get()); break; -- case 2: WarmupHash(size, dict, hash_h2.get()); break; -- case 3: WarmupHash(size, dict, hash_h3.get()); break; -- case 4: WarmupHash(size, dict, hash_h4.get()); break; -- case 5: WarmupHash(size, dict, hash_h5.get()); break; -- case 6: WarmupHash(size, dict, hash_h6.get()); break; -- case 7: WarmupHash(size, dict, hash_h7.get()); break; -- case 8: WarmupHash(size, dict, hash_h8.get()); break; -- case 9: WarmupHash(size, dict, hash_h9.get()); break; -+ case 1: WarmupHash(size, dict, hash_h1); break; -+ case 2: WarmupHash(size, dict, hash_h2); break; -+ case 3: WarmupHash(size, dict, hash_h3); break; -+ case 4: WarmupHash(size, dict, hash_h4); break; -+ case 5: WarmupHash(size, dict, hash_h5); break; -+ case 6: WarmupHash(size, dict, hash_h6); break; -+ case 7: WarmupHash(size, dict, hash_h7); break; -+ case 8: WarmupHash(size, dict, hash_h8); break; -+ case 9: WarmupHash(size, dict, hash_h9); break; - default: break; - } - } - -- std::unique_ptr<H1> hash_h1; -- std::unique_ptr<H2> hash_h2; -- std::unique_ptr<H3> hash_h3; -- std::unique_ptr<H4> hash_h4; -- std::unique_ptr<H5> hash_h5; -- std::unique_ptr<H6> hash_h6; -- std::unique_ptr<H7> hash_h7; -- std::unique_ptr<H8> hash_h8; -- std::unique_ptr<H9> hash_h9; -+ H1* hash_h1; -+ H2* hash_h2; -+ H3* hash_h3; -+ H4* hash_h4; -+ H5* hash_h5; -+ H6* hash_h6; -+ H7* hash_h7; -+ H8* hash_h8; -+ H9* hash_h9; - }; - - } // namespace brotli ---- enc/histogram.cc.orig 2015-09-01 13:04:54 UTC -+++ enc/histogram.cc -@@ -16,7 +16,6 @@ - - #include "./histogram.h" - --#include <stdint.h> - #include <cmath> - - #include "./block_splitter.h" ---- enc/histogram.h.orig 2015-09-01 13:04:54 UTC -+++ enc/histogram.h -@@ -17,13 +17,13 @@ - #ifndef BROTLI_ENC_HISTOGRAM_H_ - #define BROTLI_ENC_HISTOGRAM_H_ - --#include <stdint.h> - #include <string.h> - #include <vector> - #include <utility> - #include "./command.h" - #include "./fast_log.h" - #include "./prefix.h" -+#include "./types.h" - - namespace brotli { - ---- enc/literal_cost.cc.orig 2015-09-01 13:04:54 UTC -+++ enc/literal_cost.cc -@@ -17,10 +17,10 @@ - #include "./literal_cost.h" - - #include <math.h> --#include <stdint.h> - #include <algorithm> - - #include "./fast_log.h" -+#include "./types.h" - - namespace brotli { - ---- enc/literal_cost.h.orig 2015-09-01 13:04:54 UTC -+++ enc/literal_cost.h -@@ -17,8 +17,7 @@ - #ifndef BROTLI_ENC_LITERAL_COST_H_ - #define BROTLI_ENC_LITERAL_COST_H_ - --#include <stddef.h> --#include <stdint.h> -+#include "./types.h" - - namespace brotli { - ---- enc/port.h.orig 2015-09-01 13:04:54 UTC -+++ enc/port.h -@@ -18,6 +18,7 @@ - #define BROTLI_ENC_PORT_H_ - - #include <string.h> -+#include "./types.h" - - #if defined OS_LINUX || defined OS_CYGWIN - #include <endian.h> ---- enc/prefix.h.orig 2015-09-01 13:04:54 UTC -+++ enc/prefix.h -@@ -18,8 +18,8 @@ - #ifndef BROTLI_ENC_PREFIX_H_ - #define BROTLI_ENC_PREFIX_H_ - --#include <stdint.h> - #include "./fast_log.h" -+#include "./types.h" - - namespace brotli { - ---- enc/ringbuffer.h.orig 2015-09-01 13:04:54 UTC -+++ enc/ringbuffer.h -@@ -17,10 +17,9 @@ - #ifndef BROTLI_ENC_RINGBUFFER_H_ - #define BROTLI_ENC_RINGBUFFER_H_ - --#include <stddef.h> --#include <stdint.h> - - #include "./port.h" -+#include "./types.h" - - namespace brotli { - ---- enc/static_dict.h.orig 2015-09-01 13:04:54 UTC -+++ enc/static_dict.h -@@ -17,7 +17,7 @@ - #ifndef BROTLI_ENC_STATIC_DICT_H_ - #define BROTLI_ENC_STATIC_DICT_H_ - --#include <stdint.h> -+#include "./types.h" - - namespace brotli { - ---- enc/static_dict_lut.h.orig 2015-09-01 13:04:54 UTC -+++ enc/static_dict_lut.h -@@ -17,7 +17,7 @@ - #ifndef BROTLI_ENC_DICTIONARY_LUT_H_ - #define BROTLI_ENC_DICTIONARY_LUT_H_ - --#include <stdint.h> -+#include "./types.h" - - namespace brotli { - ---- enc/streams.h.orig 2015-09-01 13:04:54 UTC -+++ enc/streams.h -@@ -17,9 +17,10 @@ - #ifndef BROTLI_ENC_STREAMS_H_ - #define BROTLI_ENC_STREAMS_H_ - --#include <stddef.h> - #include <stdio.h> - #include <string> -+#include "./port.h" -+#include "./types.h" - - namespace brotli { - -@@ -56,7 +57,7 @@ class BrotliMemIn : public BrotliIn { - // returns the amount of data consumed - int position() const { return pos_; } - -- const void* Read(size_t n, size_t* OUTPUT) override; -+ const void* Read(size_t n, size_t* OUTPUT); - - private: - const void* buf_; // start of input buffer -@@ -74,7 +75,7 @@ class BrotliMemOut : public BrotliOut { - // returns the amount of data written - int position() const { return pos_; } - -- bool Write(const void* buf, size_t n) override; -+ bool Write(const void* buf, size_t n); - - private: - void* buf_; // start of output buffer -@@ -92,7 +93,7 @@ class BrotliStringOut : public BrotliOut - - void Reset(std::string* buf, int max_len); - -- bool Write(const void* buf, size_t n) override; -+ bool Write(const void* buf, size_t n); - - private: - std::string* buf_; // start of output buffer -@@ -105,7 +106,7 @@ class BrotliFileIn : public BrotliIn { - BrotliFileIn(FILE* f, size_t max_read_size); - ~BrotliFileIn(); - -- const void* Read(size_t n, size_t* bytes_read) override; -+ const void* Read(size_t n, size_t* bytes_read); - - private: - FILE* f_; -@@ -118,7 +119,7 @@ class BrotliFileOut : public BrotliOut { - public: - explicit BrotliFileOut(FILE* f); - -- bool Write(const void* buf, size_t n) override; -+ bool Write(const void* buf, size_t n); - private: - FILE* f_; - }; ---- enc/types.h.orig 2015-10-04 15:45:23 UTC -+++ enc/types.h -@@ -0,0 +1,36 @@ -+/* Copyright 2013 Google Inc. All Rights Reserved. -+ -+ Licensed under the Apache License, Version 2.0 (the "License"); -+ you may not use this file except in compliance with the License. -+ You may obtain a copy of the License at -+ -+ http://www.apache.org/licenses/LICENSE-2.0 -+ -+ Unless required by applicable law or agreed to in writing, software -+ distributed under the License is distributed on an "AS IS" BASIS, -+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -+ See the License for the specific language governing permissions and -+ limitations under the License. -+*/ -+ -+/* Common types */ -+ -+#ifndef BROTLI_ENC_TYPES_H_ -+#define BROTLI_ENC_TYPES_H_ -+ -+#include <stddef.h> /* for size_t */ -+ -+#if defined(_MSC_VER) && (_MSC_VER < 1600) -+typedef signed char int8_t; -+typedef unsigned char uint8_t; -+typedef signed short int16_t; -+typedef unsigned short uint16_t; -+typedef signed int int32_t; -+typedef unsigned int uint32_t; -+typedef unsigned long long int uint64_t; -+typedef long long int int64_t; -+#else -+#include <stdint.h> -+#endif /* defined(_MSC_VER) && (_MSC_VER < 1600) */ -+ -+#endif /* BROTLI_ENC_TYPES_H_ */ ---- enc/write_bits.h.orig 2015-09-01 13:04:54 UTC -+++ enc/write_bits.h -@@ -18,10 +18,10 @@ - #define BROTLI_ENC_WRITE_BITS_H_ - - #include <assert.h> --#include <stdint.h> - #include <stdio.h> - - #include "./port.h" -+#include "./types.h" - - namespace brotli { - ---- setup.py.orig 2015-09-01 13:04:54 UTC -+++ setup.py -@@ -175,6 +175,7 @@ brotli = Extension("brotli", - "enc/static_dict_lut.h", - "enc/streams.h", - "enc/transform.h", -+ "enc/types.h", - "enc/write_bits.h", - "dec/bit_reader.h", - "dec/context.h", |