From 08e8d30d1b8c8fac18aa085c26cba53336917557 Mon Sep 17 00:00:00 2001 From: Przemyslaw Skibinski Date: Mon, 19 Dec 2016 09:28:55 +0100 Subject: [PATCH 1/7] fixed CMake compilation with Visual Studio --- appveyor.yml | 7 +++++++ build/cmake/lib/CMakeLists.txt | 4 ++-- build/cmake/programs/CMakeLists.txt | 7 ++++++- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 1af9da711..434d80f7d 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -55,6 +55,13 @@ build_script: make -C contrib\pzstd tests && make -C contrib\pzstd check && make -C contrib\pzstd clean + ECHO *** && + ECHO *** Building cmake for %PLATFORM% && + ECHO *** && + mkdir build\cmake\build && + cd build\cmake\build && + cmake -G "Visual Studio 14 2015 Win64" .. && + cd ..\..\.. ) - if [%COMPILER%]==[gcc] ( ECHO *** && diff --git a/build/cmake/lib/CMakeLists.txt b/build/cmake/lib/CMakeLists.txt index 65942b412..b8510f7be 100644 --- a/build/cmake/lib/CMakeLists.txt +++ b/build/cmake/lib/CMakeLists.txt @@ -110,8 +110,8 @@ IF (ZSTD_LEGACY_SUPPORT) ENDIF (ZSTD_LEGACY_SUPPORT) IF (MSVC) - SET(MSVC_RESOURCE_DIR ${ROOT_DIR}/build/VS2010/zstdlib) - SET(PlatformDependResources ${MSVC_RESOURCE_DIR}/zstdlib.rc) + SET(MSVC_RESOURCE_DIR ${ROOT_DIR}/build/VS2010/libzstd-dll) + SET(PlatformDependResources ${MSVC_RESOURCE_DIR}/libzstd-dll.rc) ENDIF (MSVC) # Split project to static and shared libraries build diff --git a/build/cmake/programs/CMakeLists.txt b/build/cmake/programs/CMakeLists.txt index 26cd6c0cc..c2931b096 100644 --- a/build/cmake/programs/CMakeLists.txt +++ b/build/cmake/programs/CMakeLists.txt @@ -47,7 +47,12 @@ IF (ZSTD_LEGACY_SUPPORT) INCLUDE_DIRECTORIES(${PROGRAMS_LEGACY_DIR} ${LIBRARY_DIR}/legacy) ENDIF (ZSTD_LEGACY_SUPPORT) -ADD_EXECUTABLE(zstd ${PROGRAMS_DIR}/zstdcli.c ${PROGRAMS_DIR}/fileio.c ${PROGRAMS_DIR}/bench.c ${PROGRAMS_DIR}/datagen.c ${PROGRAMS_DIR}/dibio.c) +IF (MSVC) + SET(MSVC_RESOURCE_DIR ${ROOT_DIR}/build/VS2010/zstd) + SET(PlatformDependResources ${MSVC_RESOURCE_DIR}/zstd.rc) +ENDIF (MSVC) + +ADD_EXECUTABLE(zstd ${PROGRAMS_DIR}/zstdcli.c ${PROGRAMS_DIR}/fileio.c ${PROGRAMS_DIR}/bench.c ${PROGRAMS_DIR}/datagen.c ${PROGRAMS_DIR}/dibio.c ${PlatformDependResources}) TARGET_LINK_LIBRARIES(zstd libzstd_static) IF (UNIX) From 6914864f4016bf9173a2f969ee8d6faaaea94b56 Mon Sep 17 00:00:00 2001 From: Przemyslaw Skibinski Date: Mon, 19 Dec 2016 09:47:45 +0100 Subject: [PATCH 2/7] updated libzstd-dll.rc --- appveyor.yml | 16 ++++++++-------- build/VS2010/libzstd-dll/libzstd-dll.rc | 6 +++--- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 434d80f7d..cd082a415 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -25,7 +25,6 @@ install: - MKDIR bin - if [%COMPILER%]==[gcc] SET PATH_ORIGINAL=%PATH% - if [%COMPILER%]==[gcc] ( - SET "CLANG_PARAMS=-C tests zstd fullbench fuzzer paramgrill datagen CC=clang MOREFLAGS="--target=x86_64-w64-mingw32 -Werror -Wconversion -Wno-sign-conversion"" && SET "PATH_MINGW32=c:\MinGW\bin;c:\MinGW\usr\bin" && SET "PATH_MINGW64=c:\msys64\mingw64\bin;c:\msys64\usr\bin" && COPY C:\msys64\usr\bin\make.exe C:\MinGW\bin\make.exe && @@ -43,9 +42,17 @@ build_script: ECHO *** && ECHO *** Building clang && ECHO *** && + SET "CLANG_PARAMS=-C tests zstd fullbench fuzzer paramgrill datagen CC=clang MOREFLAGS="--target=x86_64-w64-mingw32 -Werror -Wconversion -Wno-sign-conversion"" && ECHO make %CLANG_PARAMS% && make %CLANG_PARAMS% && COPY tests\fuzzer.exe tests\fuzzer_clang.exe && + ECHO *** && + ECHO *** Building cmake for %PLATFORM% && + ECHO *** && + mkdir build\cmake\build && + cd build\cmake\build && + cmake -G "Visual Studio 14 2015 Win64" .. && + cd ..\..\.. && make clean && ECHO *** && ECHO *** Building pzstd for %PLATFORM% && @@ -55,13 +62,6 @@ build_script: make -C contrib\pzstd tests && make -C contrib\pzstd check && make -C contrib\pzstd clean - ECHO *** && - ECHO *** Building cmake for %PLATFORM% && - ECHO *** && - mkdir build\cmake\build && - cd build\cmake\build && - cmake -G "Visual Studio 14 2015 Win64" .. && - cd ..\..\.. ) - if [%COMPILER%]==[gcc] ( ECHO *** && diff --git a/build/VS2010/libzstd-dll/libzstd-dll.rc b/build/VS2010/libzstd-dll/libzstd-dll.rc index 72ea168d2..ee9f56280 100644 --- a/build/VS2010/libzstd-dll/libzstd-dll.rc +++ b/build/VS2010/libzstd-dll/libzstd-dll.rc @@ -32,11 +32,11 @@ BEGIN BEGIN BLOCK "040904B0" BEGIN - VALUE "CompanyName", "Yann Collet" - VALUE "FileDescription", "Fast and efficient compression algorithm" + VALUE "CompanyName", "Yann Collet, Facebook, Inc." + VALUE "FileDescription", "Zstandard - Fast and efficient compression algorithm" VALUE "FileVersion", ZSTD_VERSION_STRING VALUE "InternalName", "libzstd.dll" - VALUE "LegalCopyright", "Copyright (C) 2013-2016, Yann Collet" + VALUE "LegalCopyright", "Copyright (c) 2013-present, Yann Collet, Facebook, Inc." VALUE "OriginalFilename", "libzstd.dll" VALUE "ProductName", "Zstandard" VALUE "ProductVersion", ZSTD_VERSION_STRING From 95ff9a1ed77e31c2a9c76611245a5691d6879358 Mon Sep 17 00:00:00 2001 From: Jacques Germishuys Date: Sun, 18 Dec 2016 18:17:25 +0200 Subject: [PATCH 3/7] cmake msvc: correct resources --- build/cmake/lib/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/cmake/lib/CMakeLists.txt b/build/cmake/lib/CMakeLists.txt index 65942b412..b8510f7be 100644 --- a/build/cmake/lib/CMakeLists.txt +++ b/build/cmake/lib/CMakeLists.txt @@ -110,8 +110,8 @@ IF (ZSTD_LEGACY_SUPPORT) ENDIF (ZSTD_LEGACY_SUPPORT) IF (MSVC) - SET(MSVC_RESOURCE_DIR ${ROOT_DIR}/build/VS2010/zstdlib) - SET(PlatformDependResources ${MSVC_RESOURCE_DIR}/zstdlib.rc) + SET(MSVC_RESOURCE_DIR ${ROOT_DIR}/build/VS2010/libzstd-dll) + SET(PlatformDependResources ${MSVC_RESOURCE_DIR}/libzstd-dll.rc) ENDIF (MSVC) # Split project to static and shared libraries build From 7ee2bd7840e5205cb0fa0481f8f99d15c5bac526 Mon Sep 17 00:00:00 2001 From: Przemyslaw Skibinski Date: Mon, 19 Dec 2016 10:58:10 +0100 Subject: [PATCH 4/7] updated appveyor.yml --- appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index cd082a415..c95be3b96 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -25,6 +25,7 @@ install: - MKDIR bin - if [%COMPILER%]==[gcc] SET PATH_ORIGINAL=%PATH% - if [%COMPILER%]==[gcc] ( + SET "CLANG_PARAMS=-C tests zstd fullbench fuzzer paramgrill datagen CC=clang MOREFLAGS="--target=x86_64-w64-mingw32 -Werror -Wconversion -Wno-sign-conversion"" && SET "PATH_MINGW32=c:\MinGW\bin;c:\MinGW\usr\bin" && SET "PATH_MINGW64=c:\msys64\mingw64\bin;c:\msys64\usr\bin" && COPY C:\msys64\usr\bin\make.exe C:\MinGW\bin\make.exe && @@ -42,7 +43,6 @@ build_script: ECHO *** && ECHO *** Building clang && ECHO *** && - SET "CLANG_PARAMS=-C tests zstd fullbench fuzzer paramgrill datagen CC=clang MOREFLAGS="--target=x86_64-w64-mingw32 -Werror -Wconversion -Wno-sign-conversion"" && ECHO make %CLANG_PARAMS% && make %CLANG_PARAMS% && COPY tests\fuzzer.exe tests\fuzzer_clang.exe && From 85a150eab7fe505b53438f8df04c577eda7a4022 Mon Sep 17 00:00:00 2001 From: Jacques Germishuys Date: Mon, 19 Dec 2016 14:15:47 +0200 Subject: [PATCH 5/7] cmake msvc: resources are not required for the static library --- build/cmake/lib/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/cmake/lib/CMakeLists.txt b/build/cmake/lib/CMakeLists.txt index b8510f7be..41fe2733f 100644 --- a/build/cmake/lib/CMakeLists.txt +++ b/build/cmake/lib/CMakeLists.txt @@ -115,7 +115,7 @@ IF (MSVC) ENDIF (MSVC) # Split project to static and shared libraries build -ADD_LIBRARY(libzstd_static STATIC ${Sources} ${Headers} ${PlatformDependResources}) +ADD_LIBRARY(libzstd_static STATIC ${Sources} ${Headers}) ADD_LIBRARY(libzstd_shared SHARED ${Sources} ${Headers} ${PlatformDependResources}) # Add specific compile definitions for MSVC project From 4beb51f17ceb14451845fc6397f53c9858e74a50 Mon Sep 17 00:00:00 2001 From: Przemyslaw Skibinski Date: Tue, 20 Dec 2016 10:17:21 +0100 Subject: [PATCH 6/7] tests of ZSTD_compressContinue_extDict --- tests/fullbench.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/tests/fullbench.c b/tests/fullbench.c index 233b4e931..5c7e2cc32 100644 --- a/tests/fullbench.c +++ b/tests/fullbench.c @@ -179,6 +179,23 @@ size_t local_ZSTD_compressContinue(void* dst, size_t dstCapacity, void* buff2, c return ZSTD_compressEnd(g_zcc, dst, dstCapacity, src, srcSize); } +#define FIRST_BLOCK_SIZE 8 +size_t local_ZSTD_compressContinue_extDict(void* dst, size_t dstCapacity, void* buff2, const void* src, size_t srcSize) +{ + BYTE firstBlockBuf[FIRST_BLOCK_SIZE]; + + (void)buff2; + memcpy(firstBlockBuf, src, FIRST_BLOCK_SIZE); + ZSTD_compressBegin(g_zcc, 1); + + { size_t const compressResult = ZSTD_compressContinue(g_zcc, dst, dstCapacity, firstBlockBuf, FIRST_BLOCK_SIZE); + if (ZSTD_isError(compressResult)) { DISPLAY("local_ZSTD_compressContinue_extDict error : %s\n", ZSTD_getErrorName(compressResult)); return compressResult; } + dst = (BYTE*)dst + compressResult; + dstCapacity -= compressResult; + } + return ZSTD_compressEnd(g_zcc, dst, dstCapacity, (const BYTE*)src + FIRST_BLOCK_SIZE, srcSize - FIRST_BLOCK_SIZE); +} + size_t local_ZSTD_decompressContinue(void* dst, size_t dstCapacity, void* buff2, const void* src, size_t srcSize) { size_t regeneratedSize = 0; @@ -229,6 +246,9 @@ static size_t benchMem(const void* src, size_t srcSize, U32 benchNb) benchFunction = local_ZSTD_compressContinue; benchName = "ZSTD_compressContinue"; break; case 12: + benchFunction = local_ZSTD_compressContinue_extDict; benchName = "ZSTD_compressContinue_extDict"; + break; + case 13: benchFunction = local_ZSTD_decompressContinue; benchName = "ZSTD_decompressContinue"; break; case 31: @@ -268,6 +288,9 @@ static size_t benchMem(const void* src, size_t srcSize, U32 benchNb) if (g_zcc==NULL) g_zcc = ZSTD_createCCtx(); break; case 12 : + if (g_zcc==NULL) g_zcc = ZSTD_createCCtx(); + break; + case 13 : if (g_zdc==NULL) g_zdc = ZSTD_createDCtx(); g_cSize = ZSTD_compress(buff2, dstBuffSize, src, srcSize, 1); break; From 1c1db6b8454e15d772983343c278905dc14655d0 Mon Sep 17 00:00:00 2001 From: Przemyslaw Skibinski Date: Tue, 20 Dec 2016 11:21:26 +0100 Subject: [PATCH 7/7] windres updated to v1.1.3 --- programs/windres/zstd32.res | Bin 1044 -> 1044 bytes programs/windres/zstd64.res | Bin 1044 -> 1044 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/programs/windres/zstd32.res b/programs/windres/zstd32.res index 6135dc431fed231ce2143b394625bc0b52b0615a..748192a988648a0be3b17ce47353f28015003815 100644 GIT binary patch delta 33 mcmbQjF@