zstd-ruby 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +19 -0
  3. data/.gitmodules +3 -0
  4. data/.rspec +2 -0
  5. data/.travis.yml +11 -0
  6. data/CODE_OF_CONDUCT.md +74 -0
  7. data/Gemfile +4 -0
  8. data/LICENSE.txt +29 -0
  9. data/README.md +63 -0
  10. data/Rakefile +22 -0
  11. data/bin/console +14 -0
  12. data/bin/setup +8 -0
  13. data/ext/zstdruby/extconf.rb +23 -0
  14. data/ext/zstdruby/libzstd/.gitignore +2 -0
  15. data/ext/zstdruby/libzstd/Makefile +133 -0
  16. data/ext/zstdruby/libzstd/README.md +77 -0
  17. data/ext/zstdruby/libzstd/common/bitstream.h +414 -0
  18. data/ext/zstdruby/libzstd/common/entropy_common.c +227 -0
  19. data/ext/zstdruby/libzstd/common/error_private.c +43 -0
  20. data/ext/zstdruby/libzstd/common/error_private.h +76 -0
  21. data/ext/zstdruby/libzstd/common/fse.h +668 -0
  22. data/ext/zstdruby/libzstd/common/fse_decompress.c +329 -0
  23. data/ext/zstdruby/libzstd/common/huf.h +238 -0
  24. data/ext/zstdruby/libzstd/common/mem.h +372 -0
  25. data/ext/zstdruby/libzstd/common/xxhash.c +867 -0
  26. data/ext/zstdruby/libzstd/common/xxhash.h +309 -0
  27. data/ext/zstdruby/libzstd/common/zstd_common.c +77 -0
  28. data/ext/zstdruby/libzstd/common/zstd_errors.h +60 -0
  29. data/ext/zstdruby/libzstd/common/zstd_internal.h +270 -0
  30. data/ext/zstdruby/libzstd/compress/fse_compress.c +850 -0
  31. data/ext/zstdruby/libzstd/compress/huf_compress.c +609 -0
  32. data/ext/zstdruby/libzstd/compress/zstd_compress.c +3291 -0
  33. data/ext/zstdruby/libzstd/compress/zstd_opt.h +919 -0
  34. data/ext/zstdruby/libzstd/decompress/huf_decompress.c +885 -0
  35. data/ext/zstdruby/libzstd/decompress/zstd_decompress.c +2154 -0
  36. data/ext/zstdruby/libzstd/deprecated/zbuff.h +210 -0
  37. data/ext/zstdruby/libzstd/deprecated/zbuff_compress.c +145 -0
  38. data/ext/zstdruby/libzstd/deprecated/zbuff_decompress.c +74 -0
  39. data/ext/zstdruby/libzstd/dictBuilder/divsufsort.c +1913 -0
  40. data/ext/zstdruby/libzstd/dictBuilder/divsufsort.h +67 -0
  41. data/ext/zstdruby/libzstd/dictBuilder/zdict.c +1012 -0
  42. data/ext/zstdruby/libzstd/dictBuilder/zdict.h +111 -0
  43. data/ext/zstdruby/libzstd/dll/example/Makefile +47 -0
  44. data/ext/zstdruby/libzstd/dll/example/README.md +69 -0
  45. data/ext/zstdruby/libzstd/dll/example/build_package.bat +17 -0
  46. data/ext/zstdruby/libzstd/dll/example/fullbench-dll.sln +25 -0
  47. data/ext/zstdruby/libzstd/dll/example/fullbench-dll.vcxproj +179 -0
  48. data/ext/zstdruby/libzstd/dll/libzstd.def +86 -0
  49. data/ext/zstdruby/libzstd/legacy/zstd_legacy.h +259 -0
  50. data/ext/zstdruby/libzstd/legacy/zstd_v01.c +2095 -0
  51. data/ext/zstdruby/libzstd/legacy/zstd_v01.h +80 -0
  52. data/ext/zstdruby/libzstd/legacy/zstd_v02.c +3518 -0
  53. data/ext/zstdruby/libzstd/legacy/zstd_v02.h +79 -0
  54. data/ext/zstdruby/libzstd/legacy/zstd_v03.c +3159 -0
  55. data/ext/zstdruby/libzstd/legacy/zstd_v03.h +79 -0
  56. data/ext/zstdruby/libzstd/legacy/zstd_v04.c +3795 -0
  57. data/ext/zstdruby/libzstd/legacy/zstd_v04.h +128 -0
  58. data/ext/zstdruby/libzstd/legacy/zstd_v05.c +4056 -0
  59. data/ext/zstdruby/libzstd/legacy/zstd_v05.h +149 -0
  60. data/ext/zstdruby/libzstd/legacy/zstd_v06.c +4167 -0
  61. data/ext/zstdruby/libzstd/legacy/zstd_v06.h +159 -0
  62. data/ext/zstdruby/libzstd/legacy/zstd_v07.c +4540 -0
  63. data/ext/zstdruby/libzstd/legacy/zstd_v07.h +173 -0
  64. data/ext/zstdruby/libzstd/libzstd.pc.in +14 -0
  65. data/ext/zstdruby/libzstd/zstd.h +673 -0
  66. data/ext/zstdruby/zstdruby.c +117 -0
  67. data/ext/zstdruby/zstdruby.h +6 -0
  68. data/lib/zstd-ruby.rb +6 -0
  69. data/lib/zstd-ruby/version.rb +3 -0
  70. data/zstd-ruby.gemspec +37 -0
  71. metadata +170 -0
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Copyright (c) 2016-present, Yann Collet, Facebook, Inc.
3
+ * All rights reserved.
4
+ *
5
+ * This source code is licensed under the BSD-style license found in the
6
+ * LICENSE file in the root directory of this source tree. An additional grant
7
+ * of patent rights can be found in the PATENTS file in the same directory.
8
+ */
9
+
10
+ #ifndef DICTBUILDER_H_001
11
+ #define DICTBUILDER_H_001
12
+
13
+ #if defined (__cplusplus)
14
+ extern "C" {
15
+ #endif
16
+
17
+
18
+ /*====== Dependencies ======*/
19
+ #include <stddef.h> /* size_t */
20
+
21
+
22
+ /*====== Export for Windows ======*/
23
+ /*!
24
+ * ZSTD_DLL_EXPORT :
25
+ * Enable exporting of functions when building a Windows DLL
26
+ */
27
+ #if defined(_WIN32) && defined(ZSTD_DLL_EXPORT) && (ZSTD_DLL_EXPORT==1)
28
+ # define ZDICTLIB_API __declspec(dllexport)
29
+ #else
30
+ # define ZDICTLIB_API
31
+ #endif
32
+
33
+
34
+ /*! ZDICT_trainFromBuffer() :
35
+ Train a dictionary from an array of samples.
36
+ Samples must be stored concatenated in a single flat buffer `samplesBuffer`,
37
+ supplied with an array of sizes `samplesSizes`, providing the size of each sample, in order.
38
+ The resulting dictionary will be saved into `dictBuffer`.
39
+ @return : size of dictionary stored into `dictBuffer` (<= `dictBufferCapacity`)
40
+ or an error code, which can be tested with ZDICT_isError().
41
+ Tips : In general, a reasonable dictionary has a size of ~ 100 KB.
42
+ It's obviously possible to target smaller or larger ones, just by specifying different `dictBufferCapacity`.
43
+ In general, it's recommended to provide a few thousands samples, but this can vary a lot.
44
+ It's recommended that total size of all samples be about ~x100 times the target size of dictionary.
45
+ */
46
+ ZDICTLIB_API size_t ZDICT_trainFromBuffer(void* dictBuffer, size_t dictBufferCapacity,
47
+ const void* samplesBuffer, const size_t* samplesSizes, unsigned nbSamples);
48
+
49
+
50
+ /*====== Helper functions ======*/
51
+ ZDICTLIB_API unsigned ZDICT_getDictID(const void* dictBuffer, size_t dictSize); /**< extracts dictID; @return zero if error (not a valid dictionary) */
52
+ ZDICTLIB_API unsigned ZDICT_isError(size_t errorCode);
53
+ ZDICTLIB_API const char* ZDICT_getErrorName(size_t errorCode);
54
+
55
+
56
+
57
+ #ifdef ZDICT_STATIC_LINKING_ONLY
58
+
59
+ /* ====================================================================================
60
+ * The definitions in this section are considered experimental.
61
+ * They should never be used with a dynamic library, as they may change in the future.
62
+ * They are provided for advanced usages.
63
+ * Use them only in association with static linking.
64
+ * ==================================================================================== */
65
+
66
+ typedef struct {
67
+ unsigned selectivityLevel; /* 0 means default; larger => select more => larger dictionary */
68
+ int compressionLevel; /* 0 means default; target a specific zstd compression level */
69
+ unsigned notificationLevel; /* Write to stderr; 0 = none (default); 1 = errors; 2 = progression; 3 = details; 4 = debug; */
70
+ unsigned dictID; /* 0 means auto mode (32-bits random value); other : force dictID value */
71
+ unsigned reserved[2]; /* reserved space for future parameters */
72
+ } ZDICT_params_t;
73
+
74
+
75
+ /*! ZDICT_trainFromBuffer_advanced() :
76
+ Same as ZDICT_trainFromBuffer() with control over more parameters.
77
+ `parameters` is optional and can be provided with values set to 0 to mean "default".
78
+ @return : size of dictionary stored into `dictBuffer` (<= `dictBufferSize`),
79
+ or an error code, which can be tested by ZDICT_isError().
80
+ note : ZDICT_trainFromBuffer_advanced() will send notifications into stderr if instructed to, using notificationLevel>0.
81
+ */
82
+ size_t ZDICT_trainFromBuffer_advanced(void* dictBuffer, size_t dictBufferCapacity,
83
+ const void* samplesBuffer, const size_t* samplesSizes, unsigned nbSamples,
84
+ ZDICT_params_t parameters);
85
+
86
+
87
+ /*! ZDICT_addEntropyTablesFromBuffer() :
88
+
89
+ Given a content-only dictionary (built using any 3rd party algorithm),
90
+ add entropy tables computed from an array of samples.
91
+ Samples must be stored concatenated in a flat buffer `samplesBuffer`,
92
+ supplied with an array of sizes `samplesSizes`, providing the size of each sample in order.
93
+
94
+ The input dictionary content must be stored *at the end* of `dictBuffer`.
95
+ Its size is `dictContentSize`.
96
+ The resulting dictionary with added entropy tables will be *written back to `dictBuffer`*,
97
+ starting from its beginning.
98
+ @return : size of dictionary stored into `dictBuffer` (<= `dictBufferCapacity`).
99
+ */
100
+ size_t ZDICT_addEntropyTablesFromBuffer(void* dictBuffer, size_t dictContentSize, size_t dictBufferCapacity,
101
+ const void* samplesBuffer, const size_t* samplesSizes, unsigned nbSamples);
102
+
103
+
104
+
105
+ #endif /* ZDICT_STATIC_LINKING_ONLY */
106
+
107
+ #if defined (__cplusplus)
108
+ }
109
+ #endif
110
+
111
+ #endif /* DICTBUILDER_H_001 */
@@ -0,0 +1,47 @@
1
+ # ##########################################################################
2
+ # Copyright (c) 2016-present, Yann Collet, Facebook, Inc.
3
+ # All rights reserved.
4
+ #
5
+ # This source code is licensed under the BSD-style license found in the
6
+ # LICENSE file in the root directory of this source tree. An additional grant
7
+ # of patent rights can be found in the PATENTS file in the same directory.
8
+ # ##########################################################################
9
+
10
+ VOID := /dev/null
11
+ ZSTDDIR := ../include
12
+ LIBDIR := ../static
13
+ DLLDIR := ../dll
14
+
15
+ CFLAGS ?= -O3 # can select custom flags. For example : CFLAGS="-O2 -g" make
16
+ CFLAGS += -Wall -Wextra -Wundef -Wcast-qual -Wcast-align -Wshadow -Wswitch-enum \
17
+ -Wdeclaration-after-statement -Wstrict-prototypes \
18
+ -Wpointer-arith -Wstrict-aliasing=1
19
+ CFLAGS += $(MOREFLAGS)
20
+ CPPFLAGS:= -I$(ZSTDDIR) -DXXH_NAMESPACE=ZSTD_
21
+ FLAGS := $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)
22
+
23
+
24
+ # Define *.exe as extension for Windows systems
25
+ ifneq (,$(filter Windows%,$(OS)))
26
+ EXT =.exe
27
+ else
28
+ EXT =
29
+ endif
30
+
31
+ .PHONY: default fullbench-dll fullbench-lib
32
+
33
+
34
+ default: all
35
+
36
+ all: fullbench-dll fullbench-lib
37
+
38
+
39
+ fullbench-lib: fullbench.c datagen.c
40
+ $(CC) $(FLAGS) $^ -o $@$(EXT) $(LIBDIR)/libzstd_static.lib
41
+
42
+ fullbench-dll: fullbench.c datagen.c
43
+ $(CC) $(FLAGS) $^ -o $@$(EXT) -DZSTD_DLL_IMPORT=1 $(DLLDIR)/libzstd.dll
44
+
45
+ clean:
46
+ @$(RM) fullbench-dll$(EXT) fullbench-lib$(EXT) \
47
+ @echo Cleaning completed
@@ -0,0 +1,69 @@
1
+ ZSTD Windows binary package
2
+ ====================================
3
+
4
+ #### The package contents
5
+
6
+ - `zstd.exe` : Command Line Utility, supporting gzip-like arguments
7
+ - `dll\libzstd.dll` : The DLL of ZSTD library
8
+ - `dll\libzstd.lib` : The import library of ZSTD library for Visual C++
9
+ - `example\` : The example of usage of ZSTD library
10
+ - `include\` : Header files required with ZSTD library
11
+ - `static\libzstd_static.lib` : The static ZSTD library
12
+
13
+
14
+ #### Usage of Command Line Interface
15
+
16
+ Command Line Interface (CLI) supports gzip-like arguments.
17
+ By default CLI takes an input file and compresses it to an output file:
18
+ ```
19
+ Usage: zstd [arg] [input] [output]
20
+ ```
21
+ The full list of commands for CLI can be obtained with `-h` or `-H`. The ratio can
22
+ be improved with commands from `-3` to `-16` but higher levels also have slower
23
+ compression. CLI includes in-memory compression benchmark module with compression
24
+ levels starting from `-b` and ending with `-e` with iteration time of `-i` seconds.
25
+ CLI supports aggregation of parameters i.e. `-b1`, `-e18`, and `-i1` can be joined
26
+ into `-b1e18i1`.
27
+
28
+
29
+ #### The example of usage of static and dynamic ZSTD libraries with gcc/MinGW
30
+
31
+ Use `cd example` and `make` to build `fullbench-dll` and `fullbench-lib`.
32
+ `fullbench-dll` uses a dynamic ZSTD library from the `dll` directory.
33
+ `fullbench-lib` uses a static ZSTD library from the `lib` directory.
34
+
35
+
36
+ #### Using ZSTD DLL with gcc/MinGW
37
+
38
+ The header files from `include\` and the dynamic library `dll\libzstd.dll`
39
+ are required to compile a project using gcc/MinGW.
40
+ The dynamic library has to be added to linking options.
41
+ It means that if a project that uses ZSTD consists of a single `test-dll.c`
42
+ file it should be linked with `dll\libzstd.dll`. For example:
43
+ ```
44
+ gcc $(CFLAGS) -Iinclude\ test-dll.c -o test-dll dll\libzstd.dll
45
+ ```
46
+ The compiled executable will require ZSTD DLL which is available at `dll\libzstd.dll`.
47
+
48
+
49
+ #### The example of usage of static and dynamic ZSTD libraries with Visual C++
50
+
51
+ Open `example\fullbench-dll.sln` to compile `fullbench-dll` that uses a
52
+ dynamic ZSTD library from the `dll` directory. The solution works with Visual C++
53
+ 2010 or newer. When one will open the solution with Visual C++ newer than 2010
54
+ then the solution will upgraded to the current version.
55
+
56
+
57
+ #### Using ZSTD DLL with Visual C++
58
+
59
+ The header files from `include\` and the import library `dll\libzstd.lib`
60
+ are required to compile a project using Visual C++.
61
+
62
+ 1. The path to header files should be added to `Additional Include Directories` that can
63
+ be found in project properties `C/C++` then `General`.
64
+ 2. The import library has to be added to `Additional Dependencies` that can
65
+ be found in project properties `Linker` then `Input`.
66
+ If one will provide only the name `libzstd.lib` without a full path to the library
67
+ the directory has to be added to `Linker\General\Additional Library Directories`.
68
+
69
+ The compiled executable will require ZSTD DLL which is available at `dll\libzstd.dll`.
@@ -0,0 +1,17 @@
1
+ @ECHO OFF
2
+ MKDIR bin\dll bin\static bin\example bin\include
3
+ COPY tests\fullbench.c bin\example\
4
+ COPY programs\datagen.c bin\example\
5
+ COPY programs\datagen.h bin\example\
6
+ COPY programs\util.h bin\example\
7
+ COPY lib\common\mem.h bin\example\
8
+ COPY lib\common\zstd_errors.h bin\example\
9
+ COPY lib\common\zstd_internal.h bin\example\
10
+ COPY lib\common\error_private.h bin\example\
11
+ COPY lib\zstd.h bin\include\
12
+ COPY lib\libzstd.a bin\static\libzstd_static.lib
13
+ COPY lib\dll\libzstd.* bin\dll\
14
+ COPY lib\dll\example\Makefile bin\example\
15
+ COPY lib\dll\example\fullbench-dll.* bin\example\
16
+ COPY lib\dll\example\README.md bin\
17
+ COPY programs\zstd.exe bin\zstd.exe
@@ -0,0 +1,25 @@
1
+ Microsoft Visual Studio Solution File, Format Version 12.00
2
+ # Visual Studio Express 2012 for Windows Desktop
3
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fullbench-dll", "fullbench-dll.vcxproj", "{13992FD2-077E-4954-B065-A428198201A9}"
4
+ EndProject
5
+ Global
6
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
7
+ Debug|Win32 = Debug|Win32
8
+ Debug|x64 = Debug|x64
9
+ Release|Win32 = Release|Win32
10
+ Release|x64 = Release|x64
11
+ EndGlobalSection
12
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
13
+ {13992FD2-077E-4954-B065-A428198201A9}.Debug|Win32.ActiveCfg = Debug|Win32
14
+ {13992FD2-077E-4954-B065-A428198201A9}.Debug|Win32.Build.0 = Debug|Win32
15
+ {13992FD2-077E-4954-B065-A428198201A9}.Debug|x64.ActiveCfg = Debug|x64
16
+ {13992FD2-077E-4954-B065-A428198201A9}.Debug|x64.Build.0 = Debug|x64
17
+ {13992FD2-077E-4954-B065-A428198201A9}.Release|Win32.ActiveCfg = Release|Win32
18
+ {13992FD2-077E-4954-B065-A428198201A9}.Release|Win32.Build.0 = Release|Win32
19
+ {13992FD2-077E-4954-B065-A428198201A9}.Release|x64.ActiveCfg = Release|x64
20
+ {13992FD2-077E-4954-B065-A428198201A9}.Release|x64.Build.0 = Release|x64
21
+ EndGlobalSection
22
+ GlobalSection(SolutionProperties) = preSolution
23
+ HideSolutionNode = FALSE
24
+ EndGlobalSection
25
+ EndGlobal
@@ -0,0 +1,179 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
+ <ItemGroup Label="ProjectConfigurations">
4
+ <ProjectConfiguration Include="Debug|Win32">
5
+ <Configuration>Debug</Configuration>
6
+ <Platform>Win32</Platform>
7
+ </ProjectConfiguration>
8
+ <ProjectConfiguration Include="Debug|x64">
9
+ <Configuration>Debug</Configuration>
10
+ <Platform>x64</Platform>
11
+ </ProjectConfiguration>
12
+ <ProjectConfiguration Include="Release|Win32">
13
+ <Configuration>Release</Configuration>
14
+ <Platform>Win32</Platform>
15
+ </ProjectConfiguration>
16
+ <ProjectConfiguration Include="Release|x64">
17
+ <Configuration>Release</Configuration>
18
+ <Platform>x64</Platform>
19
+ </ProjectConfiguration>
20
+ </ItemGroup>
21
+ <PropertyGroup Label="Globals">
22
+ <ProjectGuid>{00000000-1CC8-4FD7-9281-6B8DBB9D3DF8}</ProjectGuid>
23
+ <Keyword>Win32Proj</Keyword>
24
+ <RootNamespace>fullbench-dll</RootNamespace>
25
+ <OutDir>$(SolutionDir)bin\$(Platform)_$(Configuration)\</OutDir>
26
+ <IntDir>$(SolutionDir)bin\obj\$(RootNamespace)_$(Platform)_$(Configuration)\</IntDir>
27
+ </PropertyGroup>
28
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
29
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
30
+ <ConfigurationType>Application</ConfigurationType>
31
+ <UseDebugLibraries>true</UseDebugLibraries>
32
+ <CharacterSet>MultiByte</CharacterSet>
33
+ </PropertyGroup>
34
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
35
+ <ConfigurationType>Application</ConfigurationType>
36
+ <UseDebugLibraries>true</UseDebugLibraries>
37
+ <CharacterSet>MultiByte</CharacterSet>
38
+ </PropertyGroup>
39
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
40
+ <ConfigurationType>Application</ConfigurationType>
41
+ <UseDebugLibraries>false</UseDebugLibraries>
42
+ <WholeProgramOptimization>true</WholeProgramOptimization>
43
+ <CharacterSet>MultiByte</CharacterSet>
44
+ </PropertyGroup>
45
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
46
+ <ConfigurationType>Application</ConfigurationType>
47
+ <UseDebugLibraries>false</UseDebugLibraries>
48
+ <WholeProgramOptimization>true</WholeProgramOptimization>
49
+ <CharacterSet>MultiByte</CharacterSet>
50
+ </PropertyGroup>
51
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
52
+ <ImportGroup Label="ExtensionSettings">
53
+ </ImportGroup>
54
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
55
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
56
+ </ImportGroup>
57
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
58
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
59
+ </ImportGroup>
60
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
61
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
62
+ </ImportGroup>
63
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
64
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
65
+ </ImportGroup>
66
+ <PropertyGroup Label="UserMacros" />
67
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
68
+ <LinkIncremental>true</LinkIncremental>
69
+ <IncludePath>$(IncludePath);$(SolutionDir)..\..\lib;$(SolutionDir)..\..\programs;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(UniversalCRT_IncludePath);</IncludePath>
70
+ <RunCodeAnalysis>false</RunCodeAnalysis>
71
+ </PropertyGroup>
72
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
73
+ <LinkIncremental>true</LinkIncremental>
74
+ <IncludePath>$(IncludePath);$(SolutionDir)..\..\lib;$(SolutionDir)..\..\programs;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(UniversalCRT_IncludePath);</IncludePath>
75
+ <RunCodeAnalysis>false</RunCodeAnalysis>
76
+ </PropertyGroup>
77
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
78
+ <LinkIncremental>false</LinkIncremental>
79
+ <IncludePath>$(IncludePath);$(SolutionDir)..\..\lib;$(SolutionDir)..\..\programs;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(UniversalCRT_IncludePath);</IncludePath>
80
+ <RunCodeAnalysis>false</RunCodeAnalysis>
81
+ </PropertyGroup>
82
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
83
+ <LinkIncremental>false</LinkIncremental>
84
+ <IncludePath>$(IncludePath);$(SolutionDir)..\..\lib;$(SolutionDir)..\..\programs;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(UniversalCRT_IncludePath);</IncludePath>
85
+ <RunCodeAnalysis>false</RunCodeAnalysis>
86
+ </PropertyGroup>
87
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
88
+ <ClCompile>
89
+ <PrecompiledHeader>
90
+ </PrecompiledHeader>
91
+ <WarningLevel>Level4</WarningLevel>
92
+ <Optimization>Disabled</Optimization>
93
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;ZSTD_DLL_IMPORT=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
94
+ <TreatWarningAsError>true</TreatWarningAsError>
95
+ <EnablePREfast>false</EnablePREfast>
96
+ <AdditionalIncludeDirectories>..\include</AdditionalIncludeDirectories>
97
+ </ClCompile>
98
+ <Link>
99
+ <SubSystem>Console</SubSystem>
100
+ <GenerateDebugInformation>true</GenerateDebugInformation>
101
+ <AdditionalLibraryDirectories>$(SolutionDir)..\dll;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
102
+ <AdditionalDependencies>libzstd.lib;%(AdditionalDependencies)</AdditionalDependencies>
103
+ </Link>
104
+ </ItemDefinitionGroup>
105
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
106
+ <ClCompile>
107
+ <PrecompiledHeader>
108
+ </PrecompiledHeader>
109
+ <WarningLevel>Level4</WarningLevel>
110
+ <Optimization>Disabled</Optimization>
111
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;ZSTD_DLL_IMPORT=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
112
+ <TreatWarningAsError>true</TreatWarningAsError>
113
+ <EnablePREfast>false</EnablePREfast>
114
+ <AdditionalIncludeDirectories>..\include</AdditionalIncludeDirectories>
115
+ </ClCompile>
116
+ <Link>
117
+ <SubSystem>Console</SubSystem>
118
+ <GenerateDebugInformation>true</GenerateDebugInformation>
119
+ <AdditionalLibraryDirectories>$(SolutionDir)..\dll;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
120
+ <AdditionalDependencies>libzstd.lib;%(AdditionalDependencies)</AdditionalDependencies>
121
+ </Link>
122
+ </ItemDefinitionGroup>
123
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
124
+ <ClCompile>
125
+ <WarningLevel>Level4</WarningLevel>
126
+ <PrecompiledHeader>
127
+ </PrecompiledHeader>
128
+ <Optimization>MaxSpeed</Optimization>
129
+ <FunctionLevelLinking>true</FunctionLevelLinking>
130
+ <IntrinsicFunctions>true</IntrinsicFunctions>
131
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;ZSTD_DLL_IMPORT=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
132
+ <EnablePREfast>false</EnablePREfast>
133
+ <AdditionalIncludeDirectories>..\include</AdditionalIncludeDirectories>
134
+ <TreatWarningAsError>false</TreatWarningAsError>
135
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
136
+ </ClCompile>
137
+ <Link>
138
+ <SubSystem>Console</SubSystem>
139
+ <GenerateDebugInformation>true</GenerateDebugInformation>
140
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
141
+ <OptimizeReferences>true</OptimizeReferences>
142
+ <AdditionalLibraryDirectories>$(SolutionDir)..\dll;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
143
+ <AdditionalDependencies>libzstd.lib;%(AdditionalDependencies)</AdditionalDependencies>
144
+ </Link>
145
+ </ItemDefinitionGroup>
146
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
147
+ <ClCompile>
148
+ <WarningLevel>Level4</WarningLevel>
149
+ <PrecompiledHeader>
150
+ </PrecompiledHeader>
151
+ <Optimization>MaxSpeed</Optimization>
152
+ <FunctionLevelLinking>true</FunctionLevelLinking>
153
+ <IntrinsicFunctions>true</IntrinsicFunctions>
154
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;ZSTD_DLL_IMPORT=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
155
+ <TreatWarningAsError>false</TreatWarningAsError>
156
+ <EnablePREfast>false</EnablePREfast>
157
+ <AdditionalIncludeDirectories>..\include</AdditionalIncludeDirectories>
158
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
159
+ </ClCompile>
160
+ <Link>
161
+ <SubSystem>Console</SubSystem>
162
+ <GenerateDebugInformation>true</GenerateDebugInformation>
163
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
164
+ <OptimizeReferences>true</OptimizeReferences>
165
+ <AdditionalLibraryDirectories>$(SolutionDir)..\dll;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
166
+ <AdditionalDependencies>libzstd.lib;%(AdditionalDependencies)</AdditionalDependencies>
167
+ </Link>
168
+ </ItemDefinitionGroup>
169
+ <ItemGroup>
170
+ <ClCompile Include="datagen.c" />
171
+ <ClCompile Include="fullbench.c" />
172
+ </ItemGroup>
173
+ <ItemGroup>
174
+ <ClInclude Include="..\include\zstd.h" />
175
+ </ItemGroup>
176
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
177
+ <ImportGroup Label="ExtensionTargets">
178
+ </ImportGroup>
179
+ </Project>