/* Copyright 2016 Google Inc. All Rights Reserved.12Distributed under MIT license.3See file LICENSE for detail or copy at https://opensource.org/licenses/MIT4*/56/* Version definition. */78#ifndef BROTLI_COMMON_VERSION_H_9#define BROTLI_COMMON_VERSION_H_1011/* Compose 3 components into a single number. In a hexadecimal representation12B and C components occupy exactly 3 digits. */13#define BROTLI_MAKE_HEX_VERSION(A, B, C) ((A << 24) | (B << 12) | C)1415/* Those macros should only be used when library is compiled together with16the client. If library is dynamically linked, use BrotliDecoderVersion and17BrotliEncoderVersion methods. */1819#define BROTLI_VERSION_MAJOR 120#define BROTLI_VERSION_MINOR 121#define BROTLI_VERSION_PATCH 02223#define BROTLI_VERSION BROTLI_MAKE_HEX_VERSION( \24BROTLI_VERSION_MAJOR, BROTLI_VERSION_MINOR, BROTLI_VERSION_PATCH)2526/* This macro is used by build system to produce Libtool-friendly soname. See27https://www.gnu.org/software/libtool/manual/html_node/Libtool-versioning.html28Version evolution rules:29- interfaces added (or change is compatible) -> current+1:0:age+130- interfaces removed (or changed is incompatible) -> current+1:0:031- interfaces not changed -> current:revision+1:age32*/3334#define BROTLI_ABI_CURRENT 235#define BROTLI_ABI_REVISION 036#define BROTLI_ABI_AGE 13738#if BROTLI_VERSION_MAJOR != (BROTLI_ABI_CURRENT - BROTLI_ABI_AGE)39#error ABI/API version inconsistency40#endif4142#if BROTLI_VERSION_MINOR != BROTLI_ABI_AGE43#error ABI/API version inconsistency44#endif4546#if BROTLI_VERSION_PATCH != BROTLI_ABI_REVISION47#error ABI/API version inconsistency48#endif4950#endif /* BROTLI_COMMON_VERSION_H_ */515253