--- /dev/null
+[cxx]
+ cppflags = -DXXH_NAMESPACE=ZSTD_ -DZSTD_LEGACY_SUPPORT=1
+ cflags = -Wall -Wextra -Wcast-qual -Wcast-align -Wshadow -Wstrict-aliasing=1 -Wswitch-enum -Wdeclaration-after-statement -Wstrict-prototypes -Wundef -Wpointer-arith
+ cxxppflags = -DXXH_NAMESPACE=ZSTD_ -DZSTD_LEGACY_SUPPORT=1
+ cxxflags = -std=c++11 -Wno-format-security -Wno-deprecated-declarations
+ gtest_dep = //contrib/pzstd:gtest
+
+[httpserver]
+ port = 0
--- /dev/null
+c8dec2e8da52d483f6dd7c6cd2ad694e8e6fed2b
# Directories
bin/
+.buckd/
+buck-out/
--- /dev/null
+cxx_library(
+ name='libpzstd',
+ visibility=['PUBLIC'],
+ header_namespace='',
+ exported_headers=[
+ 'ErrorHolder.h',
+ 'Logging.h',
+ 'Pzstd.h',
+ ],
+ headers=[
+ 'SkippableFrame.h',
+ ],
+ srcs=[
+ 'Pzstd.cpp',
+ 'SkippableFrame.cpp',
+ ],
+ deps=[
+ ':options',
+ '//contrib/pzstd/utils:utils',
+ '//lib:mem',
+ '//lib:zstd',
+ ],
+)
+
+cxx_library(
+ name='options',
+ visibility=['PUBLIC'],
+ header_namespace='',
+ exported_headers=['Options.h'],
+ srcs=['Options.cpp'],
+ deps=[
+ '//contrib/pzstd/utils:scope_guard',
+ '//lib:zstd',
+ '//programs:util',
+ ],
+)
+
+cxx_binary(
+ name='pzstd',
+ visibility=['PUBLIC'],
+ srcs=['main.cpp'],
+ deps=[
+ ':libpzstd',
+ ':options',
+ ],
+)
+
+# Must run "make googletest" first
+cxx_library(
+ name='gtest',
+ srcs=glob([
+ 'googletest/googletest/src/gtest-all.cc',
+ 'googletest/googlemock/src/gmock-all.cc',
+ 'googletest/googlemock/src/gmock_main.cc',
+ ]),
+ header_namespace='',
+ exported_headers=subdir_glob([
+ ('googletest/googletest/include', '**/*.h'),
+ ('googletest/googlemock/include', '**/*.h'),
+ ]),
+ headers=subdir_glob([
+ ('googletest/googletest', 'src/*.cc'),
+ ('googletest/googletest', 'src/*.h'),
+ ('googletest/googlemock', 'src/*.cc'),
+ ('googletest/googlemock', 'src/*.h'),
+ ]),
+ platform_linker_flags=[
+ ('android', []),
+ ('', ['-lpthread']),
+ ],
+ visibility=['PUBLIC'],
+)
--- /dev/null
+cxx_test(
+ name='options_test',
+ srcs=['OptionsTest.cpp'],
+ deps=['//contrib/pzstd:options'],
+)
+
+cxx_test(
+ name='pzstd_test',
+ srcs=['PzstdTest.cpp'],
+ deps=[
+ ':round_trip',
+ '//contrib/pzstd:libpzstd',
+ '//contrib/pzstd/utils:scope_guard',
+ '//programs:datagen',
+ ],
+)
+
+cxx_binary(
+ name='round_trip_test',
+ srcs=['RoundTripTest.cpp'],
+ deps=[
+ ':round_trip',
+ '//contrib/pzstd/utils:scope_guard',
+ '//programs:datagen',
+ ]
+)
+
+cxx_library(
+ name='round_trip',
+ header_namespace='test',
+ exported_headers=['RoundTrip.h'],
+ deps=[
+ '//contrib/pzstd:libpzstd',
+ '//contrib/pzstd:options',
+ '//contrib/pzstd/utils:scope_guard',
+ ]
+)
--- /dev/null
+cxx_library(
+ name='buffer',
+ visibility=['PUBLIC'],
+ header_namespace='utils',
+ exported_headers=['Buffer.h'],
+ deps=[':range'],
+)
+
+cxx_library(
+ name='file_system',
+ visibility=['PUBLIC'],
+ header_namespace='utils',
+ exported_headers=['FileSystem.h'],
+ deps=[':range'],
+)
+
+cxx_library(
+ name='likely',
+ visibility=['PUBLIC'],
+ header_namespace='utils',
+ exported_headers=['Likely.h'],
+)
+
+cxx_library(
+ name='range',
+ visibility=['PUBLIC'],
+ header_namespace='utils',
+ exported_headers=['Range.h'],
+ deps=[':likely'],
+)
+
+cxx_library(
+ name='resource_pool',
+ visibility=['PUBLIC'],
+ header_namespace='utils',
+ exported_headers=['ResourcePool.h'],
+)
+
+cxx_library(
+ name='scope_guard',
+ visibility=['PUBLIC'],
+ header_namespace='utils',
+ exported_headers=['ScopeGuard.h'],
+)
+
+cxx_library(
+ name='thread_pool',
+ visibility=['PUBLIC'],
+ header_namespace='utils',
+ exported_headers=['ThreadPool.h'],
+ deps=[':work_queue'],
+)
+
+cxx_library(
+ name='work_queue',
+ visibility=['PUBLIC'],
+ header_namespace='utils',
+ exported_headers=['WorkQueue.h'],
+ deps=[':buffer'],
+)
+
+cxx_library(
+ name='utils',
+ visibility=['PUBLIC'],
+ deps=[
+ ':buffer',
+ ':file_system',
+ ':likely',
+ ':range',
+ ':resource_pool',
+ ':scope_guard',
+ ':thread_pool',
+ ':work_queue',
+ ],
+)
--- /dev/null
+cxx_test(
+ name='buffer_test',
+ srcs=['BufferTest.cpp'],
+ deps=['//contrib/pzstd/utils:buffer'],
+)
+
+cxx_test(
+ name='range_test',
+ srcs=['RangeTest.cpp'],
+ deps=['//contrib/pzstd/utils:range'],
+)
+
+cxx_test(
+ name='resource_pool_test',
+ srcs=['ResourcePoolTest.cpp'],
+ deps=['//contrib/pzstd/utils:resource_pool'],
+)
+
+cxx_test(
+ name='scope_guard_test',
+ srcs=['ScopeGuardTest.cpp'],
+ deps=['//contrib/pzstd/utils:scope_guard'],
+)
+
+cxx_test(
+ name='thread_pool_test',
+ srcs=['ThreadPoolTest.cpp'],
+ deps=['//contrib/pzstd/utils:thread_pool'],
+)
+
+cxx_test(
+ name='work_queue_test',
+ srcs=['RangeTest.cpp'],
+ deps=['//contrib/pzstd/utils:work_queue'],
+)
--- /dev/null
+cxx_library(
+ name='zstd',
+ header_namespace='',
+ visibility=['PUBLIC'],
+ deps=[
+ ':common',
+ ':compress',
+ ':decompress',
+ ':deprecated',
+ ],
+)
+
+cxx_library(
+ name='compress',
+ header_namespace='',
+ visibility=['PUBLIC'],
+ exported_headers=subdir_glob([
+ ('compress', 'zstdmt_compress.h'),
+ ]),
+ headers=subdir_glob([
+ ('compress', 'zstd_opt.h'),
+ ]),
+ srcs=[
+ 'compress/zstd_compress.c',
+ 'compress/zstdmt_compress.c',
+ ],
+ deps=[':common'],
+)
+
+cxx_library(
+ name='decompress',
+ header_namespace='',
+ visibility=['PUBLIC'],
+ srcs=['decompress/zstd_decompress.c'],
+ deps=[
+ ':common',
+ ':legacy',
+ ],
+)
+
+cxx_library(
+ name='deprecated',
+ header_namespace='',
+ visibility=['PUBLIC'],
+ exported_headers=subdir_glob([
+ ('decprecated', '*.h'),
+ ]),
+ srcs=glob(['deprecated/*.c']),
+ deps=[':common'],
+)
+
+cxx_library(
+ name='legacy',
+ header_namespace='',
+ visibility=['PUBLIC'],
+ exported_headers=subdir_glob([
+ ('legacy', '*.h'),
+ ]),
+ srcs=glob(['legacy/*.c']),
+ deps=[':common'],
+)
+
+cxx_library(
+ name='zdict',
+ header_namespace='',
+ visibility=['PUBLIC'],
+ exported_headers=subdir_glob([
+ ('dictBuilder', 'zdict.h'),
+ ]),
+ headers=subdir_glob([
+ ('dictBuilder', 'divsufsort.h'),
+ ]),
+ srcs=glob(['dictBuilder/*.c']),
+ deps=[':common'],
+)
+
+cxx_library(
+ name='bitstream',
+ header_namespace='',
+ visibility=['PUBLIC'],
+ exported_headers=subdir_glob([
+ ('common', 'bitstream.h'),
+ ]),
+)
+
+cxx_library(
+ name='entropy',
+ header_namespace='',
+ visibility=['PUBLIC'],
+ exported_headers=subdir_glob([
+ ('common', 'fse.h'),
+ ('common', 'huf.h'),
+ ]),
+ srcs=[
+ 'common/entropy_common.c',
+ 'common/fse_decompress.c',
+ 'compress/fse_compress.c',
+ 'compress/huf_compress.c',
+ 'decompress/huf_decompress.c',
+ ],
+ deps=[
+ ':bitstream',
+ ':errors',
+ ':mem',
+ ],
+)
+
+cxx_library(
+ name='errors',
+ header_namespace='',
+ visibility=['PUBLIC'],
+ exported_headers=subdir_glob([
+ ('common', 'error_private.h'),
+ ('common', 'zstd_errors.h'),
+ ]),
+ srcs=['common/error_private.c'],
+)
+
+cxx_library(
+ name='mem',
+ header_namespace='',
+ visibility=['PUBLIC'],
+ exported_headers=subdir_glob([
+ ('common', 'mem.h'),
+ ]),
+)
+
+cxx_library(
+ name='pool',
+ header_namespace='',
+ visibility=['PUBLIC'],
+ exported_headers=subdir_glob([
+ ('common', 'pool.h'),
+ ]),
+ srcs=['common/pool.c'],
+ deps=[':threading'],
+)
+
+cxx_library(
+ name='threading',
+ header_namespace='',
+ visibility=['PUBLIC'],
+ exported_headers=subdir_glob([
+ ('common', 'threading.h'),
+ ]),
+ srcs=['common/threading.c'],
+)
+
+cxx_library(
+ name='xxhash',
+ header_namespace='',
+ visibility=['PUBLIC'],
+ exported_headers=subdir_glob([
+ ('common', 'xxhash.h'),
+ ]),
+ srcs=['common/xxhash.c'],
+)
+
+cxx_library(
+ name='zstd_common',
+ header_namespace='',
+ visibility=['PUBLIC'],
+ exported_headers=subdir_glob([
+ ('', 'zstd.h'),
+ ('common', 'zstd_internal.h'),
+ ]),
+ srcs=['common/zstd_common.c'],
+ deps=[
+ ':errors',
+ ':mem',
+ ],
+)
+
+cxx_library(
+ name='common',
+ deps=[
+ ':bitstream',
+ ':entropy',
+ ':errors',
+ ':mem',
+ ':pool',
+ ':threading',
+ ':xxhash',
+ ':zstd_common',
+ ]
+)
#ifdef ZSTD_MULTITHREAD
-#include <threading.h> /* pthread adaptation */
+#include "threading.h" /* pthread adaptation */
/* A job is a function and an opaque argument */
typedef struct POOL_job_s {
--- /dev/null
+cxx_binary(
+ name='zstd',
+ headers=glob(['*.h'], excludes=['datagen.h', 'platform.h', 'util.h']),
+ srcs=glob(['*.c'], excludes=['datagen.c']),
+ deps=[
+ ':datagen',
+ ':util',
+ '//lib:zstd',
+ '//lib:zdict',
+ '//lib:mem',
+ '//lib:xxhash',
+ ],
+)
+
+cxx_binary(
+ name='zstdmt',
+ headers=glob(['*.h'], excludes=['datagen.h', 'platform.h', 'util.h']),
+ srcs=glob(['*.c'], excludes=['datagen.c']),
+ deps=[
+ ':datagen',
+ ':util',
+ '//lib:zstd',
+ '//lib:zdict',
+ '//lib:mem',
+ '//lib:xxhash',
+ ],
+ preprocessor_flags=['-DZSTD_MULTITHREAD'],
+ linker_flags=['-lpthread'],
+)
+
+cxx_binary(
+ name='gzstd',
+ headers=glob(['*.h'], excludes=['datagen.h', 'platform.h', 'util.h']),
+ srcs=glob(['*.c'], excludes=['datagen.c']),
+ deps=[
+ ':datagen',
+ ':util',
+ '//lib:zstd',
+ '//lib:zdict',
+ '//lib:mem',
+ '//lib:xxhash',
+ ],
+ preprocessor_flags=['-DZSTD_GZDECOMPRESS'],
+ linker_flags=['-lz'],
+)
+
+cxx_library(
+ name='datagen',
+ visibility=['PUBLIC'],
+ header_namespace='',
+ exported_headers=['datagen.h'],
+ srcs=['datagen.c'],
+ deps=['//lib:mem'],
+)
+
+
+cxx_library(
+ name='util',
+ visibility=['PUBLIC'],
+ header_namespace='',
+ exported_headers=['util.h', 'platform.h'],
+ deps=['//lib:mem'],
+)
#include "zstd.h"
#include "datagen.h" /* RDG_genBuffer */
#include "xxhash.h"
+#include "zstdmt_compress.h"
/* *************************************
#define MIN(a,b) ((a)<(b) ? (a) : (b))
#define MAX(a,b) ((a)>(b) ? (a) : (b))
-#include "compress/zstdmt_compress.h"
-
static int BMK_benchMem(const void* srcBuffer, size_t srcSize,
const char* displayName, int cLevel,
const size_t* fileSizes, U32 nbFiles,
--- /dev/null
+cxx_library(
+ name='zlib_wrapper',
+ visibility=['PUBLIC'],
+ exported_linker_flags=['-lz'],
+ header_namespace='',
+ exported_headers=['zstd_zlibwrapper.h'],
+ headers=[
+ 'gzcompatibility.h',
+ 'gzguts.h',
+ ],
+ srcs=glob(['*.c']),
+ deps=[
+ '//lib:zstd',
+ '//lib:zstd_common',
+ ]
+)
+
+cxx_binary(
+ name='minigzip',
+ srcs=['examples/minigzip.c'],
+ deps=[':zlib_wrapper'],
+)