/* Copyright 2016 Google Inc. All Rights Reserved. Distributed under MIT license. See file LICENSE for detail or copy at https://opensource.org/licenses/MIT */ /* Version definition. */ #ifndef BROTLI_COMMON_VERSION_H_ #define BROTLI_COMMON_VERSION_H_ /* Compose 3 components into a single number. In a hexadecimal representation B and C components occupy exactly 3 digits. */ #define BROTLI_MAKE_HEX_VERSION(A, B, C) ((A << 24) | (B << 12) | C) /* Those macros should only be used when library is compiled together with the client. If library is dynamically linked, use BrotliDecoderVersion and BrotliEncoderVersion methods. */ #define BROTLI_VERSION_MAJOR 1 #define BROTLI_VERSION_MINOR 1 #define BROTLI_VERSION_PATCH 0 #define BROTLI_VERSION BROTLI_MAKE_HEX_VERSION( \ BROTLI_VERSION_MAJOR, BROTLI_VERSION_MINOR, BROTLI_VERSION_PATCH) /* This macro is used by build system to produce Libtool-friendly soname. See https://www.gnu.org/software/libtool/manual/html_node/Libtool-versioning.html Version evolution rules: - interfaces added (or change is compatible) -> current+1:0:age+1 - interfaces removed (or changed is incompatible) -> current+1:0:0 - interfaces not changed -> current:revision+1:age */ #define BROTLI_ABI_CURRENT 2 #define BROTLI_ABI_REVISION 0 #define BROTLI_ABI_AGE 1 #if BROTLI_VERSION_MAJOR != (BROTLI_ABI_CURRENT - BROTLI_ABI_AGE) #error ABI/API version inconsistency #endif #if BROTLI_VERSION_MINOR != BROTLI_ABI_AGE #error ABI/API version inconsistency #endif #if BROTLI_VERSION_PATCH != BROTLI_ABI_REVISION #error ABI/API version inconsistency #endif #endif /* BROTLI_COMMON_VERSION_H_ */