• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /**
2  * \file zstddeclib.c
3  * Single-file Zstandard decompressor.
4  *
5  * Generate using:
6  * \code
7  *	combine.sh -r ../../lib -o zstddeclib.c zstddeclib-in.c
8  * \endcode
9  */
10 /*
11  * Copyright (c) 2016-2020, Yann Collet, Facebook, Inc.
12  * All rights reserved.
13  *
14  * This source code is licensed under both the BSD-style license (found in the
15  * LICENSE file in the root directory of this source tree) and the GPLv2 (found
16  * in the COPYING file in the root directory of this source tree).
17  * You may select, at your option, one of the above-listed licenses.
18  */
19 /*
20  * Settings to bake for the standalone decompressor.
21  *
22  * Note: It's important that none of these affects 'zstd.h' (only the
23  * implementation files we're amalgamating).
24  *
25  * Note: MEM_MODULE stops xxhash redefining BYTE, U16, etc., which are also
26  * defined in mem.h (breaking C99 compatibility).
27  *
28  * Note: the undefs for xxHash allow Zstd's implementation to coinside with with
29  * standalone xxHash usage (with global defines).
30  */
31 #define DEBUGLEVEL 0
32 #define MEM_MODULE
33 #undef  XXH_NAMESPACE
34 #define XXH_NAMESPACE ZSTD_
35 #undef  XXH_PRIVATE_API
36 #define XXH_PRIVATE_API
37 #undef  XXH_INLINE_ALL
38 #define XXH_INLINE_ALL
39 #define ZSTD_LEGACY_SUPPORT 0
40 #define ZSTD_STRIP_ERROR_STRINGS
41 
42 /* Include zstd_deps.h first with all the options we need enabled. */
43 #define ZSTD_DEPS_NEED_MALLOC
44 #include "common/zstd_deps.h"
45 
46 #include "common/debug.c"
47 #include "common/entropy_common.c"
48 #include "common/error_private.c"
49 #include "common/fse_decompress.c"
50 #include "common/zstd_common.c"
51 
52 #include "decompress/huf_decompress.c"
53 #include "decompress/zstd_ddict.c"
54 #include "decompress/zstd_decompress.c"
55 #include "decompress/zstd_decompress_block.c"
56