Home | History | Annotate | Line # | Download | only in single_file_libs
      1 /**
      2  * \file zstddeclib.c
      3  * Single-file Zstandard decompressor.
      4  *
      5  * Generate using:
      6  * \code
      7  *	python combine.py -r ../../lib -x legacy/zstd_legacy.h -o zstddeclib.c zstddeclib-in.c
      8  * \endcode
      9  */
     10 /*
     11  * Copyright (c) Meta Platforms, Inc. and affiliates.
     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 coincide with
     29  * standalone xxHash usage (with global defines).
     30  *
     31  * Note: if you enable ZSTD_LEGACY_SUPPORT the combine.py script will need
     32  * re-running without the "-x legacy/zstd_legacy.h" option (it excludes the
     33  * legacy support at the source level).
     34  */
     35 #define DEBUGLEVEL 0
     36 #define MEM_MODULE
     37 #undef  XXH_NAMESPACE
     38 #define XXH_NAMESPACE ZSTD_
     39 #undef  XXH_PRIVATE_API
     40 #define XXH_PRIVATE_API
     41 #undef  XXH_INLINE_ALL
     42 #define XXH_INLINE_ALL
     43 #define ZSTD_LEGACY_SUPPORT 0
     44 #define ZSTD_STRIP_ERROR_STRINGS
     45 #define ZSTD_TRACE 0
     46 /* TODO: Can't amalgamate ASM function */
     47 #define ZSTD_DISABLE_ASM 1
     48 
     49 /* Include zstd_deps.h first with all the options we need enabled. */
     50 #define ZSTD_DEPS_NEED_MALLOC
     51 #include "common/zstd_deps.h"
     52 
     53 #include "common/debug.c"
     54 #include "common/entropy_common.c"
     55 #include "common/error_private.c"
     56 #include "common/fse_decompress.c"
     57 #include "common/zstd_common.c"
     58 
     59 #include "decompress/huf_decompress.c"
     60 #include "decompress/zstd_ddict.c"
     61 #include "decompress/zstd_decompress.c"
     62 #include "decompress/zstd_decompress_block.c"
     63