mirror of
https://github.com/cmclark00/retro-imager.git
synced 2025-05-18 07:55:21 +01:00
deps: zstd upgrade 1.5.4 -> 1.5.6
This commit is contained in:
parent
fc9423e65b
commit
6b77ed7edc
643 changed files with 12178 additions and 17533 deletions
|
@ -201,8 +201,8 @@ if (WIN32)
|
||||||
# Bundled zstd
|
# Bundled zstd
|
||||||
set(ZSTD_BUILD_PROGRAMS OFF)
|
set(ZSTD_BUILD_PROGRAMS OFF)
|
||||||
set(ZSTD_BUILD_SHARED OFF)
|
set(ZSTD_BUILD_SHARED OFF)
|
||||||
add_subdirectory(dependencies/zstd-1.5.4/build/cmake)
|
add_subdirectory(dependencies/zstd-1.5.6/build/cmake)
|
||||||
set(ZSTD_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/zstd-1.5.4/lib CACHE PATH "zstd include dir")
|
set(ZSTD_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/zstd-1.5.6/lib CACHE PATH "zstd include dir")
|
||||||
set(ZSTD_LIBRARY libzstd_static)
|
set(ZSTD_LIBRARY libzstd_static)
|
||||||
|
|
||||||
# Bundled libarchive
|
# Bundled libarchive
|
||||||
|
@ -295,8 +295,8 @@ elseif(APPLE)
|
||||||
# Bundled zstd
|
# Bundled zstd
|
||||||
set(ZSTD_BUILD_PROGRAMS OFF)
|
set(ZSTD_BUILD_PROGRAMS OFF)
|
||||||
set(ZSTD_BUILD_SHARED OFF)
|
set(ZSTD_BUILD_SHARED OFF)
|
||||||
add_subdirectory(dependencies/zstd-1.5.4/build/cmake)
|
add_subdirectory(dependencies/zstd-1.5.6/build/cmake)
|
||||||
set(ZSTD_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/zstd-1.5.4/lib)
|
set(ZSTD_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/zstd-1.5.6/lib)
|
||||||
set(ZSTD_LIBRARY libzstd_static)
|
set(ZSTD_LIBRARY libzstd_static)
|
||||||
|
|
||||||
# Bundled libarchive
|
# Bundled libarchive
|
||||||
|
|
|
@ -1,128 +0,0 @@
|
||||||
# Travis CI is used to test platforms that github-actions currently doesn't support
|
|
||||||
# without either self-hosting or some finnicky work-around. Also, some tests
|
|
||||||
# are troublesome to migrate since GH Actions runs tests not in a tty.
|
|
||||||
language: c
|
|
||||||
|
|
||||||
git:
|
|
||||||
depth: 1
|
|
||||||
|
|
||||||
branches:
|
|
||||||
only:
|
|
||||||
- dev
|
|
||||||
- release
|
|
||||||
- master
|
|
||||||
- travisTest
|
|
||||||
|
|
||||||
addons:
|
|
||||||
apt:
|
|
||||||
update: true
|
|
||||||
|
|
||||||
env:
|
|
||||||
global:
|
|
||||||
- FUZZERTEST=-T1mn
|
|
||||||
ZSTREAM_TESTTIME=-T1mn
|
|
||||||
DECODECORPUS_TESTTIME=-T1mn
|
|
||||||
|
|
||||||
matrix:
|
|
||||||
fast_finish: true
|
|
||||||
include:
|
|
||||||
- name: S390X (big endian) + Fuzz test
|
|
||||||
dist: trusty
|
|
||||||
arch: s390x
|
|
||||||
script:
|
|
||||||
- FUZZER_FLAGS=--no-big-tests make -C tests fuzztest
|
|
||||||
|
|
||||||
- name: S390X (big endian) + Fuzz test + no intrinsics
|
|
||||||
dist: trusty
|
|
||||||
arch: s390x
|
|
||||||
script:
|
|
||||||
- MOREFLAGS="-DZSTD_NO_INTRINSICS" FUZZER_FLAGS=--no-big-tests make -C tests fuzztest
|
|
||||||
|
|
||||||
- name: arm64 # ~2.5 mn
|
|
||||||
os: linux
|
|
||||||
arch: arm64
|
|
||||||
script:
|
|
||||||
- make check
|
|
||||||
|
|
||||||
- name: arm64fuzz
|
|
||||||
os: linux
|
|
||||||
arch: arm64
|
|
||||||
script:
|
|
||||||
- make -C tests fuzztest
|
|
||||||
|
|
||||||
# TODO: migrate to GH Actions once newest clang staticanalyze warnings are fixed
|
|
||||||
- name: static analyzer scanbuild # ~8mn
|
|
||||||
dist: trusty # note : it's important to pin down a version of static analyzer, since different versions report different false positives
|
|
||||||
script:
|
|
||||||
- make staticAnalyze
|
|
||||||
|
|
||||||
# GH actions can't run this command on OS-X, non-tty issues
|
|
||||||
- name: OS-X make all lib
|
|
||||||
os: osx
|
|
||||||
script:
|
|
||||||
- make -C lib all
|
|
||||||
|
|
||||||
# Introduced to check compat with old toolchains, to prevent e.g. #1872
|
|
||||||
- name: ARM Build Test (on Trusty)
|
|
||||||
dist: trusty
|
|
||||||
script:
|
|
||||||
- make arminstall
|
|
||||||
- make armbuild
|
|
||||||
|
|
||||||
# check release number (release/new tag only)
|
|
||||||
- name: Tag-Specific Test
|
|
||||||
if: tag =~ ^v[0-9]\.[0-9]
|
|
||||||
script:
|
|
||||||
- make -C tests checkTag
|
|
||||||
- tests/checkTag "$TRAVIS_BRANCH"
|
|
||||||
|
|
||||||
- name: PPC64LE + Fuzz test # ~13mn
|
|
||||||
arch: ppc64le
|
|
||||||
env:
|
|
||||||
- FUZZER_FLAGS=--no-big-tests
|
|
||||||
- MOREFLAGS="-static"
|
|
||||||
script:
|
|
||||||
- cat /proc/cpuinfo
|
|
||||||
- make -C tests fuzztest
|
|
||||||
|
|
||||||
# This test currently fails on GA specifically, for no obvious reason
|
|
||||||
# (it works fine on travisCI, and on local test platforms).
|
|
||||||
- name: Versions Compatibility Test # ~6mn
|
|
||||||
script:
|
|
||||||
- make -C tests versionsTest
|
|
||||||
|
|
||||||
# meson dedicated test
|
|
||||||
- name: Focal (Meson + clang) # ~15mn
|
|
||||||
dist: focal
|
|
||||||
language: cpp
|
|
||||||
compiler: clang
|
|
||||||
install:
|
|
||||||
- sudo apt-get install -qq liblz4-dev valgrind tree
|
|
||||||
- |
|
|
||||||
travis_retry curl -o ~/ninja.zip -L 'https://github.com/ninja-build/ninja/releases/download/v1.9.0/ninja-linux.zip' &&
|
|
||||||
unzip ~/ninja.zip -d ~/.local/bin
|
|
||||||
- |
|
|
||||||
travis_retry curl -o ~/get-pip.py -L 'https://bootstrap.pypa.io/pip/3.6/get-pip.py' &&
|
|
||||||
python3 ~/get-pip.py --user &&
|
|
||||||
pip3 install --user meson
|
|
||||||
script:
|
|
||||||
- |
|
|
||||||
meson setup \
|
|
||||||
--buildtype=debugoptimized \
|
|
||||||
-Db_lundef=false \
|
|
||||||
-Dauto_features=enabled \
|
|
||||||
-Dbin_programs=true \
|
|
||||||
-Dbin_tests=true \
|
|
||||||
-Dbin_contrib=true \
|
|
||||||
-Ddefault_library=both \
|
|
||||||
build/meson builddir
|
|
||||||
- pushd builddir
|
|
||||||
- ninja
|
|
||||||
- meson test --verbose --no-rebuild
|
|
||||||
- DESTDIR=./staging ninja install
|
|
||||||
- tree ./staging
|
|
||||||
after_failure:
|
|
||||||
- cat "$TRAVIS_BUILD_DIR"/builddir/meson-logs/testlog.txt
|
|
||||||
|
|
||||||
allow_failures:
|
|
||||||
- env: ALLOW_FAILURES=true
|
|
|
@ -1,205 +0,0 @@
|
||||||
# Following tests are run _only_ on `release` branch
|
|
||||||
# and on selected feature branch named `appveyorTest` or `visual*`
|
|
||||||
|
|
||||||
-
|
|
||||||
version: 1.0.{build}
|
|
||||||
branches:
|
|
||||||
only:
|
|
||||||
- release
|
|
||||||
- master
|
|
||||||
- /appveyor*/
|
|
||||||
- /visual*/
|
|
||||||
environment:
|
|
||||||
matrix:
|
|
||||||
- COMPILER: "gcc"
|
|
||||||
HOST: "mingw"
|
|
||||||
PLATFORM: "x64"
|
|
||||||
SCRIPT: "make allzstd MOREFLAGS=-static"
|
|
||||||
ARTIFACT: "true"
|
|
||||||
BUILD: "true"
|
|
||||||
- COMPILER: "gcc"
|
|
||||||
HOST: "mingw"
|
|
||||||
PLATFORM: "x86"
|
|
||||||
SCRIPT: "make allzstd MOREFLAGS=-static"
|
|
||||||
ARTIFACT: "true"
|
|
||||||
BUILD: "true"
|
|
||||||
|
|
||||||
- COMPILER: "clang-cl"
|
|
||||||
HOST: "cmake-visual"
|
|
||||||
PLATFORM: "x64"
|
|
||||||
CONFIGURATION: "Release"
|
|
||||||
CMAKE_GENERATOR: "Visual Studio 15 2017"
|
|
||||||
CMAKE_GENERATOR_PLATFORM: "x64"
|
|
||||||
CMAKE_GENERATOR_TOOLSET: "LLVM"
|
|
||||||
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
|
|
||||||
|
|
||||||
install:
|
|
||||||
- ECHO Installing %COMPILER% %PLATFORM% %CONFIGURATION%
|
|
||||||
- SET PATH_ORIGINAL=%PATH%
|
|
||||||
- if [%HOST%]==[mingw] (
|
|
||||||
SET "PATH_MINGW32=C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin" &&
|
|
||||||
SET "PATH_MINGW64=C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin" &&
|
|
||||||
COPY C:\msys64\usr\bin\make.exe C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin\make.exe &&
|
|
||||||
COPY C:\msys64\usr\bin\make.exe C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin\make.exe
|
|
||||||
)
|
|
||||||
- IF [%HOST%]==[visual] IF [%PLATFORM%]==[x64] (
|
|
||||||
SET ADDITIONALPARAM=/p:LibraryPath="C:\Program Files\Microsoft SDKs\Windows\v7.1\lib\x64;c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\amd64;C:\Program Files (x86)\Microsoft Visual Studio 10.0\;C:\Program Files (x86)\Microsoft Visual Studio 10.0\lib\amd64;"
|
|
||||||
)
|
|
||||||
|
|
||||||
build_script:
|
|
||||||
- if [%HOST%]==[mingw] (
|
|
||||||
( if [%PLATFORM%]==[x64] (
|
|
||||||
SET "PATH=%PATH_MINGW64%;%PATH_ORIGINAL%"
|
|
||||||
) else if [%PLATFORM%]==[x86] (
|
|
||||||
SET "PATH=%PATH_MINGW32%;%PATH_ORIGINAL%"
|
|
||||||
) )
|
|
||||||
)
|
|
||||||
- if [%HOST%]==[mingw] if [%BUILD%]==[true] (
|
|
||||||
make -v &&
|
|
||||||
sh -c "%COMPILER% -v" &&
|
|
||||||
ECHO Building zlib to static link &&
|
|
||||||
SET "CC=%COMPILER%" &&
|
|
||||||
sh -c "cd .. && git clone --depth 1 --branch v1.2.11 https://github.com/madler/zlib" &&
|
|
||||||
sh -c "cd ../zlib && make -f win32/Makefile.gcc libz.a"
|
|
||||||
ECHO Building zstd &&
|
|
||||||
SET "CPPFLAGS=-I../../zlib" &&
|
|
||||||
SET "LDFLAGS=../../zlib/libz.a" &&
|
|
||||||
sh -c "%SCRIPT%" &&
|
|
||||||
( if [%COMPILER%]==[gcc] if [%ARTIFACT%]==[true]
|
|
||||||
ECHO Creating artifacts &&
|
|
||||||
ECHO %cd% &&
|
|
||||||
lib\dll\example\build_package.bat &&
|
|
||||||
make -C programs DEBUGFLAGS= clean zstd &&
|
|
||||||
cd programs\ && 7z a -tzip -mx9 zstd-win-binary-%PLATFORM%.zip zstd.exe &&
|
|
||||||
appveyor PushArtifact zstd-win-binary-%PLATFORM%.zip &&
|
|
||||||
cp zstd.exe ..\bin\zstd.exe &&
|
|
||||||
git clone --depth 1 --branch release https://github.com/facebook/zstd &&
|
|
||||||
cd zstd &&
|
|
||||||
git archive --format=tar release -o zstd-src.tar &&
|
|
||||||
..\zstd -19 zstd-src.tar &&
|
|
||||||
appveyor PushArtifact zstd-src.tar.zst &&
|
|
||||||
certUtil -hashfile zstd-src.tar.zst SHA256 > zstd-src.tar.zst.sha256.sig &&
|
|
||||||
appveyor PushArtifact zstd-src.tar.zst.sha256.sig &&
|
|
||||||
cd ..\..\bin\ &&
|
|
||||||
7z a -tzip -mx9 zstd-win-release-%PLATFORM%.zip * &&
|
|
||||||
appveyor PushArtifact zstd-win-release-%PLATFORM%.zip
|
|
||||||
)
|
|
||||||
)
|
|
||||||
- if [%HOST%]==[cmake-visual] (
|
|
||||||
ECHO *** &&
|
|
||||||
ECHO *** Building %CMAKE_GENERATOR% ^(%CMAKE_GENERATOR_TOOLSET%^) %PLATFORM%\%CONFIGURATION% &&
|
|
||||||
PUSHD build\cmake &&
|
|
||||||
cmake -DBUILD_TESTING=ON . &&
|
|
||||||
cmake --build . --config %CONFIGURATION% -j4 &&
|
|
||||||
POPD &&
|
|
||||||
ECHO ***
|
|
||||||
)
|
|
||||||
|
|
||||||
test_script:
|
|
||||||
- ECHO Testing %COMPILER% %PLATFORM% %CONFIGURATION%
|
|
||||||
- SET "CC=gcc"
|
|
||||||
- SET "CXX=g++"
|
|
||||||
- if [%TEST%]==[cmake] (
|
|
||||||
mkdir build\cmake\build &&
|
|
||||||
cd build\cmake\build &&
|
|
||||||
SET FUZZERTEST=-T2mn &&
|
|
||||||
SET ZSTREAM_TESTTIME=-T2mn &&
|
|
||||||
cmake -G "Visual Studio 14 2015 Win64" .. &&
|
|
||||||
cd ..\..\.. &&
|
|
||||||
make clean
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
# The following tests are for regular pushes
|
|
||||||
# into `dev` or some feature branch
|
|
||||||
# There run less tests, for shorter feedback loop
|
|
||||||
|
|
||||||
-
|
|
||||||
version: 1.0.{build}
|
|
||||||
environment:
|
|
||||||
matrix:
|
|
||||||
- COMPILER: "visual"
|
|
||||||
HOST: "visual"
|
|
||||||
PLATFORM: "x64"
|
|
||||||
CONFIGURATION: "Debug"
|
|
||||||
- COMPILER: "visual"
|
|
||||||
HOST: "visual"
|
|
||||||
PLATFORM: "Win32"
|
|
||||||
CONFIGURATION: "Debug"
|
|
||||||
- COMPILER: "visual"
|
|
||||||
HOST: "visual"
|
|
||||||
PLATFORM: "x64"
|
|
||||||
CONFIGURATION: "Release"
|
|
||||||
- COMPILER: "visual"
|
|
||||||
HOST: "visual"
|
|
||||||
PLATFORM: "Win32"
|
|
||||||
CONFIGURATION: "Release"
|
|
||||||
|
|
||||||
- COMPILER: "gcc"
|
|
||||||
HOST: "cygwin"
|
|
||||||
PLATFORM: "x64"
|
|
||||||
|
|
||||||
- COMPILER: "clang-cl"
|
|
||||||
HOST: "cmake-visual"
|
|
||||||
PLATFORM: "x64"
|
|
||||||
CONFIGURATION: "Release"
|
|
||||||
CMAKE_GENERATOR: "Visual Studio 15 2017"
|
|
||||||
CMAKE_GENERATOR_PLATFORM: "x64"
|
|
||||||
CMAKE_GENERATOR_TOOLSET: "LLVM"
|
|
||||||
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
|
|
||||||
|
|
||||||
install:
|
|
||||||
- ECHO Installing %COMPILER% %PLATFORM% %CONFIGURATION%
|
|
||||||
- SET PATH_ORIGINAL=%PATH%
|
|
||||||
- if [%HOST%]==[cygwin] (
|
|
||||||
ECHO Installing Cygwin Packages &&
|
|
||||||
C:\cygwin64\setup-x86_64.exe -qnNdO -R "C:\cygwin64" -g -P ^
|
|
||||||
gcc,^
|
|
||||||
cmake,^
|
|
||||||
make
|
|
||||||
)
|
|
||||||
- IF [%HOST%]==[visual] IF [%PLATFORM%]==[x64] (
|
|
||||||
SET ADDITIONALPARAM=/p:LibraryPath="C:\Program Files\Microsoft SDKs\Windows\v7.1\lib\x64;c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\amd64;C:\Program Files (x86)\Microsoft Visual Studio 10.0\;C:\Program Files (x86)\Microsoft Visual Studio 10.0\lib\amd64;"
|
|
||||||
)
|
|
||||||
|
|
||||||
build_script:
|
|
||||||
- ECHO Building %COMPILER% %PLATFORM% %CONFIGURATION%
|
|
||||||
- if [%HOST%]==[cygwin] (
|
|
||||||
set CHERE_INVOKING=yes &&
|
|
||||||
set CC=%COMPILER% &&
|
|
||||||
C:\cygwin64\bin\bash --login -c "
|
|
||||||
set -e;
|
|
||||||
cd build/cmake;
|
|
||||||
CFLAGS='-Werror' cmake -G 'Unix Makefiles' -DCMAKE_BUILD_TYPE=Debug -DZSTD_BUILD_TESTS:BOOL=ON -DZSTD_FUZZER_FLAGS=-T20s -DZSTD_ZSTREAM_FLAGS=-T20s -DZSTD_FULLBENCH_FLAGS=-i0 .;
|
|
||||||
make VERBOSE=1 -j;
|
|
||||||
ctest -V -L Medium;
|
|
||||||
"
|
|
||||||
)
|
|
||||||
- if [%HOST%]==[cmake-visual] (
|
|
||||||
ECHO *** &&
|
|
||||||
ECHO *** Building %CMAKE_GENERATOR% ^(%CMAKE_GENERATOR_TOOLSET%^) %PLATFORM%\%CONFIGURATION% &&
|
|
||||||
PUSHD build\cmake &&
|
|
||||||
cmake -DBUILD_TESTING=ON . &&
|
|
||||||
cmake --build . --config %CONFIGURATION% -j4 &&
|
|
||||||
POPD &&
|
|
||||||
ECHO ***
|
|
||||||
)
|
|
||||||
- if [%HOST%]==[visual] (
|
|
||||||
ECHO *** &&
|
|
||||||
ECHO *** Building Visual Studio 2012 %PLATFORM%\%CONFIGURATION% &&
|
|
||||||
ECHO *** &&
|
|
||||||
msbuild "build\VS2010\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=v110 /p:ForceImportBeforeCppTargets=%APPVEYOR_BUILD_FOLDER%\build\VS2010\CompileAsCpp.props /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" &&
|
|
||||||
DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
|
|
||||||
msbuild "build\VS2010\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=v110 /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" &&
|
|
||||||
DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
test_script:
|
|
||||||
- ECHO Testing %COMPILER% %PLATFORM% %CONFIGURATION%
|
|
||||||
- SET "FUZZERTEST=-T10s"
|
|
||||||
- if [%HOST%]==[mingw] (
|
|
||||||
set "CC=%COMPILER%" &&
|
|
||||||
make clean &&
|
|
||||||
make check
|
|
||||||
)
|
|
33
src/dependencies/zstd-1.5.4/build/.gitignore
vendored
33
src/dependencies/zstd-1.5.4/build/.gitignore
vendored
|
@ -1,33 +0,0 @@
|
||||||
# Visual C++
|
|
||||||
.vs/
|
|
||||||
*Copy
|
|
||||||
*.db
|
|
||||||
*.opensdf
|
|
||||||
*.sdf
|
|
||||||
*.suo
|
|
||||||
*.user
|
|
||||||
*.opendb
|
|
||||||
|
|
||||||
VS2008/bin/
|
|
||||||
VS2010/bin/
|
|
||||||
VS2010/zwrapbench/
|
|
||||||
VS2012/
|
|
||||||
VS2013/
|
|
||||||
VS2015/
|
|
||||||
Studio*
|
|
||||||
|
|
||||||
# CMake
|
|
||||||
cmake/build/
|
|
||||||
CMakeCache.txt
|
|
||||||
CMakeFiles
|
|
||||||
CMakeScripts
|
|
||||||
Testing
|
|
||||||
Makefile
|
|
||||||
cmake_install.cmake
|
|
||||||
install_manifest.txt
|
|
||||||
compile_commands.json
|
|
||||||
CTestTestfile.cmake
|
|
||||||
build
|
|
||||||
lib
|
|
||||||
!cmake/lib
|
|
||||||
!meson/lib
|
|
|
@ -1,56 +0,0 @@
|
||||||
Projects for various integrated development environments (IDE)
|
|
||||||
==============================================================
|
|
||||||
|
|
||||||
#### Included projects
|
|
||||||
|
|
||||||
The following projects are included with the zstd distribution:
|
|
||||||
- `cmake` - CMake project contributed by Artyom Dymchenko
|
|
||||||
- `VS2005` - Visual Studio 2005 Project (this project has been moved to the contrib directory and will no longer be supported)
|
|
||||||
- `VS2008` - Visual Studio 2008 project
|
|
||||||
- `VS2010` - Visual Studio 2010 project (which also works well with Visual Studio 2012, 2013, 2015)
|
|
||||||
- `VS_scripts` - command line scripts prepared for Visual Studio compilation without IDE
|
|
||||||
|
|
||||||
|
|
||||||
#### How to compile zstd with Visual Studio
|
|
||||||
|
|
||||||
1. Install Visual Studio e.g. VS 2015 Community Edition (it's free).
|
|
||||||
2. Download the latest version of zstd from https://github.com/facebook/zstd/releases
|
|
||||||
3. Decompress ZIP archive.
|
|
||||||
4. Go to decompressed directory then to `projects` then `VS2010` and open `zstd.sln`
|
|
||||||
5. Visual Studio will ask about converting VS2010 project to VS2015 and you should agree.
|
|
||||||
6. Change `Debug` to `Release` and if you have 64-bit Windows change also `Win32` to `x64`.
|
|
||||||
7. Press F7 on keyboard or select `BUILD` from the menu bar and choose `Build Solution`.
|
|
||||||
8. If compilation will be fine a compiled executable will be in `projects\VS2010\bin\x64\Release\zstd.exe`
|
|
||||||
|
|
||||||
|
|
||||||
#### Projects available within zstd.sln
|
|
||||||
|
|
||||||
The Visual Studio solution file `visual\VS2010\zstd.sln` contains many projects that will be compiled to the
|
|
||||||
`visual\VS2010\bin\$(Platform)_$(Configuration)` directory. For example `zstd` set to `x64` and
|
|
||||||
`Release` will be compiled to `visual\VS2010\bin\x64_Release\zstd.exe`. The solution file contains the
|
|
||||||
following projects:
|
|
||||||
|
|
||||||
- `zstd` : Command Line Utility, supporting gzip-like arguments
|
|
||||||
- `datagen` : Synthetic and parametrable data generator, for tests
|
|
||||||
- `fullbench` : Precisely measure speed for each zstd inner functions
|
|
||||||
- `fuzzer` : Test tool, to check zstd integrity on target platform
|
|
||||||
- `libzstd` : A static ZSTD library compiled to `libzstd_static.lib`
|
|
||||||
- `libzstd-dll` : A dynamic ZSTD library (DLL) compiled to `libzstd.dll` with the import library `libzstd.lib`
|
|
||||||
- `fullbench-dll` : The fullbench program compiled with the import library; the executable requires ZSTD DLL
|
|
||||||
|
|
||||||
|
|
||||||
#### Using ZSTD DLL with Microsoft Visual C++ project
|
|
||||||
|
|
||||||
The header file `lib\zstd.h` and the import library
|
|
||||||
`visual\VS2010\bin\$(Platform)_$(Configuration)\libzstd.lib` are required to compile
|
|
||||||
a project using Visual C++.
|
|
||||||
|
|
||||||
1. The path to header files should be added to `Additional Include Directories` that can
|
|
||||||
be found in Project Properties of Visual Studio IDE in the `C/C++` Property Pages on the `General` page.
|
|
||||||
2. The import library has to be added to `Additional Dependencies` that can
|
|
||||||
be found in Project Properties in the `Linker` Property Pages on the `Input` page.
|
|
||||||
If one will provide only the name `libzstd.lib` without a full path to the library
|
|
||||||
then the directory has to be added to `Linker\General\Additional Library Directories`.
|
|
||||||
|
|
||||||
The compiled executable will require ZSTD DLL which is available at
|
|
||||||
`visual\VS2010\bin\$(Platform)_$(Configuration)\libzstd.dll`.
|
|
|
@ -1,549 +0,0 @@
|
||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="9.00"
|
|
||||||
Name="fullbench"
|
|
||||||
ProjectGUID="{CC8F1D1B-BA2F-43E3-A71F-FA415D81AAD3}"
|
|
||||||
RootNamespace="fullbench"
|
|
||||||
Keyword="Win32Proj"
|
|
||||||
TargetFrameworkVersion="196613"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
<Platform
|
|
||||||
Name="x64"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
AdditionalIncludeDirectories="$(SolutionDir)..\..\lib;$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\programs;$(SolutionDir)..\..\programs\legacy"
|
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="3"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="4"
|
|
||||||
WarnAsError="true"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
LinkIncremental="2"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
CharacterSet="2"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="2"
|
|
||||||
EnableIntrinsicFunctions="true"
|
|
||||||
OmitFramePointers="true"
|
|
||||||
AdditionalIncludeDirectories="$(SolutionDir)..\..\lib;$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\programs;$(SolutionDir)..\..\programs\legacy"
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
EnableFunctionLevelLinking="true"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="4"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
LinkIncremental="1"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|x64"
|
|
||||||
OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
AdditionalIncludeDirectories="$(SolutionDir)..\..\lib;$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\programs;$(SolutionDir)..\..\programs\legacy"
|
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="3"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="4"
|
|
||||||
WarnAsError="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
LinkIncremental="2"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
TargetMachine="17"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|x64"
|
|
||||||
OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
CharacterSet="2"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="2"
|
|
||||||
EnableIntrinsicFunctions="true"
|
|
||||||
OmitFramePointers="true"
|
|
||||||
AdditionalIncludeDirectories="$(SolutionDir)..\..\lib;$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\programs;$(SolutionDir)..\..\programs\legacy"
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
EnableFunctionLevelLinking="true"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="4"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
LinkIncremental="1"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
TargetMachine="17"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<Filter
|
|
||||||
Name="Source Files"
|
|
||||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
|
||||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\entropy_common.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\hist.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\error_private.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\fse_decompress.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\xxhash.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\zstd_common.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\pool.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\threading.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_compress.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_compress_literals.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_compress_sequences.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_compress_superblock.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstdmt_compress.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\fse_compress.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\huf_compress.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\decompress\zstd_decompress.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\decompress\zstd_decompress_block.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\decompress\zstd_ddict.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\decompress\huf_decompress.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\programs\datagen.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\programs\benchfn.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\tests\fullbench.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\programs\util.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\programs\timefn.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_fast.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_double_fast.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_lazy.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_opt.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_ldm.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<Filter
|
|
||||||
Name="Header Files"
|
|
||||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
|
||||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\zstd.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\bitstream.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\error_private.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\zstd_errors.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\fse.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\fse_static.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\huf.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\huf_static.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\xxhash.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\mem.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\zstd_internal.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\zstd_static.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstdmt_compress.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_compress.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_compress_literals.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_compress_sequences.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_cwksp.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_compress_superblock.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_fast.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_double_fast.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_lazy.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_opt.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_ldm.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
|
@ -1,585 +0,0 @@
|
||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="9.00"
|
|
||||||
Name="fuzzer"
|
|
||||||
ProjectGUID="{A62E89D2-9DDE-42BA-8F9B-9DA74889A6B0}"
|
|
||||||
RootNamespace="fuzzer"
|
|
||||||
Keyword="Win32Proj"
|
|
||||||
TargetFrameworkVersion="196613"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
<Platform
|
|
||||||
Name="x64"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
AdditionalIncludeDirectories="$(SolutionDir)..\..\lib;$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\compress;$(SolutionDir)..\..\lib\dictBuilder;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\programs"
|
|
||||||
PreprocessorDefinitions="ZSTD_MULTITHREAD=1;WIN32;_DEBUG;_CONSOLE"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="3"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="4"
|
|
||||||
WarnAsError="true"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
LinkIncremental="2"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
CharacterSet="2"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="2"
|
|
||||||
EnableIntrinsicFunctions="true"
|
|
||||||
OmitFramePointers="true"
|
|
||||||
AdditionalIncludeDirectories="$(SolutionDir)..\..\lib;$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\compress;$(SolutionDir)..\..\lib\dictBuilder;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\programs"
|
|
||||||
PreprocessorDefinitions="ZSTD_MULTITHREAD=1;WIN32;NDEBUG;_CONSOLE"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
EnableFunctionLevelLinking="true"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="4"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
LinkIncremental="1"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|x64"
|
|
||||||
OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
AdditionalIncludeDirectories="$(SolutionDir)..\..\lib;$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\compress;$(SolutionDir)..\..\lib\dictBuilder;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\programs"
|
|
||||||
PreprocessorDefinitions="ZSTD_MULTITHREAD=1;WIN32;_DEBUG;_CONSOLE"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="3"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="4"
|
|
||||||
WarnAsError="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
LinkIncremental="2"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
TargetMachine="17"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|x64"
|
|
||||||
OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
CharacterSet="2"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="2"
|
|
||||||
EnableIntrinsicFunctions="true"
|
|
||||||
OmitFramePointers="true"
|
|
||||||
AdditionalIncludeDirectories="$(SolutionDir)..\..\lib;$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\dictBuilder;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\compress;$(SolutionDir)..\..\programs"
|
|
||||||
PreprocessorDefinitions="ZSTD_MULTITHREAD=1;WIN32;NDEBUG;_CONSOLE"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
EnableFunctionLevelLinking="true"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="4"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
LinkIncremental="1"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
TargetMachine="17"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<Filter
|
|
||||||
Name="Source Files"
|
|
||||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
|
||||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\programs\util.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\programs\timefn.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\programs\datagen.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\dictBuilder\cover.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\dictBuilder\fastcover.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\dictBuilder\divsufsort.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\pool.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\threading.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\entropy_common.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\hist.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\error_private.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\fse_compress.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\fse_decompress.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\tests\fuzzer.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\huf_compress.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\decompress\huf_decompress.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\xxhash.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\dictBuilder\zdict.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\zstd_common.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstdmt_compress.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_compress.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_compress_literals.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_compress_sequences.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_compress_superblock.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\decompress\zstd_decompress.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\decompress\zstd_decompress_block.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\decompress\zstd_ddict.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_fast.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_double_fast.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_lazy.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_opt.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_ldm.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<Filter
|
|
||||||
Name="Header Files"
|
|
||||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
|
||||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\bitstream.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\dictBuilder\divsufsort.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\pool.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\threading.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\error_private.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\zstd_errors.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\fse.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\fse_static.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\huf.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\huf_static.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\mem.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\xxhash.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\zdict.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\dictBuilder\cover.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\dictBuilder\zdict_static.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\zstd.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\zstd_internal.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstdmt_compress.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\zstd_static.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_compress.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_compress_literals.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_compress_sequences.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_cwksp.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_compress_superblock.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_fast.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_double_fast.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_lazy.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_opt.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_ldm.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
|
@ -1,56 +0,0 @@
|
||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 10.00
|
|
||||||
# Visual Studio 2008
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zstd", "zstd\zstd.vcproj", "{1A2AB08E-5CE7-4C5B-BE55-458157C14051}"
|
|
||||||
EndProject
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fuzzer", "fuzzer\fuzzer.vcproj", "{A62E89D2-9DDE-42BA-8F9B-9DA74889A6B0}"
|
|
||||||
EndProject
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fullbench", "fullbench\fullbench.vcproj", "{CC8F1D1B-BA2F-43E3-A71F-FA415D81AAD3}"
|
|
||||||
EndProject
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zstdlib", "zstdlib\zstdlib.vcproj", "{99DE2A79-7298-4004-A0ED-030D7A3796CA}"
|
|
||||||
EndProject
|
|
||||||
Global
|
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
|
||||||
Debug|Win32 = Debug|Win32
|
|
||||||
Debug|x64 = Debug|x64
|
|
||||||
Release|Win32 = Release|Win32
|
|
||||||
Release|x64 = Release|x64
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
|
||||||
{1A2AB08E-5CE7-4C5B-BE55-458157C14051}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{1A2AB08E-5CE7-4C5B-BE55-458157C14051}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{1A2AB08E-5CE7-4C5B-BE55-458157C14051}.Debug|x64.ActiveCfg = Debug|x64
|
|
||||||
{1A2AB08E-5CE7-4C5B-BE55-458157C14051}.Debug|x64.Build.0 = Debug|x64
|
|
||||||
{1A2AB08E-5CE7-4C5B-BE55-458157C14051}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{1A2AB08E-5CE7-4C5B-BE55-458157C14051}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
{1A2AB08E-5CE7-4C5B-BE55-458157C14051}.Release|x64.ActiveCfg = Release|x64
|
|
||||||
{1A2AB08E-5CE7-4C5B-BE55-458157C14051}.Release|x64.Build.0 = Release|x64
|
|
||||||
{A62E89D2-9DDE-42BA-8F9B-9DA74889A6B0}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{A62E89D2-9DDE-42BA-8F9B-9DA74889A6B0}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{A62E89D2-9DDE-42BA-8F9B-9DA74889A6B0}.Debug|x64.ActiveCfg = Debug|x64
|
|
||||||
{A62E89D2-9DDE-42BA-8F9B-9DA74889A6B0}.Debug|x64.Build.0 = Debug|x64
|
|
||||||
{A62E89D2-9DDE-42BA-8F9B-9DA74889A6B0}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{A62E89D2-9DDE-42BA-8F9B-9DA74889A6B0}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
{A62E89D2-9DDE-42BA-8F9B-9DA74889A6B0}.Release|x64.ActiveCfg = Release|x64
|
|
||||||
{A62E89D2-9DDE-42BA-8F9B-9DA74889A6B0}.Release|x64.Build.0 = Release|x64
|
|
||||||
{CC8F1D1B-BA2F-43E3-A71F-FA415D81AAD3}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{CC8F1D1B-BA2F-43E3-A71F-FA415D81AAD3}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{CC8F1D1B-BA2F-43E3-A71F-FA415D81AAD3}.Debug|x64.ActiveCfg = Debug|x64
|
|
||||||
{CC8F1D1B-BA2F-43E3-A71F-FA415D81AAD3}.Debug|x64.Build.0 = Debug|x64
|
|
||||||
{CC8F1D1B-BA2F-43E3-A71F-FA415D81AAD3}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{CC8F1D1B-BA2F-43E3-A71F-FA415D81AAD3}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
{CC8F1D1B-BA2F-43E3-A71F-FA415D81AAD3}.Release|x64.ActiveCfg = Release|x64
|
|
||||||
{CC8F1D1B-BA2F-43E3-A71F-FA415D81AAD3}.Release|x64.Build.0 = Release|x64
|
|
||||||
{99DE2A79-7298-4004-A0ED-030D7A3796CA}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{99DE2A79-7298-4004-A0ED-030D7A3796CA}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{99DE2A79-7298-4004-A0ED-030D7A3796CA}.Debug|x64.ActiveCfg = Debug|x64
|
|
||||||
{99DE2A79-7298-4004-A0ED-030D7A3796CA}.Debug|x64.Build.0 = Debug|x64
|
|
||||||
{99DE2A79-7298-4004-A0ED-030D7A3796CA}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{99DE2A79-7298-4004-A0ED-030D7A3796CA}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
{99DE2A79-7298-4004-A0ED-030D7A3796CA}.Release|x64.ActiveCfg = Release|x64
|
|
||||||
{99DE2A79-7298-4004-A0ED-030D7A3796CA}.Release|x64.Build.0 = Release|x64
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
|
||||||
HideSolutionNode = FALSE
|
|
||||||
EndGlobalSection
|
|
||||||
EndGlobal
|
|
|
@ -1,673 +0,0 @@
|
||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="9.00"
|
|
||||||
Name="zstd"
|
|
||||||
ProjectGUID="{1A2AB08E-5CE7-4C5B-BE55-458157C14051}"
|
|
||||||
RootNamespace="zstd"
|
|
||||||
Keyword="Win32Proj"
|
|
||||||
TargetFrameworkVersion="196613"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
<Platform
|
|
||||||
Name="x64"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
AdditionalIncludeDirectories="$(SolutionDir)..\..\lib;$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\dictBuilder;$(SolutionDir)..\..\lib\compress"
|
|
||||||
PreprocessorDefinitions="ZSTD_MULTITHREAD=1;ZSTD_LEGACY_SUPPORT=5;WIN32;_DEBUG;_CONSOLE"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="3"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="4"
|
|
||||||
WarnAsError="true"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="setargv.obj"
|
|
||||||
LinkIncremental="2"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
CharacterSet="2"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="2"
|
|
||||||
EnableIntrinsicFunctions="true"
|
|
||||||
OmitFramePointers="true"
|
|
||||||
AdditionalIncludeDirectories="$(SolutionDir)..\..\lib;$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\dictBuilder;$(SolutionDir)..\..\lib\compress"
|
|
||||||
PreprocessorDefinitions="ZSTD_MULTITHREAD=1;ZSTD_LEGACY_SUPPORT=5;WIN32;NDEBUG;_CONSOLE"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
EnableFunctionLevelLinking="true"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="4"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="setargv.obj"
|
|
||||||
LinkIncremental="1"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|x64"
|
|
||||||
OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
AdditionalIncludeDirectories="$(SolutionDir)..\..\lib;$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\dictBuilder;$(SolutionDir)..\..\lib\compress"
|
|
||||||
PreprocessorDefinitions="ZSTD_MULTITHREAD=1;ZSTD_LEGACY_SUPPORT=5;WIN32;_DEBUG;_CONSOLE"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="3"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="4"
|
|
||||||
WarnAsError="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="setargv.obj"
|
|
||||||
LinkIncremental="2"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
TargetMachine="17"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|x64"
|
|
||||||
OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
CharacterSet="2"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="2"
|
|
||||||
EnableIntrinsicFunctions="true"
|
|
||||||
OmitFramePointers="true"
|
|
||||||
AdditionalIncludeDirectories="$(SolutionDir)..\..\lib;$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\dictBuilder;$(SolutionDir)..\..\lib\compress"
|
|
||||||
PreprocessorDefinitions="ZSTD_MULTITHREAD=1;ZSTD_LEGACY_SUPPORT=5;WIN32;NDEBUG;_CONSOLE"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
EnableFunctionLevelLinking="true"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="4"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="setargv.obj"
|
|
||||||
LinkIncremental="1"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
TargetMachine="17"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<Filter
|
|
||||||
Name="Source Files"
|
|
||||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
|
||||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\programs\util.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\programs\timefn.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\programs\benchfn.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\programs\benchzstd.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\programs\datagen.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\programs\dibio.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\dictBuilder\cover.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\dictBuilder\fastcover.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\dictBuilder\divsufsort.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\entropy_common.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\hist.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\error_private.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\programs\fileio.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\programs\fileio_asyncio.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\fse_compress.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\fse_decompress.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\huf_compress.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\decompress\huf_decompress.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\pool.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\threading.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\xxhash.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\dictBuilder\zdict.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\zstd_common.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_compress.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_compress_literals.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_compress_sequences.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_compress_superblock.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\decompress\zstd_decompress.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\decompress\zstd_decompress_block.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\decompress\zstd_ddict.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\legacy\zstd_v01.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\legacy\zstd_v02.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\legacy\zstd_v03.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\legacy\zstd_v04.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\legacy\zstd_v05.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\legacy\zstd_v06.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\legacy\zstd_v07.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\programs\zstdcli.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\programs\zstdcli_trace.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstdmt_compress.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_fast.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_double_fast.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_lazy.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_opt.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_ldm.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<Filter
|
|
||||||
Name="Header Files"
|
|
||||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
|
||||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\bitstream.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\dictBuilder\divsufsort.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\error_private.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\fse.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\fse_static.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\huf.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\huf_static.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\mem.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\pool.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\threading.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\xxhash.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\zdict.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\dictBuilder\cover.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\dictBuilder\zdict_static.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\zstd.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\zstd_errors.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\zstd_internal.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\legacy\zstd_legacy.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\zstd_static.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\legacy\zstd_v01.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\legacy\zstd_v02.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\legacy\zstd_v03.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\legacy\zstd_v04.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\legacy\zstd_v05.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\legacy\zstd_v06.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\legacy\zstd_v07.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstdmt_compress.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_compress.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_compress_literals.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_compress_sequences.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_cwksp.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_compress_superblock.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_fast.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_double_fast.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_lazy.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_opt.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_ldm.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
|
@ -1,635 +0,0 @@
|
||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="9.00"
|
|
||||||
Name="zstdlib"
|
|
||||||
ProjectGUID="{99DE2A79-7298-4004-A0ED-030D7A3796CA}"
|
|
||||||
RootNamespace="zstdlib"
|
|
||||||
Keyword="Win32Proj"
|
|
||||||
TargetFrameworkVersion="196613"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
<Platform
|
|
||||||
Name="x64"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="2"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
AdditionalIncludeDirectories="$(SolutionDir)..\..\lib;$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\dictBuilder"
|
|
||||||
PreprocessorDefinitions="ZSTD_DLL_EXPORT=1;ZSTD_MULTITHREAD=1;ZSTD_LEGACY_SUPPORT=5;WIN32;_DEBUG;_CONSOLE"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="3"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="4"
|
|
||||||
WarnAsError="true"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
LinkIncremental="2"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="2"
|
|
||||||
CharacterSet="2"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="2"
|
|
||||||
EnableIntrinsicFunctions="true"
|
|
||||||
OmitFramePointers="true"
|
|
||||||
AdditionalIncludeDirectories="$(SolutionDir)..\..\lib;$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\dictBuilder"
|
|
||||||
PreprocessorDefinitions="ZSTD_DLL_EXPORT=1;ZSTD_MULTITHREAD=1;ZSTD_LEGACY_SUPPORT=5;WIN32;NDEBUG;_CONSOLE"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
EnableFunctionLevelLinking="true"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="4"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
LinkIncremental="1"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|x64"
|
|
||||||
OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="2"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
AdditionalIncludeDirectories="$(SolutionDir)..\..\lib;$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\dictBuilder"
|
|
||||||
PreprocessorDefinitions="ZSTD_DLL_EXPORT=1;ZSTD_MULTITHREAD=1;ZSTD_LEGACY_SUPPORT=5;WIN32;_DEBUG;_CONSOLE"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="3"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="4"
|
|
||||||
WarnAsError="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
LinkIncremental="2"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
TargetMachine="17"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|x64"
|
|
||||||
OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="2"
|
|
||||||
CharacterSet="2"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="2"
|
|
||||||
EnableIntrinsicFunctions="true"
|
|
||||||
OmitFramePointers="true"
|
|
||||||
AdditionalIncludeDirectories="$(SolutionDir)..\..\lib;$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\dictBuilder"
|
|
||||||
PreprocessorDefinitions="ZSTD_DLL_EXPORT=1;ZSTD_MULTITHREAD=1;ZSTD_LEGACY_SUPPORT=5;WIN32;NDEBUG;_CONSOLE"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
EnableFunctionLevelLinking="true"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="4"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
LinkIncremental="1"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
TargetMachine="17"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<Filter
|
|
||||||
Name="Source Files"
|
|
||||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
|
||||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\dictBuilder\cover.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\dictBuilder\fastcover.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\dictBuilder\divsufsort.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\pool.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\threading.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\entropy_common.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\hist.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\error_private.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\fse_compress.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\fse_decompress.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\huf_compress.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\decompress\huf_decompress.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\xxhash.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\dictBuilder\zdict.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\zstd_common.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstdmt_compress.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_compress.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_compress_literals.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_compress_sequences.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_compress_superblock.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_fast.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_double_fast.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_lazy.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_opt.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_ldm.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\decompress\zstd_decompress.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\decompress\zstd_decompress_block.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\decompress\zstd_ddict.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\legacy\zstd_v01.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\legacy\zstd_v02.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\legacy\zstd_v03.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\legacy\zstd_v04.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\legacy\zstd_v05.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\legacy\zstd_v06.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\legacy\zstd_v07.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<Filter
|
|
||||||
Name="Header Files"
|
|
||||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
|
||||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\bitstream.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\dictBuilder\divsufsort.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\pool.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\threading.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\error_private.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\zstd_errors.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\fse.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\fse_static.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\huf.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\huf_static.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\mem.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\xxhash.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\zdict.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\dictBuilder\cover.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\dictBuilder\zdict_static.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\zstd.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\zstd_internal.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\legacy\zstd_legacy.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstdmt_compress.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_compress.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_compress_literals.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_compress_sequences.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_cwksp.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_compress_superblock.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_fast.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_double_fast.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_lazy.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_opt.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\compress\zstd_ldm.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\common\zstd_static.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\legacy\zstd_v01.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\legacy\zstd_v02.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\legacy\zstd_v03.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\legacy\zstd_v04.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\legacy\zstd_v05.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\legacy\zstd_v06.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\lib\legacy\zstd_v07.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<Filter
|
|
||||||
Name="Resource Files"
|
|
||||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
|
|
||||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
|
||||||
>
|
|
||||||
</Filter>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
|
@ -1,8 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<ItemDefinitionGroup>
|
|
||||||
<ClCompile>
|
|
||||||
<CompileAs>CompileAsCpp</CompileAs>
|
|
||||||
</ClCompile>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
</Project>
|
|
|
@ -1,168 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<ItemGroup Label="ProjectConfigurations">
|
|
||||||
<ProjectConfiguration Include="Debug|Win32">
|
|
||||||
<Configuration>Debug</Configuration>
|
|
||||||
<Platform>Win32</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Debug|x64">
|
|
||||||
<Configuration>Debug</Configuration>
|
|
||||||
<Platform>x64</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Release|Win32">
|
|
||||||
<Configuration>Release</Configuration>
|
|
||||||
<Platform>Win32</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Release|x64">
|
|
||||||
<Configuration>Release</Configuration>
|
|
||||||
<Platform>x64</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
</ItemGroup>
|
|
||||||
<PropertyGroup Label="Globals">
|
|
||||||
<ProjectGuid>{037E781E-81A6-494B-B1B3-438AB1200523}</ProjectGuid>
|
|
||||||
<Keyword>Win32Proj</Keyword>
|
|
||||||
<RootNamespace>datagen</RootNamespace>
|
|
||||||
<OutDir>$(SolutionDir)bin\$(Platform)_$(Configuration)\</OutDir>
|
|
||||||
<IntDir>$(SolutionDir)bin\obj\$(RootNamespace)_$(Platform)_$(Configuration)\</IntDir>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
|
||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
|
||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
|
||||||
<ImportGroup Label="ExtensionSettings">
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<PropertyGroup Label="UserMacros" />
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<LinkIncremental>true</LinkIncremental>
|
|
||||||
<RunCodeAnalysis>false</RunCodeAnalysis>
|
|
||||||
<IncludePath>$(IncludePath);$(SolutionDir)..\..\programs;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(UniversalCRT_IncludePath);</IncludePath>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
|
||||||
<LinkIncremental>true</LinkIncremental>
|
|
||||||
<RunCodeAnalysis>false</RunCodeAnalysis>
|
|
||||||
<IncludePath>$(IncludePath);$(SolutionDir)..\..\programs;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(UniversalCRT_IncludePath);</IncludePath>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<LinkIncremental>false</LinkIncremental>
|
|
||||||
<RunCodeAnalysis>false</RunCodeAnalysis>
|
|
||||||
<IncludePath>$(IncludePath);$(SolutionDir)..\..\programs;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(UniversalCRT_IncludePath);</IncludePath>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
|
||||||
<LinkIncremental>false</LinkIncremental>
|
|
||||||
<RunCodeAnalysis>false</RunCodeAnalysis>
|
|
||||||
<IncludePath>$(IncludePath);$(SolutionDir)..\..\programs;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(UniversalCRT_IncludePath);</IncludePath>
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<ClCompile>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<WarningLevel>Level4</WarningLevel>
|
|
||||||
<Optimization>Disabled</Optimization>
|
|
||||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<TreatWarningAsError>true</TreatWarningAsError>
|
|
||||||
<EnablePREfast>false</EnablePREfast>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
|
||||||
<ClCompile>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<WarningLevel>Level4</WarningLevel>
|
|
||||||
<Optimization>Disabled</Optimization>
|
|
||||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<TreatWarningAsError>true</TreatWarningAsError>
|
|
||||||
<EnablePREfast>false</EnablePREfast>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<ClCompile>
|
|
||||||
<WarningLevel>Level4</WarningLevel>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<Optimization>MaxSpeed</Optimization>
|
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
||||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<EnablePREfast>false</EnablePREfast>
|
|
||||||
<TreatWarningAsError>false</TreatWarningAsError>
|
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
|
||||||
<ClCompile>
|
|
||||||
<WarningLevel>Level4</WarningLevel>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<Optimization>MaxSpeed</Optimization>
|
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
||||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<TreatWarningAsError>false</TreatWarningAsError>
|
|
||||||
<EnablePREfast>false</EnablePREfast>
|
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClCompile Include="..\..\..\programs\util.c" />
|
|
||||||
<ClCompile Include="..\..\..\programs\datagen.c" />
|
|
||||||
<ClCompile Include="..\..\..\tests\datagencli.c" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClInclude Include="..\..\..\programs\datagen.h" />
|
|
||||||
</ItemGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
|
||||||
<ImportGroup Label="ExtensionTargets">
|
|
||||||
</ImportGroup>
|
|
||||||
</Project>
|
|
|
@ -1,189 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<ItemGroup Label="ProjectConfigurations">
|
|
||||||
<ProjectConfiguration Include="Debug|Win32">
|
|
||||||
<Configuration>Debug</Configuration>
|
|
||||||
<Platform>Win32</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Debug|x64">
|
|
||||||
<Configuration>Debug</Configuration>
|
|
||||||
<Platform>x64</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Release|Win32">
|
|
||||||
<Configuration>Release</Configuration>
|
|
||||||
<Platform>Win32</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Release|x64">
|
|
||||||
<Configuration>Release</Configuration>
|
|
||||||
<Platform>x64</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
</ItemGroup>
|
|
||||||
<PropertyGroup Label="Globals">
|
|
||||||
<ProjectGuid>{00000000-1CC8-4FD7-9281-6B8DBB9D3DF8}</ProjectGuid>
|
|
||||||
<Keyword>Win32Proj</Keyword>
|
|
||||||
<RootNamespace>fullbench-dll</RootNamespace>
|
|
||||||
<OutDir>$(SolutionDir)bin\$(Platform)_$(Configuration)\</OutDir>
|
|
||||||
<IntDir>$(SolutionDir)bin\obj\$(RootNamespace)_$(Platform)_$(Configuration)\</IntDir>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
|
||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
|
||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
|
||||||
<ImportGroup Label="ExtensionSettings">
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<PropertyGroup Label="UserMacros" />
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<LinkIncremental>true</LinkIncremental>
|
|
||||||
<IncludePath>$(IncludePath);$(SolutionDir)..\..\lib;$(SolutionDir)..\..\programs;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(UniversalCRT_IncludePath);</IncludePath>
|
|
||||||
<RunCodeAnalysis>false</RunCodeAnalysis>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
|
||||||
<LinkIncremental>true</LinkIncremental>
|
|
||||||
<IncludePath>$(IncludePath);$(SolutionDir)..\..\lib;$(SolutionDir)..\..\programs;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(UniversalCRT_IncludePath);</IncludePath>
|
|
||||||
<RunCodeAnalysis>false</RunCodeAnalysis>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<LinkIncremental>false</LinkIncremental>
|
|
||||||
<IncludePath>$(IncludePath);$(SolutionDir)..\..\lib;$(SolutionDir)..\..\programs;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(UniversalCRT_IncludePath);</IncludePath>
|
|
||||||
<RunCodeAnalysis>false</RunCodeAnalysis>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
|
||||||
<LinkIncremental>false</LinkIncremental>
|
|
||||||
<IncludePath>$(IncludePath);$(SolutionDir)..\..\lib;$(SolutionDir)..\..\programs;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(UniversalCRT_IncludePath);</IncludePath>
|
|
||||||
<RunCodeAnalysis>false</RunCodeAnalysis>
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<ClCompile>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<WarningLevel>Level4</WarningLevel>
|
|
||||||
<Optimization>Disabled</Optimization>
|
|
||||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;ZSTD_DLL_IMPORT=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<TreatWarningAsError>true</TreatWarningAsError>
|
|
||||||
<EnablePREfast>false</EnablePREfast>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<AdditionalLibraryDirectories>$(SolutionDir)bin\$(Platform)_$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
|
||||||
<AdditionalDependencies>libzstd.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
||||||
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
|
||||||
<ClCompile>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<WarningLevel>Level4</WarningLevel>
|
|
||||||
<Optimization>Disabled</Optimization>
|
|
||||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;ZSTD_DLL_IMPORT=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<TreatWarningAsError>true</TreatWarningAsError>
|
|
||||||
<EnablePREfast>false</EnablePREfast>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<AdditionalLibraryDirectories>$(SolutionDir)bin\$(Platform)_$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
|
||||||
<AdditionalDependencies>libzstd.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<ClCompile>
|
|
||||||
<WarningLevel>Level4</WarningLevel>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<Optimization>MaxSpeed</Optimization>
|
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
||||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;ZSTD_DLL_IMPORT=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<EnablePREfast>false</EnablePREfast>
|
|
||||||
<TreatWarningAsError>false</TreatWarningAsError>
|
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
|
||||||
<AdditionalLibraryDirectories>$(SolutionDir)bin\$(Platform)_$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
|
||||||
<AdditionalDependencies>libzstd.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
||||||
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
|
||||||
<ClCompile>
|
|
||||||
<WarningLevel>Level4</WarningLevel>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<Optimization>MaxSpeed</Optimization>
|
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
||||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;ZSTD_DLL_IMPORT=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<TreatWarningAsError>false</TreatWarningAsError>
|
|
||||||
<EnablePREfast>false</EnablePREfast>
|
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
|
||||||
<AdditionalLibraryDirectories>$(SolutionDir)bin\$(Platform)_$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
|
||||||
<AdditionalDependencies>libzstd.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClCompile Include="..\..\..\lib\common\xxhash.c" />
|
|
||||||
<ClCompile Include="..\..\..\programs\util.c" />
|
|
||||||
<ClCompile Include="..\..\..\programs\timefn.c" />
|
|
||||||
<ClCompile Include="..\..\..\programs\datagen.c" />
|
|
||||||
<ClCompile Include="..\..\..\programs\benchfn.c" />
|
|
||||||
<ClCompile Include="..\..\..\tests\fullbench.c" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClInclude Include="..\..\..\lib\zstd.h" />
|
|
||||||
<ClInclude Include="..\..\..\programs\datagen.h" />
|
|
||||||
<ClInclude Include="..\..\..\programs\benchfn.h" />
|
|
||||||
<ClInclude Include="..\..\..\programs\util.h" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ProjectReference Include="..\libzstd-dll\libzstd-dll.vcxproj">
|
|
||||||
<Project>{00000000-94d5-4bf9-8a50-7bd9929a0850}</Project>
|
|
||||||
</ProjectReference>
|
|
||||||
</ItemGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
|
||||||
<ImportGroup Label="ExtensionTargets">
|
|
||||||
</ImportGroup>
|
|
||||||
</Project>
|
|
|
@ -1,218 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<ItemGroup Label="ProjectConfigurations">
|
|
||||||
<ProjectConfiguration Include="Debug|Win32">
|
|
||||||
<Configuration>Debug</Configuration>
|
|
||||||
<Platform>Win32</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Debug|x64">
|
|
||||||
<Configuration>Debug</Configuration>
|
|
||||||
<Platform>x64</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Release|Win32">
|
|
||||||
<Configuration>Release</Configuration>
|
|
||||||
<Platform>Win32</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Release|x64">
|
|
||||||
<Configuration>Release</Configuration>
|
|
||||||
<Platform>x64</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
</ItemGroup>
|
|
||||||
<PropertyGroup Label="Globals">
|
|
||||||
<ProjectGuid>{61ABD629-1CC8-4FD7-9281-6B8DBB9D3DF8}</ProjectGuid>
|
|
||||||
<Keyword>Win32Proj</Keyword>
|
|
||||||
<RootNamespace>fullbench</RootNamespace>
|
|
||||||
<OutDir>$(SolutionDir)bin\$(Platform)_$(Configuration)\</OutDir>
|
|
||||||
<IntDir>$(SolutionDir)bin\obj\$(RootNamespace)_$(Platform)_$(Configuration)\</IntDir>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
|
||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
|
||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
|
||||||
<ImportGroup Label="ExtensionSettings">
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<PropertyGroup Label="UserMacros" />
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<LinkIncremental>true</LinkIncremental>
|
|
||||||
<IncludePath>$(IncludePath);$(SolutionDir)..\..\lib;$(SolutionDir)..\..\programs;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(UniversalCRT_IncludePath);</IncludePath>
|
|
||||||
<RunCodeAnalysis>false</RunCodeAnalysis>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
|
||||||
<LinkIncremental>true</LinkIncremental>
|
|
||||||
<IncludePath>$(IncludePath);$(SolutionDir)..\..\lib;$(SolutionDir)..\..\programs;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(UniversalCRT_IncludePath);</IncludePath>
|
|
||||||
<RunCodeAnalysis>false</RunCodeAnalysis>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<LinkIncremental>false</LinkIncremental>
|
|
||||||
<IncludePath>$(IncludePath);$(SolutionDir)..\..\lib;$(SolutionDir)..\..\programs;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(UniversalCRT_IncludePath);</IncludePath>
|
|
||||||
<RunCodeAnalysis>false</RunCodeAnalysis>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
|
||||||
<LinkIncremental>false</LinkIncremental>
|
|
||||||
<IncludePath>$(IncludePath);$(SolutionDir)..\..\lib;$(SolutionDir)..\..\programs;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(UniversalCRT_IncludePath);</IncludePath>
|
|
||||||
<RunCodeAnalysis>false</RunCodeAnalysis>
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<ClCompile>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<WarningLevel>Level4</WarningLevel>
|
|
||||||
<Optimization>Disabled</Optimization>
|
|
||||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<TreatWarningAsError>true</TreatWarningAsError>
|
|
||||||
<EnablePREfast>false</EnablePREfast>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
|
||||||
<ClCompile>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<WarningLevel>Level4</WarningLevel>
|
|
||||||
<Optimization>Disabled</Optimization>
|
|
||||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<TreatWarningAsError>true</TreatWarningAsError>
|
|
||||||
<EnablePREfast>false</EnablePREfast>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<ClCompile>
|
|
||||||
<WarningLevel>Level4</WarningLevel>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<Optimization>MaxSpeed</Optimization>
|
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
||||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<EnablePREfast>false</EnablePREfast>
|
|
||||||
<TreatWarningAsError>false</TreatWarningAsError>
|
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
|
||||||
<ClCompile>
|
|
||||||
<WarningLevel>Level4</WarningLevel>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<Optimization>MaxSpeed</Optimization>
|
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
||||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<TreatWarningAsError>false</TreatWarningAsError>
|
|
||||||
<EnablePREfast>false</EnablePREfast>
|
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClCompile Include="..\..\..\lib\common\entropy_common.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\common\debug.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\common\fse_decompress.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\common\zstd_common.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\common\error_private.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\common\pool.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\common\threading.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\common\xxhash.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\hist.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\fse_compress.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\huf_compress.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_compress.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_compress_literals.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_compress_sequences.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_compress_superblock.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstdmt_compress.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_fast.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_double_fast.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_lazy.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_opt.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_ldm.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\decompress\huf_decompress.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\decompress\zstd_decompress.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\decompress\zstd_decompress_block.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\decompress\zstd_ddict.c" />
|
|
||||||
<ClCompile Include="..\..\..\programs\util.c" />
|
|
||||||
<ClCompile Include="..\..\..\programs\timefn.c" />
|
|
||||||
<ClCompile Include="..\..\..\programs\datagen.c" />
|
|
||||||
<ClCompile Include="..\..\..\programs\benchfn.c" />
|
|
||||||
<ClCompile Include="..\..\..\tests\fullbench.c" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClInclude Include="..\..\..\lib\zstd.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\common\fse.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\common\huf.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\zstd_errors.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\common\zstd_internal.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\common\pool.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\common\threading.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\common\xxhash.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_compress.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_compress_literals.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_compress_sequences.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_cwksp.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_compress_superblock.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_fast.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_double_fast.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_lazy.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_opt.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_ldm.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstdmt_compress.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\decompress\zstd_ddict.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\legacy\zstd_legacy.h" />
|
|
||||||
<ClInclude Include="..\..\..\programs\datagen.h" />
|
|
||||||
<ClInclude Include="..\..\..\programs\util.h" />
|
|
||||||
<ClInclude Include="..\..\..\programs\benchfn.h" />
|
|
||||||
</ItemGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
|
||||||
<ImportGroup Label="ExtensionTargets">
|
|
||||||
</ImportGroup>
|
|
||||||
</Project>
|
|
|
@ -1,223 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<ItemGroup Label="ProjectConfigurations">
|
|
||||||
<ProjectConfiguration Include="Debug|Win32">
|
|
||||||
<Configuration>Debug</Configuration>
|
|
||||||
<Platform>Win32</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Debug|x64">
|
|
||||||
<Configuration>Debug</Configuration>
|
|
||||||
<Platform>x64</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Release|Win32">
|
|
||||||
<Configuration>Release</Configuration>
|
|
||||||
<Platform>Win32</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Release|x64">
|
|
||||||
<Configuration>Release</Configuration>
|
|
||||||
<Platform>x64</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
</ItemGroup>
|
|
||||||
<PropertyGroup Label="Globals">
|
|
||||||
<ProjectGuid>{6FD4352B-346C-4703-96EA-D4A8B9A6976E}</ProjectGuid>
|
|
||||||
<Keyword>Win32Proj</Keyword>
|
|
||||||
<RootNamespace>fuzzer</RootNamespace>
|
|
||||||
<OutDir>$(SolutionDir)bin\$(Platform)_$(Configuration)\</OutDir>
|
|
||||||
<IntDir>$(SolutionDir)bin\obj\$(RootNamespace)_$(Platform)_$(Configuration)\</IntDir>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
|
||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
|
||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
|
||||||
<ImportGroup Label="ExtensionSettings">
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<PropertyGroup Label="UserMacros" />
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<LinkIncremental>true</LinkIncremental>
|
|
||||||
<RunCodeAnalysis>false</RunCodeAnalysis>
|
|
||||||
<IncludePath>$(IncludePath);$(SolutionDir)..\..\lib;$(SolutionDir)..\..\programs;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\dictBuilder;$(SolutionDir)..\..\lib\compress;$(UniversalCRT_IncludePath);</IncludePath>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
|
||||||
<LinkIncremental>true</LinkIncremental>
|
|
||||||
<RunCodeAnalysis>false</RunCodeAnalysis>
|
|
||||||
<IncludePath>$(IncludePath);$(SolutionDir)..\..\lib;$(SolutionDir)..\..\programs;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\dictBuilder;$(SolutionDir)..\..\lib\compress;$(UniversalCRT_IncludePath);</IncludePath>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<LinkIncremental>false</LinkIncremental>
|
|
||||||
<RunCodeAnalysis>false</RunCodeAnalysis>
|
|
||||||
<IncludePath>$(IncludePath);$(SolutionDir)..\..\lib;$(SolutionDir)..\..\programs;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\dictBuilder;$(SolutionDir)..\..\lib\compress;$(UniversalCRT_IncludePath);</IncludePath>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
|
||||||
<LinkIncremental>false</LinkIncremental>
|
|
||||||
<RunCodeAnalysis>false</RunCodeAnalysis>
|
|
||||||
<IncludePath>$(IncludePath);$(SolutionDir)..\..\lib;$(SolutionDir)..\..\programs;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\dictBuilder;$(SolutionDir)..\..\lib\compress;$(UniversalCRT_IncludePath);</IncludePath>
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<ClCompile>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<WarningLevel>Level4</WarningLevel>
|
|
||||||
<Optimization>Disabled</Optimization>
|
|
||||||
<PreprocessorDefinitions>ZSTD_MULTITHREAD=1;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<TreatWarningAsError>true</TreatWarningAsError>
|
|
||||||
<EnablePREfast>false</EnablePREfast>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
|
||||||
<ClCompile>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<WarningLevel>Level4</WarningLevel>
|
|
||||||
<Optimization>Disabled</Optimization>
|
|
||||||
<PreprocessorDefinitions>ZSTD_MULTITHREAD=1;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<TreatWarningAsError>true</TreatWarningAsError>
|
|
||||||
<EnablePREfast>false</EnablePREfast>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<ClCompile>
|
|
||||||
<WarningLevel>Level4</WarningLevel>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<Optimization>MaxSpeed</Optimization>
|
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
||||||
<PreprocessorDefinitions>ZSTD_MULTITHREAD=1;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<EnablePREfast>false</EnablePREfast>
|
|
||||||
<TreatWarningAsError>false</TreatWarningAsError>
|
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
|
||||||
<ClCompile>
|
|
||||||
<WarningLevel>Level4</WarningLevel>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<Optimization>MaxSpeed</Optimization>
|
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
||||||
<PreprocessorDefinitions>ZSTD_MULTITHREAD=1;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<TreatWarningAsError>false</TreatWarningAsError>
|
|
||||||
<EnablePREfast>false</EnablePREfast>
|
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClCompile Include="..\..\..\lib\common\pool.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\common\debug.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\common\threading.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\common\entropy_common.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\hist.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\common\error_private.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\common\fse_decompress.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\common\xxhash.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\common\zstd_common.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\fse_compress.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\huf_compress.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_compress.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_compress_literals.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_compress_sequences.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_compress_superblock.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_fast.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_double_fast.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_lazy.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_opt.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_ldm.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstdmt_compress.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\decompress\huf_decompress.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\decompress\zstd_decompress.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\decompress\zstd_decompress_block.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\decompress\zstd_ddict.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\dictBuilder\cover.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\dictBuilder\fastcover.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\dictBuilder\divsufsort.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\dictBuilder\zdict.c" />
|
|
||||||
<ClCompile Include="..\..\..\programs\util.c" />
|
|
||||||
<ClCompile Include="..\..\..\programs\timefn.c" />
|
|
||||||
<ClCompile Include="..\..\..\programs\datagen.c" />
|
|
||||||
<ClCompile Include="..\..\..\tests\fuzzer.c" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClInclude Include="..\..\..\lib\common\pool.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\common\threading.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\common\fse.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\common\huf.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\common\xxhash.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\common\zstd_internal.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\zstd_errors.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\zstd.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_compress.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_compress_literals.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_compress_sequences.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_cwksp.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_compress_superblock.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_fast.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_double_fast.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_lazy.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_opt.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_ldm.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstdmt_compress.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\decompress\zstd_ddict.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\dictBuilder\divsufsort.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\zdict.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\dictBuilder\cover.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\legacy\zstd_legacy.h" />
|
|
||||||
<ClInclude Include="..\..\..\programs\datagen.h" />
|
|
||||||
<ClInclude Include="..\..\..\programs\util.h" />
|
|
||||||
</ItemGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
|
||||||
<ImportGroup Label="ExtensionTargets">
|
|
||||||
</ImportGroup>
|
|
||||||
</Project>
|
|
|
@ -1,51 +0,0 @@
|
||||||
// Microsoft Visual C++ generated resource script.
|
|
||||||
//
|
|
||||||
|
|
||||||
#include "zstd.h" /* ZSTD_VERSION_STRING */
|
|
||||||
#define APSTUDIO_READONLY_SYMBOLS
|
|
||||||
#include "verrsrc.h"
|
|
||||||
#undef APSTUDIO_READONLY_SYMBOLS
|
|
||||||
|
|
||||||
|
|
||||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
|
||||||
LANGUAGE 9, 1
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
//
|
|
||||||
// Version
|
|
||||||
//
|
|
||||||
|
|
||||||
VS_VERSION_INFO VERSIONINFO
|
|
||||||
FILEVERSION ZSTD_VERSION_MAJOR,ZSTD_VERSION_MINOR,ZSTD_VERSION_RELEASE,0
|
|
||||||
PRODUCTVERSION ZSTD_VERSION_MAJOR,ZSTD_VERSION_MINOR,ZSTD_VERSION_RELEASE,0
|
|
||||||
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
|
|
||||||
#ifdef _DEBUG
|
|
||||||
FILEFLAGS VS_FF_DEBUG
|
|
||||||
#else
|
|
||||||
FILEFLAGS 0x0L
|
|
||||||
#endif
|
|
||||||
FILEOS VOS_NT_WINDOWS32
|
|
||||||
FILETYPE VFT_DLL
|
|
||||||
FILESUBTYPE VFT2_UNKNOWN
|
|
||||||
BEGIN
|
|
||||||
BLOCK "StringFileInfo"
|
|
||||||
BEGIN
|
|
||||||
BLOCK "040904B0"
|
|
||||||
BEGIN
|
|
||||||
VALUE "CompanyName", "Meta Platforms, Inc."
|
|
||||||
VALUE "FileDescription", "Zstandard - Fast and efficient compression algorithm"
|
|
||||||
VALUE "FileVersion", ZSTD_VERSION_STRING
|
|
||||||
VALUE "InternalName", "libzstd.dll"
|
|
||||||
VALUE "LegalCopyright", "Copyright (c) Meta Platforms, Inc. and affiliates."
|
|
||||||
VALUE "OriginalFilename", "libzstd.dll"
|
|
||||||
VALUE "ProductName", "Zstandard"
|
|
||||||
VALUE "ProductVersion", ZSTD_VERSION_STRING
|
|
||||||
END
|
|
||||||
END
|
|
||||||
BLOCK "VarFileInfo"
|
|
||||||
BEGIN
|
|
||||||
VALUE "Translation", 0x0409, 1200
|
|
||||||
END
|
|
||||||
END
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,250 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<ItemGroup Label="ProjectConfigurations">
|
|
||||||
<ProjectConfiguration Include="Debug|Win32">
|
|
||||||
<Configuration>Debug</Configuration>
|
|
||||||
<Platform>Win32</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Debug|x64">
|
|
||||||
<Configuration>Debug</Configuration>
|
|
||||||
<Platform>x64</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Release|Win32">
|
|
||||||
<Configuration>Release</Configuration>
|
|
||||||
<Platform>Win32</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Release|x64">
|
|
||||||
<Configuration>Release</Configuration>
|
|
||||||
<Platform>x64</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClCompile Include="..\..\..\lib\common\pool.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\common\debug.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\common\threading.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\common\entropy_common.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\hist.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\common\error_private.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\common\xxhash.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\common\zstd_common.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\common\fse_decompress.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\fse_compress.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\huf_compress.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_compress.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_compress_literals.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_compress_sequences.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_compress_superblock.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_fast.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_double_fast.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_lazy.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_opt.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_ldm.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstdmt_compress.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\decompress\huf_decompress.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\decompress\zstd_decompress.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\decompress\zstd_decompress_block.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\decompress\zstd_ddict.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\dictBuilder\cover.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\dictBuilder\fastcover.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\dictBuilder\divsufsort.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\dictBuilder\zdict.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\legacy\zstd_v01.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\legacy\zstd_v02.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\legacy\zstd_v03.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\legacy\zstd_v04.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\legacy\zstd_v05.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\legacy\zstd_v06.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\legacy\zstd_v07.c" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClInclude Include="..\..\..\lib\common\pool.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\common\threading.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\common\bitstream.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\common\error_private.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\zstd_errors.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\common\mem.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\common\fse.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\common\huf.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\common\xxhash.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\legacy\zstd_legacy.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\legacy\zstd_v01.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\legacy\zstd_v02.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\legacy\zstd_v03.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\legacy\zstd_v04.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\legacy\zstd_v05.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\legacy\zstd_v06.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\legacy\zstd_v07.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\zstd.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\common\zstd_internal.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_compress.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_compress_literals.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_compress_sequences.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_cwksp.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_compress_superblock.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_fast.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_double_fast.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_lazy.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_opt.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_ldm.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstdmt_compress.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\decompress\zstd_ddict.h" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ResourceCompile Include="libzstd-dll.rc" />
|
|
||||||
</ItemGroup>
|
|
||||||
<PropertyGroup Label="Globals">
|
|
||||||
<ProjectGuid>{00000000-94D5-4BF9-8A50-7BD9929A0850}</ProjectGuid>
|
|
||||||
<Keyword>Win32Proj</Keyword>
|
|
||||||
<RootNamespace>libzstd-dll</RootNamespace>
|
|
||||||
<OutDir>$(SolutionDir)bin\$(Platform)_$(Configuration)\</OutDir>
|
|
||||||
<IntDir>$(SolutionDir)bin\obj\$(RootNamespace)_$(Platform)_$(Configuration)\</IntDir>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
|
||||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
|
||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
|
||||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
|
||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
|
||||||
<ImportGroup Label="ExtensionSettings">
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<PropertyGroup Label="UserMacros" />
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<LinkIncremental>true</LinkIncremental>
|
|
||||||
<TargetName>libzstd</TargetName>
|
|
||||||
<IncludePath>$(IncludePath);$(SolutionDir)..\..\lib;$(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\dictBuilder;$(UniversalCRT_IncludePath);</IncludePath>
|
|
||||||
<RunCodeAnalysis>false</RunCodeAnalysis>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
|
||||||
<LinkIncremental>true</LinkIncremental>
|
|
||||||
<TargetName>libzstd</TargetName>
|
|
||||||
<IncludePath>$(IncludePath);$(SolutionDir)..\..\lib;$(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\dictBuilder;$(UniversalCRT_IncludePath);</IncludePath>
|
|
||||||
<RunCodeAnalysis>false</RunCodeAnalysis>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<LinkIncremental>false</LinkIncremental>
|
|
||||||
<TargetName>libzstd</TargetName>
|
|
||||||
<IncludePath>$(IncludePath);$(SolutionDir)..\..\lib;$(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\dictBuilder;$(UniversalCRT_IncludePath);</IncludePath>
|
|
||||||
<RunCodeAnalysis>false</RunCodeAnalysis>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
|
||||||
<LinkIncremental>false</LinkIncremental>
|
|
||||||
<TargetName>libzstd</TargetName>
|
|
||||||
<IncludePath>$(IncludePath);$(SolutionDir)..\..\lib;$(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\dictBuilder;$(UniversalCRT_IncludePath);</IncludePath>
|
|
||||||
<RunCodeAnalysis>false</RunCodeAnalysis>
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<ClCompile>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<WarningLevel>Level4</WarningLevel>
|
|
||||||
<Optimization>Disabled</Optimization>
|
|
||||||
<PreprocessorDefinitions>ZSTD_DLL_EXPORT=1;ZSTD_MULTITHREAD=1;ZSTD_LEGACY_SUPPORT=5;WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<MinimalRebuild>true</MinimalRebuild>
|
|
||||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
|
||||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
|
||||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
|
||||||
<TreatWarningAsError>true</TreatWarningAsError>
|
|
||||||
<EnablePREfast>false</EnablePREfast>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<TargetMachine>MachineX86</TargetMachine>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
|
||||||
<ClCompile>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<WarningLevel>Level4</WarningLevel>
|
|
||||||
<Optimization>Disabled</Optimization>
|
|
||||||
<PreprocessorDefinitions>ZSTD_DLL_EXPORT=1;ZSTD_MULTITHREAD=1;ZSTD_LEGACY_SUPPORT=5;WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<TreatWarningAsError>true</TreatWarningAsError>
|
|
||||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
|
||||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
|
||||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
|
||||||
<EnablePREfast>false</EnablePREfast>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<ClCompile>
|
|
||||||
<WarningLevel>Level4</WarningLevel>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<Optimization>MaxSpeed</Optimization>
|
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
||||||
<PreprocessorDefinitions>ZSTD_DLL_EXPORT=1;ZSTD_MULTITHREAD=1;ZSTD_LEGACY_SUPPORT=5;WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<EnablePREfast>false</EnablePREfast>
|
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
|
||||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
|
||||||
<TargetMachine>MachineX86</TargetMachine>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
|
||||||
<ClCompile>
|
|
||||||
<WarningLevel>Level4</WarningLevel>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<Optimization>MaxSpeed</Optimization>
|
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
||||||
<PreprocessorDefinitions>ZSTD_DLL_EXPORT=1;ZSTD_MULTITHREAD=1;ZSTD_LEGACY_SUPPORT=5;WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<TreatWarningAsError>false</TreatWarningAsError>
|
|
||||||
<EnablePREfast>false</EnablePREfast>
|
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
|
||||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
||||||
<OmitFramePointers>true</OmitFramePointers>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
|
||||||
<ImportGroup Label="ExtensionTargets">
|
|
||||||
</ImportGroup>
|
|
||||||
</Project>
|
|
|
@ -1,243 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<ItemGroup Label="ProjectConfigurations">
|
|
||||||
<ProjectConfiguration Include="Debug|Win32">
|
|
||||||
<Configuration>Debug</Configuration>
|
|
||||||
<Platform>Win32</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Debug|x64">
|
|
||||||
<Configuration>Debug</Configuration>
|
|
||||||
<Platform>x64</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Release|Win32">
|
|
||||||
<Configuration>Release</Configuration>
|
|
||||||
<Platform>Win32</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Release|x64">
|
|
||||||
<Configuration>Release</Configuration>
|
|
||||||
<Platform>x64</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClCompile Include="..\..\..\lib\common\pool.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\common\debug.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\common\threading.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\common\entropy_common.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\hist.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\common\error_private.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\common\xxhash.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\common\zstd_common.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\common\fse_decompress.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\fse_compress.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\huf_compress.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_compress.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_compress_literals.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_compress_sequences.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_compress_superblock.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_fast.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_double_fast.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_lazy.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_opt.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_ldm.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstdmt_compress.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\decompress\huf_decompress.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\decompress\zstd_decompress.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\decompress\zstd_decompress_block.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\decompress\zstd_ddict.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\dictBuilder\cover.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\dictBuilder\fastcover.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\dictBuilder\divsufsort.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\dictBuilder\zdict.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\legacy\zstd_v01.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\legacy\zstd_v02.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\legacy\zstd_v03.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\legacy\zstd_v04.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\legacy\zstd_v05.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\legacy\zstd_v06.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\legacy\zstd_v07.c" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClInclude Include="..\..\..\lib\common\pool.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\common\threading.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\common\bitstream.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\common\error_private.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\zstd_errors.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\common\mem.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\common\fse.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\common\huf.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\common\xxhash.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\legacy\zstd_legacy.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\legacy\zstd_v01.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\legacy\zstd_v02.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\legacy\zstd_v03.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\legacy\zstd_v04.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\legacy\zstd_v05.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\legacy\zstd_v06.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\legacy\zstd_v07.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\zstd.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\common\zstd_internal.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_compress.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_compress_literals.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_compress_sequences.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_cwksp.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_compress_superblock.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_fast.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_double_fast.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_lazy.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_opt.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_ldm.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstdmt_compress.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\decompress\zstd_ddict.h" />
|
|
||||||
</ItemGroup>
|
|
||||||
<PropertyGroup Label="Globals">
|
|
||||||
<ProjectGuid>{8BFD8150-94D5-4BF9-8A50-7BD9929A0850}</ProjectGuid>
|
|
||||||
<Keyword>Win32Proj</Keyword>
|
|
||||||
<RootNamespace>libzstd</RootNamespace>
|
|
||||||
<TargetName>libzstd_static</TargetName>
|
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
|
||||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
|
||||||
<OutDir>$(SolutionDir)bin\$(Platform)_$(Configuration)\</OutDir>
|
|
||||||
<IntDir>$(SolutionDir)bin\obj\$(RootNamespace)_$(Platform)_$(Configuration)\</IntDir>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
|
||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
|
||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
|
||||||
<ImportGroup Label="ExtensionSettings">
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<PropertyGroup Label="UserMacros" />
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<LinkIncremental>true</LinkIncremental>
|
|
||||||
<IncludePath>$(IncludePath);$(SolutionDir)..\..\lib;$(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\dictBuilder;$(UniversalCRT_IncludePath);</IncludePath>
|
|
||||||
<RunCodeAnalysis>false</RunCodeAnalysis>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
|
||||||
<LinkIncremental>true</LinkIncremental>
|
|
||||||
<IncludePath>$(IncludePath);$(SolutionDir)..\..\lib;$(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\dictBuilder;$(UniversalCRT_IncludePath);</IncludePath>
|
|
||||||
<RunCodeAnalysis>false</RunCodeAnalysis>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<LinkIncremental>false</LinkIncremental>
|
|
||||||
<IncludePath>$(IncludePath);$(SolutionDir)..\..\lib;$(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\dictBuilder;$(UniversalCRT_IncludePath);</IncludePath>
|
|
||||||
<RunCodeAnalysis>false</RunCodeAnalysis>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
|
||||||
<LinkIncremental>false</LinkIncremental>
|
|
||||||
<IncludePath>$(IncludePath);$(SolutionDir)..\..\lib;$(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\dictBuilder;$(UniversalCRT_IncludePath);</IncludePath>
|
|
||||||
<RunCodeAnalysis>false</RunCodeAnalysis>
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemDefinitionGroup>
|
|
||||||
<ClCompile>
|
|
||||||
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
|
|
||||||
</ClCompile>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<ClCompile>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<WarningLevel>Level4</WarningLevel>
|
|
||||||
<Optimization>Disabled</Optimization>
|
|
||||||
<PreprocessorDefinitions>ZSTD_MULTITHREAD=1;ZSTD_LEGACY_SUPPORT=5;WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<MinimalRebuild>true</MinimalRebuild>
|
|
||||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
|
||||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
|
||||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
|
||||||
<TreatWarningAsError>true</TreatWarningAsError>
|
|
||||||
<EnablePREfast>false</EnablePREfast>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<TargetMachine>MachineX86</TargetMachine>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
|
||||||
<ClCompile>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<WarningLevel>Level4</WarningLevel>
|
|
||||||
<Optimization>Disabled</Optimization>
|
|
||||||
<PreprocessorDefinitions>ZSTD_MULTITHREAD=1;ZSTD_LEGACY_SUPPORT=5;WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<TreatWarningAsError>true</TreatWarningAsError>
|
|
||||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
|
||||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
|
||||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
|
||||||
<EnablePREfast>false</EnablePREfast>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<ClCompile>
|
|
||||||
<WarningLevel>Level4</WarningLevel>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<Optimization>MaxSpeed</Optimization>
|
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
||||||
<PreprocessorDefinitions>ZSTD_MULTITHREAD=1;ZSTD_LEGACY_SUPPORT=5;WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<EnablePREfast>false</EnablePREfast>
|
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
|
||||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
|
||||||
<TargetMachine>MachineX86</TargetMachine>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
|
||||||
<ClCompile>
|
|
||||||
<WarningLevel>Level4</WarningLevel>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<Optimization>MaxSpeed</Optimization>
|
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
||||||
<PreprocessorDefinitions>ZSTD_MULTITHREAD=1;ZSTD_LEGACY_SUPPORT=5;WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<TreatWarningAsError>false</TreatWarningAsError>
|
|
||||||
<EnablePREfast>false</EnablePREfast>
|
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
|
||||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
||||||
<OmitFramePointers>true</OmitFramePointers>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
|
||||||
<ImportGroup Label="ExtensionTargets">
|
|
||||||
</ImportGroup>
|
|
||||||
</Project>
|
|
|
@ -1,89 +0,0 @@
|
||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
|
||||||
# Visual Studio Express 2012 for Windows Desktop
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zstd", "zstd\zstd.vcxproj", "{4E52A41A-F33B-4C7A-8C36-A1A6B4F4277C}"
|
|
||||||
EndProject
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fuzzer", "fuzzer\fuzzer.vcxproj", "{6FD4352B-346C-4703-96EA-D4A8B9A6976E}"
|
|
||||||
EndProject
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fullbench", "fullbench\fullbench.vcxproj", "{61ABD629-1CC8-4FD7-9281-6B8DBB9D3DF8}"
|
|
||||||
EndProject
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fullbench-dll", "fullbench-dll\fullbench-dll.vcxproj", "{00000000-1CC8-4FD7-9281-6B8DBB9D3DF8}"
|
|
||||||
ProjectSection(ProjectDependencies) = postProject
|
|
||||||
{00000000-94D5-4BF9-8A50-7BD9929A0850} = {00000000-94D5-4BF9-8A50-7BD9929A0850}
|
|
||||||
EndProjectSection
|
|
||||||
EndProject
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "datagen", "datagen\datagen.vcxproj", "{037E781E-81A6-494B-B1B3-438AB1200523}"
|
|
||||||
EndProject
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libzstd", "libzstd\libzstd.vcxproj", "{8BFD8150-94D5-4BF9-8A50-7BD9929A0850}"
|
|
||||||
EndProject
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libzstd-dll", "libzstd-dll\libzstd-dll.vcxproj", "{00000000-94D5-4BF9-8A50-7BD9929A0850}"
|
|
||||||
EndProject
|
|
||||||
Global
|
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
|
||||||
Debug|Win32 = Debug|Win32
|
|
||||||
Debug|x64 = Debug|x64
|
|
||||||
Release|Win32 = Release|Win32
|
|
||||||
Release|x64 = Release|x64
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
|
||||||
{4E52A41A-F33B-4C7A-8C36-A1A6B4F4277C}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{4E52A41A-F33B-4C7A-8C36-A1A6B4F4277C}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{4E52A41A-F33B-4C7A-8C36-A1A6B4F4277C}.Debug|x64.ActiveCfg = Debug|x64
|
|
||||||
{4E52A41A-F33B-4C7A-8C36-A1A6B4F4277C}.Debug|x64.Build.0 = Debug|x64
|
|
||||||
{4E52A41A-F33B-4C7A-8C36-A1A6B4F4277C}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{4E52A41A-F33B-4C7A-8C36-A1A6B4F4277C}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
{4E52A41A-F33B-4C7A-8C36-A1A6B4F4277C}.Release|x64.ActiveCfg = Release|x64
|
|
||||||
{4E52A41A-F33B-4C7A-8C36-A1A6B4F4277C}.Release|x64.Build.0 = Release|x64
|
|
||||||
{6FD4352B-346C-4703-96EA-D4A8B9A6976E}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{6FD4352B-346C-4703-96EA-D4A8B9A6976E}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{6FD4352B-346C-4703-96EA-D4A8B9A6976E}.Debug|x64.ActiveCfg = Debug|x64
|
|
||||||
{6FD4352B-346C-4703-96EA-D4A8B9A6976E}.Debug|x64.Build.0 = Debug|x64
|
|
||||||
{6FD4352B-346C-4703-96EA-D4A8B9A6976E}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{6FD4352B-346C-4703-96EA-D4A8B9A6976E}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
{6FD4352B-346C-4703-96EA-D4A8B9A6976E}.Release|x64.ActiveCfg = Release|x64
|
|
||||||
{6FD4352B-346C-4703-96EA-D4A8B9A6976E}.Release|x64.Build.0 = Release|x64
|
|
||||||
{61ABD629-1CC8-4FD7-9281-6B8DBB9D3DF8}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{61ABD629-1CC8-4FD7-9281-6B8DBB9D3DF8}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{61ABD629-1CC8-4FD7-9281-6B8DBB9D3DF8}.Debug|x64.ActiveCfg = Debug|x64
|
|
||||||
{61ABD629-1CC8-4FD7-9281-6B8DBB9D3DF8}.Debug|x64.Build.0 = Debug|x64
|
|
||||||
{61ABD629-1CC8-4FD7-9281-6B8DBB9D3DF8}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{61ABD629-1CC8-4FD7-9281-6B8DBB9D3DF8}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
{61ABD629-1CC8-4FD7-9281-6B8DBB9D3DF8}.Release|x64.ActiveCfg = Release|x64
|
|
||||||
{61ABD629-1CC8-4FD7-9281-6B8DBB9D3DF8}.Release|x64.Build.0 = Release|x64
|
|
||||||
{00000000-1CC8-4FD7-9281-6B8DBB9D3DF8}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{00000000-1CC8-4FD7-9281-6B8DBB9D3DF8}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{00000000-1CC8-4FD7-9281-6B8DBB9D3DF8}.Debug|x64.ActiveCfg = Debug|x64
|
|
||||||
{00000000-1CC8-4FD7-9281-6B8DBB9D3DF8}.Debug|x64.Build.0 = Debug|x64
|
|
||||||
{00000000-1CC8-4FD7-9281-6B8DBB9D3DF8}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{00000000-1CC8-4FD7-9281-6B8DBB9D3DF8}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
{00000000-1CC8-4FD7-9281-6B8DBB9D3DF8}.Release|x64.ActiveCfg = Release|x64
|
|
||||||
{00000000-1CC8-4FD7-9281-6B8DBB9D3DF8}.Release|x64.Build.0 = Release|x64
|
|
||||||
{037E781E-81A6-494B-B1B3-438AB1200523}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{037E781E-81A6-494B-B1B3-438AB1200523}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{037E781E-81A6-494B-B1B3-438AB1200523}.Debug|x64.ActiveCfg = Debug|x64
|
|
||||||
{037E781E-81A6-494B-B1B3-438AB1200523}.Debug|x64.Build.0 = Debug|x64
|
|
||||||
{037E781E-81A6-494B-B1B3-438AB1200523}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{037E781E-81A6-494B-B1B3-438AB1200523}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
{037E781E-81A6-494B-B1B3-438AB1200523}.Release|x64.ActiveCfg = Release|x64
|
|
||||||
{037E781E-81A6-494B-B1B3-438AB1200523}.Release|x64.Build.0 = Release|x64
|
|
||||||
{8BFD8150-94D5-4BF9-8A50-7BD9929A0850}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{8BFD8150-94D5-4BF9-8A50-7BD9929A0850}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{8BFD8150-94D5-4BF9-8A50-7BD9929A0850}.Debug|x64.ActiveCfg = Debug|x64
|
|
||||||
{8BFD8150-94D5-4BF9-8A50-7BD9929A0850}.Debug|x64.Build.0 = Debug|x64
|
|
||||||
{8BFD8150-94D5-4BF9-8A50-7BD9929A0850}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{8BFD8150-94D5-4BF9-8A50-7BD9929A0850}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
{8BFD8150-94D5-4BF9-8A50-7BD9929A0850}.Release|x64.ActiveCfg = Release|x64
|
|
||||||
{8BFD8150-94D5-4BF9-8A50-7BD9929A0850}.Release|x64.Build.0 = Release|x64
|
|
||||||
{00000000-94D5-4BF9-8A50-7BD9929A0850}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{00000000-94D5-4BF9-8A50-7BD9929A0850}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{00000000-94D5-4BF9-8A50-7BD9929A0850}.Debug|x64.ActiveCfg = Debug|x64
|
|
||||||
{00000000-94D5-4BF9-8A50-7BD9929A0850}.Debug|x64.Build.0 = Debug|x64
|
|
||||||
{00000000-94D5-4BF9-8A50-7BD9929A0850}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{00000000-94D5-4BF9-8A50-7BD9929A0850}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
{00000000-94D5-4BF9-8A50-7BD9929A0850}.Release|x64.ActiveCfg = Release|x64
|
|
||||||
{00000000-94D5-4BF9-8A50-7BD9929A0850}.Release|x64.Build.0 = Release|x64
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
|
||||||
HideSolutionNode = FALSE
|
|
||||||
EndGlobalSection
|
|
||||||
EndGlobal
|
|
|
@ -1,259 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<ItemGroup Label="ProjectConfigurations">
|
|
||||||
<ProjectConfiguration Include="Debug|Win32">
|
|
||||||
<Configuration>Debug</Configuration>
|
|
||||||
<Platform>Win32</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Debug|x64">
|
|
||||||
<Configuration>Debug</Configuration>
|
|
||||||
<Platform>x64</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Release|Win32">
|
|
||||||
<Configuration>Release</Configuration>
|
|
||||||
<Platform>Win32</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Release|x64">
|
|
||||||
<Configuration>Release</Configuration>
|
|
||||||
<Platform>x64</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClCompile Include="..\..\..\lib\common\debug.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\common\entropy_common.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\common\error_private.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\common\pool.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\common\threading.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\common\xxhash.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\common\zstd_common.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\common\fse_decompress.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\hist.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\fse_compress.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\huf_compress.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstdmt_compress.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_compress.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_compress_literals.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_compress_sequences.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_compress_superblock.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_fast.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_double_fast.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_lazy.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_opt.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\compress\zstd_ldm.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\decompress\huf_decompress.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\decompress\zstd_decompress.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\decompress\zstd_decompress_block.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\decompress\zstd_ddict.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\dictBuilder\cover.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\dictBuilder\fastcover.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\dictBuilder\divsufsort.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\dictBuilder\zdict.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\legacy\zstd_v01.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\legacy\zstd_v02.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\legacy\zstd_v03.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\legacy\zstd_v04.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\legacy\zstd_v05.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\legacy\zstd_v06.c" />
|
|
||||||
<ClCompile Include="..\..\..\lib\legacy\zstd_v07.c" />
|
|
||||||
<ClCompile Include="..\..\..\programs\util.c" />
|
|
||||||
<ClCompile Include="..\..\..\programs\timefn.c" />
|
|
||||||
<ClCompile Include="..\..\..\programs\benchfn.c" />
|
|
||||||
<ClCompile Include="..\..\..\programs\benchzstd.c" />
|
|
||||||
<ClCompile Include="..\..\..\programs\datagen.c" />
|
|
||||||
<ClCompile Include="..\..\..\programs\dibio.c" />
|
|
||||||
<ClCompile Include="..\..\..\programs\fileio.c" />
|
|
||||||
<ClCompile Include="..\..\..\programs\fileio_asyncio.c" />
|
|
||||||
<ClCompile Include="..\..\..\programs\zstdcli.c" />
|
|
||||||
<ClCompile Include="..\..\..\programs\zstdcli_trace.c" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClInclude Include="..\..\..\lib\common\pool.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\common\threading.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\common\xxhash.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstdmt_compress.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\zdict.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\dictBuilder\cover.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\dictBuilder\divsufsort.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\common\fse.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\common\huf.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\zstd.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\common\zstd_internal.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\zstd_errors.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_compress.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_compress_literals.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_compress_sequences.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_cwksp.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_compress_superblock.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_fast.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_double_fast.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_lazy.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_opt.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\compress\zstd_ldm.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\decompress\zstd_ddict.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\legacy\zstd_legacy.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\legacy\zstd_v01.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\legacy\zstd_v02.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\legacy\zstd_v03.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\legacy\zstd_v04.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\legacy\zstd_v05.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\legacy\zstd_v06.h" />
|
|
||||||
<ClInclude Include="..\..\..\lib\legacy\zstd_v07.h" />
|
|
||||||
<ClInclude Include="..\..\..\programs\benchzstd.h" />
|
|
||||||
<ClInclude Include="..\..\..\programs\datagen.h" />
|
|
||||||
<ClInclude Include="..\..\..\programs\dibio.h" />
|
|
||||||
<ClInclude Include="..\..\..\programs\fileio.h" />
|
|
||||||
<ClInclude Include="..\..\..\programs\platform.h" />
|
|
||||||
<ClInclude Include="..\..\..\programs\util.h" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ResourceCompile Include="zstd.rc" />
|
|
||||||
</ItemGroup>
|
|
||||||
<PropertyGroup Label="Globals">
|
|
||||||
<ProjectGuid>{4E52A41A-F33B-4C7A-8C36-A1A6B4F4277C}</ProjectGuid>
|
|
||||||
<Keyword>Win32Proj</Keyword>
|
|
||||||
<RootNamespace>zstd</RootNamespace>
|
|
||||||
<OutDir>$(SolutionDir)bin\$(Platform)_$(Configuration)\</OutDir>
|
|
||||||
<IntDir>$(SolutionDir)bin\obj\$(RootNamespace)_$(Platform)_$(Configuration)\</IntDir>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
|
||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
|
||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
|
||||||
<ImportGroup Label="ExtensionSettings">
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<PropertyGroup Label="UserMacros" />
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<LinkIncremental>true</LinkIncremental>
|
|
||||||
<IncludePath>$(IncludePath);$(SolutionDir)..\..\lib;$(SolutionDir)..\..\lib\compress;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\dictBuilder;$(UniversalCRT_IncludePath);</IncludePath>
|
|
||||||
<RunCodeAnalysis>false</RunCodeAnalysis>
|
|
||||||
<LibraryPath>$(LibraryPath)</LibraryPath>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
|
||||||
<LinkIncremental>true</LinkIncremental>
|
|
||||||
<IncludePath>$(IncludePath);$(SolutionDir)..\..\lib;$(SolutionDir)..\..\lib\compress;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\dictBuilder;$(UniversalCRT_IncludePath);</IncludePath>
|
|
||||||
<RunCodeAnalysis>false</RunCodeAnalysis>
|
|
||||||
<LibraryPath>$(LibraryPath);</LibraryPath>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<LinkIncremental>false</LinkIncremental>
|
|
||||||
<IncludePath>$(IncludePath);$(SolutionDir)..\..\lib;$(SolutionDir)..\..\lib\compress;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\dictBuilder;$(UniversalCRT_IncludePath);</IncludePath>
|
|
||||||
<RunCodeAnalysis>false</RunCodeAnalysis>
|
|
||||||
<LibraryPath>$(LibraryPath)</LibraryPath>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
|
||||||
<LinkIncremental>false</LinkIncremental>
|
|
||||||
<IncludePath>$(IncludePath);$(SolutionDir)..\..\lib;$(SolutionDir)..\..\lib\compress;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\dictBuilder;$(UniversalCRT_IncludePath);</IncludePath>
|
|
||||||
<RunCodeAnalysis>false</RunCodeAnalysis>
|
|
||||||
<LibraryPath>$(LibraryPath);</LibraryPath>
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<ClCompile>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<WarningLevel>Level4</WarningLevel>
|
|
||||||
<Optimization>Disabled</Optimization>
|
|
||||||
<PreprocessorDefinitions>ZSTD_MULTITHREAD=1;ZSTD_LEGACY_SUPPORT=5;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<TreatWarningAsError>true</TreatWarningAsError>
|
|
||||||
<EnablePREfast>false</EnablePREfast>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<AdditionalDependencies>setargv.obj;%(AdditionalDependencies)</AdditionalDependencies>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
|
||||||
<ClCompile>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<WarningLevel>Level4</WarningLevel>
|
|
||||||
<Optimization>Disabled</Optimization>
|
|
||||||
<PreprocessorDefinitions>ZSTD_MULTITHREAD=1;ZSTD_LEGACY_SUPPORT=5;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<TreatWarningAsError>true</TreatWarningAsError>
|
|
||||||
<EnablePREfast>false</EnablePREfast>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<AdditionalDependencies>setargv.obj;%(AdditionalDependencies)</AdditionalDependencies>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<ClCompile>
|
|
||||||
<WarningLevel>Level4</WarningLevel>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<Optimization>MaxSpeed</Optimization>
|
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
||||||
<PreprocessorDefinitions>ZSTD_MULTITHREAD=1;ZSTD_LEGACY_SUPPORT=5;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<EnablePREfast>false</EnablePREfast>
|
|
||||||
<TreatWarningAsError>false</TreatWarningAsError>
|
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
|
||||||
<AdditionalDependencies>setargv.obj;%(AdditionalDependencies)</AdditionalDependencies>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
|
||||||
<ClCompile>
|
|
||||||
<WarningLevel>Level4</WarningLevel>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<Optimization>MaxSpeed</Optimization>
|
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
||||||
<PreprocessorDefinitions>ZSTD_MULTITHREAD=1;ZSTD_LEGACY_SUPPORT=5;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<TreatWarningAsError>false</TreatWarningAsError>
|
|
||||||
<EnablePREfast>false</EnablePREfast>
|
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
|
||||||
<AdditionalOptions>/DZSTD_MULTITHREAD %(AdditionalOptions)</AdditionalOptions>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
|
||||||
<AdditionalDependencies>setargv.obj;%(AdditionalDependencies)</AdditionalDependencies>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
|
||||||
<ImportGroup Label="ExtensionTargets">
|
|
||||||
</ImportGroup>
|
|
||||||
</Project>
|
|
|
@ -1,64 +0,0 @@
|
||||||
Command line scripts for Visual Studio compilation without IDE
|
|
||||||
==============================================================
|
|
||||||
|
|
||||||
Here are a few command lines for reference :
|
|
||||||
|
|
||||||
### Build with Visual Studio 2013 for msvcr120.dll
|
|
||||||
|
|
||||||
Running the following command will build both the `Release Win32` and `Release x64` versions:
|
|
||||||
```batch
|
|
||||||
build.VS2013.cmd
|
|
||||||
```
|
|
||||||
The result of each build will be in the corresponding `bin\Release\{ARCH}\` folder.
|
|
||||||
|
|
||||||
If you want to only need one architecture:
|
|
||||||
- Win32: `build.generic.cmd VS2013 Win32 Release v120`
|
|
||||||
- x64: `build.generic.cmd VS2013 x64 Release v120`
|
|
||||||
|
|
||||||
If you want a Debug build:
|
|
||||||
- Win32: `build.generic.cmd VS2013 Win32 Debug v120`
|
|
||||||
- x64: `build.generic.cmd VS2013 x64 Debug v120`
|
|
||||||
|
|
||||||
### Build with Visual Studio 2015 for msvcr140.dll
|
|
||||||
|
|
||||||
Running the following command will build both the `Release Win32` and `Release x64` versions:
|
|
||||||
```batch
|
|
||||||
build.VS2015.cmd
|
|
||||||
```
|
|
||||||
The result of each build will be in the corresponding `bin\Release\{ARCH}\` folder.
|
|
||||||
|
|
||||||
If you want to only need one architecture:
|
|
||||||
- Win32: `build.generic.cmd VS2015 Win32 Release v140`
|
|
||||||
- x64: `build.generic.cmd VS2015 x64 Release v140`
|
|
||||||
|
|
||||||
If you want a Debug build:
|
|
||||||
- Win32: `build.generic.cmd VS2015 Win32 Debug v140`
|
|
||||||
- x64: `build.generic.cmd VS2015 x64 Debug v140`
|
|
||||||
|
|
||||||
### Build with Visual Studio 2015 for msvcr120.dll
|
|
||||||
|
|
||||||
This capability is offered through `build.generic.cmd` using proper arguments:
|
|
||||||
|
|
||||||
**For Win32**
|
|
||||||
```batch
|
|
||||||
build.generic.cmd VS2015 Win32 Release v120
|
|
||||||
```
|
|
||||||
The result of the build will be in the `bin\Release\Win32\` folder.
|
|
||||||
|
|
||||||
**For x64**
|
|
||||||
```batch
|
|
||||||
build.generic.cmd VS2015 x64 Release v120
|
|
||||||
```
|
|
||||||
The result of the build will be in the `bin\Release\x64\` folder.
|
|
||||||
|
|
||||||
If you want Debug builds, replace `Release` with `Debug`.
|
|
||||||
|
|
||||||
### Build with Visual Studio 2017
|
|
||||||
|
|
||||||
`build.VS2017.cmd`, contributed by [@HaydnTrigg](https://github.com/HaydnTrigg),
|
|
||||||
will build both the `Release Win32` and `Release x64` versions
|
|
||||||
of the first VS2017 variant it finds, in this priority order :
|
|
||||||
Enterprise > Professional > Community
|
|
||||||
|
|
||||||
Alternatively, it's possible to target a specific version,
|
|
||||||
using appropriate script, such as `build.VS2017Enterprise.cmd` for example.
|
|
|
@ -1,7 +0,0 @@
|
||||||
@echo off
|
|
||||||
|
|
||||||
rem build 32-bit
|
|
||||||
call "%~p0%build.generic.cmd" VS2010 Win32 Release v100
|
|
||||||
|
|
||||||
rem build 64-bit
|
|
||||||
call "%~p0%build.generic.cmd" VS2010 x64 Release v100
|
|
|
@ -1,6 +0,0 @@
|
||||||
@echo off
|
|
||||||
|
|
||||||
rem build 32-bit
|
|
||||||
call "%~p0%build.generic.cmd" VS2012 Win32 Release v110
|
|
||||||
rem build 64-bit
|
|
||||||
call "%~p0%build.generic.cmd" VS2012 x64 Release v110
|
|
|
@ -1,7 +0,0 @@
|
||||||
@echo off
|
|
||||||
|
|
||||||
rem build 32-bit
|
|
||||||
call "%~p0%build.generic.cmd" VS2013 Win32 Release v120
|
|
||||||
|
|
||||||
rem build 64-bit
|
|
||||||
call "%~p0%build.generic.cmd" VS2013 x64 Release v120
|
|
|
@ -1,7 +0,0 @@
|
||||||
@echo off
|
|
||||||
|
|
||||||
rem build 32-bit
|
|
||||||
call "%~p0%build.generic.cmd" VS2015 Win32 Release v140
|
|
||||||
|
|
||||||
rem build 64-bit
|
|
||||||
call "%~p0%build.generic.cmd" VS2015 x64 Release v140
|
|
|
@ -1,7 +0,0 @@
|
||||||
@echo off
|
|
||||||
|
|
||||||
rem build 32-bit
|
|
||||||
call "%~p0%build.generic.cmd" VS2017 Win32 Release v141
|
|
||||||
|
|
||||||
rem build 64-bit
|
|
||||||
call "%~p0%build.generic.cmd" VS2017 x64 Release v141
|
|
|
@ -1,7 +0,0 @@
|
||||||
@echo off
|
|
||||||
|
|
||||||
rem build 32-bit
|
|
||||||
call "%~p0%build.generic.cmd" VS2017Community Win32 Release v141
|
|
||||||
|
|
||||||
rem build 64-bit
|
|
||||||
call "%~p0%build.generic.cmd" VS2017Community x64 Release v141
|
|
|
@ -1,7 +0,0 @@
|
||||||
@echo off
|
|
||||||
|
|
||||||
rem build 32-bit
|
|
||||||
call "%~p0%build.generic.cmd" VS2017Enterprise Win32 Release v141
|
|
||||||
|
|
||||||
rem build 64-bit
|
|
||||||
call "%~p0%build.generic.cmd" VS2017Enterprise x64 Release v141
|
|
|
@ -1,7 +0,0 @@
|
||||||
@echo off
|
|
||||||
|
|
||||||
rem build 32-bit
|
|
||||||
call "%~p0%build.generic.cmd" VS2017Professional Win32 Release v141
|
|
||||||
|
|
||||||
rem build 64-bit
|
|
||||||
call "%~p0%build.generic.cmd" VS2017Professional x64 Release v141
|
|
|
@ -1,72 +0,0 @@
|
||||||
@echo off
|
|
||||||
|
|
||||||
IF "%1%" == "" GOTO display_help
|
|
||||||
|
|
||||||
SETLOCAL
|
|
||||||
|
|
||||||
SET msbuild_version=%1
|
|
||||||
|
|
||||||
SET msbuild_platform=%2
|
|
||||||
IF "%msbuild_platform%" == "" SET msbuild_platform=x64
|
|
||||||
|
|
||||||
SET msbuild_configuration=%3
|
|
||||||
IF "%msbuild_configuration%" == "" SET msbuild_configuration=Release
|
|
||||||
|
|
||||||
SET msbuild_toolset=%4
|
|
||||||
|
|
||||||
GOTO build
|
|
||||||
|
|
||||||
:display_help
|
|
||||||
|
|
||||||
echo Syntax: build.generic.cmd msbuild_version msbuild_platform msbuild_configuration msbuild_toolset
|
|
||||||
echo msbuild_version: VS installed version (VS2012, VS2013, VS2015, VS2017, VS2019, ...)
|
|
||||||
echo msbuild_platform: Platform (x64 or Win32)
|
|
||||||
echo msbuild_configuration: VS configuration (Release or Debug)
|
|
||||||
echo msbuild_toolset: Platform Toolset (v100, v110, v120, v140, v141, v142, ...)
|
|
||||||
|
|
||||||
EXIT /B 1
|
|
||||||
|
|
||||||
:build
|
|
||||||
|
|
||||||
SET msbuild="%windir%\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe"
|
|
||||||
SET msbuild_vs2017community="%programfiles(x86)%\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\MSBuild.exe"
|
|
||||||
SET msbuild_vs2017professional="%programfiles(x86)%\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\MSBuild.exe"
|
|
||||||
SET msbuild_vs2017enterprise="%programfiles(x86)%\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\MSBuild.exe"
|
|
||||||
IF %msbuild_version% == VS2013 SET msbuild="%programfiles(x86)%\MSBuild\12.0\Bin\MSBuild.exe"
|
|
||||||
IF %msbuild_version% == VS2015 SET msbuild="%programfiles(x86)%\MSBuild\14.0\Bin\MSBuild.exe"
|
|
||||||
IF %msbuild_version% == VS2017Community SET msbuild=%msbuild_vs2017community%
|
|
||||||
IF %msbuild_version% == VS2017Professional SET msbuild=%msbuild_vs2017professional%
|
|
||||||
IF %msbuild_version% == VS2017Enterprise SET msbuild=%msbuild_vs2017enterprise%
|
|
||||||
IF %msbuild_version% == VS2017 (
|
|
||||||
IF EXIST %msbuild_vs2017community% SET msbuild=%msbuild_vs2017community%
|
|
||||||
IF EXIST %msbuild_vs2017professional% SET msbuild=%msbuild_vs2017professional%
|
|
||||||
IF EXIST %msbuild_vs2017enterprise% SET msbuild=%msbuild_vs2017enterprise%
|
|
||||||
)
|
|
||||||
|
|
||||||
:: VS2019
|
|
||||||
SET msbuild_vs2019community="%programfiles(x86)%\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe"
|
|
||||||
SET msbuild_vs2019professional="%programfiles(x86)%\Microsoft Visual Studio\2019\Professional\MSBuild\Current\Bin\MSBuild.exe"
|
|
||||||
SET msbuild_vs2019enterprise="%programfiles(x86)%\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\MSBuild.exe"
|
|
||||||
IF %msbuild_version% == VS2019 (
|
|
||||||
IF EXIST %msbuild_vs2019community% SET msbuild=%msbuild_vs2019community%
|
|
||||||
IF EXIST %msbuild_vs2019professional% SET msbuild=%msbuild_vs2019professional%
|
|
||||||
IF EXIST %msbuild_vs2019enterprise% SET msbuild=%msbuild_vs2019enterprise%
|
|
||||||
)
|
|
||||||
|
|
||||||
SET project="%~p0\..\VS2010\zstd.sln"
|
|
||||||
|
|
||||||
SET msbuild_params=/verbosity:minimal /nologo /t:Clean,Build /p:Platform=%msbuild_platform% /p:Configuration=%msbuild_configuration%
|
|
||||||
IF NOT "%msbuild_toolset%" == "" SET msbuild_params=%msbuild_params% /p:PlatformToolset=%msbuild_toolset%
|
|
||||||
|
|
||||||
SET output=%~p0%bin
|
|
||||||
SET output="%output%/%msbuild_configuration%/%msbuild_platform%/"
|
|
||||||
SET msbuild_params=%msbuild_params% /p:OutDir=%output%
|
|
||||||
|
|
||||||
echo ### Building %msbuild_version% project for %msbuild_configuration% %msbuild_platform% (%msbuild_toolset%)...
|
|
||||||
echo ### Build Params: %msbuild_params%
|
|
||||||
|
|
||||||
%msbuild% %project% %msbuild_params%
|
|
||||||
IF ERRORLEVEL 1 EXIT /B 1
|
|
||||||
echo # Success
|
|
||||||
echo # OutDir: %output%
|
|
||||||
echo #
|
|
|
@ -1,10 +0,0 @@
|
||||||
# cmake working directory
|
|
||||||
cmakeBuild
|
|
||||||
|
|
||||||
# cmake artefacts
|
|
||||||
CMakeCache.txt
|
|
||||||
CMakeFiles
|
|
||||||
Makefile
|
|
||||||
cmake_install.cmake
|
|
||||||
cmake_uninstall.cmake
|
|
||||||
*.1
|
|
|
@ -1,212 +0,0 @@
|
||||||
# ################################################################
|
|
||||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# This source code is licensed under both the BSD-style license (found in the
|
|
||||||
# LICENSE file in the root directory of this source tree) and the GPLv2 (found
|
|
||||||
# in the COPYING file in the root directory of this source tree).
|
|
||||||
# ################################################################
|
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR)
|
|
||||||
|
|
||||||
# As of 2018-12-26 ZSTD has been validated to build with cmake version 3.13.2 new policies.
|
|
||||||
# Set and use the newest cmake policies that are validated to work
|
|
||||||
set(ZSTD_MAX_VALIDATED_CMAKE_MAJOR_VERSION "3")
|
|
||||||
set(ZSTD_MAX_VALIDATED_CMAKE_MINOR_VERSION "13") #Policies never changed at PATCH level
|
|
||||||
if("${CMAKE_MAJOR_VERSION}" LESS 3)
|
|
||||||
set(ZSTD_CMAKE_POLICY_VERSION "${CMAKE_VERSION}")
|
|
||||||
elseif( "${ZSTD_MAX_VALIDATED_CMAKE_MAJOR_VERSION}" EQUAL "${CMAKE_MAJOR_VERSION}" AND
|
|
||||||
"${ZSTD_MAX_VALIDATED_CMAKE_MINOR_VERSION}" GREATER "${CMAKE_MINOR_VERSION}")
|
|
||||||
set(ZSTD_CMAKE_POLICY_VERSION "${CMAKE_VERSION}")
|
|
||||||
else()
|
|
||||||
set(ZSTD_CMAKE_POLICY_VERSION "${ZSTD_MAX_VALIDATED_CMAKE_MAJOR_VERSION}.${ZSTD_MAX_VALIDATED_CMAKE_MINOR_VERSION}.0")
|
|
||||||
endif()
|
|
||||||
cmake_policy(VERSION ${ZSTD_CMAKE_POLICY_VERSION})
|
|
||||||
|
|
||||||
set(CMAKE_BUILD_WITH_INSTALL_RPATH on)
|
|
||||||
|
|
||||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules")
|
|
||||||
set(ZSTD_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../..")
|
|
||||||
set(LIBRARY_DIR ${ZSTD_SOURCE_DIR}/lib)
|
|
||||||
# Parse version
|
|
||||||
include(GetZstdLibraryVersion)
|
|
||||||
GetZstdLibraryVersion(${LIBRARY_DIR}/zstd.h zstd_VERSION_MAJOR zstd_VERSION_MINOR zstd_VERSION_PATCH)
|
|
||||||
|
|
||||||
if( CMAKE_MAJOR_VERSION LESS 3 )
|
|
||||||
## Provide cmake 3+ behavior for older versions of cmake
|
|
||||||
project(zstd)
|
|
||||||
set(PROJECT_VERSION_MAJOR ${zstd_VERSION_MAJOR})
|
|
||||||
set(PROJECT_VERSION_MINOR ${zstd_VERSION_MINOR})
|
|
||||||
set(PROJECT_VERSION_PATCH ${zstd_VERSION_PATCH})
|
|
||||||
set(PROJECT_VERSION "${zstd_VERSION_MAJOR}.${zstd_VERSION_MINOR}.${zstd_VERSION_PATCH}")
|
|
||||||
enable_language(C) # Main library is in C
|
|
||||||
enable_language(ASM) # And ASM
|
|
||||||
enable_language(CXX) # Testing contributed code also utilizes CXX
|
|
||||||
else()
|
|
||||||
project(zstd
|
|
||||||
VERSION "${zstd_VERSION_MAJOR}.${zstd_VERSION_MINOR}.${zstd_VERSION_PATCH}"
|
|
||||||
LANGUAGES C # Main library is in C
|
|
||||||
ASM # And ASM
|
|
||||||
CXX # Testing contributed code also utilizes CXX
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
message(STATUS "ZSTD VERSION: ${zstd_VERSION}")
|
|
||||||
set(zstd_HOMEPAGE_URL "https://facebook.github.io/zstd")
|
|
||||||
set(zstd_DESCRIPTION "Zstandard is a real-time compression algorithm, providing high compression ratios.")
|
|
||||||
|
|
||||||
# Set a default build type if none was specified
|
|
||||||
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
|
|
||||||
message(STATUS "Setting build type to 'Release' as none was specified.")
|
|
||||||
set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build." FORCE)
|
|
||||||
# Set the possible values of build type for cmake-gui
|
|
||||||
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
include(GNUInstallDirs)
|
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------
|
|
||||||
# Add extra compilation flags
|
|
||||||
#-----------------------------------------------------------------------------
|
|
||||||
include(AddZstdCompilationFlags)
|
|
||||||
ADD_ZSTD_COMPILATION_FLAGS()
|
|
||||||
|
|
||||||
# Always hide XXHash symbols
|
|
||||||
add_definitions(-DXXH_NAMESPACE=ZSTD_)
|
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------
|
|
||||||
# Installation variables
|
|
||||||
#-----------------------------------------------------------------------------
|
|
||||||
message(STATUS "CMAKE_INSTALL_PREFIX: ${CMAKE_INSTALL_PREFIX}")
|
|
||||||
message(STATUS "CMAKE_INSTALL_LIBDIR: ${CMAKE_INSTALL_LIBDIR}")
|
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------
|
|
||||||
# Options
|
|
||||||
#-----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
# Legacy support
|
|
||||||
option(ZSTD_LEGACY_SUPPORT "LEGACY SUPPORT" ON)
|
|
||||||
|
|
||||||
if (ZSTD_LEGACY_SUPPORT)
|
|
||||||
message(STATUS "ZSTD_LEGACY_SUPPORT defined!")
|
|
||||||
set(ZSTD_LEGACY_LEVEL 5 CACHE STRING "")
|
|
||||||
add_definitions(-DZSTD_LEGACY_SUPPORT=${ZSTD_LEGACY_LEVEL})
|
|
||||||
else ()
|
|
||||||
message(STATUS "ZSTD_LEGACY_SUPPORT not defined!")
|
|
||||||
add_definitions(-DZSTD_LEGACY_SUPPORT=0)
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
if (ANDROID)
|
|
||||||
set(ZSTD_MULTITHREAD_SUPPORT_DEFAULT OFF)
|
|
||||||
else()
|
|
||||||
set(ZSTD_MULTITHREAD_SUPPORT_DEFAULT ON)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Multi-threading support
|
|
||||||
option(ZSTD_MULTITHREAD_SUPPORT "MULTITHREADING SUPPORT" ${ZSTD_MULTITHREAD_SUPPORT_DEFAULT})
|
|
||||||
|
|
||||||
if (ZSTD_MULTITHREAD_SUPPORT)
|
|
||||||
message(STATUS "ZSTD_MULTITHREAD_SUPPORT is enabled")
|
|
||||||
else ()
|
|
||||||
message(STATUS "ZSTD_MULTITHREAD_SUPPORT is disabled")
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
option(ZSTD_BUILD_PROGRAMS "BUILD PROGRAMS" ON)
|
|
||||||
option(ZSTD_BUILD_CONTRIB "BUILD CONTRIB" OFF)
|
|
||||||
|
|
||||||
# Respect the conventional CMake option for enabling tests if it was specified on the first configure
|
|
||||||
if (BUILD_TESTING)
|
|
||||||
set(ZSTD_BUILD_TESTS_default ON)
|
|
||||||
else()
|
|
||||||
set(ZSTD_BUILD_TESTS_default OFF)
|
|
||||||
endif()
|
|
||||||
option(ZSTD_BUILD_TESTS "BUILD TESTS" ${ZSTD_BUILD_TESTS_default})
|
|
||||||
if (MSVC)
|
|
||||||
option(ZSTD_USE_STATIC_RUNTIME "LINK TO STATIC RUN-TIME LIBRARIES" OFF)
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------
|
|
||||||
# External dependencies
|
|
||||||
#-----------------------------------------------------------------------------
|
|
||||||
if (ZSTD_MULTITHREAD_SUPPORT AND UNIX)
|
|
||||||
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
|
||||||
find_package(Threads REQUIRED)
|
|
||||||
if(CMAKE_USE_PTHREADS_INIT)
|
|
||||||
set(THREADS_LIBS "${CMAKE_THREAD_LIBS_INIT}")
|
|
||||||
else()
|
|
||||||
message(SEND_ERROR "ZSTD currently does not support thread libraries other than pthreads")
|
|
||||||
endif()
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------
|
|
||||||
# Add source directories
|
|
||||||
#-----------------------------------------------------------------------------
|
|
||||||
add_subdirectory(lib)
|
|
||||||
|
|
||||||
option(ZSTD_PROGRAMS_LINK_SHARED "PROGRAMS LINK SHARED" OFF)
|
|
||||||
|
|
||||||
if (ZSTD_BUILD_PROGRAMS)
|
|
||||||
if (NOT ZSTD_BUILD_STATIC AND NOT ZSTD_PROGRAMS_LINK_SHARED)
|
|
||||||
message(SEND_ERROR "You need to build static library to build zstd CLI")
|
|
||||||
elseif(NOT ZSTD_BUILD_SHARED AND ZSTD_PROGRAMS_LINK_SHARED)
|
|
||||||
message(SEND_ERROR "You need to build shared library to build zstd CLI")
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
add_subdirectory(programs)
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
if (ZSTD_BUILD_TESTS)
|
|
||||||
enable_testing()
|
|
||||||
if (NOT ZSTD_BUILD_STATIC)
|
|
||||||
message(SEND_ERROR "You need to build static library to build tests")
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
add_subdirectory(tests)
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
if (ZSTD_BUILD_CONTRIB)
|
|
||||||
add_subdirectory(contrib)
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------
|
|
||||||
# Add clean-all target
|
|
||||||
#-----------------------------------------------------------------------------
|
|
||||||
add_custom_target(clean-all
|
|
||||||
COMMAND ${CMAKE_BUILD_TOOL} clean
|
|
||||||
COMMAND rm -rf ${CMAKE_BINARY_DIR}/
|
|
||||||
)
|
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------
|
|
||||||
# Generate Package Config files
|
|
||||||
#
|
|
||||||
# This section is based on the boiler plate code from:
|
|
||||||
# https://cmake.org/cmake/help/latest/manual/cmake-packages.7.html#creating-packages
|
|
||||||
#-----------------------------------------------------------------------------
|
|
||||||
include(CMakePackageConfigHelpers)
|
|
||||||
write_basic_package_version_file(
|
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/zstdConfigVersion.cmake"
|
|
||||||
VERSION ${zstd_VERSION}
|
|
||||||
COMPATIBILITY SameMajorVersion
|
|
||||||
)
|
|
||||||
|
|
||||||
# A Package Config file that works from the build directory
|
|
||||||
export(EXPORT zstdExports
|
|
||||||
FILE "${CMAKE_CURRENT_BINARY_DIR}/zstdTargets.cmake"
|
|
||||||
NAMESPACE zstd::
|
|
||||||
)
|
|
||||||
configure_file(zstdConfig.cmake
|
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/zstdConfig.cmake"
|
|
||||||
COPYONLY
|
|
||||||
)
|
|
||||||
|
|
||||||
# A Package Config file that works from the installation directory
|
|
||||||
set(ConfigPackageLocation ${CMAKE_INSTALL_LIBDIR}/cmake/zstd)
|
|
||||||
install(EXPORT zstdExports
|
|
||||||
FILE zstdTargets.cmake
|
|
||||||
NAMESPACE zstd::
|
|
||||||
DESTINATION ${ConfigPackageLocation}
|
|
||||||
)
|
|
||||||
install(FILES
|
|
||||||
zstdConfig.cmake
|
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/zstdConfigVersion.cmake"
|
|
||||||
DESTINATION ${ConfigPackageLocation}
|
|
||||||
)
|
|
|
@ -1,99 +0,0 @@
|
||||||
include(CheckCXXCompilerFlag)
|
|
||||||
include(CheckCCompilerFlag)
|
|
||||||
include(CheckLinkerFlag)
|
|
||||||
|
|
||||||
function(EnableCompilerFlag _flag _C _CXX _LD)
|
|
||||||
string(REGEX REPLACE "\\+" "PLUS" varname "${_flag}")
|
|
||||||
string(REGEX REPLACE "[^A-Za-z0-9]+" "_" varname "${varname}")
|
|
||||||
string(REGEX REPLACE "^_+" "" varname "${varname}")
|
|
||||||
string(TOUPPER "${varname}" varname)
|
|
||||||
if (_C)
|
|
||||||
CHECK_C_COMPILER_FLAG(${_flag} C_FLAG_${varname})
|
|
||||||
if (C_FLAG_${varname})
|
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${_flag}" PARENT_SCOPE)
|
|
||||||
endif ()
|
|
||||||
endif ()
|
|
||||||
if (_CXX)
|
|
||||||
CHECK_CXX_COMPILER_FLAG(${_flag} CXX_FLAG_${varname})
|
|
||||||
if (CXX_FLAG_${varname})
|
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${_flag}" PARENT_SCOPE)
|
|
||||||
endif ()
|
|
||||||
endif ()
|
|
||||||
if (_LD)
|
|
||||||
CHECK_LINKER_FLAG(C ${_flag} LD_FLAG_${varname})
|
|
||||||
if (LD_FLAG_${varname})
|
|
||||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${_flag}" PARENT_SCOPE)
|
|
||||||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${_flag}" PARENT_SCOPE)
|
|
||||||
endif ()
|
|
||||||
endif ()
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
macro(ADD_ZSTD_COMPILATION_FLAGS)
|
|
||||||
if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang" OR MINGW) #Not only UNIX but also WIN32 for MinGW
|
|
||||||
# It's possible to select the exact standard used for compilation.
|
|
||||||
# It's not necessary, but can be employed for specific purposes.
|
|
||||||
# Note that zstd source code is compatible with both C++98 and above
|
|
||||||
# and C-gnu90 (c90 + long long + variadic macros ) and above
|
|
||||||
# EnableCompilerFlag("-std=c++11" false true) # Set C++ compilation to c++11 standard
|
|
||||||
# EnableCompilerFlag("-std=c99" true false) # Set C compiation to c99 standard
|
|
||||||
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND MSVC)
|
|
||||||
# clang-cl normally maps -Wall to -Weverything.
|
|
||||||
EnableCompilerFlag("/clang:-Wall" true true false)
|
|
||||||
else ()
|
|
||||||
EnableCompilerFlag("-Wall" true true false)
|
|
||||||
endif ()
|
|
||||||
EnableCompilerFlag("-Wextra" true true false)
|
|
||||||
EnableCompilerFlag("-Wundef" true true false)
|
|
||||||
EnableCompilerFlag("-Wshadow" true true false)
|
|
||||||
EnableCompilerFlag("-Wcast-align" true true false)
|
|
||||||
EnableCompilerFlag("-Wcast-qual" true true false)
|
|
||||||
EnableCompilerFlag("-Wstrict-prototypes" true false false)
|
|
||||||
# Enable asserts in Debug mode
|
|
||||||
if (CMAKE_BUILD_TYPE MATCHES "Debug")
|
|
||||||
EnableCompilerFlag("-DDEBUGLEVEL=1" true true false)
|
|
||||||
endif ()
|
|
||||||
# Add noexecstack flags
|
|
||||||
# LDFLAGS
|
|
||||||
EnableCompilerFlag("-z noexecstack" false false true)
|
|
||||||
# CFLAGS & CXXFLAGS
|
|
||||||
EnableCompilerFlag("-Qunused-arguments" true true false)
|
|
||||||
EnableCompilerFlag("-Wa,--noexecstack" true true false)
|
|
||||||
elseif (MSVC) # Add specific compilation flags for Windows Visual
|
|
||||||
|
|
||||||
set(ACTIVATE_MULTITHREADED_COMPILATION "ON" CACHE BOOL "activate multi-threaded compilation (/MP flag)")
|
|
||||||
if (CMAKE_GENERATOR MATCHES "Visual Studio" AND ACTIVATE_MULTITHREADED_COMPILATION)
|
|
||||||
EnableCompilerFlag("/MP" true true false)
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
# UNICODE SUPPORT
|
|
||||||
EnableCompilerFlag("/D_UNICODE" true true false)
|
|
||||||
EnableCompilerFlag("/DUNICODE" true true false)
|
|
||||||
# Enable asserts in Debug mode
|
|
||||||
if (CMAKE_BUILD_TYPE MATCHES "Debug")
|
|
||||||
EnableCompilerFlag("/DDEBUGLEVEL=1" true true false)
|
|
||||||
endif ()
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
# Remove duplicates compilation flags
|
|
||||||
foreach (flag_var CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
|
|
||||||
CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO
|
|
||||||
CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
|
|
||||||
CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO)
|
|
||||||
if( ${flag_var} )
|
|
||||||
separate_arguments(${flag_var})
|
|
||||||
string(REPLACE ";" " " ${flag_var} "${${flag_var}}")
|
|
||||||
endif()
|
|
||||||
endforeach ()
|
|
||||||
|
|
||||||
if (MSVC AND ZSTD_USE_STATIC_RUNTIME)
|
|
||||||
foreach (flag_var CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
|
|
||||||
CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO
|
|
||||||
CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
|
|
||||||
CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO)
|
|
||||||
if ( ${flag_var} )
|
|
||||||
string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
|
|
||||||
endif()
|
|
||||||
endforeach ()
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
endmacro()
|
|
|
@ -1,49 +0,0 @@
|
||||||
# Find LibLZ4
|
|
||||||
#
|
|
||||||
# Find LibLZ4 headers and library
|
|
||||||
#
|
|
||||||
# Result Variables
|
|
||||||
#
|
|
||||||
# LIBLZ4_FOUND - True if lz4 is found
|
|
||||||
# LIBLZ4_INCLUDE_DIRS - lz4 headers directories
|
|
||||||
# LIBLZ4_LIBRARIES - lz4 libraries
|
|
||||||
# LIBLZ4_VERSION_MAJOR - The major version of lz4
|
|
||||||
# LIBLZ4_VERSION_MINOR - The minor version of lz4
|
|
||||||
# LIBLZ4_VERSION_RELEASE - The release version of lz4
|
|
||||||
# LIBLZ4_VERSION_STRING - version number string (e.g. 1.8.3)
|
|
||||||
#
|
|
||||||
# Hints
|
|
||||||
#
|
|
||||||
# Set ``LZ4_ROOT_DIR`` to the directory of lz4.h and lz4 library
|
|
||||||
|
|
||||||
set(_LIBLZ4_ROOT_HINTS
|
|
||||||
ENV LZ4_ROOT_DIR)
|
|
||||||
|
|
||||||
find_path( LIBLZ4_INCLUDE_DIR lz4.h
|
|
||||||
HINTS ${_LIBLZ4_ROOT_HINTS})
|
|
||||||
find_library( LIBLZ4_LIBRARY NAMES lz4 liblz4 liblz4_static
|
|
||||||
HINTS ${_LIBLZ4_ROOT_HINTS})
|
|
||||||
|
|
||||||
if(LIBLZ4_INCLUDE_DIR)
|
|
||||||
file(STRINGS "${LIBLZ4_INCLUDE_DIR}/lz4.h" LIBLZ4_HEADER_CONTENT REGEX "#define LZ4_VERSION_[A-Z]+ +[0-9]+")
|
|
||||||
|
|
||||||
string(REGEX REPLACE ".*#define LZ4_VERSION_MAJOR +([0-9]+).*" "\\1" LIBLZ4_VERSION_MAJOR "${LIBLZ4_HEADER_CONTENT}")
|
|
||||||
string(REGEX REPLACE ".*#define LZ4_VERSION_MINOR +([0-9]+).*" "\\1" LIBLZ4_VERSION_MINOR "${LIBLZ4_HEADER_CONTENT}")
|
|
||||||
string(REGEX REPLACE ".*#define LZ4_VERSION_RELEASE +([0-9]+).*" "\\1" LIBLZ4_VERSION_RELEASE "${LIBLZ4_HEADER_CONTENT}")
|
|
||||||
|
|
||||||
set(LIBLZ4_VERSION_STRING "${LIBLZ4_VERSION_MAJOR}.${LIBLZ4_VERSION_MINOR}.${LIBLZ4_VERSION_RELEASE}")
|
|
||||||
unset(LIBLZ4_HEADER_CONTENT)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
include(FindPackageHandleStandardArgs)
|
|
||||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibLZ4 REQUIRED_VARS LIBLZ4_INCLUDE_DIR
|
|
||||||
LIBLZ4_LIBRARY
|
|
||||||
VERSION_VAR LIBLZ4_VERSION_STRING
|
|
||||||
FAIL_MESSAGE "Could NOT find LZ4, try to set the paths to lz4.h and lz4 library in environment variable LZ4_ROOT_DIR")
|
|
||||||
|
|
||||||
if (LIBLZ4_FOUND)
|
|
||||||
set(LIBLZ4_LIBRARIES ${LIBLZ4_LIBRARY})
|
|
||||||
set(LIBLZ4_INCLUDE_DIRS ${LIBLZ4_INCLUDE_DIR})
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
mark_as_advanced( LIBLZ4_INCLUDE_DIR LIBLZ4_LIBRARY )
|
|
|
@ -1,10 +0,0 @@
|
||||||
function(GetZstdLibraryVersion _header _major _minor _patch)
|
|
||||||
# Read file content
|
|
||||||
file(READ ${_header} CONTENT)
|
|
||||||
|
|
||||||
string(REGEX MATCH ".*define ZSTD_VERSION_MAJOR *([0-9]+).*define ZSTD_VERSION_MINOR *([0-9]+).*define ZSTD_VERSION_RELEASE *([0-9]+)" VERSION_REGEX "${CONTENT}")
|
|
||||||
set(${_major} ${CMAKE_MATCH_1} PARENT_SCOPE)
|
|
||||||
set(${_minor} ${CMAKE_MATCH_2} PARENT_SCOPE)
|
|
||||||
set(${_patch} ${CMAKE_MATCH_3} PARENT_SCOPE)
|
|
||||||
endfunction()
|
|
||||||
|
|
|
@ -1,23 +0,0 @@
|
||||||
# This module provides function for joining paths
|
|
||||||
# known from most languages
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: (MIT OR CC0-1.0)
|
|
||||||
# Copyright 2020 Jan Tojnar
|
|
||||||
# https://github.com/jtojnar/cmake-snips
|
|
||||||
#
|
|
||||||
# Modelled after Python’s os.path.join
|
|
||||||
# https://docs.python.org/3.7/library/os.path.html#os.path.join
|
|
||||||
# Windows not supported
|
|
||||||
function(join_paths joined_path first_path_segment)
|
|
||||||
set(temp_path "${first_path_segment}")
|
|
||||||
foreach(current_segment IN LISTS ARGN)
|
|
||||||
if(NOT ("${current_segment}" STREQUAL ""))
|
|
||||||
if(IS_ABSOLUTE "${current_segment}")
|
|
||||||
set(temp_path "${current_segment}")
|
|
||||||
else()
|
|
||||||
set(temp_path "${temp_path}/${current_segment}")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
set(${joined_path} "${temp_path}" PARENT_SCOPE)
|
|
||||||
endfunction()
|
|
|
@ -1,104 +0,0 @@
|
||||||
# Cmake contributions
|
|
||||||
|
|
||||||
Contributions to the cmake build configurations are welcome. Please
|
|
||||||
use case sensitivity that matches modern (i.e. cmake version 2.6 and above)
|
|
||||||
conventions of using lower-case for commands, and upper-case for
|
|
||||||
variables.
|
|
||||||
|
|
||||||
## How to build
|
|
||||||
|
|
||||||
As cmake doesn't support command like `cmake clean`, it's recommended to perform an "out of source build".
|
|
||||||
To do this, you can create a new directory and build in it:
|
|
||||||
```sh
|
|
||||||
cd build/cmake
|
|
||||||
mkdir builddir
|
|
||||||
cd builddir
|
|
||||||
cmake ..
|
|
||||||
make
|
|
||||||
```
|
|
||||||
Then you can clean all cmake caches by simply delete the new directory:
|
|
||||||
```sh
|
|
||||||
rm -rf build/cmake/builddir
|
|
||||||
```
|
|
||||||
|
|
||||||
And of course, you can directly build in build/cmake:
|
|
||||||
```sh
|
|
||||||
cd build/cmake
|
|
||||||
cmake
|
|
||||||
make
|
|
||||||
```
|
|
||||||
|
|
||||||
To show cmake build options, you can:
|
|
||||||
```sh
|
|
||||||
cd build/cmake/builddir
|
|
||||||
cmake -LH ..
|
|
||||||
```
|
|
||||||
|
|
||||||
Bool options can be set to `ON/OFF` with `-D[option]=[ON/OFF]`. You can configure cmake options like this:
|
|
||||||
```sh
|
|
||||||
cd build/cmake/builddir
|
|
||||||
cmake -DZSTD_BUILD_TESTS=ON -DZSTD_LEGACY_SUPPORT=OFF ..
|
|
||||||
make
|
|
||||||
```
|
|
||||||
|
|
||||||
### referring
|
|
||||||
[Looking for a 'cmake clean' command to clear up CMake output](https://stackoverflow.com/questions/9680420/looking-for-a-cmake-clean-command-to-clear-up-cmake-output)
|
|
||||||
|
|
||||||
## CMake Style Recommendations
|
|
||||||
|
|
||||||
### Indent all code correctly, i.e. the body of
|
|
||||||
|
|
||||||
* if/else/endif
|
|
||||||
* foreach/endforeach
|
|
||||||
* while/endwhile
|
|
||||||
* macro/endmacro
|
|
||||||
* function/endfunction
|
|
||||||
|
|
||||||
Use spaces for indenting, 2, 3 or 4 spaces preferably. Use the same amount of
|
|
||||||
spaces for indenting as is used in the rest of the file. Do not use tabs.
|
|
||||||
|
|
||||||
### Upper/lower casing
|
|
||||||
|
|
||||||
Most important: use consistent upper- or lowercasing within one file !
|
|
||||||
|
|
||||||
In general, the all-lowercase style is preferred.
|
|
||||||
|
|
||||||
So, this is recommended:
|
|
||||||
|
|
||||||
```
|
|
||||||
add_executable(foo foo.c)
|
|
||||||
```
|
|
||||||
|
|
||||||
These forms are discouraged
|
|
||||||
|
|
||||||
```
|
|
||||||
ADD_EXECUTABLE(bar bar.c)
|
|
||||||
Add_Executable(hello hello.c)
|
|
||||||
aDd_ExEcUtAbLe(blub blub.c)
|
|
||||||
```
|
|
||||||
|
|
||||||
### End commands
|
|
||||||
To make the code easier to read, use empty commands for endforeach(), endif(),
|
|
||||||
endfunction(), endmacro() and endwhile(). Also, use empty else() commands.
|
|
||||||
|
|
||||||
For example, do this:
|
|
||||||
|
|
||||||
```
|
|
||||||
if(FOOVAR)
|
|
||||||
some_command(...)
|
|
||||||
else()
|
|
||||||
another_command(...)
|
|
||||||
endif()
|
|
||||||
```
|
|
||||||
|
|
||||||
and not this:
|
|
||||||
|
|
||||||
```
|
|
||||||
if(BARVAR)
|
|
||||||
some_other_command(...)
|
|
||||||
endif(BARVAR)
|
|
||||||
```
|
|
||||||
|
|
||||||
### Other resources for best practices
|
|
||||||
|
|
||||||
https://cmake.org/cmake/help/latest/manual/cmake-developer.7.html#modules
|
|
|
@ -1,13 +0,0 @@
|
||||||
# ################################################################
|
|
||||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# This source code is licensed under both the BSD-style license (found in the
|
|
||||||
# LICENSE file in the root directory of this source tree) and the GPLv2 (found
|
|
||||||
# in the COPYING file in the root directory of this source tree).
|
|
||||||
# ################################################################
|
|
||||||
|
|
||||||
project(contrib)
|
|
||||||
|
|
||||||
add_subdirectory(pzstd)
|
|
||||||
add_subdirectory(gen_html)
|
|
|
@ -1,30 +0,0 @@
|
||||||
# ################################################################
|
|
||||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# This source code is licensed under both the BSD-style license (found in the
|
|
||||||
# LICENSE file in the root directory of this source tree) and the GPLv2 (found
|
|
||||||
# in the COPYING file in the root directory of this source tree).
|
|
||||||
# ################################################################
|
|
||||||
|
|
||||||
project(gen_html)
|
|
||||||
include(GetZstdLibraryVersion)
|
|
||||||
|
|
||||||
set(CMAKE_INCLUDE_CURRENT_DIR TRUE)
|
|
||||||
|
|
||||||
# Define programs directory, where sources and header files are located
|
|
||||||
set(LIBRARY_DIR ${ZSTD_SOURCE_DIR}/lib)
|
|
||||||
set(PROGRAMS_DIR ${ZSTD_SOURCE_DIR}/programs)
|
|
||||||
set(GENHTML_DIR ${ZSTD_SOURCE_DIR}/contrib/gen_html)
|
|
||||||
set(GENHTML_BINARY ${PROJECT_BINARY_DIR}/gen_html${CMAKE_EXECUTABLE_SUFFIX})
|
|
||||||
include_directories(${PROGRAMS_DIR} ${LIBRARY_DIR} ${LIBRARY_DIR}/common ${GENHTML_DIR})
|
|
||||||
|
|
||||||
add_executable(gen_html ${GENHTML_DIR}/gen_html.cpp)
|
|
||||||
|
|
||||||
GetZstdLibraryVersion(${LIBRARY_DIR}/zstd.h VMAJOR VMINOR VRELEASE)
|
|
||||||
set(LIBVERSION "${VMAJOR}.${VMINOR}.${VRELEASE}")
|
|
||||||
add_custom_target(zstd_manual.html ALL
|
|
||||||
${GENHTML_BINARY} "${LIBVERSION}" "${LIBRARY_DIR}/zstd.h" "${PROJECT_BINARY_DIR}/zstd_manual.html"
|
|
||||||
DEPENDS gen_html COMMENT "Update zstd manual")
|
|
||||||
|
|
||||||
install(FILES "${PROJECT_BINARY_DIR}/zstd_manual.html" DESTINATION "${CMAKE_INSTALL_DOCDIR}")
|
|
|
@ -1,38 +0,0 @@
|
||||||
# ################################################################
|
|
||||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# This source code is licensed under both the BSD-style license (found in the
|
|
||||||
# LICENSE file in the root directory of this source tree) and the GPLv2 (found
|
|
||||||
# in the COPYING file in the root directory of this source tree).
|
|
||||||
# ################################################################
|
|
||||||
|
|
||||||
project(pzstd)
|
|
||||||
|
|
||||||
set(CMAKE_INCLUDE_CURRENT_DIR TRUE)
|
|
||||||
|
|
||||||
# Define programs directory, where sources and header files are located
|
|
||||||
set(LIBRARY_DIR ${ZSTD_SOURCE_DIR}/lib)
|
|
||||||
set(PROGRAMS_DIR ${ZSTD_SOURCE_DIR}/programs)
|
|
||||||
set(PZSTD_DIR ${ZSTD_SOURCE_DIR}/contrib/pzstd)
|
|
||||||
include_directories(${PROGRAMS_DIR} ${LIBRARY_DIR} ${LIBRARY_DIR}/common ${PZSTD_DIR})
|
|
||||||
|
|
||||||
add_executable(pzstd ${PROGRAMS_DIR}/util.c ${PZSTD_DIR}/main.cpp ${PZSTD_DIR}/Options.cpp ${PZSTD_DIR}/Pzstd.cpp ${PZSTD_DIR}/SkippableFrame.cpp)
|
|
||||||
set_property(TARGET pzstd APPEND PROPERTY COMPILE_DEFINITIONS "NDEBUG")
|
|
||||||
set_property(TARGET pzstd APPEND PROPERTY COMPILE_OPTIONS "-Wno-shadow")
|
|
||||||
|
|
||||||
if (ZSTD_BUILD_SHARED)
|
|
||||||
set(ZSTD_LIB libzstd_shared)
|
|
||||||
else()
|
|
||||||
set(ZSTD_LIB libzstd_static)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
|
||||||
find_package(Threads REQUIRED)
|
|
||||||
if (CMAKE_USE_PTHREADS_INIT)
|
|
||||||
target_link_libraries(pzstd ${ZSTD_LIB} ${CMAKE_THREAD_LIBS_INIT})
|
|
||||||
else()
|
|
||||||
message(SEND_ERROR "ZSTD currently does not support thread libraries other than pthreads")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
install(TARGETS pzstd RUNTIME DESTINATION "bin")
|
|
|
@ -1,2 +0,0 @@
|
||||||
# cmake build artefact
|
|
||||||
libzstd.pc
|
|
|
@ -1,181 +0,0 @@
|
||||||
# ################################################################
|
|
||||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# This source code is licensed under both the BSD-style license (found in the
|
|
||||||
# LICENSE file in the root directory of this source tree) and the GPLv2 (found
|
|
||||||
# in the COPYING file in the root directory of this source tree).
|
|
||||||
# ################################################################
|
|
||||||
|
|
||||||
project(libzstd C ASM)
|
|
||||||
|
|
||||||
set(CMAKE_INCLUDE_CURRENT_DIR TRUE)
|
|
||||||
option(ZSTD_BUILD_STATIC "BUILD STATIC LIBRARIES" ON)
|
|
||||||
option(ZSTD_BUILD_SHARED "BUILD SHARED LIBRARIES" ON)
|
|
||||||
|
|
||||||
if(NOT ZSTD_BUILD_SHARED AND NOT ZSTD_BUILD_STATIC)
|
|
||||||
message(SEND_ERROR "You need to build at least one flavor of libzstd")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Define library directory, where sources and header files are located
|
|
||||||
include_directories(${LIBRARY_DIR} ${LIBRARY_DIR}/common)
|
|
||||||
|
|
||||||
file(GLOB CommonSources ${LIBRARY_DIR}/common/*.c)
|
|
||||||
file(GLOB CompressSources ${LIBRARY_DIR}/compress/*.c)
|
|
||||||
if (MSVC)
|
|
||||||
file(GLOB DecompressSources ${LIBRARY_DIR}/decompress/*.c)
|
|
||||||
add_compile_options(-DZSTD_DISABLE_ASM)
|
|
||||||
else ()
|
|
||||||
file(GLOB DecompressSources ${LIBRARY_DIR}/decompress/*.c ${LIBRARY_DIR}/decompress/*.S)
|
|
||||||
endif ()
|
|
||||||
file(GLOB DictBuilderSources ${LIBRARY_DIR}/dictBuilder/*.c)
|
|
||||||
|
|
||||||
set(Sources
|
|
||||||
${CommonSources}
|
|
||||||
${CompressSources}
|
|
||||||
${DecompressSources}
|
|
||||||
${DictBuilderSources})
|
|
||||||
|
|
||||||
file(GLOB CommonHeaders ${LIBRARY_DIR}/common/*.h)
|
|
||||||
file(GLOB CompressHeaders ${LIBRARY_DIR}/compress/*.h)
|
|
||||||
file(GLOB DecompressHeaders ${LIBRARY_DIR}/decompress/*.h)
|
|
||||||
file(GLOB DictBuilderHeaders ${LIBRARY_DIR}/dictBuilder/*.h)
|
|
||||||
|
|
||||||
set(Headers
|
|
||||||
${LIBRARY_DIR}/zstd.h
|
|
||||||
${CommonHeaders}
|
|
||||||
${CompressHeaders}
|
|
||||||
${DecompressHeaders}
|
|
||||||
${DictBuilderHeaders})
|
|
||||||
|
|
||||||
if (ZSTD_LEGACY_SUPPORT)
|
|
||||||
set(LIBRARY_LEGACY_DIR ${LIBRARY_DIR}/legacy)
|
|
||||||
include_directories(${LIBRARY_LEGACY_DIR})
|
|
||||||
|
|
||||||
set(Sources ${Sources}
|
|
||||||
${LIBRARY_LEGACY_DIR}/zstd_v01.c
|
|
||||||
${LIBRARY_LEGACY_DIR}/zstd_v02.c
|
|
||||||
${LIBRARY_LEGACY_DIR}/zstd_v03.c
|
|
||||||
${LIBRARY_LEGACY_DIR}/zstd_v04.c
|
|
||||||
${LIBRARY_LEGACY_DIR}/zstd_v05.c
|
|
||||||
${LIBRARY_LEGACY_DIR}/zstd_v06.c
|
|
||||||
${LIBRARY_LEGACY_DIR}/zstd_v07.c)
|
|
||||||
|
|
||||||
set(Headers ${Headers}
|
|
||||||
${LIBRARY_LEGACY_DIR}/zstd_legacy.h
|
|
||||||
${LIBRARY_LEGACY_DIR}/zstd_v01.h
|
|
||||||
${LIBRARY_LEGACY_DIR}/zstd_v02.h
|
|
||||||
${LIBRARY_LEGACY_DIR}/zstd_v03.h
|
|
||||||
${LIBRARY_LEGACY_DIR}/zstd_v04.h
|
|
||||||
${LIBRARY_LEGACY_DIR}/zstd_v05.h
|
|
||||||
${LIBRARY_LEGACY_DIR}/zstd_v06.h
|
|
||||||
${LIBRARY_LEGACY_DIR}/zstd_v07.h)
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
if (MSVC)
|
|
||||||
set(MSVC_RESOURCE_DIR ${ZSTD_SOURCE_DIR}/build/VS2010/libzstd-dll)
|
|
||||||
set(PlatformDependResources ${MSVC_RESOURCE_DIR}/libzstd-dll.rc)
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
# Explicitly set the language to C for all files, including ASM files.
|
|
||||||
# Our assembly expects to be compiled by a C compiler, and is only enabled for
|
|
||||||
# __GNUC__ compatible compilers. Otherwise all the ASM code is disabled by
|
|
||||||
# macros.
|
|
||||||
set_source_files_properties(${Sources} PROPERTIES LANGUAGE C)
|
|
||||||
|
|
||||||
# Split project to static and shared libraries build
|
|
||||||
set(library_targets)
|
|
||||||
if (ZSTD_BUILD_SHARED)
|
|
||||||
add_library(libzstd_shared SHARED ${Sources} ${Headers} ${PlatformDependResources})
|
|
||||||
list(APPEND library_targets libzstd_shared)
|
|
||||||
if (ZSTD_MULTITHREAD_SUPPORT)
|
|
||||||
set_property(TARGET libzstd_shared APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_MULTITHREAD")
|
|
||||||
if (UNIX)
|
|
||||||
target_link_libraries(libzstd_shared ${THREADS_LIBS})
|
|
||||||
endif ()
|
|
||||||
endif()
|
|
||||||
endif ()
|
|
||||||
if (ZSTD_BUILD_STATIC)
|
|
||||||
add_library(libzstd_static STATIC ${Sources} ${Headers})
|
|
||||||
list(APPEND library_targets libzstd_static)
|
|
||||||
if (ZSTD_MULTITHREAD_SUPPORT)
|
|
||||||
set_property(TARGET libzstd_static APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_MULTITHREAD")
|
|
||||||
if (UNIX)
|
|
||||||
target_link_libraries(libzstd_static ${THREADS_LIBS})
|
|
||||||
endif ()
|
|
||||||
endif ()
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
# Add specific compile definitions for MSVC project
|
|
||||||
if (MSVC)
|
|
||||||
if (ZSTD_BUILD_SHARED)
|
|
||||||
set_property(TARGET libzstd_shared APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_DLL_EXPORT=1;ZSTD_HEAPMODE=0;_CONSOLE;_CRT_SECURE_NO_WARNINGS")
|
|
||||||
endif ()
|
|
||||||
if (ZSTD_BUILD_STATIC)
|
|
||||||
set_property(TARGET libzstd_static APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_HEAPMODE=0;_CRT_SECURE_NO_WARNINGS")
|
|
||||||
endif ()
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
# With MSVC static library needs to be renamed to avoid conflict with import library
|
|
||||||
if (MSVC OR (WIN32 AND CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND NOT MINGW))
|
|
||||||
set(STATIC_LIBRARY_BASE_NAME zstd_static)
|
|
||||||
else ()
|
|
||||||
set(STATIC_LIBRARY_BASE_NAME zstd)
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
# Define static and shared library names
|
|
||||||
if (ZSTD_BUILD_SHARED)
|
|
||||||
set_target_properties(
|
|
||||||
libzstd_shared
|
|
||||||
PROPERTIES
|
|
||||||
OUTPUT_NAME zstd
|
|
||||||
VERSION ${zstd_VERSION_MAJOR}.${zstd_VERSION_MINOR}.${zstd_VERSION_PATCH}
|
|
||||||
SOVERSION ${zstd_VERSION_MAJOR})
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
if (ZSTD_BUILD_STATIC)
|
|
||||||
set_target_properties(
|
|
||||||
libzstd_static
|
|
||||||
PROPERTIES
|
|
||||||
POSITION_INDEPENDENT_CODE On
|
|
||||||
OUTPUT_NAME ${STATIC_LIBRARY_BASE_NAME})
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
# pkg-config
|
|
||||||
include(JoinPaths) # can be replaced by cmake_path(APPEND) in CMake 3.20
|
|
||||||
set(PREFIX "${CMAKE_INSTALL_PREFIX}")
|
|
||||||
set(EXEC_PREFIX "\${prefix}")
|
|
||||||
join_paths(LIBDIR "\${exec_prefix}" "${CMAKE_INSTALL_LIBDIR}")
|
|
||||||
join_paths(INCLUDEDIR "\${prefix}" "${CMAKE_INSTALL_INCLUDEDIR}")
|
|
||||||
set(LIBS_PRIVATE "${THREADS_LIBS}")
|
|
||||||
set(VERSION "${zstd_VERSION}")
|
|
||||||
|
|
||||||
configure_file("${LIBRARY_DIR}/libzstd.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/libzstd.pc" @ONLY)
|
|
||||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libzstd.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
|
|
||||||
|
|
||||||
# install target
|
|
||||||
install(FILES
|
|
||||||
"${LIBRARY_DIR}/zstd.h"
|
|
||||||
"${LIBRARY_DIR}/zdict.h"
|
|
||||||
"${LIBRARY_DIR}/zstd_errors.h"
|
|
||||||
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
|
|
||||||
|
|
||||||
install(TARGETS ${library_targets}
|
|
||||||
EXPORT zstdExports
|
|
||||||
INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
|
|
||||||
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
|
||||||
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
|
||||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
|
||||||
BUNDLE DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
|
||||||
)
|
|
||||||
|
|
||||||
# uninstall target
|
|
||||||
if (NOT TARGET uninstall)
|
|
||||||
configure_file(
|
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
|
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
|
|
||||||
IMMEDIATE @ONLY)
|
|
||||||
|
|
||||||
add_custom_target(uninstall
|
|
||||||
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
|
|
||||||
endif ()
|
|
|
@ -1,22 +0,0 @@
|
||||||
|
|
||||||
if(NOT EXISTS "@CMAKE_BINARY_DIR@/install_manifest.txt")
|
|
||||||
message(FATAL_ERROR "Cannot find install manifest: @CMAKE_BINARY_DIR@/install_manifest.txt")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
file(READ "@CMAKE_BINARY_DIR@/install_manifest.txt" files)
|
|
||||||
string(REGEX REPLACE "\n" ";" files "${files}")
|
|
||||||
foreach(file ${files})
|
|
||||||
message(STATUS "Uninstalling $ENV{DESTDIR}${file}")
|
|
||||||
if(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
|
|
||||||
exec_program(
|
|
||||||
"@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\""
|
|
||||||
OUTPUT_VARIABLE rm_out
|
|
||||||
RETURN_VALUE rm_retval
|
|
||||||
)
|
|
||||||
if(NOT "${rm_retval}" STREQUAL 0)
|
|
||||||
message(FATAL_ERROR "Problem when removing $ENV{DESTDIR}${file}")
|
|
||||||
endif()
|
|
||||||
else()
|
|
||||||
message(STATUS "File $ENV{DESTDIR}${file} does not exist.")
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
|
@ -1,5 +0,0 @@
|
||||||
# produced by make
|
|
||||||
zstd
|
|
||||||
zstd-frugal
|
|
||||||
unzstd
|
|
||||||
zstdcat
|
|
|
@ -1,137 +0,0 @@
|
||||||
# ################################################################
|
|
||||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# This source code is licensed under both the BSD-style license (found in the
|
|
||||||
# LICENSE file in the root directory of this source tree) and the GPLv2 (found
|
|
||||||
# in the COPYING file in the root directory of this source tree).
|
|
||||||
# ################################################################
|
|
||||||
|
|
||||||
project(programs C)
|
|
||||||
|
|
||||||
set(CMAKE_INCLUDE_CURRENT_DIR TRUE)
|
|
||||||
|
|
||||||
# Define programs directory, where sources and header files are located
|
|
||||||
set(LIBRARY_DIR ${ZSTD_SOURCE_DIR}/lib)
|
|
||||||
set(PROGRAMS_DIR ${ZSTD_SOURCE_DIR}/programs)
|
|
||||||
include_directories(${PROGRAMS_DIR} ${LIBRARY_DIR} ${LIBRARY_DIR}/common ${LIBRARY_DIR}/compress ${LIBRARY_DIR}/dictBuilder)
|
|
||||||
|
|
||||||
if (ZSTD_LEGACY_SUPPORT)
|
|
||||||
set(PROGRAMS_LEGACY_DIR ${PROGRAMS_DIR}/legacy)
|
|
||||||
include_directories(${PROGRAMS_LEGACY_DIR} ${LIBRARY_DIR}/legacy)
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
if (ZSTD_PROGRAMS_LINK_SHARED)
|
|
||||||
set(PROGRAMS_ZSTD_LINK_TARGET libzstd_shared)
|
|
||||||
else ()
|
|
||||||
set(PROGRAMS_ZSTD_LINK_TARGET libzstd_static)
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
if (MSVC)
|
|
||||||
set(MSVC_RESOURCE_DIR ${ZSTD_SOURCE_DIR}/build/VS2010/zstd)
|
|
||||||
set(PlatformDependResources ${MSVC_RESOURCE_DIR}/zstd.rc)
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
add_executable(zstd ${PROGRAMS_DIR}/zstdcli.c ${PROGRAMS_DIR}/util.c ${PROGRAMS_DIR}/timefn.c ${PROGRAMS_DIR}/fileio.c ${PROGRAMS_DIR}/fileio_asyncio.c ${PROGRAMS_DIR}/benchfn.c ${PROGRAMS_DIR}/benchzstd.c ${PROGRAMS_DIR}/datagen.c ${PROGRAMS_DIR}/dibio.c ${PROGRAMS_DIR}/zstdcli_trace.c ${PlatformDependResources})
|
|
||||||
target_link_libraries(zstd ${PROGRAMS_ZSTD_LINK_TARGET})
|
|
||||||
if (CMAKE_SYSTEM_NAME MATCHES "(Solaris|SunOS)")
|
|
||||||
target_link_libraries(zstd rt)
|
|
||||||
endif ()
|
|
||||||
install(TARGETS zstd
|
|
||||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
|
||||||
BUNDLE DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
|
||||||
|
|
||||||
if (UNIX)
|
|
||||||
add_custom_target(zstdcat ALL ${CMAKE_COMMAND} -E create_symlink zstd zstdcat DEPENDS zstd COMMENT "Creating zstdcat symlink")
|
|
||||||
add_custom_target(unzstd ALL ${CMAKE_COMMAND} -E create_symlink zstd unzstd DEPENDS zstd COMMENT "Creating unzstd symlink")
|
|
||||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/zstdcat DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
|
||||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/unzstd DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
|
||||||
install(PROGRAMS ${PROGRAMS_DIR}/zstdgrep DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
|
||||||
install(PROGRAMS ${PROGRAMS_DIR}/zstdless DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
|
||||||
|
|
||||||
add_custom_target(zstd.1 ALL
|
|
||||||
${CMAKE_COMMAND} -E copy ${PROGRAMS_DIR}/zstd.1 .
|
|
||||||
COMMENT "Copying manpage zstd.1")
|
|
||||||
add_custom_target(zstdgrep.1 ALL
|
|
||||||
${CMAKE_COMMAND} -E copy ${PROGRAMS_DIR}/zstdgrep.1 .
|
|
||||||
COMMENT "Copying manpage zstdgrep.1")
|
|
||||||
add_custom_target(zstdless.1 ALL
|
|
||||||
${CMAKE_COMMAND} -E copy ${PROGRAMS_DIR}/zstdless.1 .
|
|
||||||
COMMENT "Copying manpage zstdless.1")
|
|
||||||
add_custom_target(zstdcat.1 ALL ${CMAKE_COMMAND} -E create_symlink zstd.1 zstdcat.1 DEPENDS zstd.1 COMMENT "Creating zstdcat.1 symlink")
|
|
||||||
add_custom_target(unzstd.1 ALL ${CMAKE_COMMAND} -E create_symlink zstd.1 unzstd.1 DEPENDS zstd.1 COMMENT "Creating unzstd.1 symlink")
|
|
||||||
|
|
||||||
# Define MAN_INSTALL_DIR if necessary
|
|
||||||
if (MAN_INSTALL_DIR)
|
|
||||||
else ()
|
|
||||||
set(MAN_INSTALL_DIR ${CMAKE_INSTALL_MANDIR}/man1)
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
install(FILES
|
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/zstd.1
|
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/zstdcat.1
|
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/unzstd.1
|
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/zstdgrep.1
|
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/zstdless.1
|
|
||||||
DESTINATION "${MAN_INSTALL_DIR}")
|
|
||||||
|
|
||||||
add_executable(zstd-frugal ${PROGRAMS_DIR}/zstdcli.c ${PROGRAMS_DIR}/util.c ${PROGRAMS_DIR}/timefn.c ${PROGRAMS_DIR}/fileio.c ${PROGRAMS_DIR}/fileio_asyncio.c)
|
|
||||||
target_link_libraries(zstd-frugal ${PROGRAMS_ZSTD_LINK_TARGET})
|
|
||||||
set_property(TARGET zstd-frugal APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_NOBENCH;ZSTD_NODICT;ZSTD_NOTRACE")
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
# Add multi-threading support definitions
|
|
||||||
|
|
||||||
if (ZSTD_MULTITHREAD_SUPPORT)
|
|
||||||
set_property(TARGET zstd APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_MULTITHREAD")
|
|
||||||
|
|
||||||
if (UNIX)
|
|
||||||
target_link_libraries(zstd ${THREADS_LIBS})
|
|
||||||
|
|
||||||
add_custom_target(zstdmt ALL ${CMAKE_COMMAND} -E create_symlink zstd zstdmt DEPENDS zstd COMMENT "Creating zstdmt symlink")
|
|
||||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/zstdmt DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
|
||||||
endif ()
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
option(ZSTD_ZLIB_SUPPORT "ZLIB SUPPORT" OFF)
|
|
||||||
option(ZSTD_LZMA_SUPPORT "LZMA SUPPORT" OFF)
|
|
||||||
option(ZSTD_LZ4_SUPPORT "LZ4 SUPPORT" OFF)
|
|
||||||
|
|
||||||
# Add gzip support
|
|
||||||
if (ZSTD_ZLIB_SUPPORT)
|
|
||||||
find_package(ZLIB REQUIRED)
|
|
||||||
|
|
||||||
if (ZLIB_FOUND)
|
|
||||||
include_directories(${ZLIB_INCLUDE_DIRS})
|
|
||||||
target_link_libraries(zstd ${ZLIB_LIBRARIES})
|
|
||||||
set_property(TARGET zstd APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_GZCOMPRESS;ZSTD_GZDECOMPRESS")
|
|
||||||
else ()
|
|
||||||
message(SEND_ERROR "zlib library is missing")
|
|
||||||
endif ()
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
# Add lzma support
|
|
||||||
if (ZSTD_LZMA_SUPPORT)
|
|
||||||
find_package(LibLZMA REQUIRED)
|
|
||||||
|
|
||||||
if (LIBLZMA_FOUND)
|
|
||||||
include_directories(${LIBLZMA_INCLUDE_DIRS})
|
|
||||||
target_link_libraries(zstd ${LIBLZMA_LIBRARIES})
|
|
||||||
set_property(TARGET zstd APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_LZMACOMPRESS;ZSTD_LZMADECOMPRESS")
|
|
||||||
else ()
|
|
||||||
message(SEND_ERROR "lzma library is missing")
|
|
||||||
endif ()
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
# Add lz4 support
|
|
||||||
if (ZSTD_LZ4_SUPPORT)
|
|
||||||
find_package(LibLZ4 REQUIRED)
|
|
||||||
|
|
||||||
if (LIBLZ4_FOUND)
|
|
||||||
include_directories(${LIBLZ4_INCLUDE_DIRS})
|
|
||||||
target_link_libraries(zstd ${LIBLZ4_LIBRARIES})
|
|
||||||
set_property(TARGET zstd APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_LZ4COMPRESS;ZSTD_LZ4DECOMPRESS")
|
|
||||||
else ()
|
|
||||||
message(SEND_ERROR "lz4 library is missing")
|
|
||||||
endif ()
|
|
||||||
endif ()
|
|
|
@ -1,6 +0,0 @@
|
||||||
# produced by make
|
|
||||||
datagen
|
|
||||||
fullbench
|
|
||||||
fuzzer
|
|
||||||
paramgrill
|
|
||||||
|
|
|
@ -1,118 +0,0 @@
|
||||||
# ################################################################
|
|
||||||
# zstd - Makefile
|
|
||||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# BSD license
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification,
|
|
||||||
# are permitted provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this
|
|
||||||
# list of conditions and the following disclaimer.
|
|
||||||
#
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this
|
|
||||||
# list of conditions and the following disclaimer in the documentation and/or
|
|
||||||
# other materials provided with the distribution.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
||||||
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
|
||||||
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
||||||
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
||||||
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
|
||||||
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
#
|
|
||||||
# You can contact the author at :
|
|
||||||
# - zstd homepage : https://facebook.github.io/zstd/
|
|
||||||
# ################################################################
|
|
||||||
|
|
||||||
project(tests)
|
|
||||||
|
|
||||||
# name: Cache variable name. The value is expected to be a semicolon-separated
|
|
||||||
# list of command line flags
|
|
||||||
# default_value: Value to initialize the option with. Can be space separated.
|
|
||||||
function(AddTestFlagsOption name default_value doc)
|
|
||||||
string(STRIP "${default_value}" default_value)
|
|
||||||
string(REGEX REPLACE " +" ";" default_value "${default_value}")
|
|
||||||
set(${name} ${default_value} CACHE STRING "${doc}")
|
|
||||||
mark_as_advanced(${name})
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
set(CMAKE_INCLUDE_CURRENT_DIR TRUE)
|
|
||||||
|
|
||||||
# Define programs directory, where sources and header files are located
|
|
||||||
set(LIBRARY_DIR ${ZSTD_SOURCE_DIR}/lib)
|
|
||||||
set(PROGRAMS_DIR ${ZSTD_SOURCE_DIR}/programs)
|
|
||||||
set(TESTS_DIR ${ZSTD_SOURCE_DIR}/tests)
|
|
||||||
include_directories(${TESTS_DIR} ${PROGRAMS_DIR} ${LIBRARY_DIR} ${LIBRARY_DIR}/common ${LIBRARY_DIR}/compress ${LIBRARY_DIR}/dictBuilder)
|
|
||||||
|
|
||||||
add_executable(datagen ${PROGRAMS_DIR}/datagen.c ${TESTS_DIR}/datagencli.c)
|
|
||||||
target_link_libraries(datagen libzstd_static)
|
|
||||||
|
|
||||||
#
|
|
||||||
# fullbench
|
|
||||||
#
|
|
||||||
add_executable(fullbench ${PROGRAMS_DIR}/datagen.c ${PROGRAMS_DIR}/util.c ${PROGRAMS_DIR}/timefn.c ${PROGRAMS_DIR}/benchfn.c ${PROGRAMS_DIR}/benchzstd.c ${TESTS_DIR}/fullbench.c)
|
|
||||||
if (NOT MSVC)
|
|
||||||
target_compile_options(fullbench PRIVATE "-Wno-deprecated-declarations")
|
|
||||||
endif()
|
|
||||||
target_link_libraries(fullbench libzstd_static)
|
|
||||||
add_test(NAME fullbench COMMAND fullbench ${ZSTD_FULLBENCH_FLAGS})
|
|
||||||
|
|
||||||
#
|
|
||||||
# fuzzer
|
|
||||||
#
|
|
||||||
add_executable(fuzzer ${PROGRAMS_DIR}/datagen.c ${PROGRAMS_DIR}/util.c ${PROGRAMS_DIR}/timefn.c ${TESTS_DIR}/fuzzer.c)
|
|
||||||
if (NOT MSVC)
|
|
||||||
target_compile_options(fuzzer PRIVATE "-Wno-deprecated-declarations")
|
|
||||||
endif()
|
|
||||||
target_link_libraries(fuzzer libzstd_static)
|
|
||||||
AddTestFlagsOption(ZSTD_FUZZER_FLAGS "$ENV{FUZZERTEST} $ENV{FUZZER_FLAGS}"
|
|
||||||
"Semicolon-separated list of flags to pass to the fuzzer test (see `fuzzer -h` for usage)")
|
|
||||||
add_test(NAME fuzzer COMMAND fuzzer ${ZSTD_FUZZER_FLAGS})
|
|
||||||
# Disable the timeout since the run time is too long for the default timeout of
|
|
||||||
# 1500 seconds and varies considerably between low-end and high-end CPUs.
|
|
||||||
# set_tests_properties(fuzzer PROPERTIES TIMEOUT 0)
|
|
||||||
|
|
||||||
#
|
|
||||||
# zstreamtest
|
|
||||||
#
|
|
||||||
add_executable(zstreamtest ${PROGRAMS_DIR}/datagen.c ${PROGRAMS_DIR}/util.c ${PROGRAMS_DIR}/timefn.c ${TESTS_DIR}/seqgen.c ${TESTS_DIR}/zstreamtest.c ${TESTS_DIR}/external_matchfinder.c)
|
|
||||||
if (NOT MSVC)
|
|
||||||
target_compile_options(zstreamtest PRIVATE "-Wno-deprecated-declarations")
|
|
||||||
endif()
|
|
||||||
target_link_libraries(zstreamtest libzstd_static)
|
|
||||||
AddTestFlagsOption(ZSTD_ZSTREAM_FLAGS "$ENV{ZSTREAM_TESTTIME} $ENV{FUZZER_FLAGS}"
|
|
||||||
"Semicolon-separated list of flags to pass to the zstreamtest test (see `zstreamtest -h` for usage)")
|
|
||||||
add_test(NAME zstreamtest COMMAND zstreamtest ${ZSTD_ZSTREAM_FLAGS})
|
|
||||||
|
|
||||||
#
|
|
||||||
# playTests.sh
|
|
||||||
#
|
|
||||||
AddTestFlagsOption(ZSTD_PLAYTESTS_FLAGS "$ENV{PLAYTESTS_FLAGS}"
|
|
||||||
"Semicolon-separated list of flags to pass to the playTests.sh test")
|
|
||||||
add_test(NAME playTests COMMAND sh -c "\"${TESTS_DIR}/playTests.sh\" ${ZSTD_PLAYTESTS_FLAGS}")
|
|
||||||
find_program(UNAME uname) # Run script only in unix shell environments
|
|
||||||
if (ZSTD_BUILD_PROGRAMS AND UNAME)
|
|
||||||
set_property(TEST playTests APPEND PROPERTY ENVIRONMENT
|
|
||||||
"ZSTD_BIN=$<TARGET_FILE:zstd>"
|
|
||||||
"DATAGEN_BIN=$<TARGET_FILE:datagen>"
|
|
||||||
)
|
|
||||||
else()
|
|
||||||
message(STATUS "Disabling playTests.sh test because requirements not met")
|
|
||||||
set_tests_properties(playTests PROPERTIES DISABLED YES)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Label the "Medium" set of tests (see TESTING.md)
|
|
||||||
set_property(TEST fuzzer zstreamtest playTests APPEND PROPERTY LABELS Medium)
|
|
||||||
|
|
||||||
add_executable(paramgrill ${PROGRAMS_DIR}/benchfn.c ${PROGRAMS_DIR}/benchzstd.c ${PROGRAMS_DIR}/datagen.c ${PROGRAMS_DIR}/util.c ${PROGRAMS_DIR}/timefn.c ${TESTS_DIR}/paramgrill.c)
|
|
||||||
if (UNIX)
|
|
||||||
target_link_libraries(paramgrill libzstd_static m) #m is math library
|
|
||||||
else()
|
|
||||||
target_link_libraries(paramgrill libzstd_static)
|
|
||||||
endif ()
|
|
|
@ -1 +0,0 @@
|
||||||
include("${CMAKE_CURRENT_LIST_DIR}/zstdTargets.cmake")
|
|
|
@ -1,39 +0,0 @@
|
||||||
#!/usr/bin/env python3
|
|
||||||
# #############################################################################
|
|
||||||
# Copyright (c) 2018-present lzutao <taolzu(at)gmail.com>
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# This source code is licensed under both the BSD-style license (found in the
|
|
||||||
# LICENSE file in the root directory of this source tree) and the GPLv2 (found
|
|
||||||
# in the COPYING file in the root directory of this source tree).
|
|
||||||
# #############################################################################
|
|
||||||
import re
|
|
||||||
|
|
||||||
|
|
||||||
def find_version_tuple(filepath):
|
|
||||||
version_file_data = None
|
|
||||||
with open(filepath) as fd:
|
|
||||||
version_file_data = fd.read()
|
|
||||||
|
|
||||||
patterns = r"""#\s*define\s+ZSTD_VERSION_MAJOR\s+([0-9]+)
|
|
||||||
#\s*define\s+ZSTD_VERSION_MINOR\s+([0-9]+)
|
|
||||||
#\s*define\s+ZSTD_VERSION_RELEASE\s+([0-9]+)
|
|
||||||
"""
|
|
||||||
regex = re.compile(patterns, re.MULTILINE)
|
|
||||||
version_match = regex.search(version_file_data)
|
|
||||||
if version_match:
|
|
||||||
return version_match.groups()
|
|
||||||
raise Exception("Unable to find version string")
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
|
||||||
import argparse
|
|
||||||
parser = argparse.ArgumentParser(description='Print zstd version from lib/zstd.h')
|
|
||||||
parser.add_argument('file', help='path to lib/zstd.h')
|
|
||||||
args = parser.parse_args()
|
|
||||||
version_tuple = find_version_tuple(args.file)
|
|
||||||
print('.'.join(version_tuple))
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
main()
|
|
|
@ -1,55 +0,0 @@
|
||||||
#!/usr/bin/env python3
|
|
||||||
# #############################################################################
|
|
||||||
# Copyright (c) 2018-present lzutao <taolzu(at)gmail.com>
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# This source code is licensed under both the BSD-style license (found in the
|
|
||||||
# LICENSE file in the root directory of this source tree) and the GPLv2 (found
|
|
||||||
# in the COPYING file in the root directory of this source tree).
|
|
||||||
# #############################################################################
|
|
||||||
# This file should be synced with https://github.com/lzutao/meson-symlink
|
|
||||||
|
|
||||||
import os
|
|
||||||
import pathlib # since Python 3.4
|
|
||||||
|
|
||||||
|
|
||||||
def install_symlink(src, dst, install_dir, dst_is_dir=False, dir_mode=0o777):
|
|
||||||
if not install_dir.exists():
|
|
||||||
install_dir.mkdir(mode=dir_mode, parents=True, exist_ok=True)
|
|
||||||
if not install_dir.is_dir():
|
|
||||||
raise NotADirectoryError(install_dir)
|
|
||||||
|
|
||||||
new_dst = install_dir.joinpath(dst)
|
|
||||||
if new_dst.is_symlink() and os.readlink(new_dst) == src:
|
|
||||||
print('File exists: {!r} -> {!r}'.format(new_dst, src))
|
|
||||||
return
|
|
||||||
print('Installing symlink {!r} -> {!r}'.format(new_dst, src))
|
|
||||||
new_dst.symlink_to(src, target_is_directory=dst_is_dir)
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
|
||||||
import argparse
|
|
||||||
parser = argparse.ArgumentParser(description='Install a symlink',
|
|
||||||
usage='{0} [-h] [-d] [-m MODE] source dest install_dir\n\n'
|
|
||||||
'example:\n'
|
|
||||||
' {0} dash sh /bin'.format(pathlib.Path(__file__).name))
|
|
||||||
parser.add_argument('source', help='target to link')
|
|
||||||
parser.add_argument('dest', help='link name')
|
|
||||||
parser.add_argument('install_dir', help='installation directory')
|
|
||||||
parser.add_argument('-d', '--isdir',
|
|
||||||
action='store_true',
|
|
||||||
help='dest is a directory')
|
|
||||||
parser.add_argument('-m', '--mode',
|
|
||||||
help='directory mode on creating if not exist',
|
|
||||||
default='0o755')
|
|
||||||
args = parser.parse_args()
|
|
||||||
|
|
||||||
dir_mode = int(args.mode, 8)
|
|
||||||
|
|
||||||
meson_destdir = os.environ.get('MESON_INSTALL_DESTDIR_PREFIX', default='')
|
|
||||||
install_dir = pathlib.Path(meson_destdir, args.install_dir)
|
|
||||||
install_symlink(args.source, args.dest, install_dir, args.isdir, dir_mode)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
main()
|
|
|
@ -1,38 +0,0 @@
|
||||||
Meson build system for zstandard
|
|
||||||
================================
|
|
||||||
|
|
||||||
Meson is a build system designed to optimize programmer productivity.
|
|
||||||
It aims to do this by providing simple, out-of-the-box support for
|
|
||||||
modern software development tools and practices, such as unit tests,
|
|
||||||
coverage reports, Valgrind, CCache and the like.
|
|
||||||
|
|
||||||
This Meson build system is provided with no guarantee and maintained
|
|
||||||
by Dima Krasner \<dima@dimakrasner.com\>.
|
|
||||||
|
|
||||||
It outputs one `libzstd`, either shared or static, depending on
|
|
||||||
`default_library` option.
|
|
||||||
|
|
||||||
## How to build
|
|
||||||
|
|
||||||
`cd` to this meson directory (`build/meson`)
|
|
||||||
|
|
||||||
```sh
|
|
||||||
meson setup -Dbin_programs=true -Dbin_contrib=true builddir
|
|
||||||
cd builddir
|
|
||||||
ninja # to build
|
|
||||||
ninja install # to install
|
|
||||||
```
|
|
||||||
|
|
||||||
You might want to install it in staging directory:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
DESTDIR=./staging ninja install
|
|
||||||
```
|
|
||||||
|
|
||||||
To configure build options, use:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
meson configure
|
|
||||||
```
|
|
||||||
|
|
||||||
See [man meson(1)](https://manpages.debian.org/testing/meson/meson.1.en.html).
|
|
|
@ -1,30 +0,0 @@
|
||||||
# #############################################################################
|
|
||||||
# Copyright (c) 2018-present lzutao <taolzu(at)gmail.com>
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# This source code is licensed under both the BSD-style license (found in the
|
|
||||||
# LICENSE file in the root directory of this source tree) and the GPLv2 (found
|
|
||||||
# in the COPYING file in the root directory of this source tree).
|
|
||||||
# #############################################################################
|
|
||||||
|
|
||||||
zstd_rootdir = '../../../..'
|
|
||||||
|
|
||||||
gen_html_includes = include_directories(join_paths(zstd_rootdir, 'programs'),
|
|
||||||
join_paths(zstd_rootdir, 'lib'),
|
|
||||||
join_paths(zstd_rootdir, 'lib/common'),
|
|
||||||
join_paths(zstd_rootdir, 'contrib/gen_html'))
|
|
||||||
|
|
||||||
gen_html = executable('gen_html',
|
|
||||||
join_paths(zstd_rootdir, 'contrib/gen_html/gen_html.cpp'),
|
|
||||||
include_directories: gen_html_includes,
|
|
||||||
native: true,
|
|
||||||
install: false)
|
|
||||||
|
|
||||||
# Update zstd manual
|
|
||||||
zstd_manual_html = custom_target('zstd_manual.html',
|
|
||||||
output : 'zstd_manual.html',
|
|
||||||
command : [gen_html,
|
|
||||||
zstd_version,
|
|
||||||
join_paths(meson.current_source_dir(), zstd_rootdir, 'lib/zstd.h'),
|
|
||||||
'@OUTPUT@'],
|
|
||||||
install : false)
|
|
|
@ -1,12 +0,0 @@
|
||||||
# #############################################################################
|
|
||||||
# Copyright (c) 2018-present Dima Krasner <dima@dimakrasner.com>
|
|
||||||
# lzutao <taolzu(at)gmail.com>
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# This source code is licensed under both the BSD-style license (found in the
|
|
||||||
# LICENSE file in the root directory of this source tree) and the GPLv2 (found
|
|
||||||
# in the COPYING file in the root directory of this source tree).
|
|
||||||
# #############################################################################
|
|
||||||
|
|
||||||
subdir('pzstd')
|
|
||||||
subdir('gen_html')
|
|
|
@ -1,25 +0,0 @@
|
||||||
# #############################################################################
|
|
||||||
# Copyright (c) 2018-present lzutao <taolzu(at)gmail.com>
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# This source code is licensed under both the BSD-style license (found in the
|
|
||||||
# LICENSE file in the root directory of this source tree) and the GPLv2 (found
|
|
||||||
# in the COPYING file in the root directory of this source tree).
|
|
||||||
# #############################################################################
|
|
||||||
|
|
||||||
zstd_rootdir = '../../../..'
|
|
||||||
|
|
||||||
pzstd_includes = include_directories(join_paths(zstd_rootdir, 'programs'),
|
|
||||||
join_paths(zstd_rootdir, 'contrib/pzstd'))
|
|
||||||
pzstd_sources = [join_paths(zstd_rootdir, 'programs/util.c'),
|
|
||||||
join_paths(zstd_rootdir, 'contrib/pzstd/main.cpp'),
|
|
||||||
join_paths(zstd_rootdir, 'contrib/pzstd/Options.cpp'),
|
|
||||||
join_paths(zstd_rootdir, 'contrib/pzstd/Pzstd.cpp'),
|
|
||||||
join_paths(zstd_rootdir, 'contrib/pzstd/SkippableFrame.cpp')]
|
|
||||||
pzstd = executable('pzstd',
|
|
||||||
pzstd_sources,
|
|
||||||
cpp_args: pzstd_warning_flags,
|
|
||||||
include_directories: pzstd_includes,
|
|
||||||
dependencies: [ libzstd_dep, thread_dep ],
|
|
||||||
override_options: ['b_ndebug=true'],
|
|
||||||
install: true)
|
|
|
@ -1,167 +0,0 @@
|
||||||
# #############################################################################
|
|
||||||
# Copyright (c) 2018-present Dima Krasner <dima@dimakrasner.com>
|
|
||||||
# lzutao <taolzu(at)gmail.com>
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# This source code is licensed under both the BSD-style license (found in the
|
|
||||||
# LICENSE file in the root directory of this source tree) and the GPLv2 (found
|
|
||||||
# in the COPYING file in the root directory of this source tree).
|
|
||||||
# #############################################################################
|
|
||||||
|
|
||||||
zstd_rootdir = '../../..'
|
|
||||||
|
|
||||||
libzstd_includes = [include_directories(join_paths(zstd_rootdir,'lib'),
|
|
||||||
join_paths(zstd_rootdir, 'lib/common'),
|
|
||||||
join_paths(zstd_rootdir, 'lib/compress'),
|
|
||||||
join_paths(zstd_rootdir, 'lib/decompress'),
|
|
||||||
join_paths(zstd_rootdir, 'lib/dictBuilder'))]
|
|
||||||
|
|
||||||
libzstd_sources = [join_paths(zstd_rootdir, 'lib/common/entropy_common.c'),
|
|
||||||
join_paths(zstd_rootdir, 'lib/common/fse_decompress.c'),
|
|
||||||
join_paths(zstd_rootdir, 'lib/common/threading.c'),
|
|
||||||
join_paths(zstd_rootdir, 'lib/common/pool.c'),
|
|
||||||
join_paths(zstd_rootdir, 'lib/common/zstd_common.c'),
|
|
||||||
join_paths(zstd_rootdir, 'lib/common/error_private.c'),
|
|
||||||
join_paths(zstd_rootdir, 'lib/common/xxhash.c'),
|
|
||||||
join_paths(zstd_rootdir, 'lib/compress/hist.c'),
|
|
||||||
join_paths(zstd_rootdir, 'lib/compress/fse_compress.c'),
|
|
||||||
join_paths(zstd_rootdir, 'lib/compress/huf_compress.c'),
|
|
||||||
join_paths(zstd_rootdir, 'lib/compress/zstd_compress.c'),
|
|
||||||
join_paths(zstd_rootdir, 'lib/compress/zstd_compress_literals.c'),
|
|
||||||
join_paths(zstd_rootdir, 'lib/compress/zstd_compress_sequences.c'),
|
|
||||||
join_paths(zstd_rootdir, 'lib/compress/zstd_compress_superblock.c'),
|
|
||||||
join_paths(zstd_rootdir, 'lib/compress/zstdmt_compress.c'),
|
|
||||||
join_paths(zstd_rootdir, 'lib/compress/zstd_fast.c'),
|
|
||||||
join_paths(zstd_rootdir, 'lib/compress/zstd_double_fast.c'),
|
|
||||||
join_paths(zstd_rootdir, 'lib/compress/zstd_lazy.c'),
|
|
||||||
join_paths(zstd_rootdir, 'lib/compress/zstd_opt.c'),
|
|
||||||
join_paths(zstd_rootdir, 'lib/compress/zstd_ldm.c'),
|
|
||||||
join_paths(zstd_rootdir, 'lib/decompress/huf_decompress.c'),
|
|
||||||
join_paths(zstd_rootdir, 'lib/decompress/zstd_decompress.c'),
|
|
||||||
join_paths(zstd_rootdir, 'lib/decompress/zstd_decompress_block.c'),
|
|
||||||
join_paths(zstd_rootdir, 'lib/decompress/zstd_ddict.c'),
|
|
||||||
join_paths(zstd_rootdir, 'lib/dictBuilder/cover.c'),
|
|
||||||
join_paths(zstd_rootdir, 'lib/dictBuilder/fastcover.c'),
|
|
||||||
join_paths(zstd_rootdir, 'lib/dictBuilder/divsufsort.c'),
|
|
||||||
join_paths(zstd_rootdir, 'lib/dictBuilder/zdict.c')]
|
|
||||||
|
|
||||||
# really we need anything that defines __GNUC__ as that is what ZSTD_ASM_SUPPORTED is gated on
|
|
||||||
# but these are the two compilers that are supported in tree and actually handle this correctly
|
|
||||||
# Otherwise, explicitly disable assembly.
|
|
||||||
if [compiler_gcc, compiler_clang].contains(cc_id)
|
|
||||||
libzstd_sources += join_paths(zstd_rootdir, 'lib/decompress/huf_decompress_amd64.S')
|
|
||||||
else
|
|
||||||
add_project_arguments('-DZSTD_DISABLE_ASM', language: 'c')
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Explicit define legacy support
|
|
||||||
add_project_arguments('-DZSTD_LEGACY_SUPPORT=@0@'.format(legacy_level),
|
|
||||||
language: 'c')
|
|
||||||
|
|
||||||
if legacy_level == 0
|
|
||||||
message('Legacy support: DISABLED')
|
|
||||||
else
|
|
||||||
# See ZSTD_LEGACY_SUPPORT of lib/README.md
|
|
||||||
message('Enable legacy support back to version 0.@0@'.format(legacy_level))
|
|
||||||
|
|
||||||
libzstd_includes += [ include_directories(join_paths(zstd_rootdir, 'lib/legacy')) ]
|
|
||||||
foreach i : [1, 2, 3, 4, 5, 6, 7]
|
|
||||||
if legacy_level <= i
|
|
||||||
libzstd_sources += join_paths(zstd_rootdir, 'lib/legacy/zstd_v0@0@.c'.format(i))
|
|
||||||
endif
|
|
||||||
endforeach
|
|
||||||
endif
|
|
||||||
|
|
||||||
libzstd_deps = []
|
|
||||||
if use_multi_thread
|
|
||||||
message('Enable multi-threading support')
|
|
||||||
add_project_arguments('-DZSTD_MULTITHREAD', language: 'c')
|
|
||||||
libzstd_deps = [ thread_dep ]
|
|
||||||
endif
|
|
||||||
|
|
||||||
libzstd_c_args = []
|
|
||||||
if cc_id == compiler_msvc
|
|
||||||
if default_library_type != 'static'
|
|
||||||
libzstd_sources += [windows_mod.compile_resources(
|
|
||||||
join_paths(zstd_rootdir, 'build/VS2010/libzstd-dll/libzstd-dll.rc'),
|
|
||||||
include_directories: libzstd_includes)]
|
|
||||||
libzstd_c_args += ['-DZSTD_DLL_EXPORT=1',
|
|
||||||
'-DZSTD_HEAPMODE=0',
|
|
||||||
'-D_CONSOLE',
|
|
||||||
'-D_CRT_SECURE_NO_WARNINGS']
|
|
||||||
else
|
|
||||||
libzstd_c_args += ['-DZSTD_HEAPMODE=0',
|
|
||||||
'-D_CRT_SECURE_NO_WARNINGS']
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
mingw_ansi_stdio_flags = []
|
|
||||||
if host_machine_os == os_windows and cc_id == compiler_gcc
|
|
||||||
mingw_ansi_stdio_flags = [ '-D__USE_MINGW_ANSI_STDIO' ]
|
|
||||||
endif
|
|
||||||
libzstd_c_args += mingw_ansi_stdio_flags
|
|
||||||
|
|
||||||
libzstd_debug_cflags = []
|
|
||||||
if use_debug
|
|
||||||
libzstd_c_args += '-DDEBUGLEVEL=@0@'.format(debug_level)
|
|
||||||
if cc_id == compiler_gcc or cc_id == compiler_clang
|
|
||||||
libzstd_debug_cflags = ['-Wstrict-aliasing=1', '-Wswitch-enum',
|
|
||||||
'-Wdeclaration-after-statement', '-Wstrict-prototypes',
|
|
||||||
'-Wundef', '-Wpointer-arith', '-Wvla',
|
|
||||||
'-Wformat=2', '-Winit-self', '-Wfloat-equal', '-Wwrite-strings',
|
|
||||||
'-Wredundant-decls', '-Wmissing-prototypes', '-Wc++-compat']
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
libzstd_c_args += cc.get_supported_arguments(libzstd_debug_cflags)
|
|
||||||
|
|
||||||
libzstd = library('zstd',
|
|
||||||
libzstd_sources,
|
|
||||||
include_directories: libzstd_includes,
|
|
||||||
c_args: libzstd_c_args,
|
|
||||||
gnu_symbol_visibility: 'hidden',
|
|
||||||
dependencies: libzstd_deps,
|
|
||||||
install: true,
|
|
||||||
version: zstd_libversion)
|
|
||||||
|
|
||||||
libzstd_dep = declare_dependency(link_with: libzstd,
|
|
||||||
include_directories: libzstd_includes)
|
|
||||||
|
|
||||||
# we link to both:
|
|
||||||
# - the shared library (for public symbols)
|
|
||||||
# - the static library (for private symbols)
|
|
||||||
#
|
|
||||||
# this is needed because internally private symbols are used all the time, and
|
|
||||||
# -fvisibility=hidden means those cannot be found
|
|
||||||
if get_option('default_library') == 'static'
|
|
||||||
libzstd_static = libzstd
|
|
||||||
libzstd_internal_dep = libzstd_dep
|
|
||||||
else
|
|
||||||
if get_option('default_library') == 'shared'
|
|
||||||
libzstd_static = static_library('zstd_objlib',
|
|
||||||
objects: libzstd.extract_all_objects(recursive: true),
|
|
||||||
build_by_default: false)
|
|
||||||
else
|
|
||||||
libzstd_static = libzstd.get_static_lib()
|
|
||||||
endif
|
|
||||||
|
|
||||||
if cc_id == compiler_msvc
|
|
||||||
# msvc does not actually support linking to both, but errors out with:
|
|
||||||
# error LNK2005: ZSTD_<foo> already defined in zstd.lib(zstd-1.dll)
|
|
||||||
libzstd_internal_dep = declare_dependency(link_with: libzstd_static)
|
|
||||||
else
|
|
||||||
libzstd_internal_dep = declare_dependency(link_with: libzstd,
|
|
||||||
# the static library must be linked after the shared one
|
|
||||||
dependencies: declare_dependency(link_with: libzstd_static))
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
pkgconfig.generate(libzstd,
|
|
||||||
name: 'libzstd',
|
|
||||||
filebase: 'libzstd',
|
|
||||||
description: 'fast lossless compression algorithm library',
|
|
||||||
version: zstd_libversion,
|
|
||||||
url: 'https://facebook.github.io/zstd/')
|
|
||||||
|
|
||||||
install_headers(join_paths(zstd_rootdir, 'lib/zstd.h'),
|
|
||||||
join_paths(zstd_rootdir, 'lib/zdict.h'),
|
|
||||||
join_paths(zstd_rootdir, 'lib/zstd_errors.h'))
|
|
|
@ -1,145 +0,0 @@
|
||||||
# #############################################################################
|
|
||||||
# Copyright (c) 2018-present Dima Krasner <dima@dimakrasner.com>
|
|
||||||
# lzutao <taolzu(at)gmail.com>
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# This source code is licensed under both the BSD-style license (found in the
|
|
||||||
# LICENSE file in the root directory of this source tree) and the GPLv2 (found
|
|
||||||
# in the COPYING file in the root directory of this source tree).
|
|
||||||
# #############################################################################
|
|
||||||
|
|
||||||
project('zstd',
|
|
||||||
['c', 'cpp'],
|
|
||||||
license: ['BSD', 'GPLv2'],
|
|
||||||
default_options : [
|
|
||||||
# There shouldn't be any need to force a C standard convention for zstd
|
|
||||||
# but in case one would want that anyway, this can be done here.
|
|
||||||
# 'c_std=gnu99',
|
|
||||||
# c++11 standard is useful for pzstd
|
|
||||||
'cpp_std=c++11',
|
|
||||||
'buildtype=release',
|
|
||||||
'warning_level=3',
|
|
||||||
# -Wdocumentation does not actually pass, nor do the test binaries,
|
|
||||||
# so this isn't safe
|
|
||||||
#'werror=true'
|
|
||||||
],
|
|
||||||
version: run_command(
|
|
||||||
find_program('GetZstdLibraryVersion.py'), '../../lib/zstd.h',
|
|
||||||
check: true).stdout().strip(),
|
|
||||||
meson_version: '>=0.50.0')
|
|
||||||
|
|
||||||
cc = meson.get_compiler('c')
|
|
||||||
cxx = meson.get_compiler('cpp')
|
|
||||||
pkgconfig = import('pkgconfig')
|
|
||||||
windows_mod = import('windows')
|
|
||||||
|
|
||||||
host_machine_os = host_machine.system()
|
|
||||||
os_windows = 'windows'
|
|
||||||
os_linux = 'linux'
|
|
||||||
os_darwin = 'darwin'
|
|
||||||
os_freebsd = 'freebsd'
|
|
||||||
os_sun = 'sunos'
|
|
||||||
|
|
||||||
cc_id = cc.get_id()
|
|
||||||
compiler_gcc = 'gcc'
|
|
||||||
compiler_clang = 'clang'
|
|
||||||
compiler_msvc = 'msvc'
|
|
||||||
|
|
||||||
zstd_version = meson.project_version()
|
|
||||||
|
|
||||||
zstd_libversion = zstd_version
|
|
||||||
|
|
||||||
# =============================================================================
|
|
||||||
# Installation directories
|
|
||||||
# =============================================================================
|
|
||||||
|
|
||||||
zstd_prefix = get_option('prefix')
|
|
||||||
zstd_bindir = get_option('bindir')
|
|
||||||
zstd_datadir = get_option('datadir')
|
|
||||||
zstd_mandir = get_option('mandir')
|
|
||||||
zstd_docdir = join_paths(zstd_datadir, 'doc', meson.project_name())
|
|
||||||
|
|
||||||
# =============================================================================
|
|
||||||
# Project options
|
|
||||||
# =============================================================================
|
|
||||||
|
|
||||||
# Built-in options
|
|
||||||
use_debug = get_option('debug')
|
|
||||||
buildtype = get_option('buildtype')
|
|
||||||
default_library_type = get_option('default_library')
|
|
||||||
|
|
||||||
# Custom options
|
|
||||||
debug_level = get_option('debug_level')
|
|
||||||
legacy_level = get_option('legacy_level')
|
|
||||||
use_backtrace = get_option('backtrace')
|
|
||||||
use_static_runtime = get_option('static_runtime')
|
|
||||||
|
|
||||||
bin_programs = get_option('bin_programs')
|
|
||||||
bin_contrib = get_option('bin_contrib')
|
|
||||||
bin_tests = get_option('bin_tests')
|
|
||||||
|
|
||||||
feature_multi_thread = get_option('multi_thread')
|
|
||||||
feature_zlib = get_option('zlib')
|
|
||||||
feature_lzma = get_option('lzma')
|
|
||||||
feature_lz4 = get_option('lz4')
|
|
||||||
|
|
||||||
# =============================================================================
|
|
||||||
# Dependencies
|
|
||||||
# =============================================================================
|
|
||||||
|
|
||||||
libm_dep = cc.find_library('m', required: false)
|
|
||||||
thread_dep = dependency('threads', required: feature_multi_thread)
|
|
||||||
use_multi_thread = thread_dep.found()
|
|
||||||
# Arguments in dependency should be equivalent to those passed to pkg-config
|
|
||||||
zlib_dep = dependency('zlib', required: feature_zlib)
|
|
||||||
use_zlib = zlib_dep.found()
|
|
||||||
lzma_dep = dependency('liblzma', required: feature_lzma)
|
|
||||||
use_lzma = lzma_dep.found()
|
|
||||||
lz4_dep = dependency('liblz4', required: feature_lz4)
|
|
||||||
use_lz4 = lz4_dep.found()
|
|
||||||
|
|
||||||
# =============================================================================
|
|
||||||
# Compiler flags
|
|
||||||
# =============================================================================
|
|
||||||
|
|
||||||
add_project_arguments('-DXXH_NAMESPACE=ZSTD_', language: ['c'])
|
|
||||||
|
|
||||||
pzstd_warning_flags = []
|
|
||||||
if [compiler_gcc, compiler_clang].contains(cc_id)
|
|
||||||
common_warning_flags = [ '-Wundef', '-Wshadow', '-Wcast-align', '-Wcast-qual' ]
|
|
||||||
pzstd_warning_flags = ['-Wno-shadow', '-Wno-deprecated-declarations']
|
|
||||||
if cc_id == compiler_clang
|
|
||||||
common_warning_flags += ['-Wconversion', '-Wno-sign-conversion', '-Wdocumentation']
|
|
||||||
endif
|
|
||||||
cc_compile_flags = cc.get_supported_arguments(common_warning_flags + ['-Wstrict-prototypes'])
|
|
||||||
cxx_compile_flags = cxx.get_supported_arguments(common_warning_flags)
|
|
||||||
add_project_arguments(cc_compile_flags, language : 'c')
|
|
||||||
add_project_arguments(cxx_compile_flags, language : 'cpp')
|
|
||||||
elif cc_id == compiler_msvc
|
|
||||||
msvc_compile_flags = [ '/D_UNICODE', '/DUNICODE' ]
|
|
||||||
if use_multi_thread
|
|
||||||
msvc_compile_flags += '/MP'
|
|
||||||
endif
|
|
||||||
if use_static_runtime
|
|
||||||
msvc_compile_flags += '/MT'
|
|
||||||
endif
|
|
||||||
add_project_arguments(msvc_compile_flags, language: ['c', 'cpp'])
|
|
||||||
endif
|
|
||||||
|
|
||||||
# =============================================================================
|
|
||||||
# Subdirs
|
|
||||||
# =============================================================================
|
|
||||||
|
|
||||||
subdir('lib')
|
|
||||||
|
|
||||||
if bin_programs
|
|
||||||
subdir('programs')
|
|
||||||
endif
|
|
||||||
|
|
||||||
if bin_tests
|
|
||||||
subdir('tests')
|
|
||||||
endif
|
|
||||||
|
|
||||||
if bin_contrib
|
|
||||||
subdir('contrib')
|
|
||||||
endif
|
|
|
@ -1,36 +0,0 @@
|
||||||
# #############################################################################
|
|
||||||
# Copyright (c) 2018-present Dima Krasner <dima@dimakrasner.com>
|
|
||||||
# lzutao <taolzu(at)gmail.com>
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# This source code is licensed under both the BSD-style license (found in the
|
|
||||||
# LICENSE file in the root directory of this source tree) and the GPLv2 (found
|
|
||||||
# in the COPYING file in the root directory of this source tree).
|
|
||||||
# #############################################################################
|
|
||||||
|
|
||||||
# Read guidelines from https://wiki.gnome.org/Initiatives/GnomeGoals/MesonPorting
|
|
||||||
|
|
||||||
option('legacy_level', type: 'integer', min: 0, max: 7, value: 5,
|
|
||||||
description: 'Support any legacy format: 7 to 1 for v0.7+ to v0.1+')
|
|
||||||
option('debug_level', type: 'integer', min: 0, max: 9, value: 1,
|
|
||||||
description: 'Enable run-time debug. See lib/common/debug.h')
|
|
||||||
option('backtrace', type: 'feature', value: 'disabled',
|
|
||||||
description: 'Display a stack backtrace when execution generates a runtime exception')
|
|
||||||
option('static_runtime', type: 'boolean', value: false,
|
|
||||||
description: 'Link to static run-time libraries on MSVC')
|
|
||||||
|
|
||||||
option('bin_programs', type: 'boolean', value: true,
|
|
||||||
description: 'Enable programs build')
|
|
||||||
option('bin_tests', type: 'boolean', value: false,
|
|
||||||
description: 'Enable tests build')
|
|
||||||
option('bin_contrib', type: 'boolean', value: false,
|
|
||||||
description: 'Enable contrib build')
|
|
||||||
|
|
||||||
option('multi_thread', type: 'feature', value: 'enabled',
|
|
||||||
description: 'Enable multi-threading when pthread is detected')
|
|
||||||
option('zlib', type: 'feature', value: 'auto',
|
|
||||||
description: 'Enable zlib support')
|
|
||||||
option('lzma', type: 'feature', value: 'auto',
|
|
||||||
description: 'Enable lzma support')
|
|
||||||
option('lz4', type: 'feature', value: 'auto',
|
|
||||||
description: 'Enable lz4 support')
|
|
|
@ -1,116 +0,0 @@
|
||||||
# #############################################################################
|
|
||||||
# Copyright (c) 2018-present Dima Krasner <dima@dimakrasner.com>
|
|
||||||
# lzutao <taolzu(at)gmail.com>
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# This source code is licensed under both the BSD-style license (found in the
|
|
||||||
# LICENSE file in the root directory of this source tree) and the GPLv2 (found
|
|
||||||
# in the COPYING file in the root directory of this source tree).
|
|
||||||
# #############################################################################
|
|
||||||
|
|
||||||
zstd_rootdir = '../../..'
|
|
||||||
|
|
||||||
zstd_programs_sources = [join_paths(zstd_rootdir, 'programs/zstdcli.c'),
|
|
||||||
join_paths(zstd_rootdir, 'programs/util.c'),
|
|
||||||
join_paths(zstd_rootdir, 'programs/timefn.c'),
|
|
||||||
join_paths(zstd_rootdir, 'programs/fileio.c'),
|
|
||||||
join_paths(zstd_rootdir, 'programs/fileio_asyncio.c'),
|
|
||||||
join_paths(zstd_rootdir, 'programs/benchfn.c'),
|
|
||||||
join_paths(zstd_rootdir, 'programs/benchzstd.c'),
|
|
||||||
join_paths(zstd_rootdir, 'programs/datagen.c'),
|
|
||||||
join_paths(zstd_rootdir, 'programs/dibio.c'),
|
|
||||||
join_paths(zstd_rootdir, 'programs/zstdcli_trace.c')]
|
|
||||||
|
|
||||||
zstd_deps = [ libzstd_internal_dep ]
|
|
||||||
zstd_c_args = libzstd_debug_cflags
|
|
||||||
|
|
||||||
zstd_frugal_deps = [ libzstd_internal_dep ]
|
|
||||||
zstd_frugal_c_args = [ '-DZSTD_NOBENCH', '-DZSTD_NODICT', '-DZSTD_NOTRACE' ]
|
|
||||||
|
|
||||||
if use_multi_thread
|
|
||||||
zstd_deps += [ thread_dep ]
|
|
||||||
zstd_c_args += [ '-DZSTD_MULTITHREAD' ]
|
|
||||||
zstd_frugal_deps += [ thread_dep ]
|
|
||||||
zstd_frugal_c_args += [ '-DZSTD_MULTITHREAD' ]
|
|
||||||
endif
|
|
||||||
|
|
||||||
if use_zlib
|
|
||||||
zstd_deps += [ zlib_dep ]
|
|
||||||
zstd_c_args += [ '-DZSTD_GZCOMPRESS', '-DZSTD_GZDECOMPRESS' ]
|
|
||||||
endif
|
|
||||||
|
|
||||||
if use_lzma
|
|
||||||
zstd_deps += [ lzma_dep ]
|
|
||||||
zstd_c_args += [ '-DZSTD_LZMACOMPRESS', '-DZSTD_LZMADECOMPRESS' ]
|
|
||||||
endif
|
|
||||||
|
|
||||||
if use_lz4
|
|
||||||
zstd_deps += [ lz4_dep ]
|
|
||||||
zstd_c_args += [ '-DZSTD_LZ4COMPRESS', '-DZSTD_LZ4DECOMPRESS' ]
|
|
||||||
endif
|
|
||||||
|
|
||||||
export_dynamic_on_windows = false
|
|
||||||
# explicit backtrace enable/disable for Linux & Darwin
|
|
||||||
have_execinfo = cc.has_header('execinfo.h', required: use_backtrace)
|
|
||||||
if not have_execinfo
|
|
||||||
zstd_c_args += '-DBACKTRACE_ENABLE=0'
|
|
||||||
elif use_debug and host_machine_os == os_windows # MinGW target
|
|
||||||
zstd_c_args += '-DBACKTRACE_ENABLE=1'
|
|
||||||
export_dynamic_on_windows = true
|
|
||||||
endif
|
|
||||||
|
|
||||||
if cc_id == compiler_msvc
|
|
||||||
if default_library_type != 'static'
|
|
||||||
zstd_programs_sources += [windows_mod.compile_resources(
|
|
||||||
join_paths(zstd_rootdir, 'build/VS2010/zstd/zstd.rc'),
|
|
||||||
include_directories: libzstd_includes)]
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
zstd = executable('zstd',
|
|
||||||
zstd_programs_sources,
|
|
||||||
c_args: zstd_c_args,
|
|
||||||
dependencies: zstd_deps,
|
|
||||||
export_dynamic: export_dynamic_on_windows, # Since Meson 0.45.0
|
|
||||||
install: true)
|
|
||||||
|
|
||||||
zstd_frugal_sources = [join_paths(zstd_rootdir, 'programs/zstdcli.c'),
|
|
||||||
join_paths(zstd_rootdir, 'programs/timefn.c'),
|
|
||||||
join_paths(zstd_rootdir, 'programs/util.c'),
|
|
||||||
join_paths(zstd_rootdir, 'programs/fileio.c'),
|
|
||||||
join_paths(zstd_rootdir, 'programs/fileio_asyncio.c')]
|
|
||||||
|
|
||||||
# Minimal target, with only zstd compression and decompression.
|
|
||||||
# No bench. No legacy.
|
|
||||||
executable('zstd-frugal',
|
|
||||||
zstd_frugal_sources,
|
|
||||||
dependencies: zstd_frugal_deps,
|
|
||||||
c_args: zstd_frugal_c_args,
|
|
||||||
install: true)
|
|
||||||
|
|
||||||
install_data(join_paths(zstd_rootdir, 'programs/zstdgrep'),
|
|
||||||
join_paths(zstd_rootdir, 'programs/zstdless'),
|
|
||||||
install_dir: zstd_bindir)
|
|
||||||
|
|
||||||
# =============================================================================
|
|
||||||
# Programs and manpages installing
|
|
||||||
# =============================================================================
|
|
||||||
|
|
||||||
install_man(join_paths(zstd_rootdir, 'programs/zstd.1'),
|
|
||||||
join_paths(zstd_rootdir, 'programs/zstdgrep.1'),
|
|
||||||
join_paths(zstd_rootdir, 'programs/zstdless.1'))
|
|
||||||
|
|
||||||
InstallSymlink_py = '../InstallSymlink.py'
|
|
||||||
zstd_man1_dir = join_paths(zstd_mandir, 'man1')
|
|
||||||
bin_EXT = host_machine_os == os_windows ? '.exe' : ''
|
|
||||||
man1_EXT = meson.version().version_compare('>=0.49.0') ? '.1' : '.1.gz'
|
|
||||||
|
|
||||||
foreach f : ['zstdcat', 'unzstd']
|
|
||||||
meson.add_install_script(InstallSymlink_py, 'zstd' + bin_EXT, f + bin_EXT, zstd_bindir)
|
|
||||||
meson.add_install_script(InstallSymlink_py, 'zstd' + man1_EXT, f + man1_EXT, zstd_man1_dir)
|
|
||||||
endforeach
|
|
||||||
|
|
||||||
if use_multi_thread
|
|
||||||
meson.add_install_script(InstallSymlink_py, 'zstd' + bin_EXT, 'zstdmt' + bin_EXT, zstd_bindir)
|
|
||||||
meson.add_install_script(InstallSymlink_py, 'zstd' + man1_EXT, 'zstdmt' + man1_EXT, zstd_man1_dir)
|
|
||||||
endif
|
|
|
@ -1,215 +0,0 @@
|
||||||
# #############################################################################
|
|
||||||
# Copyright (c) 2018-present Dima Krasner <dima@dimakrasner.com>
|
|
||||||
# lzutao <taolzu(at)gmail.com>
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# This source code is licensed under both the BSD-style license (found in the
|
|
||||||
# LICENSE file in the root directory of this source tree) and the GPLv2 (found
|
|
||||||
# in the COPYING file in the root directory of this source tree).
|
|
||||||
# #############################################################################
|
|
||||||
|
|
||||||
zstd_rootdir = '../../..'
|
|
||||||
|
|
||||||
tests_supported_oses = [os_linux, 'gnu/kfreebsd', os_darwin, 'gnu', 'openbsd',
|
|
||||||
os_freebsd, 'netbsd', 'dragonfly', os_sun]
|
|
||||||
|
|
||||||
# =============================================================================
|
|
||||||
# Test flags
|
|
||||||
# =============================================================================
|
|
||||||
|
|
||||||
FUZZER_FLAGS = ['--no-big-tests']
|
|
||||||
FUZZERTEST = '-T200s'
|
|
||||||
ZSTREAM_TESTTIME = '-T90s'
|
|
||||||
DECODECORPUS_TESTTIME = '-T30'
|
|
||||||
|
|
||||||
# =============================================================================
|
|
||||||
# Executables
|
|
||||||
# =============================================================================
|
|
||||||
|
|
||||||
test_includes = [ include_directories(join_paths(zstd_rootdir, 'programs')) ]
|
|
||||||
|
|
||||||
testcommon_sources = [join_paths(zstd_rootdir, 'programs/datagen.c'),
|
|
||||||
join_paths(zstd_rootdir, 'programs/util.c'),
|
|
||||||
join_paths(zstd_rootdir, 'programs/timefn.c'),
|
|
||||||
join_paths(zstd_rootdir, 'programs/benchfn.c'),
|
|
||||||
join_paths(zstd_rootdir, 'programs/benchzstd.c')]
|
|
||||||
|
|
||||||
testcommon = static_library('testcommon',
|
|
||||||
testcommon_sources,
|
|
||||||
# needed due to use of private symbol + -fvisibility=hidden
|
|
||||||
link_with: libzstd_static)
|
|
||||||
|
|
||||||
testcommon_dep = declare_dependency(link_with: testcommon,
|
|
||||||
dependencies: libzstd_deps,
|
|
||||||
include_directories: libzstd_includes)
|
|
||||||
|
|
||||||
datagen_sources = [join_paths(zstd_rootdir, 'tests/datagencli.c')]
|
|
||||||
datagen = executable('datagen',
|
|
||||||
datagen_sources,
|
|
||||||
c_args: [ '-DNDEBUG' ],
|
|
||||||
include_directories: test_includes,
|
|
||||||
dependencies: testcommon_dep,
|
|
||||||
install: false)
|
|
||||||
|
|
||||||
fullbench_sources = [join_paths(zstd_rootdir, 'tests/fullbench.c')]
|
|
||||||
fullbench = executable('fullbench',
|
|
||||||
fullbench_sources,
|
|
||||||
include_directories: test_includes,
|
|
||||||
dependencies: testcommon_dep,
|
|
||||||
install: false)
|
|
||||||
|
|
||||||
fuzzer_sources = [join_paths(zstd_rootdir, 'tests/fuzzer.c')]
|
|
||||||
fuzzer = executable('fuzzer',
|
|
||||||
fuzzer_sources,
|
|
||||||
include_directories: test_includes,
|
|
||||||
dependencies: [ testcommon_dep, thread_dep ],
|
|
||||||
install: false)
|
|
||||||
|
|
||||||
zstreamtest_sources = [
|
|
||||||
join_paths(zstd_rootdir, 'tests/seqgen.c'),
|
|
||||||
join_paths(zstd_rootdir, 'tests/zstreamtest.c'),
|
|
||||||
join_paths(zstd_rootdir, 'tests/external_matchfinder.c')]
|
|
||||||
zstreamtest = executable('zstreamtest',
|
|
||||||
zstreamtest_sources,
|
|
||||||
include_directories: test_includes,
|
|
||||||
dependencies: testcommon_dep,
|
|
||||||
install: false)
|
|
||||||
|
|
||||||
paramgrill_sources = [join_paths(zstd_rootdir, 'tests/paramgrill.c')]
|
|
||||||
paramgrill = executable('paramgrill',
|
|
||||||
paramgrill_sources,
|
|
||||||
include_directories: test_includes,
|
|
||||||
dependencies: [ testcommon_dep, libm_dep ],
|
|
||||||
install: false)
|
|
||||||
|
|
||||||
roundTripCrash_sources = [join_paths(zstd_rootdir, 'tests/roundTripCrash.c')]
|
|
||||||
roundTripCrash = executable('roundTripCrash',
|
|
||||||
roundTripCrash_sources,
|
|
||||||
dependencies: [ testcommon_dep ],
|
|
||||||
install: false)
|
|
||||||
|
|
||||||
longmatch_sources = [join_paths(zstd_rootdir, 'tests/longmatch.c')]
|
|
||||||
longmatch = executable('longmatch',
|
|
||||||
longmatch_sources,
|
|
||||||
dependencies: [ libzstd_dep ],
|
|
||||||
install: false)
|
|
||||||
|
|
||||||
invalidDictionaries_sources = [join_paths(zstd_rootdir, 'tests/invalidDictionaries.c')]
|
|
||||||
invalidDictionaries = executable('invalidDictionaries',
|
|
||||||
invalidDictionaries_sources,
|
|
||||||
dependencies: [ libzstd_dep ],
|
|
||||||
install: false)
|
|
||||||
|
|
||||||
if 0 < legacy_level and legacy_level <= 4
|
|
||||||
legacy_sources = [join_paths(zstd_rootdir, 'tests/legacy.c')]
|
|
||||||
legacy = executable('legacy',
|
|
||||||
legacy_sources,
|
|
||||||
# Use -Dlegacy_level build option to control it
|
|
||||||
#c_args: '-DZSTD_LEGACY_SUPPORT=4',
|
|
||||||
dependencies: [ libzstd_dep ],
|
|
||||||
install: false)
|
|
||||||
endif
|
|
||||||
|
|
||||||
decodecorpus_sources = [join_paths(zstd_rootdir, 'tests/decodecorpus.c')]
|
|
||||||
decodecorpus = executable('decodecorpus',
|
|
||||||
decodecorpus_sources,
|
|
||||||
include_directories: test_includes,
|
|
||||||
dependencies: [ testcommon_dep, libm_dep ],
|
|
||||||
install: false)
|
|
||||||
|
|
||||||
poolTests_sources = [join_paths(zstd_rootdir, 'tests/poolTests.c')]
|
|
||||||
poolTests = executable('poolTests',
|
|
||||||
poolTests_sources,
|
|
||||||
include_directories: test_includes,
|
|
||||||
dependencies: [ testcommon_dep, thread_dep ],
|
|
||||||
install: false)
|
|
||||||
|
|
||||||
checkTag_sources = [join_paths(zstd_rootdir, 'tests/checkTag.c')]
|
|
||||||
checkTag = executable('checkTag',
|
|
||||||
checkTag_sources,
|
|
||||||
dependencies: [ libzstd_dep ],
|
|
||||||
install: false)
|
|
||||||
|
|
||||||
# =============================================================================
|
|
||||||
# Tests (Use "meson test --list" to list all tests)
|
|
||||||
# =============================================================================
|
|
||||||
|
|
||||||
if tests_supported_oses.contains(host_machine_os)
|
|
||||||
valgrind_prog = find_program('valgrind', ['/usr/bin/valgrind'], required: false)
|
|
||||||
valgrindTest_py = files('valgrindTest.py')
|
|
||||||
if valgrind_prog.found()
|
|
||||||
test('valgrindTest',
|
|
||||||
valgrindTest_py,
|
|
||||||
args: [valgrind_prog.path(), zstd, datagen, fuzzer, fullbench],
|
|
||||||
depends: [zstd, datagen, fuzzer, fullbench],
|
|
||||||
timeout: 600) # Timeout should work on HDD drive
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
if host_machine_os != os_windows
|
|
||||||
playTests_sh = find_program(join_paths(zstd_rootdir, 'tests/playTests.sh'), required: true)
|
|
||||||
|
|
||||||
# add slow tests only if the meson version is new enough to support
|
|
||||||
# test setups with default-excluded suites
|
|
||||||
if meson.version().version_compare('>=0.57.0')
|
|
||||||
matrix = {'fast': [], 'slow': ['--test-large-data']}
|
|
||||||
else
|
|
||||||
matrix = {'fast': []}
|
|
||||||
endif
|
|
||||||
|
|
||||||
foreach suite, opt: matrix
|
|
||||||
test('test-zstd-'+suite,
|
|
||||||
playTests_sh,
|
|
||||||
args: opt,
|
|
||||||
env: ['ZSTD_BIN=' + zstd.full_path(), 'DATAGEN_BIN=./datagen'],
|
|
||||||
depends: [datagen],
|
|
||||||
suite: suite,
|
|
||||||
workdir: meson.current_build_dir(),
|
|
||||||
timeout: 2800) # Timeout should work on HDD drive
|
|
||||||
endforeach
|
|
||||||
endif
|
|
||||||
|
|
||||||
test('test-fullbench-1',
|
|
||||||
fullbench,
|
|
||||||
args: ['-i1'],
|
|
||||||
depends: [datagen],
|
|
||||||
timeout: 60)
|
|
||||||
test('test-fullbench-2',
|
|
||||||
fullbench,
|
|
||||||
args: ['-i1', '-P0'],
|
|
||||||
depends: [datagen],
|
|
||||||
timeout: 60)
|
|
||||||
|
|
||||||
if use_zlib
|
|
||||||
test('test-fuzzer',
|
|
||||||
fuzzer,
|
|
||||||
args: ['-v', FUZZERTEST] + FUZZER_FLAGS,
|
|
||||||
timeout: 480)
|
|
||||||
endif
|
|
||||||
|
|
||||||
test('test-zstream-1',
|
|
||||||
zstreamtest,
|
|
||||||
args: ['-v', ZSTREAM_TESTTIME] + FUZZER_FLAGS,
|
|
||||||
timeout: 240)
|
|
||||||
test('test-zstream-3',
|
|
||||||
zstreamtest,
|
|
||||||
args: ['--newapi', '-t1', ZSTREAM_TESTTIME] + FUZZER_FLAGS,
|
|
||||||
timeout: 120)
|
|
||||||
test('test-longmatch', longmatch, timeout: 36)
|
|
||||||
test('test-invalidDictionaries', invalidDictionaries) # should be fast
|
|
||||||
if 0 < legacy_level and legacy_level <= 4
|
|
||||||
test('test-legacy', legacy) # should be fast
|
|
||||||
endif
|
|
||||||
test('test-decodecorpus',
|
|
||||||
decodecorpus,
|
|
||||||
args: ['-t', DECODECORPUS_TESTTIME],
|
|
||||||
timeout: 60)
|
|
||||||
test('test-poolTests', poolTests) # should be fast
|
|
||||||
|
|
||||||
if meson.version().version_compare('>=0.57.0')
|
|
||||||
add_test_setup('fast',
|
|
||||||
is_default: true,
|
|
||||||
exclude_suites: ['slow'])
|
|
||||||
add_test_setup('slow',
|
|
||||||
exclude_suites: ['fast'])
|
|
||||||
endif
|
|
|
@ -1,90 +0,0 @@
|
||||||
#!/usr/bin/env python3
|
|
||||||
# #############################################################################
|
|
||||||
# Copyright (c) 2018-present lzutao <taolzu(at)gmail.com>
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# This source code is licensed under both the BSD-style license (found in the
|
|
||||||
# LICENSE file in the root directory of this source tree) and the GPLv2 (found
|
|
||||||
# in the COPYING file in the root directory of this source tree).
|
|
||||||
# #############################################################################
|
|
||||||
import os
|
|
||||||
import subprocess
|
|
||||||
import tempfile
|
|
||||||
|
|
||||||
|
|
||||||
def valgrindTest(valgrind, datagen, fuzzer, zstd, fullbench):
|
|
||||||
VALGRIND_ARGS = [valgrind, '--leak-check=full', '--show-leak-kinds=all', '--error-exitcode=1']
|
|
||||||
|
|
||||||
print('\n ---- valgrind tests : memory analyzer ----')
|
|
||||||
|
|
||||||
subprocess.check_call([*VALGRIND_ARGS, datagen, '-g50M'], stdout=subprocess.DEVNULL)
|
|
||||||
|
|
||||||
if subprocess.call([*VALGRIND_ARGS, zstd],
|
|
||||||
stdout=subprocess.DEVNULL) == 0:
|
|
||||||
raise subprocess.SubprocessError('zstd without argument should have failed')
|
|
||||||
|
|
||||||
with subprocess.Popen([datagen, '-g80'], stdout=subprocess.PIPE) as p1, \
|
|
||||||
subprocess.Popen([*VALGRIND_ARGS, zstd, '-', '-c'],
|
|
||||||
stdin=p1.stdout,
|
|
||||||
stdout=subprocess.DEVNULL) as p2:
|
|
||||||
p1.stdout.close() # Allow p1 to receive a SIGPIPE if p2 exits.
|
|
||||||
p2.communicate()
|
|
||||||
if p2.returncode != 0:
|
|
||||||
raise subprocess.SubprocessError()
|
|
||||||
|
|
||||||
with subprocess.Popen([datagen, '-g16KB'], stdout=subprocess.PIPE) as p1, \
|
|
||||||
subprocess.Popen([*VALGRIND_ARGS, zstd, '-vf', '-', '-c'],
|
|
||||||
stdin=p1.stdout,
|
|
||||||
stdout=subprocess.DEVNULL) as p2:
|
|
||||||
p1.stdout.close()
|
|
||||||
p2.communicate()
|
|
||||||
if p2.returncode != 0:
|
|
||||||
raise subprocess.SubprocessError()
|
|
||||||
|
|
||||||
with tempfile.NamedTemporaryFile() as tmp_fd:
|
|
||||||
with subprocess.Popen([datagen, '-g2930KB'], stdout=subprocess.PIPE) as p1, \
|
|
||||||
subprocess.Popen([*VALGRIND_ARGS, zstd, '-5', '-vf', '-', '-o', tmp_fd.name],
|
|
||||||
stdin=p1.stdout) as p2:
|
|
||||||
p1.stdout.close()
|
|
||||||
p2.communicate()
|
|
||||||
if p2.returncode != 0:
|
|
||||||
raise subprocess.SubprocessError()
|
|
||||||
|
|
||||||
subprocess.check_call([*VALGRIND_ARGS, zstd, '-vdf', tmp_fd.name, '-c'],
|
|
||||||
stdout=subprocess.DEVNULL)
|
|
||||||
|
|
||||||
with subprocess.Popen([datagen, '-g64MB'], stdout=subprocess.PIPE) as p1, \
|
|
||||||
subprocess.Popen([*VALGRIND_ARGS, zstd, '-vf', '-', '-c'],
|
|
||||||
stdin=p1.stdout,
|
|
||||||
stdout=subprocess.DEVNULL) as p2:
|
|
||||||
p1.stdout.close()
|
|
||||||
p2.communicate()
|
|
||||||
if p2.returncode != 0:
|
|
||||||
raise subprocess.SubprocessError()
|
|
||||||
|
|
||||||
subprocess.check_call([*VALGRIND_ARGS, fuzzer, '-T1mn', '-t1'])
|
|
||||||
subprocess.check_call([*VALGRIND_ARGS, fullbench, '-i1'])
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
|
||||||
import argparse
|
|
||||||
parser = argparse.ArgumentParser(description='Valgrind tests : memory analyzer')
|
|
||||||
parser.add_argument('valgrind', help='valgrind path')
|
|
||||||
parser.add_argument('zstd', help='zstd path')
|
|
||||||
parser.add_argument('datagen', help='datagen path')
|
|
||||||
parser.add_argument('fuzzer', help='fuzzer path')
|
|
||||||
parser.add_argument('fullbench', help='fullbench path')
|
|
||||||
|
|
||||||
args = parser.parse_args()
|
|
||||||
|
|
||||||
valgrind = args.valgrind
|
|
||||||
zstd = args.zstd
|
|
||||||
datagen = args.datagen
|
|
||||||
fuzzer = args.fuzzer
|
|
||||||
fullbench = args.fullbench
|
|
||||||
|
|
||||||
valgrindTest(valgrind, datagen, fuzzer, zstd, fullbench)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
main()
|
|
|
@ -1,9 +0,0 @@
|
||||||
|
|
||||||
# build artifacts
|
|
||||||
zstddeclib.c
|
|
||||||
zstdenclib.c
|
|
||||||
zstd.c
|
|
||||||
zstd.h
|
|
||||||
|
|
||||||
# test artifacts
|
|
||||||
temp*
|
|
|
@ -1,33 +0,0 @@
|
||||||
# Single File Zstandard Libraries
|
|
||||||
|
|
||||||
The script `combine.sh` creates an _amalgamated_ source file that can be used with or without `zstd.h`. This isn't a _header-only_ file but it does offer a similar level of simplicity when integrating into a project.
|
|
||||||
|
|
||||||
All it now takes to support Zstd in your own projects is the addition of a single file, two if using the header, with no configuration or further build steps.
|
|
||||||
|
|
||||||
Decompressor
|
|
||||||
------------
|
|
||||||
|
|
||||||
This is the most common use case. The decompression library is small, adding, for example, 26kB to an Emscripten compiled WebAssembly project. Native implementations add a little more, 40-70kB depending on the compiler and platform.
|
|
||||||
|
|
||||||
Create `zstddeclib.c` from the Zstd source using:
|
|
||||||
```
|
|
||||||
cd zstd/build/single_file_libs
|
|
||||||
python3 combine.py -r ../../lib -x legacy/zstd_legacy.h -o zstddeclib.c zstddeclib-in.c
|
|
||||||
```
|
|
||||||
Then add the resulting file to your project (see the [example files](examples)).
|
|
||||||
|
|
||||||
`create_single_file_decoder.sh` will run the above script, creating the file `zstddeclib.c` (`build_decoder_test.sh` will also create `zstddeclib.c`, then compile and test the result).
|
|
||||||
|
|
||||||
Full Library
|
|
||||||
------------
|
|
||||||
|
|
||||||
The same tool can amalgamate the entire Zstd library for ease of adding both compression and decompression to a project. The [roundtrip example](examples/roundtrip.c) uses the original `zstd.h` with the remaining source files combined into `zstd.c` (currently just over 1.2MB) created from `zstd-in.c`. As with the standalone decoder the most useful compile flags have already been rolled-in and the resulting file can be added to a project as-is.
|
|
||||||
|
|
||||||
Create `zstd.c` from the Zstd source using:
|
|
||||||
```
|
|
||||||
cd zstd/build/single_file_libs
|
|
||||||
python3 combine.py -r ../../lib -x legacy/zstd_legacy.h -k zstd.h -o zstd.c zstd-in.c
|
|
||||||
```
|
|
||||||
It's possible to create a compressor-only library but since the decompressor is so small in comparison this doesn't bring much of a gain (but for the curious, simply remove the files in the _decompress_ section at the end of `zstd-in.c`).
|
|
||||||
|
|
||||||
`create_single_file_library.sh` will run the script to create `zstd.c` (`build_library_test.sh` will also create `zstd.c`, then compile and test the result).
|
|
|
@ -1,91 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# Temporary compiled binary
|
|
||||||
OUT_FILE="tempbin"
|
|
||||||
|
|
||||||
# Optional temporary compiled WebAssembly
|
|
||||||
OUT_WASM="temp.wasm"
|
|
||||||
|
|
||||||
# Source files to compile using Emscripten.
|
|
||||||
IN_FILES="examples/emscripten.c"
|
|
||||||
|
|
||||||
# Emscripten build using emcc.
|
|
||||||
emscripten_emcc_build() {
|
|
||||||
# Compile the same example as above
|
|
||||||
CC_FLAGS="-Wall -Wextra -Wshadow -Werror -Os -g0 -flto"
|
|
||||||
emcc $CC_FLAGS -s WASM=1 -I. -o $OUT_WASM $IN_FILES
|
|
||||||
# Did compilation work?
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
echo "Compiling ${IN_FILES}: FAILED"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
echo "Compiling ${IN_FILES}: PASSED"
|
|
||||||
rm -f $OUT_WASM
|
|
||||||
}
|
|
||||||
|
|
||||||
# Emscripten build using docker.
|
|
||||||
emscripten_docker_build() {
|
|
||||||
docker container run --rm \
|
|
||||||
--volume $PWD:/code \
|
|
||||||
--workdir /code \
|
|
||||||
emscripten/emsdk:latest \
|
|
||||||
emcc $CC_FLAGS -s WASM=1 -I. -o $OUT_WASM $IN_FILES
|
|
||||||
# Did compilation work?
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
echo "Compiling ${IN_FILES} (using docker): FAILED"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
echo "Compiling ${IN_FILES} (using docker): PASSED"
|
|
||||||
rm -f $OUT_WASM
|
|
||||||
}
|
|
||||||
|
|
||||||
# Try Emscripten build using emcc or docker.
|
|
||||||
try_emscripten_build() {
|
|
||||||
which emcc > /dev/null
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
emscripten_emcc_build
|
|
||||||
return $?
|
|
||||||
fi
|
|
||||||
|
|
||||||
which docker > /dev/null
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
emscripten_docker_build
|
|
||||||
return $?
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "(Skipping Emscripten test)"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Amalgamate the sources
|
|
||||||
./create_single_file_decoder.sh
|
|
||||||
# Did combining work?
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
echo "Single file decoder creation script: FAILED"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
echo "Single file decoder creation script: PASSED"
|
|
||||||
|
|
||||||
# Compile the generated output
|
|
||||||
cc -Wall -Wextra -Wshadow -Werror -Os -g0 -o $OUT_FILE examples/simple.c
|
|
||||||
# Did compilation work?
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
echo "Compiling simple.c: FAILED"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
echo "Compiling simple.c: PASSED"
|
|
||||||
|
|
||||||
# Run then delete the compiled output
|
|
||||||
./$OUT_FILE
|
|
||||||
retVal=$?
|
|
||||||
rm -f $OUT_FILE
|
|
||||||
# Did the test work?
|
|
||||||
if [ $retVal -ne 0 ]; then
|
|
||||||
echo "Running simple.c: FAILED"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
echo "Running simple.c: PASSED"
|
|
||||||
|
|
||||||
# Try Emscripten build if emcc or docker command is available.
|
|
||||||
try_emscripten_build
|
|
||||||
|
|
||||||
exit 0
|
|
|
@ -1,97 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# Where to find the sources (only used to copy zstd.h)
|
|
||||||
ZSTD_SRC_ROOT="../../lib"
|
|
||||||
|
|
||||||
# Temporary compiled binary
|
|
||||||
OUT_FILE="tempbin"
|
|
||||||
|
|
||||||
# Optional temporary compiled WebAssembly
|
|
||||||
OUT_WASM="temp.wasm"
|
|
||||||
|
|
||||||
# Source files to compile using Emscripten.
|
|
||||||
IN_FILES="zstd.c examples/roundtrip.c"
|
|
||||||
|
|
||||||
# Emscripten build using emcc.
|
|
||||||
emscripten_emcc_build() {
|
|
||||||
# Compile the same example as above
|
|
||||||
CC_FLAGS="-Wall -Wextra -Wshadow -Werror -Os -g0 -flto"
|
|
||||||
emcc $CC_FLAGS -s WASM=1 -I. -o $OUT_WASM $IN_FILES
|
|
||||||
# Did compilation work?
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
echo "Compiling ${IN_FILES}: FAILED"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
echo "Compiling ${IN_FILES}: PASSED"
|
|
||||||
rm -f $OUT_WASM
|
|
||||||
}
|
|
||||||
|
|
||||||
# Emscripten build using docker.
|
|
||||||
emscripten_docker_build() {
|
|
||||||
docker container run --rm \
|
|
||||||
--volume $PWD:/code \
|
|
||||||
--workdir /code \
|
|
||||||
emscripten/emsdk:latest \
|
|
||||||
emcc $CC_FLAGS -s WASM=1 -I. -o $OUT_WASM $IN_FILES
|
|
||||||
# Did compilation work?
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
echo "Compiling ${IN_FILES} (using docker): FAILED"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
echo "Compiling ${IN_FILES} (using docker): PASSED"
|
|
||||||
rm -f $OUT_WASM
|
|
||||||
}
|
|
||||||
|
|
||||||
# Try Emscripten build using emcc or docker.
|
|
||||||
try_emscripten_build() {
|
|
||||||
which emcc > /dev/null
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
emscripten_emcc_build
|
|
||||||
return $?
|
|
||||||
fi
|
|
||||||
|
|
||||||
which docker > /dev/null
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
emscripten_docker_build
|
|
||||||
return $?
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "(Skipping Emscripten test)"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Amalgamate the sources
|
|
||||||
./create_single_file_library.sh
|
|
||||||
# Did combining work?
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
echo "Single file library creation script: FAILED"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
echo "Single file library creation script: PASSED"
|
|
||||||
|
|
||||||
# Copy the header to here (for the tests)
|
|
||||||
cp "$ZSTD_SRC_ROOT/zstd.h" examples/zstd.h
|
|
||||||
|
|
||||||
# Compile the generated output
|
|
||||||
cc -Wall -Wextra -Werror -Wshadow -pthread -I. -Os -g0 -o $OUT_FILE zstd.c examples/roundtrip.c
|
|
||||||
# Did compilation work?
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
echo "Compiling roundtrip.c: FAILED"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
echo "Compiling roundtrip.c: PASSED"
|
|
||||||
|
|
||||||
# Run then delete the compiled output
|
|
||||||
./$OUT_FILE
|
|
||||||
retVal=$?
|
|
||||||
rm -f $OUT_FILE
|
|
||||||
# Did the test work?
|
|
||||||
if [ $retVal -ne 0 ]; then
|
|
||||||
echo "Running roundtrip.c: FAILED"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
echo "Running roundtrip.c: PASSED"
|
|
||||||
|
|
||||||
# Try Emscripten build if emcc or docker command is available.
|
|
||||||
try_emscripten_build
|
|
||||||
|
|
||||||
exit 0
|
|
|
@ -1,234 +0,0 @@
|
||||||
#!/usr/bin/env python3
|
|
||||||
|
|
||||||
# Tool to bundle multiple C/C++ source files, inlining any includes.
|
|
||||||
#
|
|
||||||
# Note: there are two types of exclusion options: the '-x' flag, which besides
|
|
||||||
# excluding a file also adds an #error directive in place of the #include, and
|
|
||||||
# the '-k' flag, which keeps the #include and doesn't inline the file. The
|
|
||||||
# intended use cases are: '-x' for files that would normally be #if'd out, so
|
|
||||||
# features that 100% won't be used in the amalgamated file, for which every
|
|
||||||
# occurrence adds the error, and '-k' for headers that we wish to manually
|
|
||||||
# include, such as a project's public API, for which occurrences after the first
|
|
||||||
# are removed.
|
|
||||||
#
|
|
||||||
# Todo: the error handling could be better, which currently throws and halts
|
|
||||||
# (which is functional just not very friendly).
|
|
||||||
#
|
|
||||||
# Author: Carl Woffenden, Numfum GmbH (this script is released under a CC0 license/Public Domain)
|
|
||||||
|
|
||||||
import argparse, re, sys
|
|
||||||
|
|
||||||
from pathlib import Path
|
|
||||||
from typing import Any, List, Optional, Pattern, Set, TextIO
|
|
||||||
|
|
||||||
# Set of file roots when searching (equivalent to -I paths for the compiler).
|
|
||||||
roots: Set[Path] = set()
|
|
||||||
|
|
||||||
# Set of (canonical) file Path objects to exclude from inlining (and not only
|
|
||||||
# exclude but to add a compiler error directive when they're encountered).
|
|
||||||
excludes: Set[Path] = set()
|
|
||||||
|
|
||||||
# Set of (canonical) file Path objects to keep as include directives.
|
|
||||||
keeps: Set[Path] = set()
|
|
||||||
|
|
||||||
# Whether to keep the #pragma once directives (unlikely, since this will result
|
|
||||||
# in a warning, but the option is there).
|
|
||||||
keep_pragma: bool = False
|
|
||||||
|
|
||||||
# Destination file object (or stdout if no output file was supplied).
|
|
||||||
destn: TextIO = sys.stdout
|
|
||||||
|
|
||||||
# Set of file Path objects previously inlined (and to ignore if reencountering).
|
|
||||||
found: Set[Path] = set()
|
|
||||||
|
|
||||||
# Compiled regex Pattern to handle "#pragma once" in various formats:
|
|
||||||
#
|
|
||||||
# #pragma once
|
|
||||||
# #pragma once
|
|
||||||
# # pragma once
|
|
||||||
# #pragma once
|
|
||||||
# #pragma once // comment
|
|
||||||
#
|
|
||||||
# Ignoring commented versions, same as include_regex.
|
|
||||||
#
|
|
||||||
pragma_regex: Pattern = re.compile(r'^\s*#\s*pragma\s*once\s*')
|
|
||||||
|
|
||||||
# Compiled regex Pattern to handle the following type of file includes:
|
|
||||||
#
|
|
||||||
# #include "file"
|
|
||||||
# #include "file"
|
|
||||||
# # include "file"
|
|
||||||
# #include "file"
|
|
||||||
# #include "file" // comment
|
|
||||||
# #include "file" // comment with quote "
|
|
||||||
#
|
|
||||||
# And all combinations of, as well as ignoring the following:
|
|
||||||
#
|
|
||||||
# #include <file>
|
|
||||||
# //#include "file"
|
|
||||||
# /*#include "file"*/
|
|
||||||
#
|
|
||||||
# We don't try to catch errors since the compiler will do this (and the code is
|
|
||||||
# expected to be valid before processing) and we don't care what follows the
|
|
||||||
# file (whether it's a valid comment or not, since anything after the quoted
|
|
||||||
# string is ignored)
|
|
||||||
#
|
|
||||||
include_regex: Pattern = re.compile(r'^\s*#\s*include\s*"(.+?)"')
|
|
||||||
|
|
||||||
# Simple tests to prove include_regex's cases.
|
|
||||||
#
|
|
||||||
def test_match_include() -> bool:
|
|
||||||
if (include_regex.match('#include "file"') and
|
|
||||||
include_regex.match(' #include "file"') and
|
|
||||||
include_regex.match('# include "file"') and
|
|
||||||
include_regex.match('#include "file"') and
|
|
||||||
include_regex.match('#include "file" // comment')):
|
|
||||||
if (not include_regex.match('#include <file>') and
|
|
||||||
not include_regex.match('//#include "file"') and
|
|
||||||
not include_regex.match('/*#include "file"*/')):
|
|
||||||
found = include_regex.match('#include "file" // "')
|
|
||||||
if (found and found.group(1) == 'file'):
|
|
||||||
print('#include match valid')
|
|
||||||
return True
|
|
||||||
return False
|
|
||||||
|
|
||||||
# Simple tests to prove pragma_regex's cases.
|
|
||||||
#
|
|
||||||
def test_match_pragma() -> bool:
|
|
||||||
if (pragma_regex.match('#pragma once') and
|
|
||||||
pragma_regex.match(' #pragma once') and
|
|
||||||
pragma_regex.match('# pragma once') and
|
|
||||||
pragma_regex.match('#pragma once') and
|
|
||||||
pragma_regex.match('#pragma once // comment')):
|
|
||||||
if (not pragma_regex.match('//#pragma once') and
|
|
||||||
not pragma_regex.match('/*#pragma once*/')):
|
|
||||||
print('#pragma once match valid')
|
|
||||||
return True
|
|
||||||
return False
|
|
||||||
|
|
||||||
# Finds 'file'. First the list of 'root' paths are searched, followed by the
|
|
||||||
# currently processing file's 'parent' path, returning a valid Path in
|
|
||||||
# canonical form. If no match is found None is returned.
|
|
||||||
#
|
|
||||||
def resolve_include(file: str, parent: Optional[Path] = None) -> Optional[Path]:
|
|
||||||
for root in roots:
|
|
||||||
found = root.joinpath(file).resolve()
|
|
||||||
if (found.is_file()):
|
|
||||||
return found
|
|
||||||
if (parent):
|
|
||||||
found = parent.joinpath(file).resolve();
|
|
||||||
else:
|
|
||||||
found = Path(file)
|
|
||||||
if (found.is_file()):
|
|
||||||
return found
|
|
||||||
return None
|
|
||||||
|
|
||||||
# Helper to resolve lists of files. 'file_list' is passed in from the arguments
|
|
||||||
# and each entry resolved to its canonical path (like any include entry, either
|
|
||||||
# from the list of root paths or the owning file's 'parent', which in this case
|
|
||||||
# is case is the input file). The results are stored in 'resolved'.
|
|
||||||
#
|
|
||||||
def resolve_excluded_files(file_list: Optional[List[str]], resolved: Set[Path], parent: Optional[Path] = None) -> None:
|
|
||||||
if (file_list):
|
|
||||||
for filename in file_list:
|
|
||||||
found = resolve_include(filename, parent)
|
|
||||||
if (found):
|
|
||||||
resolved.add(found)
|
|
||||||
else:
|
|
||||||
error_line(f'Warning: excluded file not found: {filename}')
|
|
||||||
|
|
||||||
# Writes 'line' to the open 'destn' (or stdout).
|
|
||||||
#
|
|
||||||
def write_line(line: str) -> None:
|
|
||||||
print(line, file=destn)
|
|
||||||
|
|
||||||
# Logs 'line' to stderr. This is also used for general notifications that we
|
|
||||||
# don't want to go to stdout (so the source can be piped).
|
|
||||||
#
|
|
||||||
def error_line(line: Any) -> None:
|
|
||||||
print(line, file=sys.stderr)
|
|
||||||
|
|
||||||
# Inline the contents of 'file' (with any of its includes also inlined, etc.).
|
|
||||||
#
|
|
||||||
# Note: text encoding errors are ignored and replaced with ? when reading the
|
|
||||||
# input files. This isn't ideal, but it's more than likely in the comments than
|
|
||||||
# code and a) the text editor has probably also failed to read the same content,
|
|
||||||
# and b) the compiler probably did too.
|
|
||||||
#
|
|
||||||
def add_file(file: Path, file_name: str = None) -> None:
|
|
||||||
if (file.is_file()):
|
|
||||||
if (not file_name):
|
|
||||||
file_name = file.name
|
|
||||||
error_line(f'Processing: {file_name}')
|
|
||||||
with file.open('r', errors='replace') as opened:
|
|
||||||
for line in opened:
|
|
||||||
line = line.rstrip('\n')
|
|
||||||
match_include = include_regex.match(line);
|
|
||||||
if (match_include):
|
|
||||||
# We have a quoted include directive so grab the file
|
|
||||||
inc_name = match_include.group(1)
|
|
||||||
resolved = resolve_include(inc_name, file.parent)
|
|
||||||
if (resolved):
|
|
||||||
if (resolved in excludes):
|
|
||||||
# The file was excluded so error if the compiler uses it
|
|
||||||
write_line(f'#error Using excluded file: {inc_name} (re-amalgamate source to fix)')
|
|
||||||
error_line(f'Excluding: {inc_name}')
|
|
||||||
else:
|
|
||||||
if (resolved not in found):
|
|
||||||
# The file was not previously encountered
|
|
||||||
found.add(resolved)
|
|
||||||
if (resolved in keeps):
|
|
||||||
# But the include was flagged to keep as included
|
|
||||||
write_line(f'/**** *NOT* inlining {inc_name} ****/')
|
|
||||||
write_line(line)
|
|
||||||
error_line(f'Not inlining: {inc_name}')
|
|
||||||
else:
|
|
||||||
# The file was neither excluded nor seen before so inline it
|
|
||||||
write_line(f'/**** start inlining {inc_name} ****/')
|
|
||||||
add_file(resolved, inc_name)
|
|
||||||
write_line(f'/**** ended inlining {inc_name} ****/')
|
|
||||||
else:
|
|
||||||
write_line(f'/**** skipping file: {inc_name} ****/')
|
|
||||||
else:
|
|
||||||
# The include file didn't resolve to a file
|
|
||||||
write_line(f'#error Unable to find: {inc_name}')
|
|
||||||
error_line(f'Error: Unable to find: {inc_name}')
|
|
||||||
else:
|
|
||||||
# Skip any 'pragma once' directives, otherwise write the source line
|
|
||||||
if (keep_pragma or not pragma_regex.match(line)):
|
|
||||||
write_line(line)
|
|
||||||
else:
|
|
||||||
error_line(f'Error: Invalid file: {file}')
|
|
||||||
|
|
||||||
# Start here
|
|
||||||
parser = argparse.ArgumentParser(description='Amalgamate Tool', epilog=f'example: {sys.argv[0]} -r ../my/path -r ../other/path -o out.c in.c')
|
|
||||||
parser.add_argument('-r', '--root', action='append', type=Path, help='file root search path')
|
|
||||||
parser.add_argument('-x', '--exclude', action='append', help='file to completely exclude from inlining')
|
|
||||||
parser.add_argument('-k', '--keep', action='append', help='file to exclude from inlining but keep the include directive')
|
|
||||||
parser.add_argument('-p', '--pragma', action='store_true', default=False, help='keep any "#pragma once" directives (removed by default)')
|
|
||||||
parser.add_argument('-o', '--output', type=argparse.FileType('w'), help='output file (otherwise stdout)')
|
|
||||||
parser.add_argument('input', type=Path, help='input file')
|
|
||||||
args = parser.parse_args()
|
|
||||||
|
|
||||||
# Fail early on an invalid input (and store it so we don't recurse)
|
|
||||||
args.input = args.input.resolve(strict=True)
|
|
||||||
found.add(args.input)
|
|
||||||
|
|
||||||
# Resolve all of the root paths upfront (we'll halt here on invalid roots)
|
|
||||||
if (args.root):
|
|
||||||
for path in args.root:
|
|
||||||
roots.add(path.resolve(strict=True))
|
|
||||||
|
|
||||||
# The remaining params: so resolve the excluded files and #pragma once directive
|
|
||||||
resolve_excluded_files(args.exclude, excludes, args.input.parent)
|
|
||||||
resolve_excluded_files(args.keep, keeps, args.input.parent)
|
|
||||||
keep_pragma = args.pragma;
|
|
||||||
|
|
||||||
# Then recursively process the input file
|
|
||||||
try:
|
|
||||||
if (args.output):
|
|
||||||
destn = args.output
|
|
||||||
add_file(args.input)
|
|
||||||
finally:
|
|
||||||
if (destn):
|
|
||||||
destn.close()
|
|
|
@ -1,249 +0,0 @@
|
||||||
#!/bin/sh -e
|
|
||||||
|
|
||||||
# Tool to bundle multiple C/C++ source files, inlining any includes.
|
|
||||||
#
|
|
||||||
# TODO: ROOTS, FOUND, etc., as arrays (since they fail on paths with spaces)
|
|
||||||
#
|
|
||||||
# Author: Carl Woffenden, Numfum GmbH (this script is released under a CC0 license/Public Domain)
|
|
||||||
|
|
||||||
# Common file roots
|
|
||||||
ROOTS="."
|
|
||||||
|
|
||||||
# -x option excluded includes
|
|
||||||
XINCS=""
|
|
||||||
|
|
||||||
# -k option includes to keep as include directives
|
|
||||||
KINCS=""
|
|
||||||
|
|
||||||
# Files previously visited
|
|
||||||
FOUND=""
|
|
||||||
|
|
||||||
# Optional destination file (empty string to write to stdout)
|
|
||||||
DESTN=""
|
|
||||||
|
|
||||||
# Whether the "#pragma once" directives should be written to the output
|
|
||||||
PONCE=0
|
|
||||||
|
|
||||||
# Prints the script usage then exits
|
|
||||||
usage() {
|
|
||||||
echo "Usage: $0 [-r <path>] [-x <header>] [-k <header>] [-o <outfile>] infile"
|
|
||||||
echo " -r file root search path"
|
|
||||||
echo " -x file to completely exclude from inlining"
|
|
||||||
echo " -k file to exclude from inlining but keep the include directive"
|
|
||||||
echo " -p keep any '#pragma once' directives (removed by default)"
|
|
||||||
echo " -o output file (otherwise stdout)"
|
|
||||||
echo "Example: $0 -r ../my/path - r ../other/path -o out.c in.c"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
# Tests that the grep implementation works as expected (older OSX grep fails)
|
|
||||||
test_deps() {
|
|
||||||
if ! echo '#include "foo"' | grep -Eq '^\s*#\s*include\s*".+"'; then
|
|
||||||
echo "Aborting: the grep implementation fails to parse include lines"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
if ! echo '"foo.h"' | sed -E 's/"([^"]+)"/\1/' | grep -Eq '^foo\.h$'; then
|
|
||||||
echo "Aborting: sed is unavailable or non-functional"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Test if glob pattern $1 matches subject $2 (see fnmatch(3))
|
|
||||||
fnmatch() {
|
|
||||||
case "$2" in
|
|
||||||
$1)
|
|
||||||
return 0
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
|
|
||||||
# Test if line $1 is local include directive
|
|
||||||
is_include_line() {
|
|
||||||
fnmatch "*#*include*" "$1" || return 1
|
|
||||||
printf "%s\n" "$1" | grep -Eq '^\s*#\s*include\s*".+"'
|
|
||||||
}
|
|
||||||
|
|
||||||
# Test if line $1 is pragma once directive
|
|
||||||
is_pragma_once_line() {
|
|
||||||
fnmatch "*#*pragma*once*" "$1" || return 1
|
|
||||||
printf "%s\n" "$1" | grep -Eq '^\s*#\s*pragma\s*once\s*'
|
|
||||||
}
|
|
||||||
|
|
||||||
# Tests if list $1 has item $2 (returning zero on a match)
|
|
||||||
# (originally used grep -Eq "(^|\s*)$2(\$|\s*))
|
|
||||||
readonly list_FS="$IFS"
|
|
||||||
list_has_item() {
|
|
||||||
# Re: escaping glob pattern special characters in item string:
|
|
||||||
#
|
|
||||||
# bash (tested 3.2.57, 5.1.4), dash (tested 0.5.10.2), NetBSD /bin/sh
|
|
||||||
# (tested 8.2), and Solaris /bin/sh (tested 11.4) require escaping
|
|
||||||
# backslashes in a bracket expression despite POSIX specifying that
|
|
||||||
# backslash loses significance in a bracket expression.
|
|
||||||
#
|
|
||||||
# Conversely, neither FreeBSD /bin/sh (tested 12.2) nor OpenBSD /bin/sh
|
|
||||||
# (tested 7.1) obey backslash-escaping in case statement patterns even
|
|
||||||
# outside bracket expressions, so escape special characters using bracket
|
|
||||||
# expressions.
|
|
||||||
#
|
|
||||||
# Solaris /bin/sh (tested 11.4) requires vertical bar (|) to be escaped.
|
|
||||||
#
|
|
||||||
# All accommodations should behave as expected under strict POSIX semantics.
|
|
||||||
if fnmatch "*[\\*?[|]*" "$2"; then
|
|
||||||
set -- "$1" "$(printf '%s\n' "$2" | sed -e 's/[*?[|]/[&]/g; s/[\]/[\\&]/g')"
|
|
||||||
fi
|
|
||||||
for item_P in "*[$list_FS]$2[$list_FS]*" "*[$list_FS]$2" "$2[$list_FS]*" "$2"; do
|
|
||||||
fnmatch "${item_P}" "$1" && return 0
|
|
||||||
done
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
|
|
||||||
# Adds a new line with the supplied arguments to $DESTN (or stdout)
|
|
||||||
write_line() {
|
|
||||||
if [ -n "$DESTN" ]; then
|
|
||||||
printf '%s\n' "$@" >> "$DESTN"
|
|
||||||
else
|
|
||||||
printf '%s\n' "$@"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
log_line() {
|
|
||||||
echo $@ >&2
|
|
||||||
}
|
|
||||||
|
|
||||||
# Find this file!
|
|
||||||
resolve_include() {
|
|
||||||
local srcdir=$1
|
|
||||||
local inc=$2
|
|
||||||
for root in $srcdir $ROOTS; do
|
|
||||||
if [ -f "$root/$inc" ]; then
|
|
||||||
# Try to reduce the file path into a canonical form (so that multiple)
|
|
||||||
# includes of the same file are successfully deduplicated, even if they
|
|
||||||
# are expressed differently.
|
|
||||||
local relpath="$(realpath --relative-to . "$root/$inc" 2>/dev/null)"
|
|
||||||
if [ "$relpath" != "" ]; then # not all realpaths support --relative-to
|
|
||||||
echo "$relpath"
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
local relpath="$(realpath "$root/$inc" 2>/dev/null)"
|
|
||||||
if [ "$relpath" != "" ]; then # not all distros have realpath...
|
|
||||||
echo "$relpath"
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
# Fallback on Python to reduce the path if the above fails.
|
|
||||||
local relpath=$(python -c "import os,sys; print os.path.relpath(sys.argv[1])" "$root/$inc" 2>/dev/null)
|
|
||||||
if [ "$relpath" != "" ]; then # not all distros have realpath...
|
|
||||||
echo "$relpath"
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
# Worst case, fall back to just the root + relative include path. The
|
|
||||||
# problem with this is that it is possible to emit multiple different
|
|
||||||
# resolved paths to the same file, depending on exactly how its included.
|
|
||||||
# Since the main loop below keeps a list of the resolved paths it's
|
|
||||||
# already included, in order to avoid repeated includes, this failure to
|
|
||||||
# produce a canonical/reduced path can lead to multiple inclusions of the
|
|
||||||
# same file. But it seems like the resulting single file library still
|
|
||||||
# works (hurray include guards!), so I guess it's ok.
|
|
||||||
echo "$root/$inc"
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
|
|
||||||
# Adds the contents of $1 with any of its includes inlined
|
|
||||||
add_file() {
|
|
||||||
local file=$1
|
|
||||||
if [ -n "$file" ]; then
|
|
||||||
log_line "Processing: $file"
|
|
||||||
# Get directory of the current so we can resolve relative includes
|
|
||||||
local srcdir="$(dirname "$file")"
|
|
||||||
# Read the file
|
|
||||||
local line=
|
|
||||||
while IFS= read -r line; do
|
|
||||||
if is_include_line "$line"; then
|
|
||||||
# We have an include directive so strip the (first) file
|
|
||||||
local inc=$(echo "$line" | grep -Eo '".*"' | sed -E 's/"([^"]+)"/\1/' | head -1)
|
|
||||||
local res_inc="$(resolve_include "$srcdir" "$inc")"
|
|
||||||
if list_has_item "$XINCS" "$inc"; then
|
|
||||||
# The file was excluded so error if the source attempts to use it
|
|
||||||
write_line "#error Using excluded file: $inc (re-amalgamate source to fix)"
|
|
||||||
log_line "Excluding: $inc"
|
|
||||||
else
|
|
||||||
if ! list_has_item "$FOUND" "$res_inc"; then
|
|
||||||
# The file was not previously encountered
|
|
||||||
FOUND="$FOUND $res_inc"
|
|
||||||
if list_has_item "$KINCS" "$inc"; then
|
|
||||||
# But the include was flagged to keep as included
|
|
||||||
write_line "/**** *NOT* inlining $inc ****/"
|
|
||||||
write_line "$line"
|
|
||||||
log_line "Not Inlining: $inc"
|
|
||||||
else
|
|
||||||
# The file was neither excluded nor seen before so inline it
|
|
||||||
write_line "/**** start inlining $inc ****/"
|
|
||||||
add_file "$res_inc"
|
|
||||||
write_line "/**** ended inlining $inc ****/"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
write_line "/**** skipping file: $inc ****/"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
# Skip any 'pragma once' directives, otherwise write the source line
|
|
||||||
local write=$PONCE
|
|
||||||
if [ $write -eq 0 ]; then
|
|
||||||
if ! is_pragma_once_line "$line"; then
|
|
||||||
write=1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if [ $write -ne 0 ]; then
|
|
||||||
write_line "$line"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
done < "$file"
|
|
||||||
else
|
|
||||||
write_line "#error Unable to find \"$1\""
|
|
||||||
log_line "Error: Unable to find: \"$1\""
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
while getopts ":r:x:k:po:" opts; do
|
|
||||||
case $opts in
|
|
||||||
r)
|
|
||||||
ROOTS="$ROOTS $OPTARG"
|
|
||||||
;;
|
|
||||||
x)
|
|
||||||
XINCS="$XINCS $OPTARG"
|
|
||||||
;;
|
|
||||||
k)
|
|
||||||
KINCS="$KINCS $OPTARG"
|
|
||||||
;;
|
|
||||||
p)
|
|
||||||
PONCE=1
|
|
||||||
;;
|
|
||||||
o)
|
|
||||||
DESTN="$OPTARG"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
usage
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
shift $((OPTIND-1))
|
|
||||||
|
|
||||||
if [ -n "$1" ]; then
|
|
||||||
if [ -f "$1" ]; then
|
|
||||||
if [ -n "$DESTN" ]; then
|
|
||||||
printf "" > "$DESTN"
|
|
||||||
fi
|
|
||||||
test_deps
|
|
||||||
log_line "Processing using the slower shell script; this might take a while"
|
|
||||||
add_file "$1"
|
|
||||||
else
|
|
||||||
echo "Input file not found: \"$1\""
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
usage
|
|
||||||
fi
|
|
||||||
exit 0
|
|
|
@ -1,19 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# Where to find the sources
|
|
||||||
ZSTD_SRC_ROOT="../../lib"
|
|
||||||
|
|
||||||
# Amalgamate the sources
|
|
||||||
echo "Amalgamating files..."
|
|
||||||
# Using the faster Python script if we have 3.8 or higher
|
|
||||||
if python3 -c 'import sys; assert sys.version_info >= (3,8)' 2>/dev/null; then
|
|
||||||
./combine.py -r "$ZSTD_SRC_ROOT" -x legacy/zstd_legacy.h -o zstddeclib.c zstddeclib-in.c
|
|
||||||
else
|
|
||||||
./combine.sh -r "$ZSTD_SRC_ROOT" -x legacy/zstd_legacy.h -o zstddeclib.c zstddeclib-in.c
|
|
||||||
fi
|
|
||||||
# Did combining work?
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
echo "Combine script: FAILED"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
echo "Combine script: PASSED"
|
|
|
@ -1,19 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# Where to find the sources
|
|
||||||
ZSTD_SRC_ROOT="../../lib"
|
|
||||||
|
|
||||||
# Amalgamate the sources
|
|
||||||
echo "Amalgamating files..."
|
|
||||||
# Using the faster Python script if we have 3.8 or higher
|
|
||||||
if python3 -c 'import sys; assert sys.version_info >= (3,8)' 2>/dev/null; then
|
|
||||||
./combine.py -r "$ZSTD_SRC_ROOT" -x legacy/zstd_legacy.h -o zstd.c zstd-in.c
|
|
||||||
else
|
|
||||||
./combine.sh -r "$ZSTD_SRC_ROOT" -x legacy/zstd_legacy.h -o zstd.c zstd-in.c
|
|
||||||
fi
|
|
||||||
# Did combining work?
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
echo "Combine script: FAILED"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
echo "Combine script: PASSED"
|
|
|
@ -1,11 +0,0 @@
|
||||||
# Single File ZStandard Examples
|
|
||||||
|
|
||||||
The examples `#include` the generated `zstddeclib.c` directly but work equally as well when including `zstd.h` and compiling the amalgamated source separately.
|
|
||||||
|
|
||||||
`simple.c` is the most basic example of decompressing content and verifying the result.
|
|
||||||
|
|
||||||
`emscripten.c` is a bare-bones [Emscripten](https://github.com/emscripten-core/emscripten) compiled WebGL demo using Zstd to further compress a DXT1 texture (see the [original PNG image](testcard.png)). The 256x256 texture would normally be 32kB, but even when bundled with the Zstd decompressor the resulting WebAssembly weighs in at 41kB (`shell.html` is a support file to run the Wasm).
|
|
||||||
|
|
||||||
`roundtrip.c` is an example to use with the optional [amalgamated library](../create_single_file_library.sh) showing compression the decompression.
|
|
||||||
|
|
||||||
The example files in this directory are released under a [Creative Commons Zero license](https://creativecommons.org/publicdomain/zero/1.0/) (or Public Domain, whichever is applicable in your jurisdiction).
|
|
|
@ -1,340 +0,0 @@
|
||||||
/**
|
|
||||||
* \file emscripten.c
|
|
||||||
* Emscripten example of using the single-file \c zstddeclib. Draws a rotating
|
|
||||||
* textured quad with data from the in-line Zstd compressed DXT1 texture (DXT1
|
|
||||||
* being hardware compression, further compressed with Zstd).
|
|
||||||
* \n
|
|
||||||
* Compile using:
|
|
||||||
* \code
|
|
||||||
* export CC_FLAGS="-Wall -Wextra -Werror -Os -g0 -flto --llvm-lto 3 -lGL -DNDEBUG=1"
|
|
||||||
* export EM_FLAGS="-s WASM=1 -s ENVIRONMENT=web --shell-file shell.html --closure 1"
|
|
||||||
* emcc $CC_FLAGS $EM_FLAGS -o out.html emscripten.c
|
|
||||||
* \endcode
|
|
||||||
*
|
|
||||||
* \author Carl Woffenden, Numfum GmbH (released under a CC0 license)
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stddef.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
#include <emscripten/emscripten.h>
|
|
||||||
#include <emscripten/html5.h>
|
|
||||||
|
|
||||||
#include <GLES2/gl2.h>
|
|
||||||
#include <GLES2/gl2ext.h>
|
|
||||||
|
|
||||||
#include "../zstddeclib.c"
|
|
||||||
|
|
||||||
//************************* Test Data (DXT texture) **************************/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Zstd compressed DXT1 256x256 texture source.
|
|
||||||
* \n
|
|
||||||
* See \c testcard.png for the original.
|
|
||||||
*/
|
|
||||||
static uint8_t const srcZstd[] = {
|
|
||||||
#include "testcard-zstd.inl"
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Uncompressed size of \c #srcZstd.
|
|
||||||
*/
|
|
||||||
#define DXT1_256x256 32768
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Destination for decoding \c #srcZstd.
|
|
||||||
*/
|
|
||||||
static uint8_t dstDxt1[DXT1_256x256] = {};
|
|
||||||
|
|
||||||
#ifndef ZSTD_VERSION_MAJOR
|
|
||||||
/**
|
|
||||||
* For the case where the decompression library hasn't been included we add a
|
|
||||||
* dummy function to fake the process and stop the buffers being optimised out.
|
|
||||||
*/
|
|
||||||
size_t ZSTD_decompress(void* dst, size_t dstLen, const void* src, size_t srcLen) {
|
|
||||||
return (memcmp(dst, src, (srcLen < dstLen) ? srcLen : dstLen)) ? dstLen : 0;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//*************************** Program and Shaders ***************************/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Program object ID.
|
|
||||||
*/
|
|
||||||
static GLuint progId = 0;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Vertex shader ID.
|
|
||||||
*/
|
|
||||||
static GLuint vertId = 0;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Fragment shader ID.
|
|
||||||
*/
|
|
||||||
static GLuint fragId = 0;
|
|
||||||
|
|
||||||
//********************************* Uniforms *********************************/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Quad rotation angle ID.
|
|
||||||
*/
|
|
||||||
static GLint uRotId = -1;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Draw colour ID.
|
|
||||||
*/
|
|
||||||
static GLint uTx0Id = -1;
|
|
||||||
|
|
||||||
//******************************* Shader Source ******************************/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Vertex shader to draw texture mapped polys with an applied rotation.
|
|
||||||
*/
|
|
||||||
static GLchar const vertShader2D[] =
|
|
||||||
#if GL_ES_VERSION_2_0
|
|
||||||
"#version 100\n"
|
|
||||||
"precision mediump float;\n"
|
|
||||||
#else
|
|
||||||
"#version 120\n"
|
|
||||||
#endif
|
|
||||||
"uniform float uRot;" // rotation
|
|
||||||
"attribute vec2 aPos;" // vertex position coords
|
|
||||||
"attribute vec2 aUV0;" // vertex texture UV0
|
|
||||||
"varying vec2 vUV0;" // (passed to fragment shader)
|
|
||||||
"void main() {"
|
|
||||||
" float cosA = cos(radians(uRot));"
|
|
||||||
" float sinA = sin(radians(uRot));"
|
|
||||||
" mat3 rot = mat3(cosA, -sinA, 0.0,"
|
|
||||||
" sinA, cosA, 0.0,"
|
|
||||||
" 0.0, 0.0, 1.0);"
|
|
||||||
" gl_Position = vec4(rot * vec3(aPos, 1.0), 1.0);"
|
|
||||||
" vUV0 = aUV0;"
|
|
||||||
"}";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Fragment shader for the above polys.
|
|
||||||
*/
|
|
||||||
static GLchar const fragShader2D[] =
|
|
||||||
#if GL_ES_VERSION_2_0
|
|
||||||
"#version 100\n"
|
|
||||||
"precision mediump float;\n"
|
|
||||||
#else
|
|
||||||
"#version 120\n"
|
|
||||||
#endif
|
|
||||||
"uniform sampler2D uTx0;"
|
|
||||||
"varying vec2 vUV0;" // (passed from fragment shader)
|
|
||||||
"void main() {"
|
|
||||||
" gl_FragColor = texture2D(uTx0, vUV0);"
|
|
||||||
"}";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Helper to compile a shader.
|
|
||||||
*
|
|
||||||
* \param type shader type
|
|
||||||
* \param text shader source
|
|
||||||
* \return the shader ID (or zero if compilation failed)
|
|
||||||
*/
|
|
||||||
static GLuint compileShader(GLenum const type, const GLchar* text) {
|
|
||||||
GLuint shader = glCreateShader(type);
|
|
||||||
if (shader) {
|
|
||||||
glShaderSource (shader, 1, &text, NULL);
|
|
||||||
glCompileShader(shader);
|
|
||||||
GLint compiled;
|
|
||||||
glGetShaderiv(shader, GL_COMPILE_STATUS, &compiled);
|
|
||||||
if (compiled) {
|
|
||||||
return shader;
|
|
||||||
} else {
|
|
||||||
GLint logLen;
|
|
||||||
glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &logLen);
|
|
||||||
if (logLen > 1) {
|
|
||||||
GLchar* logStr = malloc(logLen);
|
|
||||||
glGetShaderInfoLog(shader, logLen, NULL, logStr);
|
|
||||||
#ifndef NDEBUG
|
|
||||||
printf("Shader compilation error: %s\n", logStr);
|
|
||||||
#endif
|
|
||||||
free(logStr);
|
|
||||||
}
|
|
||||||
glDeleteShader(shader);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
//********************************** Helpers *********************************/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Vertex position index.
|
|
||||||
*/
|
|
||||||
#define GL_VERT_POSXY_ID 0
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Vertex UV0 index.
|
|
||||||
*/
|
|
||||||
#define GL_VERT_TXUV0_ID 1
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \c GL vec2 storage type.
|
|
||||||
*/
|
|
||||||
struct vec2 {
|
|
||||||
float x;
|
|
||||||
float y;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Combined 2D vertex and 2D texture coordinates.
|
|
||||||
*/
|
|
||||||
struct posTex2d {
|
|
||||||
struct vec2 pos;
|
|
||||||
struct vec2 uv0;
|
|
||||||
};
|
|
||||||
|
|
||||||
//****************************************************************************/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Current quad rotation angle (in degrees, updated per frame).
|
|
||||||
*/
|
|
||||||
static float rotDeg = 0.0f;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Emscripten (single) GL context.
|
|
||||||
*/
|
|
||||||
static EMSCRIPTEN_WEBGL_CONTEXT_HANDLE glCtx = 0;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Emscripten resize handler.
|
|
||||||
*/
|
|
||||||
static EM_BOOL resize(int type, const EmscriptenUiEvent* e, void* data) {
|
|
||||||
double surfaceW;
|
|
||||||
double surfaceH;
|
|
||||||
if (emscripten_get_element_css_size ("#canvas", &surfaceW, &surfaceH) == EMSCRIPTEN_RESULT_SUCCESS) {
|
|
||||||
emscripten_set_canvas_element_size("#canvas", surfaceW, surfaceH);
|
|
||||||
if (glCtx) {
|
|
||||||
glViewport(0, 0, (int) surfaceW, (int) surfaceH);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
(void) type;
|
|
||||||
(void) data;
|
|
||||||
(void) e;
|
|
||||||
return EM_FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Boilerplate to create a WebGL context.
|
|
||||||
*/
|
|
||||||
static EM_BOOL initContext() {
|
|
||||||
// Default attributes
|
|
||||||
EmscriptenWebGLContextAttributes attr;
|
|
||||||
emscripten_webgl_init_context_attributes(&attr);
|
|
||||||
if ((glCtx = emscripten_webgl_create_context("#canvas", &attr))) {
|
|
||||||
// Bind the context and fire a resize to get the initial size
|
|
||||||
emscripten_webgl_make_context_current(glCtx);
|
|
||||||
emscripten_set_resize_callback(EMSCRIPTEN_EVENT_TARGET_DOCUMENT, NULL, EM_FALSE, resize);
|
|
||||||
resize(0, NULL, NULL);
|
|
||||||
return EM_TRUE;
|
|
||||||
}
|
|
||||||
return EM_FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Called once per frame (clears the screen and draws the rotating quad).
|
|
||||||
*/
|
|
||||||
static void tick() {
|
|
||||||
glClearColor(1.0f, 0.0f, 1.0f, 1.0f);
|
|
||||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
|
||||||
|
|
||||||
if (uRotId >= 0) {
|
|
||||||
glUniform1f(uRotId, rotDeg);
|
|
||||||
rotDeg += 0.1f;
|
|
||||||
if (rotDeg >= 360.0f) {
|
|
||||||
rotDeg -= 360.0f;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, 0);
|
|
||||||
glFlush();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates the GL context, shaders and quad data, decompresses the Zstd data
|
|
||||||
* and 'uploads' the resulting texture.
|
|
||||||
*
|
|
||||||
* As a (naive) comparison, removing Zstd and building with "-Os -g0 s WASM=1
|
|
||||||
* -lGL emscripten.c" results in a 15kB WebAssembly file; re-adding Zstd
|
|
||||||
* increases the Wasm by 26kB.
|
|
||||||
*/
|
|
||||||
int main() {
|
|
||||||
if (initContext()) {
|
|
||||||
// Compile shaders and set the initial GL state
|
|
||||||
if ((progId = glCreateProgram())) {
|
|
||||||
vertId = compileShader(GL_VERTEX_SHADER, vertShader2D);
|
|
||||||
fragId = compileShader(GL_FRAGMENT_SHADER, fragShader2D);
|
|
||||||
|
|
||||||
glBindAttribLocation(progId, GL_VERT_POSXY_ID, "aPos");
|
|
||||||
glBindAttribLocation(progId, GL_VERT_TXUV0_ID, "aUV0");
|
|
||||||
|
|
||||||
glAttachShader(progId, vertId);
|
|
||||||
glAttachShader(progId, fragId);
|
|
||||||
glLinkProgram (progId);
|
|
||||||
glUseProgram (progId);
|
|
||||||
uRotId = glGetUniformLocation(progId, "uRot");
|
|
||||||
uTx0Id = glGetUniformLocation(progId, "uTx0");
|
|
||||||
if (uTx0Id >= 0) {
|
|
||||||
glUniform1i(uTx0Id, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
|
||||||
glEnable(GL_BLEND);
|
|
||||||
glDisable(GL_DITHER);
|
|
||||||
|
|
||||||
glCullFace(GL_BACK);
|
|
||||||
glEnable(GL_CULL_FACE);
|
|
||||||
}
|
|
||||||
|
|
||||||
GLuint vertsBuf = 0;
|
|
||||||
GLuint indexBuf = 0;
|
|
||||||
GLuint txName = 0;
|
|
||||||
// Create the textured quad (vert positions then UVs)
|
|
||||||
struct posTex2d verts2d[] = {
|
|
||||||
{{-0.85f, -0.85f}, {0.0f, 0.0f}}, // BL
|
|
||||||
{{ 0.85f, -0.85f}, {1.0f, 0.0f}}, // BR
|
|
||||||
{{-0.85f, 0.85f}, {0.0f, 1.0f}}, // TL
|
|
||||||
{{ 0.85f, 0.85f}, {1.0f, 1.0f}}, // TR
|
|
||||||
};
|
|
||||||
uint16_t index2d[] = {
|
|
||||||
0, 1, 2,
|
|
||||||
2, 1, 3,
|
|
||||||
};
|
|
||||||
glGenBuffers(1, &vertsBuf);
|
|
||||||
glBindBuffer(GL_ARRAY_BUFFER, vertsBuf);
|
|
||||||
glBufferData(GL_ARRAY_BUFFER,
|
|
||||||
sizeof(verts2d), verts2d, GL_STATIC_DRAW);
|
|
||||||
glVertexAttribPointer(GL_VERT_POSXY_ID, 2,
|
|
||||||
GL_FLOAT, GL_FALSE, sizeof(struct posTex2d), 0);
|
|
||||||
glVertexAttribPointer(GL_VERT_TXUV0_ID, 2,
|
|
||||||
GL_FLOAT, GL_FALSE, sizeof(struct posTex2d),
|
|
||||||
(void*) offsetof(struct posTex2d, uv0));
|
|
||||||
glGenBuffers(1, &indexBuf);
|
|
||||||
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, indexBuf);
|
|
||||||
glBufferData(GL_ELEMENT_ARRAY_BUFFER,
|
|
||||||
sizeof(index2d), index2d, GL_STATIC_DRAW);
|
|
||||||
glEnableVertexAttribArray(GL_VERT_POSXY_ID);
|
|
||||||
glEnableVertexAttribArray(GL_VERT_TXUV0_ID);
|
|
||||||
|
|
||||||
// Decode the Zstd data and create the texture
|
|
||||||
if (ZSTD_decompress(dstDxt1, DXT1_256x256, srcZstd, sizeof srcZstd) == DXT1_256x256) {
|
|
||||||
glGenTextures(1, &txName);
|
|
||||||
glBindTexture(GL_TEXTURE_2D, txName);
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
|
||||||
glCompressedTexImage2D(GL_TEXTURE_2D, 0,
|
|
||||||
GL_COMPRESSED_RGB_S3TC_DXT1_EXT,
|
|
||||||
256, 256, 0, DXT1_256x256, dstDxt1);
|
|
||||||
} else {
|
|
||||||
printf("Failed to decode Zstd data\n");
|
|
||||||
}
|
|
||||||
emscripten_set_main_loop(tick, 0, EM_FALSE);
|
|
||||||
emscripten_exit_with_live_runtime();
|
|
||||||
}
|
|
||||||
return EXIT_FAILURE;
|
|
||||||
}
|
|
|
@ -1,83 +0,0 @@
|
||||||
/*
|
|
||||||
* \file roundtrip.c
|
|
||||||
* In this example we include \c zstd.h and compile separately the amalgamated
|
|
||||||
* \c zstd.c:
|
|
||||||
* \code
|
|
||||||
* cc -Wall -Wextra -Werror -I. -Os -g0 zstd.c examples/roundtrip.c
|
|
||||||
* \endcode
|
|
||||||
*
|
|
||||||
* \author Carl Woffenden, Numfum GmbH (released under a CC0 license)
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stddef.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
#include "zstd.h"
|
|
||||||
|
|
||||||
//************************** Test Data (DXT texture) **************************/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Raw test data (borrowed from the Emscripten example).
|
|
||||||
* \n
|
|
||||||
* See \c testcard.png for the original.
|
|
||||||
*/
|
|
||||||
static uint8_t const rawData[] = {
|
|
||||||
#include "testcard-dxt1.inl"
|
|
||||||
};
|
|
||||||
|
|
||||||
#ifndef ZSTD_VERSION_MAJOR
|
|
||||||
/*
|
|
||||||
* For the case where the decompression library hasn't been included we add
|
|
||||||
* dummy functions to fake the process and stop the buffers being optimised out.
|
|
||||||
*/
|
|
||||||
size_t ZSTD_compressBound(size_t maxSrc) {
|
|
||||||
return maxSrc + 32;
|
|
||||||
}
|
|
||||||
int ZSTD_maxCLevel(void) {
|
|
||||||
return 20;
|
|
||||||
}
|
|
||||||
size_t ZSTD_compress(void* dst, size_t dstLen, const void* src, size_t srcLen, int level) {
|
|
||||||
return (memcmp(dst, src, (srcLen < dstLen) ? srcLen : dstLen)) ? level : dstLen;
|
|
||||||
}
|
|
||||||
unsigned ZSTD_isError(size_t code) {
|
|
||||||
return ((int) code) < 0;
|
|
||||||
}
|
|
||||||
size_t ZSTD_decompress(void* dst, size_t dstLen, const void* src, size_t srcLen) {
|
|
||||||
return (memcmp(dst, src, (srcLen < dstLen) ? srcLen : dstLen)) ? 0 : dstLen;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//*****************************************************************************/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Simple single-file test to compress \c rawData, decompress the result, then
|
|
||||||
* compare the decompressed version with the original.
|
|
||||||
*/
|
|
||||||
int main() {
|
|
||||||
size_t bounds = ZSTD_compressBound(sizeof rawData);
|
|
||||||
void* compBuf = malloc(bounds);
|
|
||||||
void* testBuf = malloc(sizeof rawData);
|
|
||||||
int compare = -1;
|
|
||||||
if (compBuf && testBuf) {
|
|
||||||
size_t compSize = ZSTD_compress(compBuf, bounds, rawData, sizeof rawData, ZSTD_maxCLevel());
|
|
||||||
if (!ZSTD_isError(compSize)) {
|
|
||||||
printf("Compression: PASSED (size: %lu, uncompressed: %lu)\n", (unsigned long) compSize, (unsigned long) (sizeof rawData));
|
|
||||||
size_t decSize = ZSTD_decompress(testBuf, sizeof rawData, compBuf, compSize);
|
|
||||||
if (!ZSTD_isError(decSize)) {
|
|
||||||
printf("Decompression: PASSED\n");
|
|
||||||
compare = memcmp(rawData, testBuf, decSize);
|
|
||||||
printf("Byte comparison: %s\n", (compare == 0) ? "PASSED" : "FAILED");
|
|
||||||
} else {
|
|
||||||
printf("Decompression: FAILED\n");
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
printf("Compression: FAILED\n");
|
|
||||||
}
|
|
||||||
free(compBuf);
|
|
||||||
free(testBuf);
|
|
||||||
}
|
|
||||||
return (compare == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
|
|
||||||
}
|
|
|
@ -1,31 +0,0 @@
|
||||||
<!doctype html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta name="viewport" content="width=device-width, maximum-scale=1.0, user-scalable=no, viewport-fit=cover" />
|
|
||||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
|
||||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
|
||||||
<title>Emscripten Shell</title>
|
|
||||||
<style>
|
|
||||||
body {background:#333; font-family:"Verdana","Helvetica Neue","Helvetica","Arial",sans-serif; margin:1em 0;}
|
|
||||||
#canvas{position:absolute; top:0px; left:0px; border:none; margin:0; width: 100%; height: 100%; overflow: hidden; display: block;}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<canvas id="canvas" oncontextmenu="event.preventDefault()"></canvas>
|
|
||||||
<script>
|
|
||||||
function trace(msg) {
|
|
||||||
console.log(msg);
|
|
||||||
}
|
|
||||||
|
|
||||||
var Module = {
|
|
||||||
print: trace, printErr: trace, setStatus: trace, monitorRunDependencies: trace,
|
|
||||||
canvas: (function() {
|
|
||||||
return document.getElementById("canvas");
|
|
||||||
})(),
|
|
||||||
preRun: [], postRun: [],
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
{{{ SCRIPT }}}
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -1,75 +0,0 @@
|
||||||
/**
|
|
||||||
* \file simple.c
|
|
||||||
* Simple standalone example of using the single-file \c zstddeclib.
|
|
||||||
*
|
|
||||||
* \note In this simple example we include the amalgamated source and compile
|
|
||||||
* just this single file, but we could equally (and more conventionally)
|
|
||||||
* include \c zstd.h and compile both this file and \c zstddeclib.c (the
|
|
||||||
* resulting binaries differ slightly in size but perform the same).
|
|
||||||
*
|
|
||||||
* \author Carl Woffenden, Numfum GmbH (released under a CC0 license)
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stddef.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
#include "../zstddeclib.c"
|
|
||||||
|
|
||||||
//************************* Test Data (DXT texture) **************************/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Raw 256x256 DXT1 data (used to compare the result).
|
|
||||||
* \n
|
|
||||||
* See \c testcard.png for the original.
|
|
||||||
*/
|
|
||||||
static uint8_t const rawDxt1[] = {
|
|
||||||
#include "testcard-dxt1.inl"
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Zstd compressed version of \c #rawDxt1.
|
|
||||||
* \n
|
|
||||||
* See \c testcard.png for the original.
|
|
||||||
*/
|
|
||||||
static uint8_t const srcZstd[] = {
|
|
||||||
#include "testcard-zstd.inl"
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Destination for decoding \c #srcZstd.
|
|
||||||
*/
|
|
||||||
static uint8_t dstDxt1[sizeof rawDxt1] = {};
|
|
||||||
|
|
||||||
#ifndef ZSTD_VERSION_MAJOR
|
|
||||||
/**
|
|
||||||
* For the case where the decompression library hasn't been included we add a
|
|
||||||
* dummy function to fake the process and stop the buffers being optimised out.
|
|
||||||
*/
|
|
||||||
size_t ZSTD_decompress(void* dst, size_t dstLen, const void* src, size_t srcLen) {
|
|
||||||
return (memcmp(dst, src, (srcLen < dstLen) ? srcLen : dstLen)) ? 0 : dstLen;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//****************************************************************************/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Simple single-file test to decompress \c #srcZstd into \c # dstDxt1 then
|
|
||||||
* compare the resulting bytes with \c #rawDxt1.
|
|
||||||
* \n
|
|
||||||
* As a (naive) comparison, removing Zstd and building with "-Os -g0 simple.c"
|
|
||||||
* results in a 44kB binary (macOS 10.14, Clang 10); re-adding Zstd increases
|
|
||||||
* the binary by 56kB (after calling \c strip).
|
|
||||||
*/
|
|
||||||
int main() {
|
|
||||||
size_t size = ZSTD_decompress(dstDxt1, sizeof dstDxt1, srcZstd, sizeof srcZstd);
|
|
||||||
int compare = memcmp(rawDxt1, dstDxt1, sizeof dstDxt1);
|
|
||||||
printf("Decompressed size: %s\n", (size == sizeof dstDxt1) ? "PASSED" : "FAILED");
|
|
||||||
printf("Byte comparison: %s\n", (compare == 0) ? "PASSED" : "FAILED");
|
|
||||||
if (size == sizeof dstDxt1 && compare == 0) {
|
|
||||||
return EXIT_SUCCESS;
|
|
||||||
}
|
|
||||||
return EXIT_FAILURE;
|
|
||||||
}
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,261 +0,0 @@
|
||||||
0x28, 0xb5, 0x2f, 0xfd, 0x60, 0x00, 0x7f, 0x6d, 0x61, 0x00, 0x0a, 0x66,
|
|
||||||
0xec, 0x17, 0x48, 0x60, 0x1c, 0x5a, 0xc9, 0x5d, 0x1a, 0x38, 0x07, 0xe8,
|
|
||||||
0xc5, 0x82, 0x99, 0x68, 0xe6, 0x95, 0x45, 0x58, 0x0d, 0x0c, 0xf3, 0x36,
|
|
||||||
0xc8, 0xd9, 0x0f, 0x46, 0x2d, 0x68, 0x11, 0xf8, 0x31, 0x10, 0xa1, 0x1a,
|
|
||||||
0x2f, 0x99, 0x5c, 0x84, 0xfd, 0x92, 0x02, 0xe6, 0x3b, 0x44, 0x9b, 0x01,
|
|
||||||
0x5d, 0x92, 0xff, 0x38, 0x26, 0x00, 0x6a, 0x6b, 0xc3, 0x53, 0xb2, 0x0c,
|
|
||||||
0x25, 0xf3, 0xd8, 0x59, 0x68, 0x9b, 0x14, 0x8a, 0x89, 0x75, 0x18, 0x03,
|
|
||||||
0x1d, 0xc9, 0x0f, 0x63, 0x01, 0x73, 0x01, 0x72, 0x01, 0x4f, 0x66, 0x31,
|
|
||||||
0x58, 0x0f, 0x97, 0x4b, 0x0c, 0x4c, 0x06, 0xac, 0x07, 0x0b, 0x68, 0xd4,
|
|
||||||
0xad, 0x80, 0x64, 0x13, 0x74, 0xa1, 0x12, 0x16, 0x58, 0xcf, 0x1a, 0x95,
|
|
||||||
0x5f, 0x0d, 0x26, 0x55, 0xd0, 0x9c, 0xf4, 0x52, 0x35, 0x2e, 0x20, 0xc1,
|
|
||||||
0x06, 0x69, 0x03, 0x0a, 0x93, 0x83, 0x5e, 0x27, 0x9b, 0x4c, 0x6d, 0xee,
|
|
||||||
0x87, 0x03, 0x30, 0x6c, 0x46, 0xd7, 0x50, 0x5c, 0xca, 0xe6, 0xa6, 0x4d,
|
|
||||||
0xa8, 0xf6, 0xab, 0xd7, 0x0e, 0x27, 0x27, 0x90, 0xc4, 0xb2, 0xd1, 0x10,
|
|
||||||
0xfa, 0x43, 0x82, 0xc8, 0xf2, 0xe5, 0xff, 0xff, 0xd5, 0x52, 0x62, 0x43,
|
|
||||||
0x87, 0x26, 0x2a, 0x05, 0x70, 0x0e, 0xb0, 0x2f, 0xc4, 0x56, 0xef, 0xb5,
|
|
||||||
0xca, 0xb8, 0x53, 0xb7, 0x96, 0x0e, 0xe7, 0x00, 0x2c, 0xa8, 0xda, 0x3b,
|
|
||||||
0x07, 0x70, 0xa7, 0x78, 0x38, 0x60, 0x87, 0x7a, 0x01, 0x3b, 0x75, 0xec,
|
|
||||||
0xfa, 0x77, 0xe2, 0x46, 0x94, 0x61, 0x8e, 0x0d, 0x0c, 0xfb, 0xe7, 0x8b,
|
|
||||||
0x13, 0x50, 0x31, 0xa9, 0x27, 0xcd, 0x27, 0xef, 0x6b, 0xa6, 0xab, 0x9c,
|
|
||||||
0x4d, 0x95, 0x6c, 0x3a, 0xbb, 0x8e, 0x96, 0x92, 0x18, 0x5a, 0x7c, 0x4f,
|
|
||||||
0xff, 0x7b, 0x38, 0xf2, 0xdb, 0x86, 0xde, 0xff, 0x1f, 0x2f, 0x21, 0x86,
|
|
||||||
0x7d, 0xbf, 0x45, 0xd0, 0x6e, 0x77, 0x0a, 0xee, 0x0a, 0xee, 0x14, 0x9a,
|
|
||||||
0xb8, 0x84, 0xf3, 0xac, 0xbe, 0xc8, 0x7f, 0x8d, 0xff, 0xff, 0xcf, 0x2a,
|
|
||||||
0xfb, 0x69, 0xfc, 0xfb, 0xfd, 0x7a, 0x10, 0x22, 0x36, 0xfc, 0xff, 0x3f,
|
|
||||||
0xcf, 0xd0, 0xf1, 0x7f, 0xfe, 0xff, 0x3d, 0x24, 0xdf, 0x78, 0x4a, 0xff,
|
|
||||||
0xda, 0x9c, 0x39, 0xcf, 0xef, 0xe7, 0xfd, 0x52, 0x98, 0xb5, 0x40, 0x92,
|
|
||||||
0xee, 0xdd, 0x99, 0xf5, 0x53, 0x5b, 0x65, 0x6b, 0xb5, 0xd8, 0x7b, 0xae,
|
|
||||||
0xfa, 0xc1, 0x0f, 0x0c, 0x7f, 0x4f, 0x55, 0xa3, 0xad, 0x2c, 0xa0, 0xbd,
|
|
||||||
0xf7, 0x2a, 0x0e, 0xe8, 0xbd, 0xc7, 0x5e, 0xf5, 0xd8, 0x54, 0x9e, 0x56,
|
|
||||||
0xa3, 0xd6, 0x59, 0xd5, 0xfe, 0x1f, 0xc0, 0x30, 0x8c, 0xfc, 0x46, 0x04,
|
|
||||||
0xae, 0x60, 0xbc, 0xe8, 0xcf, 0xec, 0x3d, 0xde, 0xf9, 0xf0, 0xfe, 0xef,
|
|
||||||
0x7d, 0xcc, 0xf7, 0x2b, 0xe5, 0x1b, 0x70, 0xff, 0xff, 0x7e, 0x3f, 0x6e,
|
|
||||||
0xe4, 0x02, 0x07, 0xfc, 0x1b, 0x7a, 0xff, 0xe7, 0x58, 0xfc, 0x7e, 0x3a,
|
|
||||||
0xdc, 0x97, 0xfd, 0x57, 0xef, 0xa3, 0xfc, 0x2a, 0xc7, 0x4d, 0xf3, 0xcb,
|
|
||||||
0x9d, 0xce, 0xac, 0xfe, 0xeb, 0x2e, 0x86, 0xb9, 0x69, 0x54, 0xef, 0xf9,
|
|
||||||
0x55, 0xcf, 0xff, 0x48, 0x24, 0x72, 0x3a, 0x9d, 0x72, 0x2f, 0x2f, 0x2f,
|
|
||||||
0xff, 0x3f, 0xe7, 0x01, 0x6c, 0x4d, 0x6c, 0xcd, 0x2d, 0x5b, 0x53, 0xb7,
|
|
||||||
0x59, 0x22, 0x08, 0x0b, 0xa7, 0x92, 0x15, 0x75, 0x93, 0xb0, 0x5d, 0xaf,
|
|
||||||
0x2a, 0x63, 0x95, 0x1d, 0x25, 0xd2, 0xd2, 0xa8, 0x1c, 0x84, 0xc9, 0xdc,
|
|
||||||
0x72, 0xba, 0xd7, 0xfc, 0x69, 0xf5, 0xc7, 0x19, 0xa9, 0xbe, 0xfa, 0x26,
|
|
||||||
0x55, 0x25, 0x75, 0xb7, 0x60, 0xa3, 0xd8, 0x68, 0x54, 0xb7, 0x1b, 0xa5,
|
|
||||||
0x54, 0x62, 0xb1, 0x49, 0xde, 0xe2, 0xac, 0xa2, 0xe8, 0x7b, 0xff, 0x5f,
|
|
||||||
0x75, 0x4e, 0xb8, 0xa2, 0xdd, 0x6a, 0xb7, 0xda, 0x6e, 0x2e, 0x04, 0xcd,
|
|
||||||
0x08, 0x2f, 0xec, 0x8e, 0x49, 0xaf, 0x49, 0x6f, 0x8b, 0x4f, 0x2e, 0x1a,
|
|
||||||
0xc5, 0x62, 0x7b, 0x6b, 0x3e, 0x32, 0x3e, 0x32, 0xbe, 0x08, 0x35, 0x4d,
|
|
||||||
0x63, 0x93, 0xa6, 0xc8, 0x42, 0xe6, 0x21, 0xcc, 0x59, 0xc8, 0x4c, 0xe5,
|
|
||||||
0x86, 0xe1, 0x03, 0x06, 0xa4, 0xec, 0xff, 0xb7, 0x78, 0x7e, 0x62, 0x43,
|
|
||||||
0xc7, 0x2c, 0x50, 0x30, 0x4a, 0xc8, 0x9b, 0xf3, 0xbf, 0xe6, 0x62, 0xa0,
|
|
||||||
0x50, 0xa6, 0x9c, 0xe3, 0x6e, 0x5b, 0xaf, 0x77, 0x8b, 0xbb, 0xe1, 0x70,
|
|
||||||
0xaa, 0xaa, 0xaa, 0x92, 0xb4, 0x52, 0xad, 0x14, 0x87, 0x93, 0x0b, 0xe6,
|
|
||||||
0x82, 0x39, 0x11, 0xb9, 0x20, 0x9a, 0x16, 0x34, 0x22, 0x68, 0xb2, 0x68,
|
|
||||||
0xb2, 0x76, 0xd3, 0xe8, 0x6e, 0xda, 0x6b, 0x62, 0x34, 0x2e, 0x8d, 0xbd,
|
|
||||||
0x2d, 0x3d, 0x6b, 0x4c, 0x26, 0x33, 0xda, 0x33, 0xf3, 0x91, 0x51, 0x46,
|
|
||||||
0x79, 0xbd, 0x3e, 0x39, 0x9f, 0xcf, 0xd2, 0xb8, 0x5c, 0xfa, 0x22, 0xf8,
|
|
||||||
0x8e, 0xb6, 0xbe, 0x08, 0x40, 0x14, 0x49, 0x40, 0x14, 0xf2, 0x0c, 0x2d,
|
|
||||||
0x30, 0x85, 0x3c, 0x63, 0x29, 0xd3, 0x98, 0x85, 0x6c, 0xb5, 0xdb, 0xad,
|
|
||||||
0x5c, 0x63, 0x9e, 0x72, 0xcf, 0x43, 0xe6, 0xaf, 0x77, 0xa6, 0xe2, 0x21,
|
|
||||||
0x0c, 0x4d, 0xd3, 0x49, 0x1e, 0xc2, 0x14, 0x6f, 0xee, 0xdb, 0x7b, 0x7b,
|
|
||||||
0x08, 0xb3, 0xa4, 0x60, 0x3b, 0x9d, 0x6e, 0x8b, 0x37, 0x4b, 0x0a, 0x74,
|
|
||||||
0x35, 0x33, 0xbc, 0xf9, 0x64, 0x85, 0x63, 0x32, 0x29, 0x20, 0x59, 0x0c,
|
|
||||||
0x3c, 0x96, 0x67, 0x62, 0xb7, 0x8a, 0x92, 0x4d, 0xa0, 0xd3, 0xf3, 0xd1,
|
|
||||||
0x85, 0x80, 0x38, 0xcb, 0x64, 0x60, 0xc9, 0xb5, 0xaf, 0x97, 0x8d, 0x20,
|
|
||||||
0x45, 0x28, 0xb8, 0xab, 0xe8, 0xc9, 0x0a, 0x88, 0x1f, 0xd6, 0x47, 0x54,
|
|
||||||
0xf1, 0xd3, 0xfb, 0x62, 0xa7, 0xfd, 0xf2, 0x8b, 0xfd, 0xb6, 0xe4, 0x2e,
|
|
||||||
0xb6, 0x91, 0x73, 0x1c, 0xd0, 0x7b, 0xba, 0x83, 0xc9, 0xac, 0x51, 0x39,
|
|
||||||
0x92, 0xc5, 0x4f, 0x30, 0x1e, 0x2e, 0xd5, 0xf1, 0xa8, 0xa6, 0xa5, 0x80,
|
|
||||||
0x70, 0xb9, 0xbc, 0xb7, 0xc2, 0x52, 0x32, 0x6c, 0xe3, 0x3d, 0xed, 0x41,
|
|
||||||
0xa4, 0x4b, 0x31, 0x2a, 0xe6, 0x62, 0x11, 0x19, 0x95, 0x73, 0x1d, 0xbf,
|
|
||||||
0xe1, 0x6c, 0xfc, 0x47, 0x75, 0x6c, 0x37, 0x63, 0x02, 0xf8, 0x34, 0x40,
|
|
||||||
0x9a, 0x00, 0x1d, 0xf7, 0x32, 0x56, 0x77, 0xda, 0x5b, 0x9f, 0x9f, 0x0f,
|
|
||||||
0xbb, 0x91, 0x5b, 0xbd, 0xe7, 0x58, 0x82, 0x4a, 0x20, 0xcd, 0x4f, 0x47,
|
|
||||||
0x15, 0xf3, 0x51, 0xf1, 0x43, 0x51, 0x10, 0x96, 0xae, 0xba, 0xf7, 0x21,
|
|
||||||
0x50, 0xef, 0x55, 0x27, 0x0c, 0x1f, 0xe0, 0x54, 0xf8, 0xc9, 0x69, 0xef,
|
|
||||||
0xb9, 0x53, 0xf7, 0x83, 0x73, 0x9d, 0xce, 0x86, 0x07, 0x83, 0x44, 0x61,
|
|
||||||
0x37, 0x35, 0x35, 0x33, 0x4e, 0x33, 0x33, 0x3e, 0x9f, 0x50, 0x48, 0x24,
|
|
||||||
0xe6, 0xd0, 0x79, 0x49, 0xc3, 0x2d, 0xa0, 0x46, 0x31, 0x9a, 0x72, 0xc3,
|
|
||||||
0x84, 0xff, 0x7a, 0x95, 0xbb, 0x00, 0x22, 0xcc, 0x14, 0x00, 0x04, 0xac,
|
|
||||||
0x60, 0x64, 0x86, 0xe4, 0x6f, 0xb1, 0x58, 0xf4, 0xdc, 0xb0, 0x05, 0x00,
|
|
||||||
0x72, 0x38, 0xf8, 0xce, 0xce, 0x8e, 0xcf, 0x37, 0x33, 0x43, 0x24, 0x0a,
|
|
||||||
0x85, 0x33, 0x35, 0x35, 0x37, 0xc2, 0xa8, 0x28, 0x27, 0x1b, 0x9d, 0xce,
|
|
||||||
0x29, 0x18, 0xe4, 0xfc, 0x09, 0x53, 0xa5, 0x51, 0xad, 0x74, 0x79, 0x7b,
|
|
||||||
0xb5, 0x4a, 0x65, 0x94, 0x36, 0x89, 0xf5, 0x62, 0x9b, 0xd8, 0x9a, 0xe8,
|
|
||||||
0x2b, 0xff, 0xa1, 0x73, 0xfe, 0x2e, 0x2c, 0x41, 0x45, 0x37, 0xef, 0x6e,
|
|
||||||
0x7b, 0x38, 0xca, 0xa5, 0xd2, 0xb8, 0x1c, 0x3b, 0x96, 0x21, 0xbb, 0x5d,
|
|
||||||
0xad, 0xd1, 0xdb, 0x1c, 0xf6, 0x5e, 0x4b, 0xd9, 0x59, 0x1b, 0x67, 0xf5,
|
|
||||||
0x7a, 0x7c, 0x9a, 0x91, 0x3e, 0x8e, 0xe3, 0xee, 0x7b, 0xb9, 0xa4, 0xb9,
|
|
||||||
0xf5, 0x70, 0xee, 0x1d, 0x4e, 0x4f, 0xcc, 0xd6, 0x7b, 0x07, 0x71, 0x48,
|
|
||||||
0xf2, 0x06, 0xd0, 0x10, 0x82, 0x21, 0xe4, 0x55, 0x2e, 0xa5, 0x1d, 0xbe,
|
|
||||||
0x48, 0x8c, 0x69, 0xbb, 0x24, 0x40, 0x68, 0x9b, 0xba, 0x5a, 0x5a, 0xa7,
|
|
||||||
0xe2, 0xd1, 0xac, 0xc2, 0xd8, 0x87, 0x9c, 0xe3, 0x78, 0xee, 0xa6, 0xcd,
|
|
||||||
0xdd, 0x68, 0x6e, 0xdd, 0xdb, 0x2e, 0xc6, 0xbb, 0x8b, 0xe9, 0xc1, 0xd9,
|
|
||||||
0xf6, 0x62, 0x7e, 0x72, 0x7e, 0x72, 0x34, 0xe4, 0x68, 0xc8, 0x11, 0x32,
|
|
||||||
0x10, 0x32, 0x20, 0x32, 0xf0, 0x12, 0x19, 0x90, 0xe0, 0x45, 0x91, 0xe0,
|
|
||||||
0x25, 0x83, 0xba, 0xc9, 0x20, 0x26, 0x87, 0xa5, 0x72, 0xa9, 0x64, 0x72,
|
|
||||||
0x80, 0x21, 0x54, 0x13, 0xeb, 0x29, 0x18, 0x42, 0x34, 0x84, 0x94, 0x34,
|
|
||||||
0x84, 0xa4, 0x1d, 0xa4, 0x1d, 0x82, 0x1c, 0xef, 0xaf, 0x0e, 0x63, 0x47,
|
|
||||||
0x6d, 0x10, 0xb9, 0xec, 0xd8, 0x2d, 0x3b, 0x9e, 0x21, 0xb1, 0x67, 0x48,
|
|
||||||
0x34, 0x24, 0x1a, 0x52, 0xdb, 0xa4, 0x6d, 0x62, 0xd3, 0xfa, 0xff, 0xfa,
|
|
||||||
0x03, 0x34, 0xef, 0x9d, 0xc9, 0xe1, 0x5d, 0xec, 0xf5, 0xf1, 0x79, 0x8c,
|
|
||||||
0x97, 0xd2, 0x24, 0xc1, 0x2d, 0xe0, 0x39, 0x16, 0x1e, 0xa9, 0x41, 0xc3,
|
|
||||||
0xbf, 0x4a, 0xd9, 0x3c, 0xea, 0x77, 0x96, 0x55, 0xe6, 0x95, 0xc3, 0xf1,
|
|
||||||
0x8e, 0x7b, 0x4f, 0xad, 0x61, 0xf8, 0xe7, 0x01, 0xad, 0x46, 0xf5, 0x2c,
|
|
||||||
0xac, 0x55, 0x2c, 0x94, 0xaa, 0x46, 0xfb, 0x5e, 0xcd, 0xaa, 0x1f, 0x78,
|
|
||||||
0x4f, 0x2f, 0xd1, 0xc9, 0x02, 0xd6, 0x2c, 0x67, 0xef, 0x3f, 0x54, 0xab,
|
|
||||||
0xda, 0x03, 0x79, 0x1f, 0xab, 0xfd, 0x0c, 0x38, 0x3c, 0xbc, 0xe1, 0xd5,
|
|
||||||
0x01, 0xf6, 0xfb, 0xfb, 0xf1, 0x70, 0xee, 0xfd, 0x90, 0x13, 0x97, 0xc4,
|
|
||||||
0xbc, 0x08, 0xe7, 0x4b, 0x88, 0x34, 0xf7, 0x56, 0x1e, 0x0c, 0xdb, 0xe4,
|
|
||||||
0x9c, 0x78, 0xf1, 0xf4, 0x62, 0x4c, 0xb5, 0xf7, 0xdd, 0xd9, 0x4c, 0x5a,
|
|
||||||
0x69, 0xa6, 0x36, 0x27, 0x03, 0xbe, 0x86, 0xc2, 0x72, 0xa2, 0x60, 0x73,
|
|
||||||
0xf1, 0xe0, 0x17, 0x50, 0xb5, 0x93, 0x81, 0xac, 0xf1, 0xc9, 0xd4, 0x66,
|
|
||||||
0x73, 0x71, 0xce, 0x63, 0xa8, 0x60, 0x98, 0xda, 0x86, 0x46, 0x72, 0xec,
|
|
||||||
0x54, 0xc1, 0xe6, 0x8a, 0x10, 0x23, 0x2d, 0x0c, 0xdd, 0x44, 0x0b, 0xa0,
|
|
||||||
0x44, 0xa4, 0x9d, 0x0e, 0x64, 0x31, 0x30, 0x45, 0xb1, 0x97, 0x4c, 0x6d,
|
|
||||||
0x9f, 0x43, 0x99, 0x71, 0xa8, 0x9a, 0xe6, 0xbd, 0x3a, 0xe1, 0xff, 0x7f,
|
|
||||||
0x33, 0x61, 0xf1, 0x48, 0xda, 0x48, 0x28, 0x10, 0x23, 0x9b, 0x24, 0xeb,
|
|
||||||
0xee, 0xbd, 0x35, 0x0e, 0x6e, 0x75, 0x23, 0x20, 0xd6, 0x95, 0x8c, 0xa5,
|
|
||||||
0x24, 0xec, 0x44, 0x67, 0x52, 0x2e, 0x78, 0x2a, 0xba, 0x3e, 0x3a, 0x4e,
|
|
||||||
0xc9, 0x5c, 0x23, 0xb0, 0xd5, 0xfb, 0x29, 0xaf, 0x9a, 0x0b, 0x90, 0x89,
|
|
||||||
0xd8, 0xec, 0xa9, 0xa8, 0x13, 0xfc, 0x22, 0xfa, 0xf2, 0x74, 0x2f, 0x4e,
|
|
||||||
0x35, 0xb0, 0x6d, 0x6c, 0xfd, 0xc4, 0xfe, 0xd0, 0x98, 0x3d, 0xe5, 0x43,
|
|
||||||
0x0a, 0xd0, 0x33, 0x26, 0x3b, 0x12, 0x7d, 0x65, 0xa1, 0xff, 0xff, 0x6f,
|
|
||||||
0x53, 0x0e, 0x28, 0x84, 0xa7, 0xa2, 0x2e, 0xf8, 0x4a, 0xb6, 0xa1, 0x47,
|
|
||||||
0xf5, 0xd0, 0x13, 0x9d, 0xd9, 0x50, 0xef, 0x9f, 0x31, 0xb4, 0x13, 0x67,
|
|
||||||
0xf9, 0x0a, 0x99, 0xb5, 0x80, 0xec, 0x4a, 0x1a, 0x59, 0x21, 0x3b, 0xce,
|
|
||||||
0xc5, 0x7e, 0x96, 0x85, 0x92, 0xc5, 0xb0, 0x75, 0xaa, 0x41, 0x16, 0xa9,
|
|
||||||
0xd3, 0xde, 0x13, 0x7d, 0xd9, 0x61, 0x30, 0x1c, 0x73, 0x61, 0x54, 0x90,
|
|
||||||
0xcf, 0xd4, 0xe8, 0xfe, 0xbf, 0xbf, 0x36, 0x57, 0x26, 0x38, 0xab, 0x06,
|
|
||||||
0xc4, 0x7e, 0x3c, 0x5b, 0x35, 0xd2, 0x7c, 0x2c, 0x0a, 0x82, 0xf2, 0xa8,
|
|
||||||
0xf2, 0x8b, 0x48, 0xa9, 0x90, 0x00, 0x01, 0x10, 0x10, 0x14, 0x04, 0x00,
|
|
||||||
0x32, 0xa2, 0x06, 0x82, 0x28, 0x90, 0xc2, 0xb4, 0x85, 0xda, 0x01, 0x52,
|
|
||||||
0xe9, 0x18, 0x85, 0x60, 0x00, 0x00, 0x20, 0x0c, 0x00, 0x14, 0x41, 0x00,
|
|
||||||
0x40, 0xa0, 0x04, 0x40, 0x00, 0x80, 0x50, 0x03, 0x01, 0x10, 0x18, 0x01,
|
|
||||||
0x80, 0xd4, 0x14, 0x99, 0x01, 0xfd, 0x07, 0xf8, 0x16, 0x0e, 0xd9, 0x5d,
|
|
||||||
0xa3, 0x70, 0xfe, 0xda, 0x17, 0xfa, 0xce, 0x46, 0x9a, 0x99, 0x81, 0x1a,
|
|
||||||
0x39, 0xba, 0x63, 0xb1, 0x18, 0x11, 0x58, 0xd7, 0xc7, 0xba, 0x03, 0x3e,
|
|
||||||
0x01, 0xf2, 0xf9, 0x4e, 0x12, 0xa3, 0x50, 0x7b, 0xaf, 0x7b, 0x60, 0x5c,
|
|
||||||
0x83, 0x23, 0xd2, 0x60, 0x27, 0x84, 0xad, 0xb8, 0x02, 0xed, 0xfe, 0xb4,
|
|
||||||
0x9c, 0x08, 0x9f, 0x49, 0xae, 0x55, 0x02, 0x94, 0xc0, 0x1b, 0x90, 0x75,
|
|
||||||
0x0b, 0x90, 0xc4, 0xc7, 0x43, 0x9e, 0x67, 0x25, 0x70, 0x61, 0x0d, 0xb8,
|
|
||||||
0x7a, 0x97, 0x43, 0xfc, 0xd1, 0x7e, 0x68, 0xed, 0x03, 0xb7, 0x1e, 0x75,
|
|
||||||
0xe9, 0x4d, 0x7a, 0x23, 0x18, 0x37, 0x63, 0x6f, 0xab, 0x5f, 0x7c, 0x5b,
|
|
||||||
0x1c, 0x05, 0xdf, 0x3f, 0x00, 0x86, 0x37, 0xa0, 0xfa, 0x0c, 0xe0, 0xed,
|
|
||||||
0x35, 0x35, 0x2f, 0xd8, 0xd1, 0x75, 0xba, 0x37, 0x34, 0x7e, 0xb0, 0x84,
|
|
||||||
0x2a, 0x01, 0x0c, 0x98, 0xed, 0x47, 0xf9, 0x86, 0x81, 0x74, 0x00, 0x5d,
|
|
||||||
0x8b, 0x4c, 0x18, 0x8a, 0x31, 0xcd, 0xae, 0x07, 0x44, 0xb5, 0xd5, 0x07,
|
|
||||||
0xa0, 0xdf, 0xf4, 0xfa, 0xa6, 0x42, 0xd0, 0x4f, 0x17, 0xd8, 0xdf, 0xb6,
|
|
||||||
0x34, 0x44, 0xe3, 0x01, 0xc4, 0xb6, 0x2d, 0xb5, 0x56, 0xc6, 0x2a, 0x1f,
|
|
||||||
0x05, 0x6c, 0x35, 0xe0, 0x09, 0x31, 0xef, 0x60, 0xfe, 0xaf, 0x07, 0x80,
|
|
||||||
0x32, 0xa0, 0xe9, 0xd3, 0x96, 0x45, 0xa7, 0xaa, 0xb6, 0xfb, 0x03, 0x10,
|
|
||||||
0xe3, 0x97, 0x96, 0x8d, 0x3a, 0x01, 0xdd, 0x58, 0x58, 0x78, 0x00, 0xab,
|
|
||||||
0xff, 0x06, 0xa0, 0xd6, 0x01, 0x58, 0x08, 0xb7, 0xdc, 0x2d, 0xa7, 0xfb,
|
|
||||||
0x22, 0xa8, 0x67, 0x00, 0xe3, 0xcf, 0x82, 0x43, 0xfc, 0x96, 0x1b, 0x40,
|
|
||||||
0x63, 0xcf, 0x9d, 0x42, 0x5d, 0x66, 0x40, 0xaa, 0xaf, 0x28, 0x94, 0xd3,
|
|
||||||
0x2a, 0xd4, 0x02, 0x13, 0xd2, 0xdf, 0x03, 0x9c, 0x60, 0x6b, 0x16, 0x94,
|
|
||||||
0xb4, 0xbe, 0x62, 0xc2, 0x35, 0x60, 0x45, 0x09, 0x23, 0x5a, 0xe0, 0x85,
|
|
||||||
0xb3, 0x03, 0x50, 0x68, 0x0c, 0x20, 0xa5, 0xf9, 0x94, 0xd2, 0x35, 0x80,
|
|
||||||
0xad, 0x4c, 0x4e, 0x40, 0x41, 0x97, 0x92, 0x75, 0xbe, 0x0c, 0x03, 0x50,
|
|
||||||
0x85, 0x08, 0xaf, 0x36, 0x00, 0x68, 0xaf, 0x09, 0xb3, 0x0c, 0x20, 0x4f,
|
|
||||||
0x81, 0x6a, 0x6a, 0xf5, 0x0d, 0x70, 0x69, 0x00, 0x4c, 0xb4, 0x0f, 0x59,
|
|
||||||
0xe7, 0x31, 0x0a, 0x45, 0x9f, 0xde, 0x90, 0xd6, 0x38, 0x80, 0x6b, 0x2c,
|
|
||||||
0xb9, 0x2f, 0xd4, 0x01, 0x40, 0x14, 0xd5, 0xed, 0x8e, 0x01, 0x53, 0xbf,
|
|
||||||
0x03, 0x18, 0x1e, 0xb0, 0xc1, 0x85, 0x32, 0xec, 0x78, 0x2b, 0xf0, 0xbb,
|
|
||||||
0xbb, 0x6c, 0xf3, 0x4d, 0xdc, 0x73, 0x40, 0xfd, 0x10, 0x09, 0x9e, 0x20,
|
|
||||||
0xe2, 0x12, 0x8c, 0xe0, 0xd2, 0xed, 0x80, 0x6b, 0xcc, 0x78, 0x20, 0x03,
|
|
||||||
0xd0, 0x5e, 0x06, 0xf4, 0xb0, 0xc4, 0x0e, 0x15, 0x1d, 0x80, 0xb4, 0x76,
|
|
||||||
0xdf, 0x49, 0x03, 0x50, 0x82, 0xad, 0xda, 0x8b, 0x5a, 0x61, 0xc2, 0x5e,
|
|
||||||
0xb5, 0x1e, 0x46, 0xc0, 0xde, 0xaa, 0x0e, 0x15, 0x06, 0xd2, 0xf4, 0xb2,
|
|
||||||
0xd1, 0xed, 0x38, 0x0a, 0x03, 0x18, 0x33, 0x1a, 0x80, 0x61, 0x3e, 0xec,
|
|
||||||
0x7c, 0x74, 0xa8, 0x1d, 0x80, 0x1a, 0xce, 0x25, 0x1d, 0x41, 0xd1, 0xc1,
|
|
||||||
0x03, 0x28, 0xb5, 0xaf, 0x72, 0x9c, 0x59, 0x7a, 0xe1, 0x7d, 0xc0, 0xa5,
|
|
||||||
0x08, 0x1e, 0x18, 0x24, 0xfa, 0xbd, 0x99, 0x4a, 0x31, 0xa0, 0xea, 0xee,
|
|
||||||
0xf8, 0x36, 0x60, 0x98, 0xc9, 0x10, 0xd1, 0xa7, 0x35, 0x00, 0x8d, 0x40,
|
|
||||||
0x8e, 0x5a, 0x35, 0x0f, 0x80, 0xb1, 0xd4, 0x32, 0x79, 0x40, 0x34, 0x05,
|
|
||||||
0x7e, 0x98, 0xc6, 0x80, 0x3e, 0x90, 0x01, 0x65, 0xf4, 0x80, 0x73, 0x08,
|
|
||||||
0x64, 0xd7, 0x36, 0xc1, 0x7c, 0xc0, 0x5c, 0x75, 0x00, 0xc5, 0x09, 0x58,
|
|
||||||
0x9c, 0x13, 0x01, 0x72, 0x37, 0x9b, 0x79, 0xe4, 0x05, 0xd1, 0x01, 0x04,
|
|
||||||
0x98, 0x08, 0x74, 0xfd, 0xfc, 0x3f, 0x1c, 0x00, 0x73, 0x01, 0xfc, 0x1c,
|
|
||||||
0xcc, 0x16, 0x43, 0x19, 0x1d, 0xac, 0x61, 0x4b, 0x11, 0xc2, 0xa0, 0xf2,
|
|
||||||
0x01, 0x0b, 0x7b, 0x3b, 0xf4, 0xfc, 0x58, 0x5d, 0x2d, 0x5c, 0x01, 0x8c,
|
|
||||||
0x62, 0x17, 0x78, 0xbe, 0x60, 0x8c, 0x01, 0x6f, 0x91, 0x49, 0x65, 0x54,
|
|
||||||
0x92, 0xe9, 0x01, 0x1e, 0x10, 0x77, 0x35, 0x00, 0xa8, 0xd4, 0xc7, 0x71,
|
|
||||||
0x07, 0xd8, 0xcd, 0xa3, 0x7d, 0x69, 0x20, 0xac, 0x07, 0x00, 0x35, 0xc7,
|
|
||||||
0x62, 0xee, 0x8c, 0x7d, 0x0c, 0xb8, 0x43, 0x0e, 0x00, 0x08, 0xfb, 0xe7,
|
|
||||||
0xec, 0x33, 0x37, 0x04, 0x80, 0x2d, 0x1d, 0xa6, 0x13, 0x34, 0x1b, 0x1d,
|
|
||||||
0xc0, 0xca, 0x00, 0x92, 0xed, 0x2e, 0x56, 0xbe, 0x91, 0x80, 0x0c, 0x88,
|
|
||||||
0xa6, 0x01, 0xdf, 0x7f, 0x90, 0x49, 0xed, 0x0c, 0xe0, 0x08, 0x73, 0x28,
|
|
||||||
0x74, 0xc7, 0xe1, 0xb1, 0x03, 0x5d, 0xc5, 0xab, 0x61, 0x42, 0xdf, 0x03,
|
|
||||||
0x43, 0xf3, 0x35, 0x04, 0xcf, 0xc6, 0x1d, 0x79, 0x07, 0x40, 0x22, 0xe4,
|
|
||||||
0x68, 0x0d, 0x01, 0x95, 0xad, 0x72, 0x69, 0x00, 0x39, 0x9d, 0x53, 0x8f,
|
|
||||||
0x13, 0x0d, 0xb0, 0x29, 0x79, 0x1a, 0x39, 0x20, 0x12, 0x28, 0x9b, 0x02,
|
|
||||||
0x8f, 0x74, 0x90, 0x4c, 0xe8, 0xd1, 0x57, 0xf4, 0x01, 0x44, 0x04, 0xe0,
|
|
||||||
0x0c, 0x82, 0x91, 0xc5, 0x4f, 0x8f, 0xc6, 0x00, 0x43, 0x85, 0x65, 0xc8,
|
|
||||||
0xe6, 0x34, 0x1d, 0x80, 0xc0, 0xca, 0xdb, 0x57, 0x6c, 0x00, 0x72, 0x42,
|
|
||||||
0x5f, 0xd0, 0x49, 0x57, 0x47, 0xd4, 0x97, 0x18, 0x18, 0x80, 0x68, 0x8e,
|
|
||||||
0x0a, 0xf1, 0x6b, 0x34, 0xf1, 0x60, 0x2c, 0x41, 0x29, 0xd3, 0x3d, 0x55,
|
|
||||||
0x95, 0xb1, 0x3c, 0xd4, 0x95, 0x42, 0xef, 0xe7, 0xca, 0x00, 0x2e, 0xce,
|
|
||||||
0x25, 0xc2, 0xca, 0xf5, 0x00, 0x17, 0x3b, 0x8c, 0x42, 0x88, 0x03, 0xde,
|
|
||||||
0x97, 0xe1, 0x3a, 0x74, 0xb0, 0x33, 0xe0, 0x8f, 0x47, 0xeb, 0x2a, 0x5f,
|
|
||||||
0x36, 0x3e, 0x5a, 0xff, 0xc5, 0x80, 0xb9, 0x13, 0xa9, 0x1f, 0xf8, 0x86,
|
|
||||||
0xc9, 0x51, 0xf8, 0x4c, 0xaa, 0xe1, 0x65, 0x80, 0xb0, 0x8b, 0x91, 0xec,
|
|
||||||
0xcc, 0xbf, 0x70, 0x19, 0x98, 0x03, 0x10, 0xf0, 0x38, 0x40, 0xc4, 0x65,
|
|
||||||
0xbe, 0x41, 0xb2, 0x58, 0x3f, 0xe0, 0xcc, 0x0e, 0x08, 0x2b, 0x73, 0xf4,
|
|
||||||
0xdd, 0x86, 0x06, 0xa0, 0xc6, 0x8f, 0x1a, 0x32, 0x66, 0x50, 0x8e, 0xe1,
|
|
||||||
0x59, 0x67, 0x00, 0xed, 0x66, 0x1d, 0xdd, 0xfa, 0x7b, 0xe2, 0x56, 0x89,
|
|
||||||
0xd9, 0xa0, 0x4f, 0x41, 0x94, 0x28, 0xb8, 0xc6, 0xc7, 0x64, 0xde, 0x9b,
|
|
||||||
0x64, 0x44, 0x33, 0x39, 0xb5, 0x6c, 0xb9, 0x42, 0xe7, 0x7e, 0x16, 0xd2,
|
|
||||||
0x01, 0x12, 0x03, 0xb3, 0x48, 0x47, 0x6b, 0x75, 0x26, 0x19, 0x8c, 0xac,
|
|
||||||
0x6f, 0xb1, 0x6f, 0xdc, 0x04, 0x27, 0x3a, 0x00, 0xd6, 0xae, 0xfa, 0xe1,
|
|
||||||
0xf7, 0x30, 0xa4, 0xdb, 0xd5, 0x86, 0x5a, 0x07, 0x11, 0xde, 0xea, 0xf4,
|
|
||||||
0xb0, 0x83, 0x16, 0xbb, 0xc6, 0x00, 0x6e, 0xf2, 0x6b, 0x40, 0x81, 0x01,
|
|
||||||
0x67, 0x0e, 0xa9, 0x82, 0x23, 0x04, 0x34, 0xed, 0x02, 0xf5, 0xe4, 0x0e,
|
|
||||||
0x58, 0xe8, 0x8a, 0x58, 0x57, 0xb0, 0x56, 0x65, 0x3d, 0x40, 0x64, 0x03,
|
|
||||||
0x6e, 0x7b, 0x07, 0x20, 0x99, 0x90, 0x36, 0x95, 0x9f, 0xdf, 0x3d, 0xe8,
|
|
||||||
0x00, 0xa0, 0x57, 0x8f, 0x6d, 0xa4, 0xb3, 0x1d, 0x7a, 0x06, 0xa8, 0x26,
|
|
||||||
0x41, 0xb0, 0x8c, 0x9c, 0x10, 0x85, 0x6c, 0xb4, 0x31, 0xa6, 0x5b, 0x7a,
|
|
||||||
0x10, 0x51, 0x15, 0x3c, 0xa2, 0x42, 0xd3, 0x23, 0x02, 0xc0, 0x17, 0x7e,
|
|
||||||
0x03, 0x28, 0xba, 0xce, 0x9b, 0xae, 0xdd, 0x1a, 0x19, 0xd0, 0x15, 0xac,
|
|
||||||
0xeb, 0x20, 0x3c, 0x3a, 0x00, 0xc6, 0xbb, 0x8a, 0xd5, 0x64, 0xc2, 0x21,
|
|
||||||
0x1d, 0x6c, 0x15, 0x5a, 0xd3, 0x44, 0x98, 0x14, 0x95, 0xb3, 0xb7, 0xdd,
|
|
||||||
0xa6, 0xea, 0x06, 0x54, 0x78, 0xc3, 0xe8, 0x79, 0x9b, 0x86, 0x29, 0x76,
|
|
||||||
0x8b, 0x6b, 0xaa, 0x0d, 0xa8, 0x2f, 0x22, 0x2a, 0xeb, 0x68, 0x81, 0x6c,
|
|
||||||
0x56, 0xfd, 0x79, 0xac, 0x79, 0x4b, 0xa0, 0x01, 0x3f, 0x17, 0x43, 0x82,
|
|
||||||
0xb4, 0xd5, 0x00, 0x14, 0xb7, 0xf5, 0x00, 0xf4, 0x15, 0xa8, 0xd7, 0x4b,
|
|
||||||
0xb1, 0xbc, 0xa8, 0x36, 0x98, 0xf0, 0x8c, 0xe7, 0xf4, 0x7b, 0x35, 0xd8,
|
|
||||||
0xad, 0x0d, 0x5f, 0x9d, 0x96, 0xab, 0xed, 0x48, 0xe2, 0xdc, 0x1c, 0xbe,
|
|
||||||
0x12, 0xfa, 0x41, 0x6f, 0xf5, 0x1e, 0xb6, 0x9f, 0xee, 0xac, 0x21, 0xf4,
|
|
||||||
0xf6, 0x00, 0x38, 0xb1, 0x1f, 0xfd, 0xd0, 0x0e, 0xc7, 0xdd, 0xa0, 0x39,
|
|
||||||
0x07, 0x8c, 0x35, 0x1f, 0x7e, 0xcc, 0xbf, 0xf6, 0xe0, 0x06, 0x66, 0x7d,
|
|
||||||
0x10, 0x3f, 0xc5, 0x3e, 0xde, 0x42, 0xf9, 0x3d, 0x00, 0x54, 0x81, 0x67,
|
|
||||||
0x8a, 0xe6, 0x63, 0x0d, 0x01, 0xd0, 0x31, 0xe0, 0x6e, 0xd0, 0xe1, 0x59,
|
|
||||||
0xf6, 0x1b, 0xf7, 0x0d, 0x52, 0x06, 0x80, 0x61, 0x4f, 0xe8, 0x77, 0xdd,
|
|
||||||
0x6f, 0x48, 0x20, 0x1d, 0xbb, 0x2a, 0x16, 0x8b, 0x54, 0x87, 0x92, 0x83,
|
|
||||||
0xe6, 0x8f, 0x55, 0x59, 0x06, 0x00, 0xe9, 0xc5, 0xce, 0x21, 0x63, 0x87,
|
|
||||||
0xaf, 0x86, 0xcc, 0xba, 0xd6, 0xe7, 0x00, 0xf6, 0x91, 0x92, 0x92, 0xea,
|
|
||||||
0xe8, 0x42, 0x06, 0x69, 0x13, 0xf5, 0x00, 0xd0, 0xb0, 0xa7, 0xcb, 0x4c,
|
|
||||||
0xb0, 0xd2, 0x2d, 0x28, 0x63, 0xf0, 0x6a, 0xc7, 0x80, 0x6a, 0x19, 0xb2,
|
|
||||||
0x66, 0x51, 0xf3, 0xb1, 0x21, 0xa0, 0x48, 0xad, 0x1e, 0x80, 0x62, 0xaf,
|
|
||||||
0x00, 0xf4, 0xa5, 0x4e, 0x83, 0x75, 0x1b, 0xfe, 0x00, 0xc4, 0xcf, 0x55,
|
|
||||||
0xb2, 0x50, 0xa6, 0xeb, 0x38, 0xed, 0x8f, 0xd3, 0x1d, 0x00, 0xf6, 0xe3,
|
|
||||||
0x90, 0x1c, 0x60, 0x9e, 0x8e, 0xeb, 0x0b, 0xba, 0x44, 0x06, 0x68, 0xbb,
|
|
||||||
0xd3, 0x10, 0x63, 0x35, 0xe1, 0x86, 0x5c, 0x5c, 0x2b, 0x85, 0xa6, 0xe7,
|
|
||||||
0x38, 0x2c, 0x18, 0x83, 0x1f, 0x8f, 0x9b, 0x8e, 0x4d, 0x26, 0xcd, 0x34,
|
|
||||||
0x0c, 0x66, 0x1d, 0x70, 0xb7, 0x01, 0xe6, 0x02, 0xa8, 0x51, 0x63, 0xcf,
|
|
||||||
0xbb, 0x03, 0xca, 0x85, 0xc6, 0x9c, 0xf6, 0xf1, 0x51, 0xe0, 0x60, 0x07,
|
|
||||||
0x40, 0x86, 0xf0, 0x1e, 0x6e, 0xef, 0x61, 0x10, 0xd9, 0x36, 0xcc, 0xfc,
|
|
||||||
0x58, 0xe2, 0x37, 0x0d, 0x58, 0xb7, 0xbe, 0xca, 0xc9, 0xd8, 0xcd, 0xaa,
|
|
||||||
0xd5, 0x5b, 0x77, 0x83, 0xcb, 0x0e, 0x30, 0xce, 0xc8, 0xb8, 0xcd, 0xbf,
|
|
||||||
0x1e, 0x63, 0x04, 0xad, 0xb7, 0xcd, 0x43, 0x62, 0x4c, 0xe0, 0x1a, 0xd4,
|
|
||||||
0x21, 0xe2, 0xdd, 0x33, 0xdf, 0xb1, 0xdd, 0xdc, 0x01, 0x22, 0x18, 0xce,
|
|
||||||
0xa1, 0xd8, 0xcb, 0x67, 0xd5, 0x38, 0x4a, 0xbc, 0xd5, 0x81, 0x3d, 0x03,
|
|
||||||
0x98, 0x35, 0x60, 0x41, 0x85, 0x0c, 0x1d, 0xe7, 0x76, 0xf8, 0x11, 0x52,
|
|
||||||
0x76, 0xf6, 0x06, 0x16, 0x02, 0x45, 0xc8, 0xd8, 0x2f, 0x5e, 0x57, 0xbc,
|
|
||||||
0x3b, 0x89, 0x97, 0x09, 0x3e, 0x03, 0x34, 0x1a, 0x9d, 0x37, 0x87, 0x48,
|
|
||||||
0x0a, 0xe0, 0xa7, 0x4f, 0x8c, 0x3a, 0xa2, 0xaf, 0xfd, 0x7b, 0x80, 0xcf,
|
|
||||||
0xe5, 0x18, 0x61, 0x68, 0xba, 0x61, 0x8b, 0x09, 0xaa, 0xa3, 0x0c, 0x47,
|
|
||||||
0x3c, 0x43, 0x03, 0xac, 0xa3, 0x2e, 0x5e, 0x72, 0x0c, 0x80, 0x19, 0x61,
|
|
||||||
0xe6, 0x6e, 0x0e, 0xd9, 0xe8, 0xe8, 0xaf, 0x11, 0x9b, 0x4a, 0x73, 0x7a,
|
|
||||||
0x61, 0x66, 0xf0, 0x54, 0x1d, 0x18, 0xc8, 0x23, 0x36, 0xbf, 0xb5, 0xf4,
|
|
||||||
0x86, 0x54, 0xed, 0xb5, 0x91, 0xee, 0xb8, 0xbc, 0xde, 0xc3, 0x87, 0x9b,
|
|
||||||
0x2f, 0x81, 0xf2, 0xee, 0xa3, 0xec, 0x02
|
|
Binary file not shown.
Before Width: | Height: | Size: 12 KiB |
|
@ -1,90 +0,0 @@
|
||||||
/**
|
|
||||||
* \file zstd.c
|
|
||||||
* Single-file Zstandard library.
|
|
||||||
*
|
|
||||||
* Generate using:
|
|
||||||
* \code
|
|
||||||
* python combine.py -r ../../lib -x legacy/zstd_legacy.h -o zstd.c zstd-in.c
|
|
||||||
* \endcode
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under both the BSD-style license (found in the
|
|
||||||
* LICENSE file in the root directory of this source tree) and the GPLv2 (found
|
|
||||||
* in the COPYING file in the root directory of this source tree).
|
|
||||||
* You may select, at your option, one of the above-listed licenses.
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* Settings to bake for the single library file.
|
|
||||||
*
|
|
||||||
* Note: It's important that none of these affects 'zstd.h' (only the
|
|
||||||
* implementation files we're amalgamating).
|
|
||||||
*
|
|
||||||
* Note: MEM_MODULE stops xxhash redefining BYTE, U16, etc., which are also
|
|
||||||
* defined in mem.h (breaking C99 compatibility).
|
|
||||||
*
|
|
||||||
* Note: the undefs for xxHash allow Zstd's implementation to coincide with
|
|
||||||
* standalone xxHash usage (with global defines).
|
|
||||||
*
|
|
||||||
* Note: if you enable ZSTD_LEGACY_SUPPORT the combine.py script will need
|
|
||||||
* re-running without the "-x legacy/zstd_legacy.h" option (it excludes the
|
|
||||||
* legacy support at the source level).
|
|
||||||
*
|
|
||||||
* Note: multithreading is enabled for all platforms apart from Emscripten.
|
|
||||||
*/
|
|
||||||
#define DEBUGLEVEL 0
|
|
||||||
#define MEM_MODULE
|
|
||||||
#undef XXH_NAMESPACE
|
|
||||||
#define XXH_NAMESPACE ZSTD_
|
|
||||||
#undef XXH_PRIVATE_API
|
|
||||||
#define XXH_PRIVATE_API
|
|
||||||
#undef XXH_INLINE_ALL
|
|
||||||
#define XXH_INLINE_ALL
|
|
||||||
#define ZSTD_LEGACY_SUPPORT 0
|
|
||||||
#ifndef __EMSCRIPTEN__
|
|
||||||
#define ZSTD_MULTITHREAD
|
|
||||||
#endif
|
|
||||||
#define ZSTD_TRACE 0
|
|
||||||
/* TODO: Can't amalgamate ASM function */
|
|
||||||
#define ZSTD_DISABLE_ASM 1
|
|
||||||
|
|
||||||
/* Include zstd_deps.h first with all the options we need enabled. */
|
|
||||||
#define ZSTD_DEPS_NEED_MALLOC
|
|
||||||
#define ZSTD_DEPS_NEED_MATH64
|
|
||||||
#include "common/zstd_deps.h"
|
|
||||||
|
|
||||||
#include "common/debug.c"
|
|
||||||
#include "common/entropy_common.c"
|
|
||||||
#include "common/error_private.c"
|
|
||||||
#include "common/fse_decompress.c"
|
|
||||||
#include "common/threading.c"
|
|
||||||
#include "common/pool.c"
|
|
||||||
#include "common/zstd_common.c"
|
|
||||||
|
|
||||||
#include "compress/fse_compress.c"
|
|
||||||
#include "compress/hist.c"
|
|
||||||
#include "compress/huf_compress.c"
|
|
||||||
#include "compress/zstd_compress_literals.c"
|
|
||||||
#include "compress/zstd_compress_sequences.c"
|
|
||||||
#include "compress/zstd_compress_superblock.c"
|
|
||||||
#include "compress/zstd_compress.c"
|
|
||||||
#include "compress/zstd_double_fast.c"
|
|
||||||
#include "compress/zstd_fast.c"
|
|
||||||
#include "compress/zstd_lazy.c"
|
|
||||||
#include "compress/zstd_ldm.c"
|
|
||||||
#include "compress/zstd_opt.c"
|
|
||||||
#ifdef ZSTD_MULTITHREAD
|
|
||||||
#include "compress/zstdmt_compress.c"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "decompress/huf_decompress.c"
|
|
||||||
#include "decompress/zstd_ddict.c"
|
|
||||||
#include "decompress/zstd_decompress.c"
|
|
||||||
#include "decompress/zstd_decompress_block.c"
|
|
||||||
|
|
||||||
#include "dictBuilder/cover.c"
|
|
||||||
#include "dictBuilder/divsufsort.c"
|
|
||||||
#include "dictBuilder/fastcover.c"
|
|
||||||
#include "dictBuilder/zdict.c"
|
|
|
@ -1,62 +0,0 @@
|
||||||
/**
|
|
||||||
* \file zstddeclib.c
|
|
||||||
* Single-file Zstandard decompressor.
|
|
||||||
*
|
|
||||||
* Generate using:
|
|
||||||
* \code
|
|
||||||
* python combine.py -r ../../lib -x legacy/zstd_legacy.h -o zstddeclib.c zstddeclib-in.c
|
|
||||||
* \endcode
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under both the BSD-style license (found in the
|
|
||||||
* LICENSE file in the root directory of this source tree) and the GPLv2 (found
|
|
||||||
* in the COPYING file in the root directory of this source tree).
|
|
||||||
* You may select, at your option, one of the above-listed licenses.
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* Settings to bake for the standalone decompressor.
|
|
||||||
*
|
|
||||||
* Note: It's important that none of these affects 'zstd.h' (only the
|
|
||||||
* implementation files we're amalgamating).
|
|
||||||
*
|
|
||||||
* Note: MEM_MODULE stops xxhash redefining BYTE, U16, etc., which are also
|
|
||||||
* defined in mem.h (breaking C99 compatibility).
|
|
||||||
*
|
|
||||||
* Note: the undefs for xxHash allow Zstd's implementation to coincide with
|
|
||||||
* standalone xxHash usage (with global defines).
|
|
||||||
*
|
|
||||||
* Note: if you enable ZSTD_LEGACY_SUPPORT the combine.py script will need
|
|
||||||
* re-running without the "-x legacy/zstd_legacy.h" option (it excludes the
|
|
||||||
* legacy support at the source level).
|
|
||||||
*/
|
|
||||||
#define DEBUGLEVEL 0
|
|
||||||
#define MEM_MODULE
|
|
||||||
#undef XXH_NAMESPACE
|
|
||||||
#define XXH_NAMESPACE ZSTD_
|
|
||||||
#undef XXH_PRIVATE_API
|
|
||||||
#define XXH_PRIVATE_API
|
|
||||||
#undef XXH_INLINE_ALL
|
|
||||||
#define XXH_INLINE_ALL
|
|
||||||
#define ZSTD_LEGACY_SUPPORT 0
|
|
||||||
#define ZSTD_STRIP_ERROR_STRINGS
|
|
||||||
#define ZSTD_TRACE 0
|
|
||||||
/* TODO: Can't amalgamate ASM function */
|
|
||||||
#define ZSTD_DISABLE_ASM 1
|
|
||||||
|
|
||||||
/* Include zstd_deps.h first with all the options we need enabled. */
|
|
||||||
#define ZSTD_DEPS_NEED_MALLOC
|
|
||||||
#include "common/zstd_deps.h"
|
|
||||||
|
|
||||||
#include "common/debug.c"
|
|
||||||
#include "common/entropy_common.c"
|
|
||||||
#include "common/error_private.c"
|
|
||||||
#include "common/fse_decompress.c"
|
|
||||||
#include "common/zstd_common.c"
|
|
||||||
|
|
||||||
#include "decompress/huf_decompress.c"
|
|
||||||
#include "decompress/zstd_ddict.c"
|
|
||||||
#include "decompress/zstd_decompress.c"
|
|
||||||
#include "decompress/zstd_decompress_block.c"
|
|
|
@ -1,20 +0,0 @@
|
||||||
@ECHO OFF
|
|
||||||
MKDIR bin\dll bin\static bin\example bin\include
|
|
||||||
COPY tests\fullbench.c bin\example\
|
|
||||||
COPY programs\datagen.c bin\example\
|
|
||||||
COPY programs\datagen.h bin\example\
|
|
||||||
COPY programs\util.h bin\example\
|
|
||||||
COPY programs\platform.h bin\example\
|
|
||||||
COPY lib\common\mem.h bin\example\
|
|
||||||
COPY lib\common\zstd_internal.h bin\example\
|
|
||||||
COPY lib\common\error_private.h bin\example\
|
|
||||||
COPY lib\common\xxhash.h bin\example\
|
|
||||||
COPY lib\libzstd.a bin\static\libzstd_static.lib
|
|
||||||
COPY lib\dll\libzstd.* bin\dll\
|
|
||||||
COPY lib\dll\example\Makefile bin\example\
|
|
||||||
COPY lib\dll\example\fullbench-dll.* bin\example\
|
|
||||||
COPY lib\dll\example\README.md bin\
|
|
||||||
COPY lib\zstd.h bin\include\
|
|
||||||
COPY lib\common\zstd_errors.h bin\include\
|
|
||||||
COPY lib\dictBuilder\zdict.h bin\include\
|
|
||||||
COPY programs\zstd.exe bin\zstd.exe
|
|
|
@ -1,901 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under both the BSD-style license (found in the
|
|
||||||
* LICENSE file in the root directory of this source tree) and the GPLv2 (found
|
|
||||||
* in the COPYING file in the root directory of this source tree).
|
|
||||||
* You may select, at your option, one of the above-listed licenses.
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
/* **************************************
|
|
||||||
* Tuning parameters
|
|
||||||
****************************************/
|
|
||||||
#ifndef BMK_TIMETEST_DEFAULT_S /* default minimum time per test */
|
|
||||||
# define BMK_TIMETEST_DEFAULT_S 3
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/* *************************************
|
|
||||||
* Includes
|
|
||||||
***************************************/
|
|
||||||
#include "platform.h" /* Large Files support */
|
|
||||||
#include "util.h" /* UTIL_getFileSize, UTIL_sleep */
|
|
||||||
#include <stdlib.h> /* malloc, free */
|
|
||||||
#include <string.h> /* memset, strerror */
|
|
||||||
#include <stdio.h> /* fprintf, fopen */
|
|
||||||
#include <errno.h>
|
|
||||||
#include <assert.h> /* assert */
|
|
||||||
|
|
||||||
#include "timefn.h" /* UTIL_time_t */
|
|
||||||
#include "benchfn.h"
|
|
||||||
#include "../lib/common/mem.h"
|
|
||||||
#ifndef ZSTD_STATIC_LINKING_ONLY
|
|
||||||
#define ZSTD_STATIC_LINKING_ONLY
|
|
||||||
#endif
|
|
||||||
#include "../lib/zstd.h"
|
|
||||||
#include "datagen.h" /* RDG_genBuffer */
|
|
||||||
#ifndef XXH_INLINE_ALL
|
|
||||||
#define XXH_INLINE_ALL
|
|
||||||
#endif
|
|
||||||
#include "../lib/common/xxhash.h"
|
|
||||||
#include "benchzstd.h"
|
|
||||||
#include "../lib/zstd_errors.h"
|
|
||||||
|
|
||||||
|
|
||||||
/* *************************************
|
|
||||||
* Constants
|
|
||||||
***************************************/
|
|
||||||
#ifndef ZSTD_GIT_COMMIT
|
|
||||||
# define ZSTD_GIT_COMMIT_STRING ""
|
|
||||||
#else
|
|
||||||
# define ZSTD_GIT_COMMIT_STRING ZSTD_EXPAND_AND_QUOTE(ZSTD_GIT_COMMIT)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define TIMELOOP_MICROSEC (1*1000000ULL) /* 1 second */
|
|
||||||
#define TIMELOOP_NANOSEC (1*1000000000ULL) /* 1 second */
|
|
||||||
#define ACTIVEPERIOD_MICROSEC (70*TIMELOOP_MICROSEC) /* 70 seconds */
|
|
||||||
#define COOLPERIOD_SEC 10
|
|
||||||
|
|
||||||
#define KB *(1 <<10)
|
|
||||||
#define MB *(1 <<20)
|
|
||||||
#define GB *(1U<<30)
|
|
||||||
|
|
||||||
#define BMK_RUNTEST_DEFAULT_MS 1000
|
|
||||||
|
|
||||||
static const size_t maxMemory = (sizeof(size_t)==4) ?
|
|
||||||
/* 32-bit */ (2 GB - 64 MB) :
|
|
||||||
/* 64-bit */ (size_t)(1ULL << ((sizeof(size_t)*8)-31));
|
|
||||||
|
|
||||||
|
|
||||||
/* *************************************
|
|
||||||
* console display
|
|
||||||
***************************************/
|
|
||||||
#define DISPLAY(...) { fprintf(stderr, __VA_ARGS__); fflush(NULL); }
|
|
||||||
#define DISPLAYLEVEL(l, ...) if (displayLevel>=l) { DISPLAY(__VA_ARGS__); }
|
|
||||||
/* 0 : no display; 1: errors; 2 : + result + interaction + warnings; 3 : + progression; 4 : + information */
|
|
||||||
#define OUTPUT(...) { fprintf(stdout, __VA_ARGS__); fflush(NULL); }
|
|
||||||
#define OUTPUTLEVEL(l, ...) if (displayLevel>=l) { OUTPUT(__VA_ARGS__); }
|
|
||||||
|
|
||||||
|
|
||||||
/* *************************************
|
|
||||||
* Exceptions
|
|
||||||
***************************************/
|
|
||||||
#ifndef DEBUG
|
|
||||||
# define DEBUG 0
|
|
||||||
#endif
|
|
||||||
#define DEBUGOUTPUT(...) { if (DEBUG) DISPLAY(__VA_ARGS__); }
|
|
||||||
|
|
||||||
#define RETURN_ERROR_INT(errorNum, ...) { \
|
|
||||||
DEBUGOUTPUT("%s: %i: \n", __FILE__, __LINE__); \
|
|
||||||
DISPLAYLEVEL(1, "Error %i : ", errorNum); \
|
|
||||||
DISPLAYLEVEL(1, __VA_ARGS__); \
|
|
||||||
DISPLAYLEVEL(1, " \n"); \
|
|
||||||
return errorNum; \
|
|
||||||
}
|
|
||||||
|
|
||||||
#define CHECK_Z(zf) { \
|
|
||||||
size_t const zerr = zf; \
|
|
||||||
if (ZSTD_isError(zerr)) { \
|
|
||||||
DEBUGOUTPUT("%s: %i: \n", __FILE__, __LINE__); \
|
|
||||||
DISPLAY("Error : "); \
|
|
||||||
DISPLAY("%s failed : %s", \
|
|
||||||
#zf, ZSTD_getErrorName(zerr)); \
|
|
||||||
DISPLAY(" \n"); \
|
|
||||||
exit(1); \
|
|
||||||
} \
|
|
||||||
}
|
|
||||||
|
|
||||||
#define RETURN_ERROR(errorNum, retType, ...) { \
|
|
||||||
retType r; \
|
|
||||||
memset(&r, 0, sizeof(retType)); \
|
|
||||||
DEBUGOUTPUT("%s: %i: \n", __FILE__, __LINE__); \
|
|
||||||
DISPLAYLEVEL(1, "Error %i : ", errorNum); \
|
|
||||||
DISPLAYLEVEL(1, __VA_ARGS__); \
|
|
||||||
DISPLAYLEVEL(1, " \n"); \
|
|
||||||
r.tag = errorNum; \
|
|
||||||
return r; \
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* *************************************
|
|
||||||
* Benchmark Parameters
|
|
||||||
***************************************/
|
|
||||||
|
|
||||||
BMK_advancedParams_t BMK_initAdvancedParams(void) {
|
|
||||||
BMK_advancedParams_t const res = {
|
|
||||||
BMK_both, /* mode */
|
|
||||||
BMK_TIMETEST_DEFAULT_S, /* nbSeconds */
|
|
||||||
0, /* blockSize */
|
|
||||||
0, /* nbWorkers */
|
|
||||||
0, /* realTime */
|
|
||||||
0, /* additionalParam */
|
|
||||||
0, /* ldmFlag */
|
|
||||||
0, /* ldmMinMatch */
|
|
||||||
0, /* ldmHashLog */
|
|
||||||
0, /* ldmBuckSizeLog */
|
|
||||||
0, /* ldmHashRateLog */
|
|
||||||
ZSTD_ps_auto, /* literalCompressionMode */
|
|
||||||
0 /* useRowMatchFinder */
|
|
||||||
};
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* ********************************************************
|
|
||||||
* Bench functions
|
|
||||||
**********************************************************/
|
|
||||||
typedef struct {
|
|
||||||
const void* srcPtr;
|
|
||||||
size_t srcSize;
|
|
||||||
void* cPtr;
|
|
||||||
size_t cRoom;
|
|
||||||
size_t cSize;
|
|
||||||
void* resPtr;
|
|
||||||
size_t resSize;
|
|
||||||
} blockParam_t;
|
|
||||||
|
|
||||||
#undef MIN
|
|
||||||
#undef MAX
|
|
||||||
#define MIN(a,b) ((a) < (b) ? (a) : (b))
|
|
||||||
#define MAX(a,b) ((a) > (b) ? (a) : (b))
|
|
||||||
|
|
||||||
static void
|
|
||||||
BMK_initCCtx(ZSTD_CCtx* ctx,
|
|
||||||
const void* dictBuffer, size_t dictBufferSize,
|
|
||||||
int cLevel,
|
|
||||||
const ZSTD_compressionParameters* comprParams,
|
|
||||||
const BMK_advancedParams_t* adv)
|
|
||||||
{
|
|
||||||
ZSTD_CCtx_reset(ctx, ZSTD_reset_session_and_parameters);
|
|
||||||
if (adv->nbWorkers==1) {
|
|
||||||
CHECK_Z(ZSTD_CCtx_setParameter(ctx, ZSTD_c_nbWorkers, 0));
|
|
||||||
} else {
|
|
||||||
CHECK_Z(ZSTD_CCtx_setParameter(ctx, ZSTD_c_nbWorkers, adv->nbWorkers));
|
|
||||||
}
|
|
||||||
CHECK_Z(ZSTD_CCtx_setParameter(ctx, ZSTD_c_compressionLevel, cLevel));
|
|
||||||
CHECK_Z(ZSTD_CCtx_setParameter(ctx, ZSTD_c_useRowMatchFinder, adv->useRowMatchFinder));
|
|
||||||
CHECK_Z(ZSTD_CCtx_setParameter(ctx, ZSTD_c_enableLongDistanceMatching, adv->ldmFlag));
|
|
||||||
CHECK_Z(ZSTD_CCtx_setParameter(ctx, ZSTD_c_ldmMinMatch, adv->ldmMinMatch));
|
|
||||||
CHECK_Z(ZSTD_CCtx_setParameter(ctx, ZSTD_c_ldmHashLog, adv->ldmHashLog));
|
|
||||||
CHECK_Z(ZSTD_CCtx_setParameter(ctx, ZSTD_c_ldmBucketSizeLog, adv->ldmBucketSizeLog));
|
|
||||||
CHECK_Z(ZSTD_CCtx_setParameter(ctx, ZSTD_c_ldmHashRateLog, adv->ldmHashRateLog));
|
|
||||||
CHECK_Z(ZSTD_CCtx_setParameter(ctx, ZSTD_c_windowLog, (int)comprParams->windowLog));
|
|
||||||
CHECK_Z(ZSTD_CCtx_setParameter(ctx, ZSTD_c_hashLog, (int)comprParams->hashLog));
|
|
||||||
CHECK_Z(ZSTD_CCtx_setParameter(ctx, ZSTD_c_chainLog, (int)comprParams->chainLog));
|
|
||||||
CHECK_Z(ZSTD_CCtx_setParameter(ctx, ZSTD_c_searchLog, (int)comprParams->searchLog));
|
|
||||||
CHECK_Z(ZSTD_CCtx_setParameter(ctx, ZSTD_c_minMatch, (int)comprParams->minMatch));
|
|
||||||
CHECK_Z(ZSTD_CCtx_setParameter(ctx, ZSTD_c_targetLength, (int)comprParams->targetLength));
|
|
||||||
CHECK_Z(ZSTD_CCtx_setParameter(ctx, ZSTD_c_literalCompressionMode, (int)adv->literalCompressionMode));
|
|
||||||
CHECK_Z(ZSTD_CCtx_setParameter(ctx, ZSTD_c_strategy, (int)comprParams->strategy));
|
|
||||||
CHECK_Z(ZSTD_CCtx_loadDictionary(ctx, dictBuffer, dictBufferSize));
|
|
||||||
}
|
|
||||||
|
|
||||||
static void BMK_initDCtx(ZSTD_DCtx* dctx,
|
|
||||||
const void* dictBuffer, size_t dictBufferSize) {
|
|
||||||
CHECK_Z(ZSTD_DCtx_reset(dctx, ZSTD_reset_session_and_parameters));
|
|
||||||
CHECK_Z(ZSTD_DCtx_loadDictionary(dctx, dictBuffer, dictBufferSize));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
ZSTD_CCtx* cctx;
|
|
||||||
const void* dictBuffer;
|
|
||||||
size_t dictBufferSize;
|
|
||||||
int cLevel;
|
|
||||||
const ZSTD_compressionParameters* comprParams;
|
|
||||||
const BMK_advancedParams_t* adv;
|
|
||||||
} BMK_initCCtxArgs;
|
|
||||||
|
|
||||||
static size_t local_initCCtx(void* payload) {
|
|
||||||
BMK_initCCtxArgs* ag = (BMK_initCCtxArgs*)payload;
|
|
||||||
BMK_initCCtx(ag->cctx, ag->dictBuffer, ag->dictBufferSize, ag->cLevel, ag->comprParams, ag->adv);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
ZSTD_DCtx* dctx;
|
|
||||||
const void* dictBuffer;
|
|
||||||
size_t dictBufferSize;
|
|
||||||
} BMK_initDCtxArgs;
|
|
||||||
|
|
||||||
static size_t local_initDCtx(void* payload) {
|
|
||||||
BMK_initDCtxArgs* ag = (BMK_initDCtxArgs*)payload;
|
|
||||||
BMK_initDCtx(ag->dctx, ag->dictBuffer, ag->dictBufferSize);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* `addArgs` is the context */
|
|
||||||
static size_t local_defaultCompress(
|
|
||||||
const void* srcBuffer, size_t srcSize,
|
|
||||||
void* dstBuffer, size_t dstSize,
|
|
||||||
void* addArgs)
|
|
||||||
{
|
|
||||||
ZSTD_CCtx* const cctx = (ZSTD_CCtx*)addArgs;
|
|
||||||
return ZSTD_compress2(cctx, dstBuffer, dstSize, srcBuffer, srcSize);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* `addArgs` is the context */
|
|
||||||
static size_t local_defaultDecompress(
|
|
||||||
const void* srcBuffer, size_t srcSize,
|
|
||||||
void* dstBuffer, size_t dstCapacity,
|
|
||||||
void* addArgs)
|
|
||||||
{
|
|
||||||
size_t moreToFlush = 1;
|
|
||||||
ZSTD_DCtx* const dctx = (ZSTD_DCtx*)addArgs;
|
|
||||||
ZSTD_inBuffer in;
|
|
||||||
ZSTD_outBuffer out;
|
|
||||||
in.src = srcBuffer; in.size = srcSize; in.pos = 0;
|
|
||||||
out.dst = dstBuffer; out.size = dstCapacity; out.pos = 0;
|
|
||||||
while (moreToFlush) {
|
|
||||||
if(out.pos == out.size) {
|
|
||||||
return (size_t)-ZSTD_error_dstSize_tooSmall;
|
|
||||||
}
|
|
||||||
moreToFlush = ZSTD_decompressStream(dctx, &out, &in);
|
|
||||||
if (ZSTD_isError(moreToFlush)) {
|
|
||||||
return moreToFlush;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return out.pos;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* ================================================================= */
|
|
||||||
/* Benchmark Zstandard, mem-to-mem scenarios */
|
|
||||||
/* ================================================================= */
|
|
||||||
|
|
||||||
int BMK_isSuccessful_benchOutcome(BMK_benchOutcome_t outcome)
|
|
||||||
{
|
|
||||||
return outcome.tag == 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
BMK_benchResult_t BMK_extract_benchResult(BMK_benchOutcome_t outcome)
|
|
||||||
{
|
|
||||||
assert(outcome.tag == 0);
|
|
||||||
return outcome.internal_never_use_directly;
|
|
||||||
}
|
|
||||||
|
|
||||||
static BMK_benchOutcome_t BMK_benchOutcome_error(void)
|
|
||||||
{
|
|
||||||
BMK_benchOutcome_t b;
|
|
||||||
memset(&b, 0, sizeof(b));
|
|
||||||
b.tag = 1;
|
|
||||||
return b;
|
|
||||||
}
|
|
||||||
|
|
||||||
static BMK_benchOutcome_t BMK_benchOutcome_setValidResult(BMK_benchResult_t result)
|
|
||||||
{
|
|
||||||
BMK_benchOutcome_t b;
|
|
||||||
b.tag = 0;
|
|
||||||
b.internal_never_use_directly = result;
|
|
||||||
return b;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* benchMem with no allocation */
|
|
||||||
static BMK_benchOutcome_t
|
|
||||||
BMK_benchMemAdvancedNoAlloc(
|
|
||||||
const void** srcPtrs, size_t* srcSizes,
|
|
||||||
void** cPtrs, size_t* cCapacities, size_t* cSizes,
|
|
||||||
void** resPtrs, size_t* resSizes,
|
|
||||||
void** resultBufferPtr, void* compressedBuffer,
|
|
||||||
size_t maxCompressedSize,
|
|
||||||
BMK_timedFnState_t* timeStateCompress,
|
|
||||||
BMK_timedFnState_t* timeStateDecompress,
|
|
||||||
|
|
||||||
const void* srcBuffer, size_t srcSize,
|
|
||||||
const size_t* fileSizes, unsigned nbFiles,
|
|
||||||
const int cLevel,
|
|
||||||
const ZSTD_compressionParameters* comprParams,
|
|
||||||
const void* dictBuffer, size_t dictBufferSize,
|
|
||||||
ZSTD_CCtx* cctx, ZSTD_DCtx* dctx,
|
|
||||||
int displayLevel, const char* displayName,
|
|
||||||
const BMK_advancedParams_t* adv)
|
|
||||||
{
|
|
||||||
size_t const blockSize = ((adv->blockSize>=32 && (adv->mode != BMK_decodeOnly)) ? adv->blockSize : srcSize) + (!srcSize); /* avoid div by 0 */
|
|
||||||
BMK_benchResult_t benchResult;
|
|
||||||
size_t const loadedCompressedSize = srcSize;
|
|
||||||
size_t cSize = 0;
|
|
||||||
double ratio = 0.;
|
|
||||||
U32 nbBlocks;
|
|
||||||
|
|
||||||
assert(cctx != NULL); assert(dctx != NULL);
|
|
||||||
|
|
||||||
/* init */
|
|
||||||
memset(&benchResult, 0, sizeof(benchResult));
|
|
||||||
if (strlen(displayName)>17) displayName += strlen(displayName) - 17; /* display last 17 characters */
|
|
||||||
if (adv->mode == BMK_decodeOnly) {
|
|
||||||
/* benchmark only decompression : source must be already compressed */
|
|
||||||
const char* srcPtr = (const char*)srcBuffer;
|
|
||||||
U64 totalDSize64 = 0;
|
|
||||||
U32 fileNb;
|
|
||||||
for (fileNb=0; fileNb<nbFiles; fileNb++) {
|
|
||||||
U64 const fSize64 = ZSTD_findDecompressedSize(srcPtr, fileSizes[fileNb]);
|
|
||||||
if (fSize64 == ZSTD_CONTENTSIZE_UNKNOWN) {
|
|
||||||
RETURN_ERROR(32, BMK_benchOutcome_t, "Decompressed size cannot be determined: cannot benchmark");
|
|
||||||
}
|
|
||||||
if (fSize64 == ZSTD_CONTENTSIZE_ERROR) {
|
|
||||||
RETURN_ERROR(32, BMK_benchOutcome_t, "Error while trying to assess decompressed size: data may be invalid");
|
|
||||||
}
|
|
||||||
totalDSize64 += fSize64;
|
|
||||||
srcPtr += fileSizes[fileNb];
|
|
||||||
}
|
|
||||||
{ size_t const decodedSize = (size_t)totalDSize64;
|
|
||||||
assert((U64)decodedSize == totalDSize64); /* check overflow */
|
|
||||||
free(*resultBufferPtr);
|
|
||||||
if (totalDSize64 > decodedSize) { /* size_t overflow */
|
|
||||||
RETURN_ERROR(32, BMK_benchOutcome_t, "decompressed size is too large for local system");
|
|
||||||
}
|
|
||||||
*resultBufferPtr = malloc(decodedSize);
|
|
||||||
if (!(*resultBufferPtr)) {
|
|
||||||
RETURN_ERROR(33, BMK_benchOutcome_t, "allocation error: not enough memory");
|
|
||||||
}
|
|
||||||
cSize = srcSize;
|
|
||||||
srcSize = decodedSize;
|
|
||||||
ratio = (double)srcSize / (double)cSize;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Init data blocks */
|
|
||||||
{ const char* srcPtr = (const char*)srcBuffer;
|
|
||||||
char* cPtr = (char*)compressedBuffer;
|
|
||||||
char* resPtr = (char*)(*resultBufferPtr);
|
|
||||||
U32 fileNb;
|
|
||||||
for (nbBlocks=0, fileNb=0; fileNb<nbFiles; fileNb++) {
|
|
||||||
size_t remaining = fileSizes[fileNb];
|
|
||||||
U32 const nbBlocksforThisFile = (adv->mode == BMK_decodeOnly) ? 1 : (U32)((remaining + (blockSize-1)) / blockSize);
|
|
||||||
U32 const blockEnd = nbBlocks + nbBlocksforThisFile;
|
|
||||||
for ( ; nbBlocks<blockEnd; nbBlocks++) {
|
|
||||||
size_t const thisBlockSize = MIN(remaining, blockSize);
|
|
||||||
srcPtrs[nbBlocks] = srcPtr;
|
|
||||||
srcSizes[nbBlocks] = thisBlockSize;
|
|
||||||
cPtrs[nbBlocks] = cPtr;
|
|
||||||
cCapacities[nbBlocks] = (adv->mode == BMK_decodeOnly) ? thisBlockSize : ZSTD_compressBound(thisBlockSize);
|
|
||||||
resPtrs[nbBlocks] = resPtr;
|
|
||||||
resSizes[nbBlocks] = (adv->mode == BMK_decodeOnly) ? (size_t) ZSTD_findDecompressedSize(srcPtr, thisBlockSize) : thisBlockSize;
|
|
||||||
srcPtr += thisBlockSize;
|
|
||||||
cPtr += cCapacities[nbBlocks];
|
|
||||||
resPtr += thisBlockSize;
|
|
||||||
remaining -= thisBlockSize;
|
|
||||||
if (adv->mode == BMK_decodeOnly) {
|
|
||||||
cSizes[nbBlocks] = thisBlockSize;
|
|
||||||
benchResult.cSize = thisBlockSize;
|
|
||||||
} } } }
|
|
||||||
|
|
||||||
/* warming up `compressedBuffer` */
|
|
||||||
if (adv->mode == BMK_decodeOnly) {
|
|
||||||
memcpy(compressedBuffer, srcBuffer, loadedCompressedSize);
|
|
||||||
} else {
|
|
||||||
RDG_genBuffer(compressedBuffer, maxCompressedSize, 0.10, 0.50, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!UTIL_support_MT_measurements() && adv->nbWorkers > 1) {
|
|
||||||
OUTPUTLEVEL(2, "Warning : time measurements may be incorrect in multithreading mode... \n")
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Bench */
|
|
||||||
{ U64 const crcOrig = (adv->mode == BMK_decodeOnly) ? 0 : XXH64(srcBuffer, srcSize, 0);
|
|
||||||
# define NB_MARKS 4
|
|
||||||
const char* marks[NB_MARKS] = { " |", " /", " =", " \\" };
|
|
||||||
U32 markNb = 0;
|
|
||||||
int compressionCompleted = (adv->mode == BMK_decodeOnly);
|
|
||||||
int decompressionCompleted = (adv->mode == BMK_compressOnly);
|
|
||||||
BMK_benchParams_t cbp, dbp;
|
|
||||||
BMK_initCCtxArgs cctxprep;
|
|
||||||
BMK_initDCtxArgs dctxprep;
|
|
||||||
|
|
||||||
cbp.benchFn = local_defaultCompress; /* ZSTD_compress2 */
|
|
||||||
cbp.benchPayload = cctx;
|
|
||||||
cbp.initFn = local_initCCtx; /* BMK_initCCtx */
|
|
||||||
cbp.initPayload = &cctxprep;
|
|
||||||
cbp.errorFn = ZSTD_isError;
|
|
||||||
cbp.blockCount = nbBlocks;
|
|
||||||
cbp.srcBuffers = srcPtrs;
|
|
||||||
cbp.srcSizes = srcSizes;
|
|
||||||
cbp.dstBuffers = cPtrs;
|
|
||||||
cbp.dstCapacities = cCapacities;
|
|
||||||
cbp.blockResults = cSizes;
|
|
||||||
|
|
||||||
cctxprep.cctx = cctx;
|
|
||||||
cctxprep.dictBuffer = dictBuffer;
|
|
||||||
cctxprep.dictBufferSize = dictBufferSize;
|
|
||||||
cctxprep.cLevel = cLevel;
|
|
||||||
cctxprep.comprParams = comprParams;
|
|
||||||
cctxprep.adv = adv;
|
|
||||||
|
|
||||||
dbp.benchFn = local_defaultDecompress;
|
|
||||||
dbp.benchPayload = dctx;
|
|
||||||
dbp.initFn = local_initDCtx;
|
|
||||||
dbp.initPayload = &dctxprep;
|
|
||||||
dbp.errorFn = ZSTD_isError;
|
|
||||||
dbp.blockCount = nbBlocks;
|
|
||||||
dbp.srcBuffers = (const void* const *) cPtrs;
|
|
||||||
dbp.srcSizes = cSizes;
|
|
||||||
dbp.dstBuffers = resPtrs;
|
|
||||||
dbp.dstCapacities = resSizes;
|
|
||||||
dbp.blockResults = NULL;
|
|
||||||
|
|
||||||
dctxprep.dctx = dctx;
|
|
||||||
dctxprep.dictBuffer = dictBuffer;
|
|
||||||
dctxprep.dictBufferSize = dictBufferSize;
|
|
||||||
|
|
||||||
OUTPUTLEVEL(2, "\r%70s\r", ""); /* blank line */
|
|
||||||
assert(srcSize < UINT_MAX);
|
|
||||||
OUTPUTLEVEL(2, "%2s-%-17.17s :%10u -> \r", marks[markNb], displayName, (unsigned)srcSize);
|
|
||||||
|
|
||||||
while (!(compressionCompleted && decompressionCompleted)) {
|
|
||||||
if (!compressionCompleted) {
|
|
||||||
BMK_runOutcome_t const cOutcome = BMK_benchTimedFn( timeStateCompress, cbp);
|
|
||||||
|
|
||||||
if (!BMK_isSuccessful_runOutcome(cOutcome)) {
|
|
||||||
RETURN_ERROR(30, BMK_benchOutcome_t, "compression error");
|
|
||||||
}
|
|
||||||
|
|
||||||
{ BMK_runTime_t const cResult = BMK_extract_runTime(cOutcome);
|
|
||||||
cSize = cResult.sumOfReturn;
|
|
||||||
ratio = (double)srcSize / (double)cSize;
|
|
||||||
{ BMK_benchResult_t newResult;
|
|
||||||
newResult.cSpeed = (U64)((double)srcSize * TIMELOOP_NANOSEC / cResult.nanoSecPerRun);
|
|
||||||
benchResult.cSize = cSize;
|
|
||||||
if (newResult.cSpeed > benchResult.cSpeed)
|
|
||||||
benchResult.cSpeed = newResult.cSpeed;
|
|
||||||
} }
|
|
||||||
|
|
||||||
{ int const ratioAccuracy = (ratio < 10.) ? 3 : 2;
|
|
||||||
assert(cSize < UINT_MAX);
|
|
||||||
OUTPUTLEVEL(2, "%2s-%-17.17s :%10u ->%10u (x%5.*f), %6.*f MB/s \r",
|
|
||||||
marks[markNb], displayName,
|
|
||||||
(unsigned)srcSize, (unsigned)cSize,
|
|
||||||
ratioAccuracy, ratio,
|
|
||||||
benchResult.cSpeed < (10 * MB_UNIT) ? 2 : 1, (double)benchResult.cSpeed / MB_UNIT);
|
|
||||||
}
|
|
||||||
compressionCompleted = BMK_isCompleted_TimedFn(timeStateCompress);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!decompressionCompleted) {
|
|
||||||
BMK_runOutcome_t const dOutcome = BMK_benchTimedFn(timeStateDecompress, dbp);
|
|
||||||
|
|
||||||
if(!BMK_isSuccessful_runOutcome(dOutcome)) {
|
|
||||||
RETURN_ERROR(30, BMK_benchOutcome_t, "decompression error");
|
|
||||||
}
|
|
||||||
|
|
||||||
{ BMK_runTime_t const dResult = BMK_extract_runTime(dOutcome);
|
|
||||||
U64 const newDSpeed = (U64)((double)srcSize * TIMELOOP_NANOSEC / dResult.nanoSecPerRun);
|
|
||||||
if (newDSpeed > benchResult.dSpeed)
|
|
||||||
benchResult.dSpeed = newDSpeed;
|
|
||||||
}
|
|
||||||
|
|
||||||
{ int const ratioAccuracy = (ratio < 10.) ? 3 : 2;
|
|
||||||
OUTPUTLEVEL(2, "%2s-%-17.17s :%10u ->%10u (x%5.*f), %6.*f MB/s, %6.1f MB/s\r",
|
|
||||||
marks[markNb], displayName,
|
|
||||||
(unsigned)srcSize, (unsigned)cSize,
|
|
||||||
ratioAccuracy, ratio,
|
|
||||||
benchResult.cSpeed < (10 * MB_UNIT) ? 2 : 1, (double)benchResult.cSpeed / MB_UNIT,
|
|
||||||
(double)benchResult.dSpeed / MB_UNIT);
|
|
||||||
}
|
|
||||||
decompressionCompleted = BMK_isCompleted_TimedFn(timeStateDecompress);
|
|
||||||
}
|
|
||||||
markNb = (markNb+1) % NB_MARKS;
|
|
||||||
} /* while (!(compressionCompleted && decompressionCompleted)) */
|
|
||||||
|
|
||||||
/* CRC Checking */
|
|
||||||
{ const BYTE* resultBuffer = (const BYTE*)(*resultBufferPtr);
|
|
||||||
U64 const crcCheck = XXH64(resultBuffer, srcSize, 0);
|
|
||||||
if ((adv->mode == BMK_both) && (crcOrig!=crcCheck)) {
|
|
||||||
size_t u;
|
|
||||||
DISPLAY("!!! WARNING !!! %14s : Invalid Checksum : %x != %x \n",
|
|
||||||
displayName, (unsigned)crcOrig, (unsigned)crcCheck);
|
|
||||||
for (u=0; u<srcSize; u++) {
|
|
||||||
if (((const BYTE*)srcBuffer)[u] != resultBuffer[u]) {
|
|
||||||
unsigned segNb, bNb, pos;
|
|
||||||
size_t bacc = 0;
|
|
||||||
DISPLAY("Decoding error at pos %u ", (unsigned)u);
|
|
||||||
for (segNb = 0; segNb < nbBlocks; segNb++) {
|
|
||||||
if (bacc + srcSizes[segNb] > u) break;
|
|
||||||
bacc += srcSizes[segNb];
|
|
||||||
}
|
|
||||||
pos = (U32)(u - bacc);
|
|
||||||
bNb = pos / (128 KB);
|
|
||||||
DISPLAY("(sample %u, block %u, pos %u) \n", segNb, bNb, pos);
|
|
||||||
{ size_t const lowest = (u>5) ? 5 : u;
|
|
||||||
size_t n;
|
|
||||||
DISPLAY("origin: ");
|
|
||||||
for (n=lowest; n>0; n--)
|
|
||||||
DISPLAY("%02X ", ((const BYTE*)srcBuffer)[u-n]);
|
|
||||||
DISPLAY(" :%02X: ", ((const BYTE*)srcBuffer)[u]);
|
|
||||||
for (n=1; n<3; n++)
|
|
||||||
DISPLAY("%02X ", ((const BYTE*)srcBuffer)[u+n]);
|
|
||||||
DISPLAY(" \n");
|
|
||||||
DISPLAY("decode: ");
|
|
||||||
for (n=lowest; n>0; n--)
|
|
||||||
DISPLAY("%02X ", resultBuffer[u-n]);
|
|
||||||
DISPLAY(" :%02X: ", resultBuffer[u]);
|
|
||||||
for (n=1; n<3; n++)
|
|
||||||
DISPLAY("%02X ", resultBuffer[u+n]);
|
|
||||||
DISPLAY(" \n");
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (u==srcSize-1) { /* should never happen */
|
|
||||||
DISPLAY("no difference detected\n");
|
|
||||||
}
|
|
||||||
} /* for (u=0; u<srcSize; u++) */
|
|
||||||
} /* if ((adv->mode == BMK_both) && (crcOrig!=crcCheck)) */
|
|
||||||
} /* CRC Checking */
|
|
||||||
|
|
||||||
if (displayLevel == 1) { /* hidden display mode -q, used by python speed benchmark */
|
|
||||||
double const cSpeed = (double)benchResult.cSpeed / MB_UNIT;
|
|
||||||
double const dSpeed = (double)benchResult.dSpeed / MB_UNIT;
|
|
||||||
if (adv->additionalParam) {
|
|
||||||
OUTPUT("-%-3i%11i (%5.3f) %6.2f MB/s %6.1f MB/s %s (param=%d)\n", cLevel, (int)cSize, ratio, cSpeed, dSpeed, displayName, adv->additionalParam);
|
|
||||||
} else {
|
|
||||||
OUTPUT("-%-3i%11i (%5.3f) %6.2f MB/s %6.1f MB/s %s\n", cLevel, (int)cSize, ratio, cSpeed, dSpeed, displayName);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
OUTPUTLEVEL(2, "%2i#\n", cLevel);
|
|
||||||
} /* Bench */
|
|
||||||
|
|
||||||
benchResult.cMem = (1ULL << (comprParams->windowLog)) + ZSTD_sizeof_CCtx(cctx);
|
|
||||||
return BMK_benchOutcome_setValidResult(benchResult);
|
|
||||||
}
|
|
||||||
|
|
||||||
BMK_benchOutcome_t BMK_benchMemAdvanced(const void* srcBuffer, size_t srcSize,
|
|
||||||
void* dstBuffer, size_t dstCapacity,
|
|
||||||
const size_t* fileSizes, unsigned nbFiles,
|
|
||||||
int cLevel, const ZSTD_compressionParameters* comprParams,
|
|
||||||
const void* dictBuffer, size_t dictBufferSize,
|
|
||||||
int displayLevel, const char* displayName, const BMK_advancedParams_t* adv)
|
|
||||||
|
|
||||||
{
|
|
||||||
int const dstParamsError = !dstBuffer ^ !dstCapacity; /* must be both NULL or none */
|
|
||||||
|
|
||||||
size_t const blockSize = ((adv->blockSize>=32 && (adv->mode != BMK_decodeOnly)) ? adv->blockSize : srcSize) + (!srcSize) /* avoid div by 0 */ ;
|
|
||||||
U32 const maxNbBlocks = (U32) ((srcSize + (blockSize-1)) / blockSize) + nbFiles;
|
|
||||||
|
|
||||||
/* these are the blockTable parameters, just split up */
|
|
||||||
const void ** const srcPtrs = (const void**)malloc(maxNbBlocks * sizeof(void*));
|
|
||||||
size_t* const srcSizes = (size_t*)malloc(maxNbBlocks * sizeof(size_t));
|
|
||||||
|
|
||||||
|
|
||||||
void ** const cPtrs = (void**)malloc(maxNbBlocks * sizeof(void*));
|
|
||||||
size_t* const cSizes = (size_t*)malloc(maxNbBlocks * sizeof(size_t));
|
|
||||||
size_t* const cCapacities = (size_t*)malloc(maxNbBlocks * sizeof(size_t));
|
|
||||||
|
|
||||||
void ** const resPtrs = (void**)malloc(maxNbBlocks * sizeof(void*));
|
|
||||||
size_t* const resSizes = (size_t*)malloc(maxNbBlocks * sizeof(size_t));
|
|
||||||
|
|
||||||
BMK_timedFnState_t* timeStateCompress = BMK_createTimedFnState(adv->nbSeconds * 1000, BMK_RUNTEST_DEFAULT_MS);
|
|
||||||
BMK_timedFnState_t* timeStateDecompress = BMK_createTimedFnState(adv->nbSeconds * 1000, BMK_RUNTEST_DEFAULT_MS);
|
|
||||||
|
|
||||||
ZSTD_CCtx* const cctx = ZSTD_createCCtx();
|
|
||||||
ZSTD_DCtx* const dctx = ZSTD_createDCtx();
|
|
||||||
|
|
||||||
const size_t maxCompressedSize = dstCapacity ? dstCapacity : ZSTD_compressBound(srcSize) + (maxNbBlocks * 1024);
|
|
||||||
|
|
||||||
void* const internalDstBuffer = dstBuffer ? NULL : malloc(maxCompressedSize);
|
|
||||||
void* const compressedBuffer = dstBuffer ? dstBuffer : internalDstBuffer;
|
|
||||||
|
|
||||||
BMK_benchOutcome_t outcome = BMK_benchOutcome_error(); /* error by default */
|
|
||||||
|
|
||||||
void* resultBuffer = srcSize ? malloc(srcSize) : NULL;
|
|
||||||
|
|
||||||
int const allocationincomplete = !srcPtrs || !srcSizes || !cPtrs ||
|
|
||||||
!cSizes || !cCapacities || !resPtrs || !resSizes ||
|
|
||||||
!timeStateCompress || !timeStateDecompress ||
|
|
||||||
!cctx || !dctx ||
|
|
||||||
!compressedBuffer || !resultBuffer;
|
|
||||||
|
|
||||||
|
|
||||||
if (!allocationincomplete && !dstParamsError) {
|
|
||||||
outcome = BMK_benchMemAdvancedNoAlloc(srcPtrs, srcSizes,
|
|
||||||
cPtrs, cCapacities, cSizes,
|
|
||||||
resPtrs, resSizes,
|
|
||||||
&resultBuffer,
|
|
||||||
compressedBuffer, maxCompressedSize,
|
|
||||||
timeStateCompress, timeStateDecompress,
|
|
||||||
srcBuffer, srcSize,
|
|
||||||
fileSizes, nbFiles,
|
|
||||||
cLevel, comprParams,
|
|
||||||
dictBuffer, dictBufferSize,
|
|
||||||
cctx, dctx,
|
|
||||||
displayLevel, displayName, adv);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* clean up */
|
|
||||||
BMK_freeTimedFnState(timeStateCompress);
|
|
||||||
BMK_freeTimedFnState(timeStateDecompress);
|
|
||||||
|
|
||||||
ZSTD_freeCCtx(cctx);
|
|
||||||
ZSTD_freeDCtx(dctx);
|
|
||||||
|
|
||||||
free(internalDstBuffer);
|
|
||||||
free(resultBuffer);
|
|
||||||
|
|
||||||
free((void*)srcPtrs);
|
|
||||||
free(srcSizes);
|
|
||||||
free(cPtrs);
|
|
||||||
free(cSizes);
|
|
||||||
free(cCapacities);
|
|
||||||
free(resPtrs);
|
|
||||||
free(resSizes);
|
|
||||||
|
|
||||||
if(allocationincomplete) {
|
|
||||||
RETURN_ERROR(31, BMK_benchOutcome_t, "allocation error : not enough memory");
|
|
||||||
}
|
|
||||||
|
|
||||||
if(dstParamsError) {
|
|
||||||
RETURN_ERROR(32, BMK_benchOutcome_t, "Dst parameters not coherent");
|
|
||||||
}
|
|
||||||
return outcome;
|
|
||||||
}
|
|
||||||
|
|
||||||
BMK_benchOutcome_t BMK_benchMem(const void* srcBuffer, size_t srcSize,
|
|
||||||
const size_t* fileSizes, unsigned nbFiles,
|
|
||||||
int cLevel, const ZSTD_compressionParameters* comprParams,
|
|
||||||
const void* dictBuffer, size_t dictBufferSize,
|
|
||||||
int displayLevel, const char* displayName) {
|
|
||||||
|
|
||||||
BMK_advancedParams_t const adv = BMK_initAdvancedParams();
|
|
||||||
return BMK_benchMemAdvanced(srcBuffer, srcSize,
|
|
||||||
NULL, 0,
|
|
||||||
fileSizes, nbFiles,
|
|
||||||
cLevel, comprParams,
|
|
||||||
dictBuffer, dictBufferSize,
|
|
||||||
displayLevel, displayName, &adv);
|
|
||||||
}
|
|
||||||
|
|
||||||
static BMK_benchOutcome_t BMK_benchCLevel(const void* srcBuffer, size_t benchedSize,
|
|
||||||
const size_t* fileSizes, unsigned nbFiles,
|
|
||||||
int cLevel, const ZSTD_compressionParameters* comprParams,
|
|
||||||
const void* dictBuffer, size_t dictBufferSize,
|
|
||||||
int displayLevel, const char* displayName,
|
|
||||||
BMK_advancedParams_t const * const adv)
|
|
||||||
{
|
|
||||||
const char* pch = strrchr(displayName, '\\'); /* Windows */
|
|
||||||
if (!pch) pch = strrchr(displayName, '/'); /* Linux */
|
|
||||||
if (pch) displayName = pch+1;
|
|
||||||
|
|
||||||
if (adv->realTime) {
|
|
||||||
DISPLAYLEVEL(2, "Note : switching to real-time priority \n");
|
|
||||||
SET_REALTIME_PRIORITY;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (displayLevel == 1 && !adv->additionalParam) /* --quiet mode */
|
|
||||||
OUTPUT("bench %s %s: input %u bytes, %u seconds, %u KB blocks\n",
|
|
||||||
ZSTD_VERSION_STRING, ZSTD_GIT_COMMIT_STRING,
|
|
||||||
(unsigned)benchedSize, adv->nbSeconds, (unsigned)(adv->blockSize>>10));
|
|
||||||
|
|
||||||
return BMK_benchMemAdvanced(srcBuffer, benchedSize,
|
|
||||||
NULL, 0,
|
|
||||||
fileSizes, nbFiles,
|
|
||||||
cLevel, comprParams,
|
|
||||||
dictBuffer, dictBufferSize,
|
|
||||||
displayLevel, displayName, adv);
|
|
||||||
}
|
|
||||||
|
|
||||||
BMK_benchOutcome_t BMK_syntheticTest(int cLevel, double compressibility,
|
|
||||||
const ZSTD_compressionParameters* compressionParams,
|
|
||||||
int displayLevel, const BMK_advancedParams_t* adv)
|
|
||||||
{
|
|
||||||
char name[20] = {0};
|
|
||||||
size_t const benchedSize = 10000000;
|
|
||||||
void* srcBuffer;
|
|
||||||
BMK_benchOutcome_t res;
|
|
||||||
|
|
||||||
if (cLevel > ZSTD_maxCLevel()) {
|
|
||||||
RETURN_ERROR(15, BMK_benchOutcome_t, "Invalid Compression Level");
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Memory allocation */
|
|
||||||
srcBuffer = malloc(benchedSize);
|
|
||||||
if (!srcBuffer) RETURN_ERROR(21, BMK_benchOutcome_t, "not enough memory");
|
|
||||||
|
|
||||||
/* Fill input buffer */
|
|
||||||
RDG_genBuffer(srcBuffer, benchedSize, compressibility, 0.0, 0);
|
|
||||||
|
|
||||||
/* Bench */
|
|
||||||
snprintf (name, sizeof(name), "Synthetic %2u%%", (unsigned)(compressibility*100));
|
|
||||||
res = BMK_benchCLevel(srcBuffer, benchedSize,
|
|
||||||
&benchedSize /* ? */, 1 /* ? */,
|
|
||||||
cLevel, compressionParams,
|
|
||||||
NULL, 0, /* dictionary */
|
|
||||||
displayLevel, name, adv);
|
|
||||||
|
|
||||||
/* clean up */
|
|
||||||
free(srcBuffer);
|
|
||||||
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static size_t BMK_findMaxMem(U64 requiredMem)
|
|
||||||
{
|
|
||||||
size_t const step = 64 MB;
|
|
||||||
BYTE* testmem = NULL;
|
|
||||||
|
|
||||||
requiredMem = (((requiredMem >> 26) + 1) << 26);
|
|
||||||
requiredMem += step;
|
|
||||||
if (requiredMem > maxMemory) requiredMem = maxMemory;
|
|
||||||
|
|
||||||
do {
|
|
||||||
testmem = (BYTE*)malloc((size_t)requiredMem);
|
|
||||||
requiredMem -= step;
|
|
||||||
} while (!testmem && requiredMem > 0);
|
|
||||||
|
|
||||||
free(testmem);
|
|
||||||
return (size_t)(requiredMem);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*! BMK_loadFiles() :
|
|
||||||
* Loads `buffer` with content of files listed within `fileNamesTable`.
|
|
||||||
* At most, fills `buffer` entirely. */
|
|
||||||
static int BMK_loadFiles(void* buffer, size_t bufferSize,
|
|
||||||
size_t* fileSizes,
|
|
||||||
const char* const * fileNamesTable, unsigned nbFiles,
|
|
||||||
int displayLevel)
|
|
||||||
{
|
|
||||||
size_t pos = 0, totalSize = 0;
|
|
||||||
unsigned n;
|
|
||||||
for (n=0; n<nbFiles; n++) {
|
|
||||||
U64 fileSize = UTIL_getFileSize(fileNamesTable[n]); /* last file may be shortened */
|
|
||||||
if (UTIL_isDirectory(fileNamesTable[n])) {
|
|
||||||
DISPLAYLEVEL(2, "Ignoring %s directory... \n", fileNamesTable[n]);
|
|
||||||
fileSizes[n] = 0;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (fileSize == UTIL_FILESIZE_UNKNOWN) {
|
|
||||||
DISPLAYLEVEL(2, "Cannot evaluate size of %s, ignoring ... \n", fileNamesTable[n]);
|
|
||||||
fileSizes[n] = 0;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
{ FILE* const f = fopen(fileNamesTable[n], "rb");
|
|
||||||
if (f==NULL) RETURN_ERROR_INT(10, "impossible to open file %s", fileNamesTable[n]);
|
|
||||||
OUTPUTLEVEL(2, "Loading %s... \r", fileNamesTable[n]);
|
|
||||||
if (fileSize > bufferSize-pos) fileSize = bufferSize-pos, nbFiles=n; /* buffer too small - stop after this file */
|
|
||||||
{ size_t const readSize = fread(((char*)buffer)+pos, 1, (size_t)fileSize, f);
|
|
||||||
if (readSize != (size_t)fileSize) RETURN_ERROR_INT(11, "could not read %s", fileNamesTable[n]);
|
|
||||||
pos += readSize;
|
|
||||||
}
|
|
||||||
fileSizes[n] = (size_t)fileSize;
|
|
||||||
totalSize += (size_t)fileSize;
|
|
||||||
fclose(f);
|
|
||||||
} }
|
|
||||||
|
|
||||||
if (totalSize == 0) RETURN_ERROR_INT(12, "no data to bench");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
BMK_benchOutcome_t BMK_benchFilesAdvanced(
|
|
||||||
const char* const * fileNamesTable, unsigned nbFiles,
|
|
||||||
const char* dictFileName, int cLevel,
|
|
||||||
const ZSTD_compressionParameters* compressionParams,
|
|
||||||
int displayLevel, const BMK_advancedParams_t* adv)
|
|
||||||
{
|
|
||||||
void* srcBuffer = NULL;
|
|
||||||
size_t benchedSize;
|
|
||||||
void* dictBuffer = NULL;
|
|
||||||
size_t dictBufferSize = 0;
|
|
||||||
size_t* fileSizes = NULL;
|
|
||||||
BMK_benchOutcome_t res;
|
|
||||||
U64 const totalSizeToLoad = UTIL_getTotalFileSize(fileNamesTable, nbFiles);
|
|
||||||
|
|
||||||
if (!nbFiles) {
|
|
||||||
RETURN_ERROR(14, BMK_benchOutcome_t, "No Files to Benchmark");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (cLevel > ZSTD_maxCLevel()) {
|
|
||||||
RETURN_ERROR(15, BMK_benchOutcome_t, "Invalid Compression Level");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (totalSizeToLoad == UTIL_FILESIZE_UNKNOWN) {
|
|
||||||
RETURN_ERROR(9, BMK_benchOutcome_t, "Error loading files");
|
|
||||||
}
|
|
||||||
|
|
||||||
fileSizes = (size_t*)calloc(nbFiles, sizeof(size_t));
|
|
||||||
if (!fileSizes) RETURN_ERROR(12, BMK_benchOutcome_t, "not enough memory for fileSizes");
|
|
||||||
|
|
||||||
/* Load dictionary */
|
|
||||||
if (dictFileName != NULL) {
|
|
||||||
U64 const dictFileSize = UTIL_getFileSize(dictFileName);
|
|
||||||
if (dictFileSize == UTIL_FILESIZE_UNKNOWN) {
|
|
||||||
DISPLAYLEVEL(1, "error loading %s : %s \n", dictFileName, strerror(errno));
|
|
||||||
free(fileSizes);
|
|
||||||
RETURN_ERROR(9, BMK_benchOutcome_t, "benchmark aborted");
|
|
||||||
}
|
|
||||||
if (dictFileSize > 64 MB) {
|
|
||||||
free(fileSizes);
|
|
||||||
RETURN_ERROR(10, BMK_benchOutcome_t, "dictionary file %s too large", dictFileName);
|
|
||||||
}
|
|
||||||
dictBufferSize = (size_t)dictFileSize;
|
|
||||||
dictBuffer = malloc(dictBufferSize);
|
|
||||||
if (dictBuffer==NULL) {
|
|
||||||
free(fileSizes);
|
|
||||||
RETURN_ERROR(11, BMK_benchOutcome_t, "not enough memory for dictionary (%u bytes)",
|
|
||||||
(unsigned)dictBufferSize);
|
|
||||||
}
|
|
||||||
|
|
||||||
{ int const errorCode = BMK_loadFiles(dictBuffer, dictBufferSize,
|
|
||||||
fileSizes, &dictFileName /*?*/,
|
|
||||||
1 /*?*/, displayLevel);
|
|
||||||
if (errorCode) {
|
|
||||||
res = BMK_benchOutcome_error();
|
|
||||||
goto _cleanUp;
|
|
||||||
} }
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Memory allocation & restrictions */
|
|
||||||
benchedSize = BMK_findMaxMem(totalSizeToLoad * 3) / 3;
|
|
||||||
if ((U64)benchedSize > totalSizeToLoad) benchedSize = (size_t)totalSizeToLoad;
|
|
||||||
if (benchedSize < totalSizeToLoad)
|
|
||||||
DISPLAY("Not enough memory; testing %u MB only...\n", (unsigned)(benchedSize >> 20));
|
|
||||||
|
|
||||||
srcBuffer = benchedSize ? malloc(benchedSize) : NULL;
|
|
||||||
if (!srcBuffer) {
|
|
||||||
free(dictBuffer);
|
|
||||||
free(fileSizes);
|
|
||||||
RETURN_ERROR(12, BMK_benchOutcome_t, "not enough memory");
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Load input buffer */
|
|
||||||
{ int const errorCode = BMK_loadFiles(srcBuffer, benchedSize,
|
|
||||||
fileSizes, fileNamesTable, nbFiles,
|
|
||||||
displayLevel);
|
|
||||||
if (errorCode) {
|
|
||||||
res = BMK_benchOutcome_error();
|
|
||||||
goto _cleanUp;
|
|
||||||
} }
|
|
||||||
|
|
||||||
/* Bench */
|
|
||||||
{ char mfName[20] = {0};
|
|
||||||
snprintf (mfName, sizeof(mfName), " %u files", nbFiles);
|
|
||||||
{ const char* const displayName = (nbFiles > 1) ? mfName : fileNamesTable[0];
|
|
||||||
res = BMK_benchCLevel(srcBuffer, benchedSize,
|
|
||||||
fileSizes, nbFiles,
|
|
||||||
cLevel, compressionParams,
|
|
||||||
dictBuffer, dictBufferSize,
|
|
||||||
displayLevel, displayName,
|
|
||||||
adv);
|
|
||||||
} }
|
|
||||||
|
|
||||||
_cleanUp:
|
|
||||||
free(srcBuffer);
|
|
||||||
free(dictBuffer);
|
|
||||||
free(fileSizes);
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
BMK_benchOutcome_t BMK_benchFiles(
|
|
||||||
const char* const * fileNamesTable, unsigned nbFiles,
|
|
||||||
const char* dictFileName,
|
|
||||||
int cLevel, const ZSTD_compressionParameters* compressionParams,
|
|
||||||
int displayLevel)
|
|
||||||
{
|
|
||||||
BMK_advancedParams_t const adv = BMK_initAdvancedParams();
|
|
||||||
return BMK_benchFilesAdvanced(fileNamesTable, nbFiles, dictFileName, cLevel, compressionParams, displayLevel, &adv);
|
|
||||||
}
|
|
|
@ -1,51 +0,0 @@
|
||||||
// Microsoft Visual C++ generated resource script.
|
|
||||||
//
|
|
||||||
|
|
||||||
#include "zstd.h" /* ZSTD_VERSION_STRING */
|
|
||||||
#define APSTUDIO_READONLY_SYMBOLS
|
|
||||||
#include "verrsrc.h"
|
|
||||||
#undef APSTUDIO_READONLY_SYMBOLS
|
|
||||||
|
|
||||||
|
|
||||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
|
||||||
LANGUAGE 9, 1
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
//
|
|
||||||
// Version
|
|
||||||
//
|
|
||||||
|
|
||||||
VS_VERSION_INFO VERSIONINFO
|
|
||||||
FILEVERSION ZSTD_VERSION_MAJOR,ZSTD_VERSION_MINOR,ZSTD_VERSION_RELEASE,0
|
|
||||||
PRODUCTVERSION ZSTD_VERSION_MAJOR,ZSTD_VERSION_MINOR,ZSTD_VERSION_RELEASE,0
|
|
||||||
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
|
|
||||||
#ifdef _DEBUG
|
|
||||||
FILEFLAGS VS_FF_DEBUG
|
|
||||||
#else
|
|
||||||
FILEFLAGS 0x0L
|
|
||||||
#endif
|
|
||||||
FILEOS VOS_NT_WINDOWS32
|
|
||||||
FILETYPE VFT_DLL
|
|
||||||
FILESUBTYPE VFT2_UNKNOWN
|
|
||||||
BEGIN
|
|
||||||
BLOCK "StringFileInfo"
|
|
||||||
BEGIN
|
|
||||||
BLOCK "040904B0"
|
|
||||||
BEGIN
|
|
||||||
VALUE "CompanyName", "Meta Platforms, Inc."
|
|
||||||
VALUE "FileDescription", "Zstandard - Fast and efficient compression algorithm"
|
|
||||||
VALUE "FileVersion", ZSTD_VERSION_STRING
|
|
||||||
VALUE "InternalName", "zstd.exe"
|
|
||||||
VALUE "LegalCopyright", "Copyright (c) Meta Platforms, Inc. and affiliates."
|
|
||||||
VALUE "OriginalFilename", "zstd.exe"
|
|
||||||
VALUE "ProductName", "Zstandard"
|
|
||||||
VALUE "ProductVersion", ZSTD_VERSION_STRING
|
|
||||||
END
|
|
||||||
END
|
|
||||||
BLOCK "VarFileInfo"
|
|
||||||
BEGIN
|
|
||||||
VALUE "Translation", 0x0409, 1200
|
|
||||||
END
|
|
||||||
END
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,9 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
zstdname=$(basename $0)
|
|
||||||
|
|
||||||
if [ -z "$EXEC_PREFIX" ]; then
|
|
||||||
"$ZSTD_SYMLINK_DIR/$zstdname" $@
|
|
||||||
else
|
|
||||||
$EXEC_PREFIX "$ZSTD_SYMLINK_DIR/$zstdname" $@
|
|
||||||
fi
|
|
|
@ -1,9 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
zstdname=$(basename $0)
|
|
||||||
|
|
||||||
if [ -z "$EXEC_PREFIX" ]; then
|
|
||||||
"$ZSTD_SYMLINK_DIR/$zstdname" $@
|
|
||||||
else
|
|
||||||
$EXEC_PREFIX "$ZSTD_SYMLINK_DIR/$zstdname" $@
|
|
||||||
fi
|
|
|
@ -1,15 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# Uncomment the set -v line for debugging
|
|
||||||
# set -v
|
|
||||||
|
|
||||||
# Test gzip specific compression option
|
|
||||||
$ZSTD_SYMLINK_DIR/gzip --fast file ; $ZSTD_SYMLINK_DIR/gzip -d file.gz
|
|
||||||
$ZSTD_SYMLINK_DIR/gzip --best file ; $ZSTD_SYMLINK_DIR/gzip -d file.gz
|
|
||||||
|
|
||||||
# Test -n / --no-name: do not embed original filename in archive
|
|
||||||
$ZSTD_SYMLINK_DIR/gzip -n file ; grep -qv file file.gz ; $ZSTD_SYMLINK_DIR/gzip -d file.gz
|
|
||||||
$ZSTD_SYMLINK_DIR/gzip --no-name file ; grep -qv file file.gz ; $ZSTD_SYMLINK_DIR/gzip -d file.gz
|
|
||||||
$ZSTD_SYMLINK_DIR/gzip -c --no-name file | grep -qv file
|
|
|
@ -1,130 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under both the BSD-style license (found in the
|
|
||||||
* LICENSE file in the root directory of this source tree) and the GPLv2 (found
|
|
||||||
* in the COPYING file in the root directory of this source tree).
|
|
||||||
* You may select, at your option, one of the above-listed licenses.
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
/*-************************************
|
|
||||||
* Dependencies
|
|
||||||
**************************************/
|
|
||||||
#include "util.h" /* Compiler options */
|
|
||||||
#include <stdio.h> /* fprintf, stderr */
|
|
||||||
#include "datagen.h" /* RDG_generate */
|
|
||||||
|
|
||||||
|
|
||||||
/*-************************************
|
|
||||||
* Constants
|
|
||||||
**************************************/
|
|
||||||
#define KB *(1 <<10)
|
|
||||||
#define MB *(1 <<20)
|
|
||||||
#define GB *(1U<<30)
|
|
||||||
|
|
||||||
#define SIZE_DEFAULT ((64 KB) + 1)
|
|
||||||
#define SEED_DEFAULT 0
|
|
||||||
#define COMPRESSIBILITY_DEFAULT 50
|
|
||||||
|
|
||||||
|
|
||||||
/*-************************************
|
|
||||||
* Macros
|
|
||||||
**************************************/
|
|
||||||
#define DISPLAY(...) fprintf(stderr, __VA_ARGS__)
|
|
||||||
#define DISPLAYLEVEL(l, ...) if (displayLevel>=l) { DISPLAY(__VA_ARGS__); }
|
|
||||||
static unsigned displayLevel = 2;
|
|
||||||
|
|
||||||
|
|
||||||
/*-*******************************************************
|
|
||||||
* Command line
|
|
||||||
*********************************************************/
|
|
||||||
static int usage(const char* programName)
|
|
||||||
{
|
|
||||||
DISPLAY( "Compressible data generator\n");
|
|
||||||
DISPLAY( "Usage :\n");
|
|
||||||
DISPLAY( " %s [args]\n", programName);
|
|
||||||
DISPLAY( "\n");
|
|
||||||
DISPLAY( "Arguments :\n");
|
|
||||||
DISPLAY( " -g# : generate # data (default:%i)\n", SIZE_DEFAULT);
|
|
||||||
DISPLAY( " -s# : Select seed (default:%i)\n", SEED_DEFAULT);
|
|
||||||
DISPLAY( " -P# : Select compressibility in %% (default:%i%%)\n",
|
|
||||||
COMPRESSIBILITY_DEFAULT);
|
|
||||||
DISPLAY( " -h : display help and exit\n");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int main(int argc, const char** argv)
|
|
||||||
{
|
|
||||||
unsigned probaU32 = COMPRESSIBILITY_DEFAULT;
|
|
||||||
double litProba = 0.0;
|
|
||||||
U64 size = SIZE_DEFAULT;
|
|
||||||
U32 seed = SEED_DEFAULT;
|
|
||||||
const char* const programName = argv[0];
|
|
||||||
|
|
||||||
int argNb;
|
|
||||||
for(argNb=1; argNb<argc; argNb++) {
|
|
||||||
const char* argument = argv[argNb];
|
|
||||||
|
|
||||||
if(!argument) continue; /* Protection if argument empty */
|
|
||||||
|
|
||||||
/* Handle commands. Aggregated commands are allowed */
|
|
||||||
if (*argument=='-') {
|
|
||||||
argument++;
|
|
||||||
while (*argument!=0) {
|
|
||||||
switch(*argument)
|
|
||||||
{
|
|
||||||
case 'h':
|
|
||||||
return usage(programName);
|
|
||||||
case 'g':
|
|
||||||
argument++;
|
|
||||||
size=0;
|
|
||||||
while ((*argument>='0') && (*argument<='9'))
|
|
||||||
size *= 10, size += *argument++ - '0';
|
|
||||||
if (*argument=='K') { size <<= 10; argument++; }
|
|
||||||
if (*argument=='M') { size <<= 20; argument++; }
|
|
||||||
if (*argument=='G') { size <<= 30; argument++; }
|
|
||||||
if (*argument=='B') { argument++; }
|
|
||||||
break;
|
|
||||||
case 's':
|
|
||||||
argument++;
|
|
||||||
seed=0;
|
|
||||||
while ((*argument>='0') && (*argument<='9'))
|
|
||||||
seed *= 10, seed += *argument++ - '0';
|
|
||||||
break;
|
|
||||||
case 'P':
|
|
||||||
argument++;
|
|
||||||
probaU32 = 0;
|
|
||||||
while ((*argument>='0') && (*argument<='9'))
|
|
||||||
probaU32 *= 10, probaU32 += *argument++ - '0';
|
|
||||||
if (probaU32>100) probaU32 = 100;
|
|
||||||
break;
|
|
||||||
case 'L': /* hidden argument : Literal distribution probability */
|
|
||||||
argument++;
|
|
||||||
litProba=0.;
|
|
||||||
while ((*argument>='0') && (*argument<='9'))
|
|
||||||
litProba *= 10, litProba += *argument++ - '0';
|
|
||||||
if (litProba>100.) litProba=100.;
|
|
||||||
litProba /= 100.;
|
|
||||||
break;
|
|
||||||
case 'v':
|
|
||||||
displayLevel = 4;
|
|
||||||
argument++;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
return usage(programName);
|
|
||||||
}
|
|
||||||
} } } /* for(argNb=1; argNb<argc; argNb++) */
|
|
||||||
|
|
||||||
DISPLAYLEVEL(4, "Compressible data Generator \n");
|
|
||||||
if (probaU32!=COMPRESSIBILITY_DEFAULT)
|
|
||||||
DISPLAYLEVEL(3, "Compressibility : %i%%\n", probaU32);
|
|
||||||
DISPLAYLEVEL(3, "Seed = %u \n", (unsigned)seed);
|
|
||||||
|
|
||||||
RDG_genStdout(size, (double)probaU32/100, litProba, seed);
|
|
||||||
DISPLAYLEVEL(3, "\n");
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
|
@ -1,4 +1,4 @@
|
||||||
FROM circleci/buildpack-deps:focal
|
FROM circleci/buildpack-deps@sha256:f6f10c11b7b8ccfd4f4a5b830c3256803604ce61292b60cb22e26b12f62b0e8c
|
||||||
|
|
||||||
RUN sudo dpkg --add-architecture i386
|
RUN sudo dpkg --add-architecture i386
|
||||||
RUN sudo apt-get -y -qq update
|
RUN sudo apt-get -y -qq update
|
|
@ -2,8 +2,8 @@ task:
|
||||||
name: FreeBSD (shortest)
|
name: FreeBSD (shortest)
|
||||||
freebsd_instance:
|
freebsd_instance:
|
||||||
matrix:
|
matrix:
|
||||||
image_family: freebsd-13-0
|
image_family: freebsd-14-0
|
||||||
image_family: freebsd-12-2
|
image_family: freebsd-13-2
|
||||||
install_script: pkg install -y gmake coreutils
|
install_script: pkg install -y gmake coreutils
|
||||||
script: |
|
script: |
|
||||||
MOREFLAGS="-Werror" gmake -j all
|
MOREFLAGS="-Werror" gmake -j all
|
89
src/dependencies/zstd-1.5.6/.github/workflows/commit.yml
vendored
Normal file
89
src/dependencies/zstd-1.5.6/.github/workflows/commit.yml
vendored
Normal file
|
@ -0,0 +1,89 @@
|
||||||
|
name: facebook/zstd/commit
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- dev
|
||||||
|
permissions: read-all
|
||||||
|
jobs:
|
||||||
|
short-tests-0:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
services:
|
||||||
|
docker:
|
||||||
|
image: fbopensource/zstd-circleci-primary:0.0.1
|
||||||
|
options: --entrypoint /bin/bash
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: Install Dependencies
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install libcurl4-gnutls-dev
|
||||||
|
- name: Test
|
||||||
|
run: |
|
||||||
|
./tests/test-license.py
|
||||||
|
cc -v
|
||||||
|
CFLAGS="-O0 -Werror -pedantic" make allmost; make clean
|
||||||
|
make c99build; make clean
|
||||||
|
make c11build; make clean
|
||||||
|
make -j regressiontest; make clean
|
||||||
|
make shortest; make clean
|
||||||
|
make cxxtest; make clean
|
||||||
|
short-tests-1:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
services:
|
||||||
|
docker:
|
||||||
|
image: fbopensource/zstd-circleci-primary:0.0.1
|
||||||
|
options: --entrypoint /bin/bash
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: Install Dependencies
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install gcc-powerpc-linux-gnu gcc-arm-linux-gnueabi gcc-aarch64-linux-gnu libc6-dev-ppc64-powerpc-cross libcurl4-gnutls-dev lib64gcc-11-dev-powerpc-cross
|
||||||
|
- name: Test
|
||||||
|
run: |-
|
||||||
|
make gnu90build; make clean
|
||||||
|
make gnu99build; make clean
|
||||||
|
make ppc64build V=1; make clean
|
||||||
|
make ppcbuild V=1; make clean
|
||||||
|
make armbuild V=1; make clean
|
||||||
|
make aarch64build V=1; make clean
|
||||||
|
make -C tests test-legacy test-longmatch; make clean
|
||||||
|
make -C lib libzstd-nomt; make clean
|
||||||
|
regression-test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
services:
|
||||||
|
docker:
|
||||||
|
image: fbopensource/zstd-circleci-primary:0.0.1
|
||||||
|
options: --entrypoint /bin/bash
|
||||||
|
env:
|
||||||
|
CIRCLE_ARTIFACTS: "/tmp/circleci-artifacts"
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: restore_cache
|
||||||
|
uses: actions/cache@v4
|
||||||
|
with:
|
||||||
|
key: regression-cache-{{ checksum "tests/regression/data.c" }}-v0
|
||||||
|
path: tests/regression/cache
|
||||||
|
restore-keys: regression-cache-{{ checksum "tests/regression/data.c" }}-v0
|
||||||
|
- name: Install Dependencies
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install libcurl4-gnutls-dev
|
||||||
|
- name: Regression Test
|
||||||
|
run: |
|
||||||
|
make -C programs zstd
|
||||||
|
make -C tests/regression test
|
||||||
|
mkdir -p $CIRCLE_ARTIFACTS
|
||||||
|
./tests/regression/test \
|
||||||
|
--cache tests/regression/cache \
|
||||||
|
--output $CIRCLE_ARTIFACTS/results.csv \
|
||||||
|
--zstd programs/zstd
|
||||||
|
echo "NOTE: The new results.csv is uploaded as an artifact to this job"
|
||||||
|
echo " If this fails, go to the Artifacts pane in CircleCI, "
|
||||||
|
echo " download /tmp/circleci-artifacts/results.csv, and if they "
|
||||||
|
echo " are still good, copy it into the repo and commit it."
|
||||||
|
echo "> diff tests/regression/results.csv $CIRCLE_ARTIFACTS/results.csv"
|
||||||
|
diff tests/regression/results.csv $CIRCLE_ARTIFACTS/results.csv
|
||||||
|
- uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
path: "/tmp/circleci-artifacts"
|
|
@ -9,11 +9,13 @@ on:
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [ dev, release, actionsTest ]
|
branches: [ dev, release, actionsTest ]
|
||||||
|
|
||||||
|
permissions: read-all
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
make-all:
|
make-all:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: make all
|
- name: make all
|
||||||
run: make all
|
run: make all
|
||||||
|
|
||||||
|
@ -24,7 +26,7 @@ jobs:
|
||||||
DEVNULLRIGHTS: 1
|
DEVNULLRIGHTS: 1
|
||||||
READFROMBLOCKDEVICE: 1
|
READFROMBLOCKDEVICE: 1
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: make test
|
- name: make test
|
||||||
run: make test
|
run: make test
|
||||||
|
|
||||||
|
@ -32,36 +34,50 @@ jobs:
|
||||||
make-test-osx:
|
make-test-osx:
|
||||||
runs-on: macos-latest
|
runs-on: macos-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: OS-X test
|
- name: OS-X test
|
||||||
run: make test # make -c lib all doesn't work because of the fact that it's not a tty
|
run: make test # make -c lib all doesn't work because of the fact that it's not a tty
|
||||||
|
|
||||||
|
# lasts ~24mn
|
||||||
|
make-test-32bit:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
env:
|
||||||
|
DEVNULLRIGHTS: 1
|
||||||
|
READFROMBLOCKDEVICE: 1
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
|
- name: make test
|
||||||
|
run: |
|
||||||
|
sudo apt-get -qqq update
|
||||||
|
make libc6install
|
||||||
|
CFLAGS="-m32" make test
|
||||||
|
|
||||||
no-intrinsics-fuzztest:
|
no-intrinsics-fuzztest:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: no intrinsics fuzztest
|
- name: no intrinsics fuzztest
|
||||||
run: MOREFLAGS="-DZSTD_NO_INTRINSICS" make -C tests fuzztest
|
run: MOREFLAGS="-DZSTD_NO_INTRINSICS" make -C tests fuzztest
|
||||||
|
|
||||||
tsan-zstreamtest:
|
tsan-zstreamtest:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-20.04
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: thread sanitizer zstreamtest
|
- name: thread sanitizer zstreamtest
|
||||||
run: CC=clang ZSTREAM_TESTTIME=-T3mn make tsan-test-zstream
|
run: CC=clang ZSTREAM_TESTTIME=-T3mn make tsan-test-zstream
|
||||||
|
|
||||||
ubsan-zstreamtest:
|
ubsan-zstreamtest:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-20.04
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: undefined behavior sanitizer zstreamtest
|
- name: undefined behavior sanitizer zstreamtest
|
||||||
run: CC=clang make uasan-test-zstream
|
run: CC=clang make uasan-test-zstream
|
||||||
|
|
||||||
# lasts ~15mn
|
# lasts ~15mn
|
||||||
tsan-fuzztest:
|
tsan-fuzztest:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-20.04
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: thread sanitizer fuzztest
|
- name: thread sanitizer fuzztest
|
||||||
run: CC=clang make tsan-fuzztest
|
run: CC=clang make tsan-fuzztest
|
||||||
|
|
||||||
|
@ -69,7 +85,7 @@ jobs:
|
||||||
big-tests-zstreamtest32:
|
big-tests-zstreamtest32:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: zstream tests in 32bit mode, with big tests
|
- name: zstream tests in 32bit mode, with big tests
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get -qqq update
|
sudo apt-get -qqq update
|
||||||
|
@ -78,9 +94,9 @@ jobs:
|
||||||
|
|
||||||
# lasts ~23mn
|
# lasts ~23mn
|
||||||
gcc-8-asan-ubsan-testzstd:
|
gcc-8-asan-ubsan-testzstd:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-20.04
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: gcc-8 + ASan + UBSan + Test Zstd
|
- name: gcc-8 + ASan + UBSan + Test Zstd
|
||||||
# See https://askubuntu.com/a/1428822
|
# See https://askubuntu.com/a/1428822
|
||||||
run: |
|
run: |
|
||||||
|
@ -90,16 +106,16 @@ jobs:
|
||||||
CC=gcc-8 make -j uasan-test-zstd </dev/null V=1
|
CC=gcc-8 make -j uasan-test-zstd </dev/null V=1
|
||||||
|
|
||||||
clang-asan-ubsan-testzstd:
|
clang-asan-ubsan-testzstd:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-20.04
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: clang + ASan + UBSan + Test Zstd
|
- name: clang + ASan + UBSan + Test Zstd
|
||||||
run: CC=clang make -j uasan-test-zstd </dev/null V=1
|
run: CC=clang make -j uasan-test-zstd </dev/null V=1
|
||||||
|
|
||||||
gcc-asan-ubsan-testzstd-32bit:
|
gcc-asan-ubsan-testzstd-32bit:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-20.04
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: ASan + UBSan + Test Zstd, 32bit mode
|
- name: ASan + UBSan + Test Zstd, 32bit mode
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get -qqq update
|
sudo apt-get -qqq update
|
||||||
|
@ -111,9 +127,9 @@ jobs:
|
||||||
# so any data coming from these libraries is always considered "uninitialized"
|
# so any data coming from these libraries is always considered "uninitialized"
|
||||||
|
|
||||||
gcc-8-asan-ubsan-fuzz:
|
gcc-8-asan-ubsan-fuzz:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-20.04
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: gcc-8 + ASan + UBSan + Fuzz Test
|
- name: gcc-8 + ASan + UBSan + Fuzz Test
|
||||||
# See https://askubuntu.com/a/1428822
|
# See https://askubuntu.com/a/1428822
|
||||||
run: |
|
run: |
|
||||||
|
@ -123,16 +139,16 @@ jobs:
|
||||||
CC=gcc-8 FUZZER_FLAGS="--long-tests" make clean uasan-fuzztest
|
CC=gcc-8 FUZZER_FLAGS="--long-tests" make clean uasan-fuzztest
|
||||||
|
|
||||||
clang-asan-ubsan-fuzz:
|
clang-asan-ubsan-fuzz:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-20.04
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: clang + ASan + UBSan + Fuzz Test
|
- name: clang + ASan + UBSan + Fuzz Test
|
||||||
run: CC=clang FUZZER_FLAGS="--long-tests" make clean uasan-fuzztest
|
run: CC=clang FUZZER_FLAGS="--long-tests" make clean uasan-fuzztest
|
||||||
|
|
||||||
gcc-asan-ubsan-fuzz32:
|
gcc-asan-ubsan-fuzz32:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-20.04
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: ASan + UBSan + Fuzz Test 32bit
|
- name: ASan + UBSan + Fuzz Test 32bit
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get -qqq update
|
sudo apt-get -qqq update
|
||||||
|
@ -140,9 +156,9 @@ jobs:
|
||||||
CFLAGS="-O3 -m32" FUZZER_FLAGS="--long-tests" make uasan-fuzztest
|
CFLAGS="-O3 -m32" FUZZER_FLAGS="--long-tests" make uasan-fuzztest
|
||||||
|
|
||||||
clang-asan-ubsan-fuzz32:
|
clang-asan-ubsan-fuzz32:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-20.04
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: clang + ASan + UBSan + Fuzz Test 32bit
|
- name: clang + ASan + UBSan + Fuzz Test 32bit
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get -qqq update
|
sudo apt-get -qqq update
|
||||||
|
@ -150,30 +166,40 @@ jobs:
|
||||||
CC=clang CFLAGS="-O3 -m32" FUZZER_FLAGS="--long-tests" make uasan-fuzztest
|
CC=clang CFLAGS="-O3 -m32" FUZZER_FLAGS="--long-tests" make uasan-fuzztest
|
||||||
|
|
||||||
asan-ubsan-regression:
|
asan-ubsan-regression:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-20.04
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: ASan + UBSan + Regression Test
|
- name: ASan + UBSan + Regression Test
|
||||||
run: make -j uasanregressiontest
|
run: make -j uasanregressiontest
|
||||||
|
|
||||||
clang-ubsan-regression:
|
clang-ubsan-regression:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-20.04
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: clang + ASan + UBSan + Regression Test
|
- name: clang + ASan + UBSan + Regression Test
|
||||||
run: CC=clang make -j uasanregressiontest
|
run: CC=clang make -j uasanregressiontest
|
||||||
|
|
||||||
msan-regression:
|
msan-regression:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-20.04
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: MSan + Regression Test
|
- name: MSan + Regression Test
|
||||||
run: make -j msanregressiontest
|
run: make -j msanregressiontest
|
||||||
|
|
||||||
clang-msan-fuzz:
|
clang-msan-fuzz-unoptimized:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-20.04
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
|
- name: clang + MSan + Fuzz Test
|
||||||
|
run: |
|
||||||
|
sudo apt-get -qqq update
|
||||||
|
sudo apt-get install clang
|
||||||
|
CC=clang MOREFLAGS="-O0" make clean msan-fuzztest
|
||||||
|
|
||||||
|
clang-msan-fuzz:
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: clang + MSan + Fuzz Test
|
- name: clang + MSan + Fuzz Test
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get -qqq update
|
sudo apt-get -qqq update
|
||||||
|
@ -182,9 +208,9 @@ jobs:
|
||||||
|
|
||||||
# lasts ~24mn
|
# lasts ~24mn
|
||||||
clang-msan-testzstd:
|
clang-msan-testzstd:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-20.04
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: clang + MSan + Test Zstd
|
- name: clang + MSan + Test Zstd
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
|
@ -194,7 +220,7 @@ jobs:
|
||||||
armfuzz:
|
armfuzz:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: Qemu ARM emulation + Fuzz Test
|
- name: Qemu ARM emulation + Fuzz Test
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get -qqq update
|
sudo apt-get -qqq update
|
||||||
|
@ -204,7 +230,7 @@ jobs:
|
||||||
valgrind-fuzz-test:
|
valgrind-fuzz-test:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: valgrind + fuzz test stack mode # ~ 7mn
|
- name: valgrind + fuzz test stack mode # ~ 7mn
|
||||||
shell: 'script -q -e -c "bash {0}"'
|
shell: 'script -q -e -c "bash {0}"'
|
||||||
run: |
|
run: |
|
||||||
|
@ -220,8 +246,8 @@ jobs:
|
||||||
run:
|
run:
|
||||||
shell: msys2 {0}
|
shell: msys2 {0}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- uses: msys2/setup-msys2@v2
|
- uses: msys2/setup-msys2@cc11e9188b693c2b100158c3322424c4cc1dadea # tag=v2.22.0
|
||||||
with:
|
with:
|
||||||
msystem: MINGW64
|
msystem: MINGW64
|
||||||
install: make
|
install: make
|
||||||
|
@ -243,7 +269,7 @@ jobs:
|
||||||
|
|
||||||
# lasts ~20mn
|
# lasts ~20mn
|
||||||
oss-fuzz:
|
oss-fuzz:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-20.04
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
|
@ -264,7 +290,7 @@ jobs:
|
||||||
dry-run: false
|
dry-run: false
|
||||||
sanitizer: ${{ matrix.sanitizer }}
|
sanitizer: ${{ matrix.sanitizer }}
|
||||||
- name: Upload Crash
|
- name: Upload Crash
|
||||||
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # tag=v3.1.2
|
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # tag=v4.3.1
|
||||||
if: failure() && steps.build.outcome == 'success'
|
if: failure() && steps.build.outcome == 'success'
|
||||||
with:
|
with:
|
||||||
name: ${{ matrix.sanitizer }}-artifacts
|
name: ${{ matrix.sanitizer }}-artifacts
|
|
@ -10,25 +10,27 @@ on:
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [ dev, release, actionsTest ]
|
branches: [ dev, release, actionsTest ]
|
||||||
|
|
||||||
|
permissions: read-all
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
linux-kernel:
|
linux-kernel:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: linux kernel, library + build + test
|
- name: linux kernel, library + build + test
|
||||||
run: make -C contrib/linux-kernel test CFLAGS="-Werror -Wunused-const-variable -Wunused-but-set-variable"
|
run: make -C contrib/linux-kernel test CFLAGS="-Werror -Wunused-const-variable -Wunused-but-set-variable"
|
||||||
|
|
||||||
benchmarking:
|
benchmarking:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: make benchmarking
|
- name: make benchmarking
|
||||||
run: make benchmarking
|
run: make benchmarking
|
||||||
|
|
||||||
check-32bit: # designed to catch https://github.com/facebook/zstd/issues/2428
|
check-32bit: # designed to catch https://github.com/facebook/zstd/issues/2428
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: make check on 32-bit
|
- name: make check on 32-bit
|
||||||
run: |
|
run: |
|
||||||
sudo apt update
|
sudo apt update
|
||||||
|
@ -36,9 +38,9 @@ jobs:
|
||||||
CFLAGS="-m32 -O1 -fstack-protector" make check V=1
|
CFLAGS="-m32 -O1 -fstack-protector" make check V=1
|
||||||
|
|
||||||
check-x32:
|
check-x32:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-20.04 # ubuntu-latest == ubuntu-22.04 have issues currently with x32
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: make check on x32 ABI # https://en.wikipedia.org/wiki/X32_ABI
|
- name: make check on x32 ABI # https://en.wikipedia.org/wiki/X32_ABI
|
||||||
env:
|
env:
|
||||||
CHECK_CONSTRAINED_MEM: true
|
CHECK_CONSTRAINED_MEM: true
|
||||||
|
@ -50,16 +52,24 @@ jobs:
|
||||||
build-c89:
|
build-c89:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: ensure zstd can be build with c89/c90 compilers (+ long long support + variadic macros)
|
- name: ensure zstd can be build with c89/c90 compilers (+ long long support + variadic macros)
|
||||||
run: |
|
run: |
|
||||||
make c89build V=1
|
make c89build V=1
|
||||||
|
|
||||||
|
build-zstd-dll:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
|
- name: build zstd bin against a dynamic lib (debuglevel for more dependencies)
|
||||||
|
run: |
|
||||||
|
make -C lib lib-mt-release
|
||||||
|
DEBUGLEVEL=2 make -C programs zstd-dll
|
||||||
|
|
||||||
gcc-7-libzstd:
|
gcc-7-libzstd:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: gcc-7 + libzstdmt compilation
|
- name: gcc-7 + libzstdmt compilation
|
||||||
# See https://askubuntu.com/a/1428822
|
# See https://askubuntu.com/a/1428822
|
||||||
run: |
|
run: |
|
||||||
|
@ -70,24 +80,21 @@ jobs:
|
||||||
make clean
|
make clean
|
||||||
LDFLAGS=-Wl,--no-undefined make -C lib libzstd-mt
|
LDFLAGS=-Wl,--no-undefined make -C lib libzstd-mt
|
||||||
|
|
||||||
# candidate test (to check) : underlink test
|
# candidate test (for discussion) : underlink test
|
||||||
# LDFLAGS=-Wl,--no-undefined : will make the linker fail if dll is underlinked
|
# LDFLAGS=-Wl,--no-undefined : will make the linker fail if dll is underlinked
|
||||||
|
|
||||||
cmake-build-and-test-check:
|
cmake-build-and-test-check:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: cmake build and test check
|
- name: cmake build and test
|
||||||
run: |
|
run: |
|
||||||
FUZZERTEST=-T1mn ZSTREAM_TESTTIME=-T1mn make cmakebuild
|
FUZZERTEST=-T1mn ZSTREAM_TESTTIME=-T1mn make cmakebuild V=1
|
||||||
cp -r ./ "../zstd source"
|
|
||||||
cd "../zstd source"
|
|
||||||
FUZZERTEST=-T1mn ZSTREAM_TESTTIME=-T1mn make cmakebuild
|
|
||||||
|
|
||||||
cpp-gnu90-c99-compatibility:
|
cpp-gnu90-c99-compatibility:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: C++, gnu90 and c99 compatibility
|
- name: C++, gnu90 and c99 compatibility
|
||||||
run: |
|
run: |
|
||||||
make cxxtest
|
make cxxtest
|
||||||
|
@ -101,7 +108,7 @@ jobs:
|
||||||
mingw-cross-compilation:
|
mingw-cross-compilation:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: mingw cross-compilation
|
- name: mingw cross-compilation
|
||||||
run: |
|
run: |
|
||||||
# sudo update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix; (doesn't work)
|
# sudo update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix; (doesn't work)
|
||||||
|
@ -112,7 +119,7 @@ jobs:
|
||||||
armbuild:
|
armbuild:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: ARM Build Test
|
- name: ARM Build Test
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get -qqq update
|
sudo apt-get -qqq update
|
||||||
|
@ -122,7 +129,7 @@ jobs:
|
||||||
bourne-shell:
|
bourne-shell:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: Bourne shell compatibility (shellcheck)
|
- name: Bourne shell compatibility (shellcheck)
|
||||||
run: |
|
run: |
|
||||||
wget https://github.com/koalaman/shellcheck/releases/download/v0.7.1/shellcheck-v0.7.1.linux.x86_64.tar.xz
|
wget https://github.com/koalaman/shellcheck/releases/download/v0.7.1/shellcheck-v0.7.1.linux.x86_64.tar.xz
|
||||||
|
@ -132,7 +139,7 @@ jobs:
|
||||||
zlib-wrapper:
|
zlib-wrapper:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: zlib wrapper test
|
- name: zlib wrapper test
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get -qqq update
|
sudo apt-get -qqq update
|
||||||
|
@ -143,7 +150,7 @@ jobs:
|
||||||
lz4-threadpool-libs:
|
lz4-threadpool-libs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: LZ4, thread pool, and libs build testslib wrapper test
|
- name: LZ4, thread pool, and libs build testslib wrapper test
|
||||||
run: |
|
run: |
|
||||||
make lz4install
|
make lz4install
|
||||||
|
@ -157,7 +164,7 @@ jobs:
|
||||||
gcc-make-tests-32bit:
|
gcc-make-tests-32bit:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: Make all, 32bit mode
|
- name: Make all, 32bit mode
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get -qqq update
|
sudo apt-get -qqq update
|
||||||
|
@ -167,7 +174,7 @@ jobs:
|
||||||
gcc-8-make:
|
gcc-8-make:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: gcc-8 build
|
- name: gcc-8 build
|
||||||
# See https://askubuntu.com/a/1428822
|
# See https://askubuntu.com/a/1428822
|
||||||
run: |
|
run: |
|
||||||
|
@ -176,10 +183,29 @@ jobs:
|
||||||
make gcc8install
|
make gcc8install
|
||||||
CC=gcc-8 CFLAGS="-Werror" make -j all
|
CC=gcc-8 CFLAGS="-Werror" make -j all
|
||||||
|
|
||||||
|
make-external-compressors:
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- name: "no external compressors"
|
||||||
|
flags: "HAVE_ZLIB=0 HAVE_LZ4=0 HAVE_LZMA=0"
|
||||||
|
- name: "only zlib"
|
||||||
|
flags: "HAVE_ZLIB=1 HAVE_LZ4=0 HAVE_LZMA=0"
|
||||||
|
- name: "only lz4"
|
||||||
|
flags: "HAVE_ZLIB=0 HAVE_LZ4=1 HAVE_LZMA=0"
|
||||||
|
- name: "only lzma"
|
||||||
|
flags: "HAVE_ZLIB=0 HAVE_LZ4=0 HAVE_LZMA=1"
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
|
- name: Build with ${{matrix.name}}
|
||||||
|
run: ${{matrix.flags}} make zstd
|
||||||
|
|
||||||
|
|
||||||
implicit-fall-through:
|
implicit-fall-through:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: -Wimplicit-fallthrough build
|
- name: -Wimplicit-fallthrough build
|
||||||
run: |
|
run: |
|
||||||
make clean
|
make clean
|
||||||
|
@ -190,7 +216,7 @@ jobs:
|
||||||
meson-linux:
|
meson-linux:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: Install packages
|
- name: Install packages
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
|
@ -214,17 +240,15 @@ jobs:
|
||||||
meson-windows:
|
meson-windows:
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: Install packages
|
- name: Install packages
|
||||||
run: pip install --pre meson
|
run: pip install --pre meson
|
||||||
- name: Initialize the MSVC dev command prompt
|
|
||||||
uses: ilammy/msvc-dev-cmd@cec98b9d092141f74527d0afa6feb2af698cfe89
|
|
||||||
- name: Configure with Meson
|
- name: Configure with Meson
|
||||||
run: |
|
run: |
|
||||||
meson setup build/meson/ builddir -Dbin_tests=true -Dbin_programs=true -Dbin_contrib=true
|
meson setup --vsenv build/meson/ builddir -Dbin_tests=true -Dbin_programs=true -Dbin_contrib=true
|
||||||
- name: Build with Meson
|
- name: Build with Meson
|
||||||
run: |
|
run: |
|
||||||
ninja -C builddir/
|
meson compile -C builddir/
|
||||||
- name: Test with Meson
|
- name: Test with Meson
|
||||||
run: |
|
run: |
|
||||||
meson test -C builddir/ --print-errorlogs
|
meson test -C builddir/ --print-errorlogs
|
||||||
|
@ -241,50 +265,64 @@ jobs:
|
||||||
- generator: "Visual Studio 17 2022"
|
- generator: "Visual Studio 17 2022"
|
||||||
flags: "-A Win32"
|
flags: "-A Win32"
|
||||||
- generator: "MinGW Makefiles"
|
- generator: "MinGW Makefiles"
|
||||||
|
- generator: "Visual Studio 17 2022"
|
||||||
|
flags: "-T ClangCL"
|
||||||
runs-on: windows-2022
|
runs-on: windows-2022
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: Add MSBuild to PATH
|
- name: Add MSBuild to PATH
|
||||||
uses: microsoft/setup-msbuild@v1.3
|
uses: microsoft/setup-msbuild@6fb02220983dee41ce7ae257b6f4d8f9bf5ed4ce # tag=v2.0.0
|
||||||
- name: Build
|
- name: Build & Test
|
||||||
working-directory: ${{env.GITHUB_WORKSPACE}}
|
working-directory: ${{env.GITHUB_WORKSPACE}}
|
||||||
run: |
|
run: |
|
||||||
cd build\cmake
|
cd build\cmake
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
cmake.exe -G "${{matrix.generator}}" ${{matrix.flags}} ..
|
cmake.exe -G "${{matrix.generator}}" ${{matrix.flags}} -DCMAKE_BUILD_TYPE=Debug -DZSTD_BUILD_TESTS:BOOL=ON -DZSTD_ZSTREAM_FLAGS=-T30s -DZSTD_FUZZER_FLAGS=-T30s -DZSTD_FULLBENCH_FLAGS=-i0 ..
|
||||||
cmake.exe --build .
|
cmake.exe --build .
|
||||||
|
ctest.exe -V -C Debug
|
||||||
|
|
||||||
msbuild-visual-studio:
|
msbuild-visual-studio:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false # 'false' means Don't stop matrix workflows even if some matrix failed.
|
||||||
matrix:
|
matrix:
|
||||||
include: [
|
include: [
|
||||||
{ name: "VS 2022 x64 Debug", platform: x64, configuration: Debug, toolset: v143, runner: "windows-2022"},
|
{ name: "VS 2022 x64 Debug", platform: x64, configuration: Debug, toolset: v143, runner: "windows-2022", arch: "" },
|
||||||
{ name: "VS 2022 Win32 Debug", platform: Win32, configuration: Debug, toolset: v143, runner: "windows-2022"},
|
{ name: "VS 2022 Win32 Debug", platform: Win32, configuration: Debug, toolset: v143, runner: "windows-2022", arch: "" },
|
||||||
{ name: "VS 2022 x64 Release", platform: x64, configuration: Release, toolset: v143, runner: "windows-2022"},
|
{ name: "VS 2022 x64 Release", platform: x64, configuration: Release, toolset: v143, runner: "windows-2022", arch: ""},
|
||||||
{ name: "VS 2022 Win32 Release", platform: Win32, configuration: Release, toolset: v143, runner: "windows-2022"},
|
{ name: "VS 2022 Win32 Release", platform: Win32, configuration: Release, toolset: v143, runner: "windows-2022", arch: ""},
|
||||||
{ name: "VS 2019 x64 Release", platform: Win32, configuration: Release, toolset: v142, runner: "windows-2019"},
|
{ name: "VS 2019 x64 Release", platform: Win32, configuration: Release, toolset: v142, runner: "windows-2019", arch: ""},
|
||||||
{ name: "VS 2019 Win32 Release", platform: x64, configuration: Release, toolset: v142, runner: "windows-2019"},
|
{ name: "VS 2019 Win32 Release", platform: x64, configuration: Release, toolset: v142, runner: "windows-2019", arch: ""},
|
||||||
|
{ name: "VS 2022 x64 Release AVX2", platform: x64, configuration: Release, toolset: v143, runner: "windows-2022", arch: "AdvancedVectorExtensions2" },
|
||||||
]
|
]
|
||||||
runs-on: ${{matrix.runner}}
|
runs-on: ${{matrix.runner}}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: Add MSBuild to PATH
|
- name: Add MSBuild to PATH
|
||||||
uses: microsoft/setup-msbuild@v1.3
|
uses: microsoft/setup-msbuild@6fb02220983dee41ce7ae257b6f4d8f9bf5ed4ce # tag=v2.0.0
|
||||||
- name: Build
|
- name: Build ${{matrix.name}}
|
||||||
working-directory: ${{env.GITHUB_WORKSPACE}}
|
working-directory: ${{env.GITHUB_WORKSPACE}}
|
||||||
# See https://docs.microsoft.com/visualstudio/msbuild/msbuild-command-line-reference
|
# See https://docs.microsoft.com/visualstudio/msbuild/msbuild-command-line-reference
|
||||||
|
if: ${{ matrix.arch == '' }}
|
||||||
run: >
|
run: >
|
||||||
msbuild "build\VS2010\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=${{matrix.toolset}}
|
msbuild "build\VS2010\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=${{matrix.toolset}}
|
||||||
/t:Clean,Build /p:Platform=${{matrix.platform}} /p:Configuration=${{matrix.configuration}}
|
/t:Clean,Build /p:Platform=${{matrix.platform}} /p:Configuration=${{matrix.configuration}} /warnaserror
|
||||||
|
- name: Build ${{matrix.name}}
|
||||||
|
working-directory: ${{env.GITHUB_WORKSPACE}}
|
||||||
|
# See https://docs.microsoft.com/visualstudio/msbuild/msbuild-command-line-reference
|
||||||
|
if: ${{ matrix.arch != '' }}
|
||||||
|
run: >
|
||||||
|
msbuild "build\VS2010\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=${{matrix.toolset}}
|
||||||
|
/t:Clean,Build /p:Platform=${{matrix.platform}} /p:Configuration=${{matrix.configuration}} /warnaserror
|
||||||
|
/p:InstructionSet=${{matrix.arch}}
|
||||||
|
|
||||||
# This tests that we don't accidently grow the size too much.
|
# This tests that we don't accidentally grow the size too much.
|
||||||
# If the size grows intentionally, you can raise these numbers.
|
# If the size grows intentionally, you can raise these numbers.
|
||||||
# But we do need to think about binary size, since it is a concern.
|
# But we do need to think about binary size, since it is a concern.
|
||||||
libzstd-size:
|
libzstd-size:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: libzstd size test
|
- name: libzstd size test
|
||||||
run: |
|
run: |
|
||||||
make clean && make -j -C lib libzstd && ./tests/check_size.py lib/libzstd.so 1100000
|
make clean && make -j -C lib libzstd && ./tests/check_size.py lib/libzstd.so 1100000
|
||||||
|
@ -295,7 +333,7 @@ jobs:
|
||||||
minimal-decompressor-macros:
|
minimal-decompressor-macros:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: minimal decompressor macros
|
- name: minimal decompressor macros
|
||||||
run: |
|
run: |
|
||||||
make clean && make -j all ZSTD_LIB_MINIFY=1 MOREFLAGS="-Werror"
|
make clean && make -j all ZSTD_LIB_MINIFY=1 MOREFLAGS="-Werror"
|
||||||
|
@ -306,11 +344,13 @@ jobs:
|
||||||
make clean && make check MOREFLAGS="-Werror -DHUF_FORCE_DECOMPRESS_X2 -DZSTD_FORCE_DECOMPRESS_SEQUENCES_LONG"
|
make clean && make check MOREFLAGS="-Werror -DHUF_FORCE_DECOMPRESS_X2 -DZSTD_FORCE_DECOMPRESS_SEQUENCES_LONG"
|
||||||
make clean && make -j all MOREFLAGS="-Werror -DZSTD_NO_INLINE -DZSTD_STRIP_ERROR_STRINGS"
|
make clean && make -j all MOREFLAGS="-Werror -DZSTD_NO_INLINE -DZSTD_STRIP_ERROR_STRINGS"
|
||||||
make clean && make check MOREFLAGS="-Werror -DZSTD_NO_INLINE -DZSTD_STRIP_ERROR_STRINGS"
|
make clean && make check MOREFLAGS="-Werror -DZSTD_NO_INLINE -DZSTD_STRIP_ERROR_STRINGS"
|
||||||
|
make clean && make check ZSTD_LIB_EXCLUDE_COMPRESSORS_DFAST_AND_UP=1 MOREFLAGS="-Werror"
|
||||||
|
make clean && make check ZSTD_LIB_EXCLUDE_COMPRESSORS_GREEDY_AND_UP=1 MOREFLAGS="-Werror"
|
||||||
|
|
||||||
dynamic-bmi2:
|
dynamic-bmi2:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: dynamic bmi2 tests
|
- name: dynamic bmi2 tests
|
||||||
run: |
|
run: |
|
||||||
make clean && make -j check MOREFLAGS="-O0 -Werror -mbmi2"
|
make clean && make -j check MOREFLAGS="-O0 -Werror -mbmi2"
|
||||||
|
@ -322,13 +362,12 @@ jobs:
|
||||||
test-variants:
|
test-variants:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: make all variants & validate
|
- name: make all variants & validate
|
||||||
run: |
|
run: |
|
||||||
make -j -C programs allVariants MOREFLAGS=-O0
|
make -j -C programs allVariants MOREFLAGS=-O0
|
||||||
./tests/test-variants.sh
|
./tests/test-variants.sh
|
||||||
|
|
||||||
|
|
||||||
qemu-consistency:
|
qemu-consistency:
|
||||||
name: QEMU ${{ matrix.name }}
|
name: QEMU ${{ matrix.name }}
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
|
@ -342,13 +381,15 @@ jobs:
|
||||||
{ name: PPC64LE, xcc_pkg: gcc-powerpc64le-linux-gnu, xcc: powerpc64le-linux-gnu-gcc, xemu_pkg: qemu-system-ppc, xemu: qemu-ppc64le-static },
|
{ name: PPC64LE, xcc_pkg: gcc-powerpc64le-linux-gnu, xcc: powerpc64le-linux-gnu-gcc, xemu_pkg: qemu-system-ppc, xemu: qemu-ppc64le-static },
|
||||||
{ name: S390X, xcc_pkg: gcc-s390x-linux-gnu, xcc: s390x-linux-gnu-gcc, xemu_pkg: qemu-system-s390x, xemu: qemu-s390x-static },
|
{ name: S390X, xcc_pkg: gcc-s390x-linux-gnu, xcc: s390x-linux-gnu-gcc, xemu_pkg: qemu-system-s390x, xemu: qemu-s390x-static },
|
||||||
{ name: MIPS, xcc_pkg: gcc-mips-linux-gnu, xcc: mips-linux-gnu-gcc, xemu_pkg: qemu-system-mips, xemu: qemu-mips-static },
|
{ name: MIPS, xcc_pkg: gcc-mips-linux-gnu, xcc: mips-linux-gnu-gcc, xemu_pkg: qemu-system-mips, xemu: qemu-mips-static },
|
||||||
|
{ name: RISC-V, xcc_pkg: gcc-riscv64-linux-gnu, xcc: riscv64-linux-gnu-gcc, xemu_pkg: qemu-system-riscv64,xemu: qemu-riscv64-static },
|
||||||
{ name: M68K, xcc_pkg: gcc-m68k-linux-gnu, xcc: m68k-linux-gnu-gcc, xemu_pkg: qemu-system-m68k, xemu: qemu-m68k-static },
|
{ name: M68K, xcc_pkg: gcc-m68k-linux-gnu, xcc: m68k-linux-gnu-gcc, xemu_pkg: qemu-system-m68k, xemu: qemu-m68k-static },
|
||||||
|
{ name: SPARC, xcc_pkg: gcc-sparc64-linux-gnu, xcc: sparc64-linux-gnu-gcc, xemu_pkg: qemu-system-sparc, xemu: qemu-sparc64-static },
|
||||||
]
|
]
|
||||||
env: # Set environment variables
|
env: # Set environment variables
|
||||||
XCC: ${{ matrix.xcc }}
|
XCC: ${{ matrix.xcc }}
|
||||||
XEMU: ${{ matrix.xemu }}
|
XEMU: ${{ matrix.xemu }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: apt update & install
|
- name: apt update & install
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
|
@ -368,6 +409,7 @@ jobs:
|
||||||
- name: ARM64
|
- name: ARM64
|
||||||
if: ${{ matrix.name == 'ARM64' }}
|
if: ${{ matrix.name == 'ARM64' }}
|
||||||
run: |
|
run: |
|
||||||
|
LDFLAGS="-static -z force-bti" MOREFLAGS="-mbranch-protection=standard" CC=$XCC QEMU_SYS=$XEMU make clean check
|
||||||
LDFLAGS="-static" CC=$XCC QEMU_SYS=$XEMU make clean check
|
LDFLAGS="-static" CC=$XCC QEMU_SYS=$XEMU make clean check
|
||||||
- name: PPC
|
- name: PPC
|
||||||
if: ${{ matrix.name == 'PPC' }}
|
if: ${{ matrix.name == 'PPC' }}
|
||||||
|
@ -385,10 +427,18 @@ jobs:
|
||||||
if: ${{ matrix.name == 'MIPS' }}
|
if: ${{ matrix.name == 'MIPS' }}
|
||||||
run: |
|
run: |
|
||||||
LDFLAGS="-static" CC=$XCC QEMU_SYS=$XEMU make clean check
|
LDFLAGS="-static" CC=$XCC QEMU_SYS=$XEMU make clean check
|
||||||
|
- name: RISC-V
|
||||||
|
if: ${{ matrix.name == 'RISC-V' }}
|
||||||
|
run: |
|
||||||
|
LDFLAGS="-static" CC=$XCC QEMU_SYS=$XEMU make clean check
|
||||||
- name: M68K
|
- name: M68K
|
||||||
if: ${{ matrix.name == 'M68K' }}
|
if: ${{ matrix.name == 'M68K' }}
|
||||||
run: |
|
run: |
|
||||||
LDFLAGS="-static" CC=$XCC QEMU_SYS=$XEMU make clean check
|
LDFLAGS="-static" CC=$XCC QEMU_SYS=$XEMU make clean check
|
||||||
|
- name: SPARC
|
||||||
|
if: ${{ matrix.name == 'SPARC' }}
|
||||||
|
run: |
|
||||||
|
LDFLAGS="-static" CC=$XCC QEMU_SYS=$XEMU make clean check
|
||||||
|
|
||||||
mingw-short-test:
|
mingw-short-test:
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
|
@ -404,8 +454,8 @@ jobs:
|
||||||
run:
|
run:
|
||||||
shell: msys2 {0}
|
shell: msys2 {0}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- uses: msys2/setup-msys2@v2
|
- uses: msys2/setup-msys2@cc11e9188b693c2b100158c3322424c4cc1dadea # tag=v2.22.0
|
||||||
with:
|
with:
|
||||||
msystem: ${{ matrix.msystem }}
|
msystem: ${{ matrix.msystem }}
|
||||||
install: make diffutils
|
install: make diffutils
|
||||||
|
@ -440,9 +490,9 @@ jobs:
|
||||||
platform: [x64, Win32]
|
platform: [x64, Win32]
|
||||||
configuration: [Release]
|
configuration: [Release]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: Add MSBuild to PATH
|
- name: Add MSBuild to PATH
|
||||||
uses: microsoft/setup-msbuild@v1.3
|
uses: microsoft/setup-msbuild@6fb02220983dee41ce7ae257b6f4d8f9bf5ed4ce # tag=v2.0.0
|
||||||
- name: Build and run tests
|
- name: Build and run tests
|
||||||
working-directory: ${{env.GITHUB_WORKSPACE}}
|
working-directory: ${{env.GITHUB_WORKSPACE}}
|
||||||
env:
|
env:
|
||||||
|
@ -461,8 +511,8 @@ jobs:
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
steps:
|
steps:
|
||||||
- run: git config --global core.autocrlf input
|
- run: git config --global core.autocrlf input
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- uses: cygwin/cygwin-install-action@f5e0f048310c425e84bc789f493a828c6dc80a25 # tag=master
|
- uses: cygwin/cygwin-install-action@006ad0b0946ca6d0a3ea2d4437677fa767392401 # tag=master
|
||||||
with:
|
with:
|
||||||
platform: x86_64
|
platform: x86_64
|
||||||
packages: >-
|
packages: >-
|
||||||
|
@ -483,31 +533,12 @@ jobs:
|
||||||
make -C tests fuzzer &&
|
make -C tests fuzzer &&
|
||||||
./tests/fuzzer.exe -v -T1m
|
./tests/fuzzer.exe -v -T1m
|
||||||
|
|
||||||
intel-cet-compatibility:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
|
||||||
- name: Build Zstd
|
|
||||||
run: |
|
|
||||||
make -j zstd V=1
|
|
||||||
readelf -n zstd
|
|
||||||
- name: Get Intel SDE
|
|
||||||
run: |
|
|
||||||
curl -LO https://downloadmirror.intel.com/684899/sde-external-9.0.0-2021-11-07-lin.tar.xz
|
|
||||||
tar xJvf sde-external-9.0.0-2021-11-07-lin.tar.xz
|
|
||||||
- name: Configure Permissions
|
|
||||||
run: |
|
|
||||||
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
|
|
||||||
- name: Run Under SDE
|
|
||||||
run: |
|
|
||||||
sde-external-9.0.0-2021-11-07-lin/sde -cet -cet-raise 0 -cet-endbr-exe -cet-stderr -cet-abort -- ./zstd -b3
|
|
||||||
|
|
||||||
pkg-config:
|
pkg-config:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
container:
|
container:
|
||||||
image: debian:testing
|
image: debian:testing
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
apt -y update
|
apt -y update
|
||||||
|
@ -522,7 +553,7 @@ jobs:
|
||||||
versions-compatibility:
|
versions-compatibility:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: Versions Compatibility Test
|
- name: Versions Compatibility Test
|
||||||
run: |
|
run: |
|
||||||
make -C tests versionsTest
|
make -C tests versionsTest
|
||||||
|
@ -530,7 +561,7 @@ jobs:
|
||||||
clangbuild:
|
clangbuild:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: make clangbuild
|
- name: make clangbuild
|
||||||
run: |
|
run: |
|
||||||
make clangbuild
|
make clangbuild
|
||||||
|
@ -538,7 +569,7 @@ jobs:
|
||||||
clang-pgo:
|
clang-pgo:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: Build PGO Zstd with Clang
|
- name: Build PGO Zstd with Clang
|
||||||
env:
|
env:
|
||||||
CC: clang-14
|
CC: clang-14
|
||||||
|
@ -550,7 +581,7 @@ jobs:
|
||||||
gcc-pgo:
|
gcc-pgo:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
- name: Build PGO Zstd with GCC
|
- name: Build PGO Zstd with GCC
|
||||||
env:
|
env:
|
||||||
CC: gcc
|
CC: gcc
|
||||||
|
@ -558,10 +589,29 @@ jobs:
|
||||||
make -C programs zstd-pgo
|
make -C programs zstd-pgo
|
||||||
./programs/zstd -b
|
./programs/zstd -b
|
||||||
|
|
||||||
|
intel-cet-compatibility:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
|
- name: Build Zstd
|
||||||
|
run: |
|
||||||
|
make -j zstd V=1
|
||||||
|
readelf -n zstd
|
||||||
|
- name: Get Intel SDE
|
||||||
|
run: |
|
||||||
|
curl -LO https://downloadmirror.intel.com/813591/sde-external-9.33.0-2024-01-07-lin.tar.xz
|
||||||
|
tar xJvf sde-external-9.33.0-2024-01-07-lin.tar.xz
|
||||||
|
- name: Configure Permissions
|
||||||
|
run: |
|
||||||
|
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
|
||||||
|
- name: Run Under SDE
|
||||||
|
run: |
|
||||||
|
sde-external-9.33.0-2024-01-07-lin/sde -cet -cet-raise 0 -cet-endbr-exe -cet-stderr -cet-abort -- ./zstd -b3
|
||||||
|
|
||||||
|
|
||||||
|
# Failing tests, for reference
|
||||||
|
|
||||||
# For reference : icc tests
|
|
||||||
# icc tests are currently failing on Github Actions, likely to issues during installation stage
|
# icc tests are currently failing on Github Actions, likely to issues during installation stage
|
||||||
# To be fixed later
|
|
||||||
#
|
#
|
||||||
# icc:
|
# icc:
|
||||||
# name: icc-check
|
# name: icc-check
|
||||||
|
@ -577,7 +627,7 @@ jobs:
|
||||||
# sudo add-apt-repository "deb https://apt.repos.intel.com/oneapi all main"
|
# sudo add-apt-repository "deb https://apt.repos.intel.com/oneapi all main"
|
||||||
# sudo apt-get update
|
# sudo apt-get update
|
||||||
# sudo apt-get install -y intel-basekit intel-hpckit
|
# sudo apt-get install -y intel-basekit intel-hpckit
|
||||||
# - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
# - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
# - name: make check
|
# - name: make check
|
||||||
# run: |
|
# run: |
|
||||||
# make CC=/opt/intel/oneapi/compiler/latest/linux/bin/intel64/icc check
|
# make CC=/opt/intel/oneapi/compiler/latest/linux/bin/intel64/icc check
|
65
src/dependencies/zstd-1.5.6/.github/workflows/nightly.yml
vendored
Normal file
65
src/dependencies/zstd-1.5.6/.github/workflows/nightly.yml
vendored
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
name: facebook/zstd/nightly
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: 0 0 * * *
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- release
|
||||||
|
- dev
|
||||||
|
- master
|
||||||
|
permissions: read-all
|
||||||
|
jobs:
|
||||||
|
regression-test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
services:
|
||||||
|
docker:
|
||||||
|
image: fbopensource/zstd-circleci-primary:0.0.1
|
||||||
|
options: --entrypoint /bin/bash
|
||||||
|
env:
|
||||||
|
CIRCLE_ARTIFACTS: "/tmp/circleci-artifacts"
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: actions/cache@v4
|
||||||
|
with:
|
||||||
|
key: regression-cache-{{ checksum "tests/regression/data.c" }}-v0
|
||||||
|
path: tests/regression/cache
|
||||||
|
restore-keys: regression-cache-{{ checksum "tests/regression/data.c" }}-v0
|
||||||
|
- uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
path: "/tmp/circleci-artifacts"
|
||||||
|
- name: Install Dependencies
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install libcurl4-gnutls-dev
|
||||||
|
- name: Regression Test
|
||||||
|
run: |
|
||||||
|
make -C programs zstd
|
||||||
|
make -C tests/regression test
|
||||||
|
mkdir -p $CIRCLE_ARTIFACTS
|
||||||
|
./tests/regression/test \
|
||||||
|
--cache tests/regression/cache \
|
||||||
|
--output $CIRCLE_ARTIFACTS/results.csv \
|
||||||
|
--zstd programs/zstd
|
||||||
|
echo "NOTE: The new results.csv is uploaded as an artifact to this job"
|
||||||
|
echo " If this fails, go to the Artifacts pane in CircleCI, "
|
||||||
|
echo " download /tmp/circleci-artifacts/results.csv, and if they "
|
||||||
|
echo " are still good, copy it into the repo and commit it."
|
||||||
|
echo "> diff tests/regression/results.csv $CIRCLE_ARTIFACTS/results.csv"
|
||||||
|
diff tests/regression/results.csv $CIRCLE_ARTIFACTS/results.csv
|
||||||
|
|
||||||
|
# Longer tests
|
||||||
|
#- make -C tests test-zstd-nolegacy && make clean
|
||||||
|
#- pyenv global 3.4.4; make -C tests versionsTest && make clean
|
||||||
|
#- make zlibwrapper && make clean
|
||||||
|
#- gcc -v; make -C tests test32 MOREFLAGS="-I/usr/include/x86_64-linux-gnu" && make clean
|
||||||
|
#- make uasan && make clean
|
||||||
|
#- make asan32 && make clean
|
||||||
|
#- make -C tests test32 CC=clang MOREFLAGS="-g -fsanitize=address -I/usr/include/x86_64-linux-gnu"
|
||||||
|
# Valgrind tests
|
||||||
|
#- CFLAGS="-O1 -g" make -C zlibWrapper valgrindTest && make clean
|
||||||
|
#- make -C tests valgrindTest && make clean
|
||||||
|
# ARM, AArch64, PowerPC, PowerPC64 tests
|
||||||
|
#- make ppctest && make clean
|
||||||
|
#- make ppc64test && make clean
|
||||||
|
#- make armtest && make clean
|
||||||
|
#- make aarch64test && make clean
|
|
@ -5,21 +5,19 @@ on:
|
||||||
types:
|
types:
|
||||||
- published
|
- published
|
||||||
|
|
||||||
permissions:
|
permissions: read-all
|
||||||
contents: read
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
publish-release-artifacts:
|
publish-release-artifacts:
|
||||||
permissions:
|
permissions:
|
||||||
contents: read # to fetch code (actions/checkout)
|
contents: write # to fetch code and upload artifacts
|
||||||
actions: write # to attach binaries to release artifacts (skx/github-action-publish-binaries)
|
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
if: startsWith(github.ref, 'refs/tags/')
|
if: startsWith(github.ref, 'refs/tags/')
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v3
|
||||||
|
|
||||||
- name: Archive
|
- name: Archive
|
||||||
env:
|
env:
|
||||||
|
@ -68,7 +66,7 @@ jobs:
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Publish
|
- name: Publish
|
||||||
uses: skx/github-action-publish-binaries@release-2.0
|
uses: skx/github-action-publish-binaries@b9ca5643b2f1d7371a6cba7f35333f1461bbc703 # tag=release-2.0
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
with:
|
with:
|
|
@ -27,12 +27,12 @@ jobs:
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: "Checkout code"
|
- name: "Checkout code"
|
||||||
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v3
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
|
||||||
- name: "Run analysis"
|
- name: "Run analysis"
|
||||||
uses: ossf/scorecard-action@e38b1902ae4f44df626f11ba0734b14fb91f8f86 # tag=v2.1.2
|
uses: ossf/scorecard-action@0864cf19026789058feabb7e87baa5f140aac736 # tag=v2.3.1
|
||||||
with:
|
with:
|
||||||
results_file: results.sarif
|
results_file: results.sarif
|
||||||
results_format: sarif
|
results_format: sarif
|
||||||
|
@ -51,7 +51,7 @@ jobs:
|
||||||
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
|
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
|
||||||
# format to the repository Actions tab.
|
# format to the repository Actions tab.
|
||||||
- name: "Upload artifact"
|
- name: "Upload artifact"
|
||||||
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # tag=v3.1.2
|
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # tag=v4.3.1
|
||||||
with:
|
with:
|
||||||
name: SARIF file
|
name: SARIF file
|
||||||
path: results.sarif
|
path: results.sarif
|
||||||
|
@ -59,6 +59,6 @@ jobs:
|
||||||
|
|
||||||
# Upload the results to GitHub's code scanning dashboard.
|
# Upload the results to GitHub's code scanning dashboard.
|
||||||
- name: "Upload to code-scanning"
|
- name: "Upload to code-scanning"
|
||||||
uses: github/codeql-action/upload-sarif@3ebbd71c74ef574dbc558c82f70e52732c8b44fe # tag=v2.2.1
|
uses: github/codeql-action/upload-sarif@3ab4101902695724f9365a384f86c1074d94e18c # tag=v3.24.7
|
||||||
with:
|
with:
|
||||||
sarif_file: results.sarif
|
sarif_file: results.sarif
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue