From 316340385553827a1ad1bca38d3d8cd0c7e46dd7 Mon Sep 17 00:00:00 2001 From: inikep Date: Thu, 5 May 2016 00:25:38 +0200 Subject: [PATCH 01/11] UTIL_prepareFileList --- lib/common/util.h | 213 ++++++++++++++++-- .../2013/fullbench/fullbench.vcxproj.filters | 170 +++++++------- visual/2013/fuzzer/fuzzer.vcxproj.filters | 158 ++++++------- 3 files changed, 360 insertions(+), 181 deletions(-) diff --git a/lib/common/util.h b/lib/common/util.h index 1de1efd86..af3360d65 100644 --- a/lib/common/util.h +++ b/lib/common/util.h @@ -42,8 +42,8 @@ extern "C" { /*-**************************************** * Dependencies ******************************************/ -#define _POSIX_C_SOURCE 199309L /* before - needed for nanosleep() */ -#include /* clock_t, nanosleep, clock, CLOCKS_PER_SEC */ +#include /* _POSIX_C_SOURCE, malloc */ +#include /* fprintf */ #include /* stat */ #include /* stat */ #include "mem.h" /* U32, U64 */ @@ -62,24 +62,34 @@ extern "C" { # define UTIL_STATIC static /* this version may generate warnings for unused static functions; disable the relevant warning */ #endif -/* Sleep functions: posix - windows - others */ -#if !defined(_WIN32) && (defined(__unix__) || defined(__unix) || (defined(__APPLE__) && defined(__MACH__))) -# include -# include /* setpriority */ -# define UTIL_sleep(s) sleep(s) -# define UTIL_sleepMilli(milli) { struct timespec t; t.tv_sec=0; t.tv_nsec=milli*1000000ULL; nanosleep(&t, NULL); } -# define SET_HIGH_PRIORITY setpriority(PRIO_PROCESS, 0, -20) -#elif defined(_WIN32) + +/* Sleep functions: Windows - Posix - others */ +#if defined(_WIN32) # include +# define SET_HIGH_PRIORITY SetPriorityClass(GetCurrentProcess(), REALTIME_PRIORITY_CLASS) # define UTIL_sleep(s) Sleep(1000*s) # define UTIL_sleepMilli(milli) Sleep(milli) -# define SET_HIGH_PRIORITY SetPriorityClass(GetCurrentProcess(), REALTIME_PRIORITY_CLASS) +#elif (defined(__unix__) || defined(__unix) || (defined(__APPLE__) && defined(__MACH__))) +# include +# include /* setpriority */ +# include /* clock_t, nanosleep, clock, CLOCKS_PER_SEC */ +# define SET_HIGH_PRIORITY setpriority(PRIO_PROCESS, 0, -20) +# define UTIL_sleep(s) sleep(s) + #if defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE >= 199309L) + # define UTIL_sleepMilli(milli) { struct timespec t; t.tv_sec=0; t.tv_nsec=milli*1000000ULL; nanosleep(&t, NULL); } + #else + # define UTIL_sleepMilli(milli) /* disabled */ + #endif #else -# define UTIL_sleep(s) /* disabled */ +# define SET_HIGH_PRIORITY /* disabled */ +# define UTIL_sleep(s) /* disabled */ # define UTIL_sleepMilli(milli) /* disabled */ -# define SET_HIGH_PRIORITY /* disabled */ #endif + +/*-**************************************** +* Time functions +******************************************/ #if !defined(_WIN32) typedef clock_t UTIL_time_t; # define UTIL_initTimer(ticksPerSecond) ticksPerSecond=0 @@ -95,10 +105,6 @@ extern "C" { #endif - -/*-**************************************** -* Utility functions -******************************************/ /* returns time span in microseconds */ UTIL_STATIC U64 UTIL_clockSpanMicro( UTIL_time_t clockStart, UTIL_time_t ticksPerSecond ) { @@ -122,6 +128,10 @@ UTIL_STATIC void UTIL_waitForNextTick(UTIL_time_t ticksPerSecond) } + +/*-**************************************** +* File functions +******************************************/ UTIL_STATIC U64 UTIL_getFileSize(const char* infilename) { int r; @@ -148,6 +158,22 @@ UTIL_STATIC U64 UTIL_getTotalFileSize(const char** fileNamesTable, unsigned nbFi } +UTIL_STATIC int UTIL_doesFileExists(const char* infilename) +{ + int r; +#if defined(_MSC_VER) + struct _stat64 statbuf; + r = _stat64(infilename, &statbuf); + if (r || !(statbuf.st_mode & S_IFREG)) return 0; /* No good... */ +#else + struct stat statbuf; + r = stat(infilename, &statbuf); + if (r || !S_ISREG(statbuf.st_mode)) return 0; /* No good... */ +#endif + return 1; +} + + UTIL_STATIC U32 UTIL_isDirectory(const char* infilename) { int r; @@ -164,6 +190,159 @@ UTIL_STATIC U32 UTIL_isDirectory(const char* infilename) } +#ifdef _WIN32 + +UTIL_STATIC int UTIL_prepareFileList(const char *dirName, char** bufStart, char* bufEnd) +{ + char path[MAX_PATH]; + int pathLength, nbFiles = 0; + WIN32_FIND_DATA cFile; + HANDLE hFile; + + if (*bufStart >= bufEnd) return 0; + + pathLength = snprintf(path, MAX_PATH, "%s\\*", dirName); + if (pathLength < 0 || pathLength >= MAX_PATH) { + fprintf(stderr, "Path length has got too long.\n"); + return 0; + } + + hFile=FindFirstFile(path, &cFile); + if (hFile == INVALID_HANDLE_VALUE) { + fprintf(stderr, "Cannot open directory '%s'\n", dirName); + return 0; + } + + while (*bufStart < bufEnd) { + if (cFile.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { + if (strcmp (cFile.cFileName, "..") == 0 || + strcmp (cFile.cFileName, ".") == 0) goto next; + pathLength = snprintf(path, MAX_PATH, "%s\\%s", dirName, cFile.cFileName); + if (pathLength < 0 || pathLength >= MAX_PATH) { + fprintf(stderr, "Path length has got too long.\n"); + goto next; + } + // printf ("[%s]\n", path); + nbFiles += UTIL_prepareFileList(path, bufStart, bufEnd); /* Recursively call "UTIL_prepareFileList" with the new path. */ + } + else if ((cFile.dwFileAttributes & FILE_ATTRIBUTE_NORMAL) || (cFile.dwFileAttributes & FILE_ATTRIBUTE_ARCHIVE) || (cFile.dwFileAttributes & FILE_ATTRIBUTE_COMPRESSED)) { + pathLength = snprintf(*bufStart, bufEnd - *bufStart, "%s\\%s", dirName, cFile.cFileName); + if (pathLength < 0) break; + *bufStart += pathLength + 1; + if (*bufStart >= bufEnd) break; + nbFiles++; + // printf ("%s\\%s nbFiles=%d left=%d\n", dirName, cFile.cFileName, nbFiles, (int)(bufEnd - *bufStart)); + } + +next: + if (!FindNextFile(hFile, &cFile)) break; + } + + FindClose(hFile); + return nbFiles; +} + +#elif (defined(__unix__) || defined(__unix) || (defined(__APPLE__) && defined(__MACH__))) && defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE >= 200112L) /* snprintf, opendir */ +# include /* opendir, readdir */ +# include /* PATH_MAX */ +# include + +UTIL_STATIC int UTIL_prepareFileList(const char *dirName, char** bufStart, char* bufEnd) +{ + DIR *dir; + struct dirent *entry; + char path[PATH_MAX]; + int pathLength, nbFiles = 0; + + if (*bufStart >= bufEnd) return 0; + + if (!(dir = opendir(dirName))) { + fprintf(stderr, "Cannot open directory '%s': %s\n", dirName, strerror(errno)); + return 0; + } + + while ((entry = readdir(dir)) && (*bufStart < bufEnd)) { + if (entry->d_type & DT_DIR) { + if (strcmp (entry->d_name, "..") == 0 || + strcmp (entry->d_name, ".") == 0) continue; + + pathLength = snprintf(path, PATH_MAX, "%s/%s", dirName, entry->d_name); + if (pathLength < 0 || pathLength >= PATH_MAX) { + fprintf(stderr, "Path length has got too long.\n"); + continue; + } + // printf ("[%s]\n", path); + nbFiles += UTIL_prepareFileList(path, bufStart, bufEnd); /* Recursively call "UTIL_prepareFileList" with the new path. */ + } else { + pathLength = snprintf(*bufStart, bufEnd - *bufStart, "%s/%s", dirName, entry->d_name); + if (pathLength < 0) break; + *bufStart += pathLength + 1; + if (*bufStart >= bufEnd) break; + nbFiles++; + // printf ("%s/%s nbFiles=%d left=%d\n", dirName, entry->d_name, nbFiles, (int)(bufEnd - *bufStart)); + } + } + + closedir(dir); + return nbFiles; +} + +#else + +UTIL_STATIC int UTIL_prepareFileList(const char *dirName, char** bufStart, char* bufEnd) +{ + fprintf(stderr, "Directory %s ignored (zstd compiled without _POSIX_C_SOURCE)\n", dirName); + return 0; +} + +#endif // WIN32 + + +UTIL_STATIC int UTIL_createFileList(const char **inputNames, unsigned nbNames, unsigned maxListSize, char*** filenameTable) +{ + unsigned i, nbFiles = 0; + char *pbuf, *bufend, *buf; + + buf = (char*)malloc(maxListSize); + bufend = buf + maxListSize; + for (i=0, pbuf = buf; i - - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - + + + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + \ No newline at end of file diff --git a/visual/2013/fuzzer/fuzzer.vcxproj.filters b/visual/2013/fuzzer/fuzzer.vcxproj.filters index 3e0cbbedc..9f042b24f 100644 --- a/visual/2013/fuzzer/fuzzer.vcxproj.filters +++ b/visual/2013/fuzzer/fuzzer.vcxproj.filters @@ -1,80 +1,80 @@ - - - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - + + + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + \ No newline at end of file From 9c22e57bfb909c3e74eee658e06e2a342de329b9 Mon Sep 17 00:00:00 2001 From: inikep Date: Thu, 5 May 2016 11:53:42 +0200 Subject: [PATCH 02/11] Compiler Options moved to util.h --- lib/common/util.h | 59 +++++++++++++++++++------ programs/bench.c | 35 +++++++-------- programs/dibio.c | 18 -------- programs/fileio.c | 8 ---- programs/fullbench.c | 16 ------- programs/paramgrill.c | 16 ------- visual/2013/fullbench/fullbench.vcxproj | 6 +-- visual/2013/zstd/zstd.vcxproj | 6 +-- 8 files changed, 67 insertions(+), 97 deletions(-) diff --git a/lib/common/util.h b/lib/common/util.h index af3360d65..e427fc1a1 100644 --- a/lib/common/util.h +++ b/lib/common/util.h @@ -39,6 +39,28 @@ extern "C" { #endif +/* ************************************** +* Compiler Options +****************************************/ +#if defined(_MSC_VER) +# define _CRT_SECURE_NO_WARNINGS /* Disable some Visual warning messages for fopen, strncpy */ +# define _CRT_SECURE_NO_DEPRECATE /* VS2005 */ +# pragma warning(disable : 4127) /* disable: C4127: conditional expression is constant */ +# define snprintf sprintf_s /* snprintf unsupported by Visual <= 2012 */ +//# define snprintf _snprintf +#endif + +/* Unix Large Files support (>4GB) */ +#if !defined(__LP64__) /* No point defining Large file for 64 bit */ +# define _FILE_OFFSET_BITS 64 /* turn off_t into a 64-bit type for ftello, fseeko */ +# if defined(__sun__) /* Sun Solaris 32-bits requires specific definitions */ +# define _LARGEFILE_SOURCE /* fseeko, ftello */ +# else +# define _LARGEFILE64_SOURCE /* off64_t, fseeko64, ftello64 */ +# endif +#endif + + /*-**************************************** * Dependencies ******************************************/ @@ -63,7 +85,9 @@ extern "C" { #endif -/* Sleep functions: Windows - Posix - others */ +/*-**************************************** +* Sleep functions: Windows - Posix - others +******************************************/ #if defined(_WIN32) # include # define SET_HIGH_PRIORITY SetPriorityClass(GetCurrentProcess(), REALTIME_PRIORITY_CLASS) @@ -75,11 +99,11 @@ extern "C" { # include /* clock_t, nanosleep, clock, CLOCKS_PER_SEC */ # define SET_HIGH_PRIORITY setpriority(PRIO_PROCESS, 0, -20) # define UTIL_sleep(s) sleep(s) - #if defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE >= 199309L) - # define UTIL_sleepMilli(milli) { struct timespec t; t.tv_sec=0; t.tv_nsec=milli*1000000ULL; nanosleep(&t, NULL); } - #else - # define UTIL_sleepMilli(milli) /* disabled */ - #endif +# if defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE >= 199309L) +# define UTIL_sleepMilli(milli) { struct timespec t; t.tv_sec=0; t.tv_nsec=milli*1000000ULL; nanosleep(&t, NULL); } +# else +# define UTIL_sleepMilli(milli) /* disabled */ +# endif #else # define SET_HIGH_PRIORITY /* disabled */ # define UTIL_sleep(s) /* disabled */ @@ -191,6 +215,7 @@ UTIL_STATIC U32 UTIL_isDirectory(const char* infilename) #ifdef _WIN32 +# define UTIL_HAS_CREATEFILELIST UTIL_STATIC int UTIL_prepareFileList(const char *dirName, char** bufStart, char* bufEnd) { @@ -243,6 +268,7 @@ next: } #elif (defined(__unix__) || defined(__unix) || (defined(__APPLE__) && defined(__MACH__))) && defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE >= 200112L) /* snprintf, opendir */ +# define UTIL_HAS_CREATEFILELIST # include /* opendir, readdir */ # include /* PATH_MAX */ # include @@ -291,25 +317,28 @@ UTIL_STATIC int UTIL_prepareFileList(const char *dirName, char** bufStart, char* UTIL_STATIC int UTIL_prepareFileList(const char *dirName, char** bufStart, char* bufEnd) { + (void)bufStart; (void)bufEnd; fprintf(stderr, "Directory %s ignored (zstd compiled without _POSIX_C_SOURCE)\n", dirName); return 0; } -#endif // WIN32 +#endif // #ifdef _WIN32 -UTIL_STATIC int UTIL_createFileList(const char **inputNames, unsigned nbNames, unsigned maxListSize, char*** filenameTable) +UTIL_STATIC int UTIL_createFileList(const char **inputNames, unsigned nbNames, unsigned maxListSize, const char*** filenameTable, char** allocatedBuffer) { unsigned i, nbFiles = 0; char *pbuf, *bufend, *buf; buf = (char*)malloc(maxListSize); + if (!buf) { *filenameTable = NULL; return 0; } bufend = buf + maxListSize; - for (i=0, pbuf = buf; i= bufend) break; strncpy(pbuf, inputNames[i], bufend - pbuf); pbuf += len + 1; nbFiles++; @@ -318,7 +347,8 @@ UTIL_STATIC int UTIL_createFileList(const char **inputNames, unsigned nbNames, u nbFiles += UTIL_prepareFileList(inputNames[i], &pbuf, bufend); } - { char** fileTable = (char**)malloc((nbFiles+1) * sizeof(const char*)); + { const char** fileTable = (const char**)malloc((nbFiles+1) * sizeof(const char*)); + if (!fileTable) { free(buf); *filenameTable = NULL; return 0; } if (nbFiles == 0) fileTable[0] = buf; @@ -330,15 +360,16 @@ UTIL_STATIC int UTIL_createFileList(const char **inputNames, unsigned nbNames, u } *filenameTable = fileTable; + *allocatedBuffer = buf; } return nbFiles; } -UTIL_STATIC void UTIL_freeFileList(char** filenameTable) +UTIL_STATIC void UTIL_freeFileList(const char** filenameTable, char* buf) { - free(filenameTable[0]); /* free buffer */ + free(buf); free(filenameTable); } diff --git a/programs/bench.c b/programs/bench.c index 85c28e8c2..0007ef43f 100644 --- a/programs/bench.c +++ b/programs/bench.c @@ -23,24 +23,6 @@ - zstd source repository : https://github.com/Cyan4973/zstd */ -/* ************************************** -* Compiler Options -****************************************/ -/* Disable some Visual warning messages */ -#ifdef _MSC_VER -# define _CRT_SECURE_NO_WARNINGS /* fopen */ -# pragma warning(disable : 4127) /* disable: C4127: conditional expression is constant */ -#endif - -/* Unix Large Files support (>4GB) */ -#define _FILE_OFFSET_BITS 64 -#if (defined(__sun__) && (!defined(__LP64__))) /* Sun Solaris 32-bits requires specific definitions */ -# define _LARGEFILE_SOURCE -#elif ! defined(__LP64__) /* No point defining Large file for 64 bit */ -# define _LARGEFILE64_SOURCE -#endif - - /* ************************************* * Includes ***************************************/ @@ -59,7 +41,7 @@ * Compiler specifics ***************************************/ #if defined(_MSC_VER) -# define snprintf sprintf_s + #elif defined (__cplusplus) || (defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) /* part of */ #else @@ -78,6 +60,7 @@ #define TIMELOOP_MICROSEC 1*1000000ULL /* 1 second */ #define ACTIVEPERIOD_MICROSEC 70*1000000ULL /* 70 seconds */ #define COOLPERIOD_SEC 10 +#define MAX_LIST_SIZE (64*1024) #define KB *(1 <<10) #define MB *(1 <<20) @@ -535,7 +518,21 @@ int BMK_benchFiles(const char** fileNamesTable, unsigned nbFiles, if (nbFiles == 0) BMK_syntheticTest(cLevel, cLevelLast, compressibility); else + { +#ifdef UTIL_HAS_CREATEFILELIST + char* buf; + const char** filenameTable; + unsigned i; + nbFiles = UTIL_createFileList(fileNamesTable, nbFiles, MAX_LIST_SIZE, &filenameTable, &buf); + if (filenameTable) { + for (i=0; i4GB) */ -#define _FILE_OFFSET_BITS 64 -#if (defined(__sun__) && (!defined(__LP64__))) /* Sun Solaris 32-bits requires specific definitions */ -# define _LARGEFILE_SOURCE -#elif ! defined(__LP64__) /* No point defining Large file for 64 bit */ -# define _LARGEFILE64_SOURCE -#endif - - /*-************************************* * Includes ***************************************/ diff --git a/programs/fileio.c b/programs/fileio.c index 3c06d20d3..0bb751a0d 100644 --- a/programs/fileio.c +++ b/programs/fileio.c @@ -41,14 +41,6 @@ /* ************************************* * Compiler Options ***************************************/ -/* Disable some Visual warning messages */ -#ifdef _MSC_VER -# define _CRT_SECURE_NO_WARNINGS -# define _CRT_SECURE_NO_DEPRECATE /* VS2005 */ -# pragma warning(disable : 4127) /* disable: C4127: conditional expression is constant */ -#endif - -#define _FILE_OFFSET_BITS 64 /* Large file support on 32-bits unix */ #define _POSIX_SOURCE 1 /* enable fileno() within on unix */ diff --git a/programs/fullbench.c b/programs/fullbench.c index 3cc9dac77..d9707800b 100644 --- a/programs/fullbench.c +++ b/programs/fullbench.c @@ -22,22 +22,6 @@ - zstd homepage : http://www.zstd.net */ -/*_************************************ -* Compiler Options -**************************************/ -/* Disable some Visual warning messages */ -#define _CRT_SECURE_NO_WARNINGS -#define _CRT_SECURE_NO_DEPRECATE /* VS2005 */ - -/* Unix Large Files support (>4GB) */ -#if (defined(__sun__) && (!defined(__LP64__))) /* Sun Solaris 32-bits requires specific definitions */ -# define _LARGEFILE_SOURCE -# define _FILE_OFFSET_BITS 64 -#elif ! defined(__LP64__) /* No point defining Large file for 64 bit */ -# define _LARGEFILE64_SOURCE -#endif - - /*_************************************ * Includes **************************************/ diff --git a/programs/paramgrill.c b/programs/paramgrill.c index f36a6916f..05400d2f0 100644 --- a/programs/paramgrill.c +++ b/programs/paramgrill.c @@ -25,27 +25,11 @@ /*-************************************ * Compiler Options **************************************/ -/* Disable some Visual warning messages */ -#define _CRT_SECURE_NO_WARNINGS -#define _CRT_SECURE_NO_DEPRECATE /* VS2005 */ - -/* Unix Large Files support (>4GB) */ -#if (defined(__sun__) && (!defined(__LP64__))) /* Sun Solaris 32-bits requires specific definitions */ -# define _LARGEFILE_SOURCE -# define _FILE_OFFSET_BITS 64 -#elif ! defined(__LP64__) /* No point defining Large file for 64 bit */ -# define _LARGEFILE64_SOURCE -#endif - /* gettimeofday() are not supported by MSVC */ #if defined(_MSC_VER) || defined(_WIN32) # define BMK_LEGACY_TIMER 1 #endif -#if defined(_MSC_VER) -# define snprintf _snprintf /* snprintf unsupported by Visual <= 2012 */ -#endif - /*-************************************ * Dependencies diff --git a/visual/2013/fullbench/fullbench.vcxproj b/visual/2013/fullbench/fullbench.vcxproj index e98766713..0c51155f3 100644 --- a/visual/2013/fullbench/fullbench.vcxproj +++ b/visual/2013/fullbench/fullbench.vcxproj @@ -1,4 +1,4 @@ - + @@ -35,7 +35,7 @@ Application true v110 - Unicode + MultiByte Application @@ -49,7 +49,7 @@ false v110 true - Unicode + MultiByte diff --git a/visual/2013/zstd/zstd.vcxproj b/visual/2013/zstd/zstd.vcxproj index d31994d99..cf2d66509 100755 --- a/visual/2013/zstd/zstd.vcxproj +++ b/visual/2013/zstd/zstd.vcxproj @@ -1,4 +1,4 @@ - + @@ -87,7 +87,7 @@ Application true v110 - Unicode + MultiByte Application @@ -101,7 +101,7 @@ false true v110 - Unicode + MultiByte From 0bd0faec3285bf93027fae09577b1698701f613f Mon Sep 17 00:00:00 2001 From: inikep Date: Thu, 5 May 2016 13:10:57 +0200 Subject: [PATCH 03/11] fixed compatibility issues --- lib/common/util.h | 19 +++++++++---------- programs/bench.c | 3 ++- programs/fileio.c | 4 +--- 3 files changed, 12 insertions(+), 14 deletions(-) diff --git a/lib/common/util.h b/lib/common/util.h index e427fc1a1..4f73323b8 100644 --- a/lib/common/util.h +++ b/lib/common/util.h @@ -288,15 +288,14 @@ UTIL_STATIC int UTIL_prepareFileList(const char *dirName, char** bufStart, char* } while ((entry = readdir(dir)) && (*bufStart < bufEnd)) { - if (entry->d_type & DT_DIR) { - if (strcmp (entry->d_name, "..") == 0 || - strcmp (entry->d_name, ".") == 0) continue; - - pathLength = snprintf(path, PATH_MAX, "%s/%s", dirName, entry->d_name); - if (pathLength < 0 || pathLength >= PATH_MAX) { - fprintf(stderr, "Path length has got too long.\n"); - continue; - } + if (strcmp (entry->d_name, "..") == 0 || + strcmp (entry->d_name, ".") == 0) continue; + pathLength = snprintf(path, PATH_MAX, "%s/%s", dirName, entry->d_name); + if (pathLength < 0 || pathLength >= PATH_MAX) { + fprintf(stderr, "Path length has got too long.\n"); + continue; + } + if (UTIL_isDirectory(path)) { // printf ("[%s]\n", path); nbFiles += UTIL_prepareFileList(path, bufStart, bufEnd); /* Recursively call "UTIL_prepareFileList" with the new path. */ } else { @@ -370,7 +369,7 @@ UTIL_STATIC int UTIL_createFileList(const char **inputNames, unsigned nbNames, u UTIL_STATIC void UTIL_freeFileList(const char** filenameTable, char* buf) { free(buf); - free(filenameTable); + free((void*)filenameTable); } diff --git a/programs/bench.c b/programs/bench.c index 0007ef43f..513562185 100644 --- a/programs/bench.c +++ b/programs/bench.c @@ -330,6 +330,7 @@ static int BMK_benchMem(const void* srcBuffer, size_t srcSize, } /* Bench */ /* clean up */ + free(blockTable); free(compressedBuffer); free(resultBuffer); ZSTD_freeCCtx(refCtx); @@ -525,7 +526,7 @@ int BMK_benchFiles(const char** fileNamesTable, unsigned nbFiles, unsigned i; nbFiles = UTIL_createFileList(fileNamesTable, nbFiles, MAX_LIST_SIZE, &filenameTable, &buf); if (filenameTable) { - for (i=0; i on unix */ +#define _POSIX_SOURCE 1 /* enable %llu on Windows */ /*-************************************* @@ -72,11 +72,9 @@ # include /* _O_BINARY */ # include /* _setmode, _isatty */ # define SET_BINARY_MODE(file) { int unused = _setmode(_fileno(file), _O_BINARY); (void)unused; } -# define IS_CONSOLE(stdStream) _isatty(_fileno(stdStream)) #else # include /* isatty */ # define SET_BINARY_MODE(file) -# define IS_CONSOLE(stdStream) isatty(fileno(stdStream)) #endif From 13c8424ea017e069194d16c3385a34383095c977 Mon Sep 17 00:00:00 2001 From: inikep Date: Thu, 5 May 2016 13:58:56 +0200 Subject: [PATCH 04/11] code cleaning --- lib/common/util.h | 6 +++--- programs/bench.c | 13 +------------ programs/dibio.c | 2 +- programs/fileio.c | 2 +- programs/fullbench.c | 10 +++++----- programs/paramgrill.c | 2 +- 6 files changed, 12 insertions(+), 23 deletions(-) diff --git a/lib/common/util.h b/lib/common/util.h index 4f73323b8..61b542957 100644 --- a/lib/common/util.h +++ b/lib/common/util.h @@ -330,10 +330,10 @@ UTIL_STATIC int UTIL_createFileList(const char **inputNames, unsigned nbNames, u char *pbuf, *bufend, *buf; buf = (char*)malloc(maxListSize); - if (!buf) { *filenameTable = NULL; return 0; } + if (!buf) { *filenameTable = NULL; return 0; } bufend = buf + maxListSize; - for (i=0, pbuf = buf; i /* malloc, free */ #include /* memset */ #include /* fprintf, fopen, ftello64 */ @@ -37,17 +37,6 @@ #include "xxhash.h" -/* ************************************* -* Compiler specifics -***************************************/ -#if defined(_MSC_VER) - -#elif defined (__cplusplus) || (defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) - /* part of */ -#else - extern int snprintf (char* s, size_t maxlen, const char* format, ...); /* not declared in when C version < c99 */ -#endif - /* ************************************* * Constants diff --git a/programs/dibio.c b/programs/dibio.c index 2fea36493..7aad114d5 100644 --- a/programs/dibio.c +++ b/programs/dibio.c @@ -25,7 +25,7 @@ /*-************************************* * Includes ***************************************/ -#include "util.h" /* UTIL_GetFileSize */ +#include "util.h" /* Compiler options, UTIL_GetFileSize, UTIL_getTotalFileSize */ #include /* malloc, free */ #include /* memset */ #include /* fprintf, fopen, ftello64 */ diff --git a/programs/fileio.c b/programs/fileio.c index a90f7eeb3..e9d78b601 100644 --- a/programs/fileio.c +++ b/programs/fileio.c @@ -47,7 +47,7 @@ /*-************************************* * Includes ***************************************/ -#include "util.h" /* UTIL_GetFileSize */ +#include "util.h" /* Compiler options, UTIL_GetFileSize */ #include /* fprintf, fopen, fread, _fileno, stdin, stdout */ #include /* malloc, free */ #include /* strcmp, strlen */ diff --git a/programs/fullbench.c b/programs/fullbench.c index d9707800b..6f5d6a782 100644 --- a/programs/fullbench.c +++ b/programs/fullbench.c @@ -25,11 +25,11 @@ /*_************************************ * Includes **************************************/ -#include "util.h" /* UTIL_GetFileSize */ -#include /* malloc */ -#include /* fprintf, fopen, ftello64 */ -#include /* strcmp */ -#include /* clock_t, clock, CLOCKS_PER_SEC */ +#include "util.h" /* Compiler options, UTIL_GetFileSize */ +#include /* malloc */ +#include /* fprintf, fopen, ftello64 */ +#include /* strcmp */ +#include /* clock_t, clock, CLOCKS_PER_SEC */ #include "mem.h" #include "zstd_static.h" diff --git a/programs/paramgrill.c b/programs/paramgrill.c index 05400d2f0..0a0824adc 100644 --- a/programs/paramgrill.c +++ b/programs/paramgrill.c @@ -34,7 +34,7 @@ /*-************************************ * Dependencies **************************************/ -#include "util.h" /* UTIL_GetFileSize */ +#include "util.h" /* Compiler options, UTIL_GetFileSize */ #include /* malloc */ #include /* fprintf, fopen, ftello64 */ #include /* strcmp */ From 6e61a842b8de832894fec978a50a26691d9cb7eb Mon Sep 17 00:00:00 2001 From: inikep Date: Mon, 9 May 2016 14:00:54 +0200 Subject: [PATCH 05/11] added support for VS 2015 --- .gitignore | 24 ++--------------------- visual/2013/fullbench/fullbench.vcxproj | 12 ++++++------ visual/2013/fuzzer/fuzzer.vcxproj | 18 ++++++++--------- visual/2013/fuzzer/fuzzer.vcxproj.filters | 6 ++++++ visual/2013/zstd.sln | 14 ++++++------- visual/2013/zstd/zstd.vcxproj | 12 ++++++------ visual/2013/zstdlib/zstdlib.vcxproj | 18 ++++++++--------- 7 files changed, 44 insertions(+), 60 deletions(-) diff --git a/.gitignore b/.gitignore index 12e903e05..b6d5d1325 100644 --- a/.gitignore +++ b/.gitignore @@ -17,28 +17,8 @@ *.out *.app -# Visual solution files -*.suo -*.user -*.VC.db - -# Build results -[Dd]ebug/ -[Rr]elease/ -[Rr]eleases/ -x64/ -x86/ -[Bb]in/ -[Oo]bj/ - -# Visual C++ cache files -ipch/ -*.aps -*.ncb -*.opendb -*.opensdf -*.sdf -*.cachefile +# Visual C++ +visual/ # IDEA solution files *.idea diff --git a/visual/2013/fullbench/fullbench.vcxproj b/visual/2013/fullbench/fullbench.vcxproj index 0c51155f3..bed294028 100644 --- a/visual/2013/fullbench/fullbench.vcxproj +++ b/visual/2013/fullbench/fullbench.vcxproj @@ -28,7 +28,7 @@ Application true - Unicode + MultiByte v110 @@ -42,7 +42,7 @@ false v110 true - Unicode + MultiByte Application @@ -69,22 +69,22 @@ true - $(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath) + $(UniversalCRT_IncludePath);$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath) true true - $(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath) + $(UniversalCRT_IncludePath);$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath) true false - $(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath) + $(UniversalCRT_IncludePath);$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath) true false - $(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath) + $(UniversalCRT_IncludePath);$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath) true diff --git a/visual/2013/fuzzer/fuzzer.vcxproj b/visual/2013/fuzzer/fuzzer.vcxproj index 19f9cabeb..b10fc5e70 100644 --- a/visual/2013/fuzzer/fuzzer.vcxproj +++ b/visual/2013/fuzzer/fuzzer.vcxproj @@ -1,4 +1,4 @@ - + @@ -28,28 +28,28 @@ Application true - Unicode v110 + MultiByte Application true v110 - Unicode + MultiByte Application false v110 true - Unicode + MultiByte Application false v110 true - Unicode + MultiByte @@ -69,22 +69,22 @@ true - $(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath) + $(UniversalCRT_IncludePath);$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath) true true - $(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath) + $(UniversalCRT_IncludePath);$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath) true false - $(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath) + $(UniversalCRT_IncludePath);$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath) true false - $(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath) + $(UniversalCRT_IncludePath);$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath) true diff --git a/visual/2013/fuzzer/fuzzer.vcxproj.filters b/visual/2013/fuzzer/fuzzer.vcxproj.filters index 9f042b24f..d77f4ef9b 100644 --- a/visual/2013/fuzzer/fuzzer.vcxproj.filters +++ b/visual/2013/fuzzer/fuzzer.vcxproj.filters @@ -35,6 +35,12 @@ Source Files + + Source Files + + + Source Files + diff --git a/visual/2013/zstd.sln b/visual/2013/zstd.sln index 97d52ceb5..825d7a130 100644 --- a/visual/2013/zstd.sln +++ b/visual/2013/zstd.sln @@ -1,8 +1,6 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2013 -VisualStudioVersion = 12.0.40629.0 -MinimumVisualStudioVersion = 10.0.40219.1 +# 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}" @@ -13,20 +11,20 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zstdlib", "zstdlib\zstdlib. EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution - Release|x64 = Release|x64 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}.Release|x64.ActiveCfg = Release|x64 - {4E52A41A-F33B-4C7A-8C36-A1A6B4F4277C}.Release|x64.Build.0 = Release|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}.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 diff --git a/visual/2013/zstd/zstd.vcxproj b/visual/2013/zstd/zstd.vcxproj index cf2d66509..e31c5d24a 100755 --- a/visual/2013/zstd/zstd.vcxproj +++ b/visual/2013/zstd/zstd.vcxproj @@ -80,8 +80,8 @@ Application true - Unicode v110 + MultiByte Application @@ -94,7 +94,7 @@ false true v110 - Unicode + MultiByte Application @@ -121,22 +121,22 @@ true - $(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); + $(UniversalCRT_IncludePath);$(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); true true - $(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); + $(UniversalCRT_IncludePath);$(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); true false - $(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); + $(UniversalCRT_IncludePath);$(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); false false - $(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); + $(UniversalCRT_IncludePath);$(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); false diff --git a/visual/2013/zstdlib/zstdlib.vcxproj b/visual/2013/zstdlib/zstdlib.vcxproj index 76944cf4d..ca25a4545 100644 --- a/visual/2013/zstdlib/zstdlib.vcxproj +++ b/visual/2013/zstdlib/zstdlib.vcxproj @@ -1,4 +1,4 @@ - + @@ -59,28 +59,28 @@ DynamicLibrary true - Unicode v110 + MultiByte DynamicLibrary true v110 - Unicode + MultiByte DynamicLibrary false true v110 - Unicode + MultiByte DynamicLibrary false true v110 - Unicode + MultiByte @@ -102,28 +102,28 @@ true zstdlib_x86 $(Platform)\$(Configuration)\ - $(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); + $(UniversalCRT_IncludePath);$(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); true true zstdlib_x64 $(Platform)\$(Configuration)\ - $(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); + $(UniversalCRT_IncludePath);$(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); true false zstdlib_x86 $(Platform)\$(Configuration)\ - $(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); + $(UniversalCRT_IncludePath);$(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); false false zstdlib_x64 $(Platform)\$(Configuration)\ - $(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); + $(UniversalCRT_IncludePath);$(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); false From 03bf5ad6cba0c449aff9bfd6a93a9d0033876145 Mon Sep 17 00:00:00 2001 From: inikep Date: Mon, 9 May 2016 14:04:40 +0200 Subject: [PATCH 06/11] added appveyor.yml --- appveyor.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 appveyor.yml diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 000000000..04fea761e --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,23 @@ +version: 1.0.{build} +configuration: +- Release +- Debug +platform: +- Win32 +- x64 +environment: + matrix: + - PlatformToolset: v110 + - PlatformToolset: v140 +build_script: +- cmd: >- + ECHO PlatformToolset=%PlatformToolset% + + msbuild "visual\2013\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=%PlatformToolset% /t:Clean,Build /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" +test_script: +- cmd: >- + ECHO %APPVEYOR_BUILD_FOLDER%\bin\%PLATFORM%\%CONFIGURATION%\fuzzer.exe %FUZZERTEST% + + SET FUZZERTEST=-T5mn + + IF %CONFIGURATION%==Release (%APPVEYOR_BUILD_FOLDER%\visual\2013\bin\%PLATFORM%\%CONFIGURATION%\fuzzer.exe %FUZZERTEST%) \ No newline at end of file From d44ec48b1c6e84297b1f608e799b72adb195a8d2 Mon Sep 17 00:00:00 2001 From: inikep Date: Mon, 9 May 2016 14:37:41 +0200 Subject: [PATCH 07/11] detection of snprintf for Visual <= 2012 --- appveyor.yml | 4 +++- lib/common/util.h | 7 +++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 04fea761e..303c63172 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -7,7 +7,9 @@ platform: - x64 environment: matrix: + - PlatformToolset: v100 - PlatformToolset: v110 + - PlatformToolset: v120 - PlatformToolset: v140 build_script: - cmd: >- @@ -16,7 +18,7 @@ build_script: msbuild "visual\2013\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=%PlatformToolset% /t:Clean,Build /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" test_script: - cmd: >- - ECHO %APPVEYOR_BUILD_FOLDER%\bin\%PLATFORM%\%CONFIGURATION%\fuzzer.exe %FUZZERTEST% + ECHO %APPVEYOR_BUILD_FOLDER%\visual\2013\bin\%PLATFORM%\%CONFIGURATION%\fuzzer.exe %FUZZERTEST% SET FUZZERTEST=-T5mn diff --git a/lib/common/util.h b/lib/common/util.h index 61b542957..a548b4aec 100644 --- a/lib/common/util.h +++ b/lib/common/util.h @@ -46,9 +46,12 @@ extern "C" { # define _CRT_SECURE_NO_WARNINGS /* Disable some Visual warning messages for fopen, strncpy */ # define _CRT_SECURE_NO_DEPRECATE /* VS2005 */ # pragma warning(disable : 4127) /* disable: C4127: conditional expression is constant */ -# define snprintf sprintf_s /* snprintf unsupported by Visual <= 2012 */ -//# define snprintf _snprintf +#if _MSC_VER <= 1700 /* (1700 = Visual Studio 2012) */ + #define snprintf sprintf_s /* snprintf unsupported by Visual <= 2012 */ + //#define snprintf _snprintf #endif +#endif + /* Unix Large Files support (>4GB) */ #if !defined(__LP64__) /* No point defining Large file for 64 bit */ From aaaf923a17f58cd54cc7a1020bb7121def0c75a9 Mon Sep 17 00:00:00 2001 From: inikep Date: Mon, 9 May 2016 16:19:25 +0200 Subject: [PATCH 08/11] common/util.h moved to programs/util.h decompress/fse_decompress.c moved to common/ --- contrib/cmake/lib/CMakeLists.txt | 2 +- lib/README.md | 2 +- lib/{decompress => common}/fse_decompress.c | 0 programs/Makefile | 4 +- programs/bench.c | 10 +-- programs/bench.h | 5 +- {lib/common => programs}/util.h | 75 ++++++++----------- visual/2013/fullbench/fullbench.vcxproj | 11 +-- .../2013/fullbench/fullbench.vcxproj.filters | 9 ++- visual/2013/fuzzer/fuzzer.vcxproj | 11 +-- visual/2013/fuzzer/fuzzer.vcxproj.filters | 9 ++- visual/2013/zstd/zstd.vcxproj | 11 +-- visual/2013/zstd/zstd.vcxproj.filters | 9 ++- visual/2013/zstdlib/zstdlib.vcxproj | 11 +-- visual/2013/zstdlib/zstdlib.vcxproj.filters | 9 ++- 15 files changed, 89 insertions(+), 89 deletions(-) rename lib/{decompress => common}/fse_decompress.c (100%) rename {lib/common => programs}/util.h (79%) diff --git a/contrib/cmake/lib/CMakeLists.txt b/contrib/cmake/lib/CMakeLists.txt index 6d1496683..dff147670 100644 --- a/contrib/cmake/lib/CMakeLists.txt +++ b/contrib/cmake/lib/CMakeLists.txt @@ -58,11 +58,11 @@ MESSAGE("ZSTD VERSION ${LIBVER_MAJOR}.${LIBVER_MINOR}.${LIBVER_RELEASE}") SET(Sources ${LIBRARY_DIR}/common/zstd_common.c + ${LIBRARY_DIR}/common/fse_decompress.c ${LIBRARY_DIR}/compress/fse_compress.c ${LIBRARY_DIR}/compress/huf_compress.c ${LIBRARY_DIR}/compress/zbuff_compress.c ${LIBRARY_DIR}/compress/zstd_compress.c - ${LIBRARY_DIR}/decompress/fse_decompress.c ${LIBRARY_DIR}/decompress/huf_decompress.c ${LIBRARY_DIR}/decompress/zbuff_decompress.c ${LIBRARY_DIR}/decompress/zstd_decompress.c diff --git a/lib/README.md b/lib/README.md index 84e17a2f1..9a728113e 100644 --- a/lib/README.md +++ b/lib/README.md @@ -11,6 +11,7 @@ To build the zstd library the following files are required: - [common/error_private.h](common/error_private.h) - [common/error_public.h](common/error_public.h) - common/fse.h +- common/fse_decompress.c - common/fse_static.h - common/huf.h - common/huf_static.h @@ -22,7 +23,6 @@ To build the zstd library the following files are required: - compress/huf_compress.c - compress/zstd_compress.c - compress/zstd_opt.h -- decompress/fse_decompress.c - decompress/huf_decompress.c - decompress/zstd_decompress.c diff --git a/lib/decompress/fse_decompress.c b/lib/common/fse_decompress.c similarity index 100% rename from lib/decompress/fse_decompress.c rename to lib/common/fse_decompress.c diff --git a/programs/Makefile b/programs/Makefile index acf6a562d..efbbaabcd 100644 --- a/programs/Makefile +++ b/programs/Makefile @@ -53,8 +53,8 @@ BINDIR = $(PREFIX)/bin MANDIR = $(PREFIX)/share/man/man1 ZSTDDIR = ../lib -ZSTDCOMP_FILES := $(ZSTDDIR)/compress/zstd_compress.c $(ZSTDDIR)/compress/fse_compress.c $(ZSTDDIR)/compress/huf_compress.c $(ZSTDDIR)/common/zstd_common.c $(ZSTDDIR)/decompress/fse_decompress.c -ZSTDDECOMP_FILES := $(ZSTDDIR)/decompress/zstd_decompress.c $(ZSTDDIR)/decompress/fse_decompress.c $(ZSTDDIR)/decompress/huf_decompress.c $(ZSTDDIR)/common/zstd_common.c +ZSTDCOMP_FILES := $(ZSTDDIR)/common/fse_decompress.c $(ZSTDDIR)/compress/zstd_compress.c $(ZSTDDIR)/compress/fse_compress.c $(ZSTDDIR)/compress/huf_compress.c $(ZSTDDIR)/common/zstd_common.c +ZSTDDECOMP_FILES := $(ZSTDDIR)/decompress/zstd_decompress.c $(ZSTDDIR)/common/fse_decompress.c $(ZSTDDIR)/decompress/huf_decompress.c $(ZSTDDIR)/common/zstd_common.c ZDICT_FILES := $(ZSTDDIR)/dictBuilder/zdict.c $(ZSTDDIR)/dictBuilder/divsufsort.c ZBUFF_FILES := $(ZSTDDIR)/compress/zbuff_compress.c $(ZSTDDIR)/decompress/zbuff_decompress.c ZSTD_FILES := $(ZSTDDECOMP_FILES) $(ZSTDCOMP_FILES) diff --git a/programs/bench.c b/programs/bench.c index 5ea73be52..821591cf8 100644 --- a/programs/bench.c +++ b/programs/bench.c @@ -159,7 +159,7 @@ static int BMK_benchMem(const void* srcBuffer, size_t srcSize, /* init */ if (strlen(displayName)>17) displayName += strlen(displayName)-17; /* can only display 17 characters */ - UTIL_initTimer(ticksPerSecond); + UTIL_initTimer(&ticksPerSecond); /* Init blockTable data */ { const char* srcPtr = (const char*)srcBuffer; @@ -195,7 +195,7 @@ static int BMK_benchMem(const void* srcBuffer, size_t srcSize, size_t cSize = 0; double ratio = 0.; - UTIL_getTime(coolTime); + UTIL_getTime(&coolTime); DISPLAYLEVEL(2, "\r%79s\r", ""); for (testNb = 1; testNb <= (g_nbIterations + !g_nbIterations); testNb++) { UTIL_time_t clockStart; @@ -205,7 +205,7 @@ static int BMK_benchMem(const void* srcBuffer, size_t srcSize, if (UTIL_clockSpanMicro(coolTime, ticksPerSecond) > ACTIVEPERIOD_MICROSEC) { DISPLAY("\rcooling down ... \r"); UTIL_sleep(COOLPERIOD_SEC); - UTIL_getTime(coolTime); + UTIL_getTime(&coolTime); } /* Compression */ @@ -214,7 +214,7 @@ static int BMK_benchMem(const void* srcBuffer, size_t srcSize, UTIL_sleepMilli(1); /* give processor time to other processes */ UTIL_waitForNextTick(ticksPerSecond); - UTIL_getTime(clockStart); + UTIL_getTime(&clockStart); { U32 nbLoops = 0; do { @@ -253,7 +253,7 @@ static int BMK_benchMem(const void* srcBuffer, size_t srcSize, UTIL_sleepMilli(1); /* give processor time to other processes */ UTIL_waitForNextTick(ticksPerSecond); - UTIL_getTime(clockStart); + UTIL_getTime(&clockStart); { U32 nbLoops = 0; do { diff --git a/programs/bench.h b/programs/bench.h index 3a1ca3a20..74ac20f9a 100644 --- a/programs/bench.h +++ b/programs/bench.h @@ -1,6 +1,6 @@ /* bench.h - Demo program to benchmark open-source compression algorithm - Copyright (C) Yann Collet 2012-2015 + Copyright (C) Yann Collet 2012-2016 GPL v2 License @@ -19,8 +19,7 @@ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. You can contact the author at : - - LZ4 source repository : http://code.google.com/p/lz4/ - - LZ4 public forum : https://group.google.com/forum/#!forum/lz4c + - ZSTD homepage : http://www.zstd.net/ */ #pragma once diff --git a/lib/common/util.h b/programs/util.h similarity index 79% rename from lib/common/util.h rename to programs/util.h index a548b4aec..e0e51d365 100644 --- a/lib/common/util.h +++ b/programs/util.h @@ -1,37 +1,26 @@ /* ****************************************************************** - util.h - utility functions - Copyright (C) 2016, Yann Collet. + util.h - utility functions + Copyright (C) 2016, Przemyslaw Skibinski, Yann Collet. - BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php) + GPL v2 License - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. - * 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 program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. - 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 - OWNER 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 should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - You can contact the author at : - - FSE source repository : https://github.com/Cyan4973/FiniteStateEntropy - - Public forum : https://groups.google.com/forum/#!forum/lz4c -****************************************************************** */ + You can contact the author at : + - ZSTD homepage : http://www.zstd.net/ +*/ #ifndef UTIL_H_MODULE #define UTIL_H_MODULE @@ -46,8 +35,8 @@ extern "C" { # define _CRT_SECURE_NO_WARNINGS /* Disable some Visual warning messages for fopen, strncpy */ # define _CRT_SECURE_NO_DEPRECATE /* VS2005 */ # pragma warning(disable : 4127) /* disable: C4127: conditional expression is constant */ -#if _MSC_VER <= 1700 /* (1700 = Visual Studio 2012) */ - #define snprintf sprintf_s /* snprintf unsupported by Visual <= 2012 */ +#if _MSC_VER <= 1800 /* (1800 = Visual Studio 2013) */ + #define snprintf sprintf_s /* snprintf unsupported by Visual <= 2013 */ //#define snprintf _snprintf #endif #endif @@ -119,16 +108,16 @@ extern "C" { ******************************************/ #if !defined(_WIN32) typedef clock_t UTIL_time_t; -# define UTIL_initTimer(ticksPerSecond) ticksPerSecond=0 -# define UTIL_getTime(x) x = clock() -# define UTIL_getSpanTimeMicro(ticksPerSecond, clockStart, clockEnd) (1000000ULL * (clockEnd - clockStart) / CLOCKS_PER_SEC) -# define UTIL_getSpanTimeNano(ticksPerSecond, clockStart, clockEnd) (1000000000ULL * (clockEnd - clockStart) / CLOCKS_PER_SEC) + UTIL_STATIC void UTIL_initTimer(UTIL_time_t* ticksPerSecond) { *ticksPerSecond=0; } + UTIL_STATIC void UTIL_getTime(UTIL_time_t* x) { *x = clock(); } + UTIL_STATIC U64 UTIL_getSpanTimeMicro(UTIL_time_t ticksPerSecond, UTIL_time_t clockStart, UTIL_time_t clockEnd) { (void)ticksPerSecond; return 1000000ULL * (clockEnd - clockStart) / CLOCKS_PER_SEC; } + UTIL_STATIC U64 UTIL_getSpanTimeNano(UTIL_time_t ticksPerSecond, UTIL_time_t clockStart, UTIL_time_t clockEnd) { (void)ticksPerSecond; return 1000000000ULL * (clockEnd - clockStart) / CLOCKS_PER_SEC); } #else typedef LARGE_INTEGER UTIL_time_t; -# define UTIL_initTimer(x) if (!QueryPerformanceFrequency(&x)) { fprintf(stderr, "ERROR: QueryPerformance not present\n"); } -# define UTIL_getTime(x) QueryPerformanceCounter(&x) -# define UTIL_getSpanTimeMicro(ticksPerSecond, clockStart, clockEnd) (1000000ULL*(clockEnd.QuadPart - clockStart.QuadPart)/ticksPerSecond.QuadPart) -# define UTIL_getSpanTimeNano(ticksPerSecond, clockStart, clockEnd) (1000000000ULL*(clockEnd.QuadPart - clockStart.QuadPart)/ticksPerSecond.QuadPart) + UTIL_STATIC void UTIL_initTimer(UTIL_time_t* ticksPerSecond) { if (!QueryPerformanceFrequency(ticksPerSecond)) fprintf(stderr, "ERROR: QueryPerformance not present\n"); } + UTIL_STATIC void UTIL_getTime(UTIL_time_t* x) { QueryPerformanceCounter(x); } + UTIL_STATIC U64 UTIL_getSpanTimeMicro(UTIL_time_t ticksPerSecond, UTIL_time_t clockStart, UTIL_time_t clockEnd) { return 1000000ULL*(clockEnd.QuadPart - clockStart.QuadPart)/ticksPerSecond.QuadPart; } + UTIL_STATIC U64 UTIL_getSpanTimeNano(UTIL_time_t ticksPerSecond, UTIL_time_t clockStart, UTIL_time_t clockEnd) { return 1000000000ULL*(clockEnd.QuadPart - clockStart.QuadPart)/ticksPerSecond.QuadPart; } #endif @@ -136,9 +125,7 @@ extern "C" { UTIL_STATIC U64 UTIL_clockSpanMicro( UTIL_time_t clockStart, UTIL_time_t ticksPerSecond ) { UTIL_time_t clockEnd; - (void)ticksPerSecond; - - UTIL_getTime(clockEnd); + UTIL_getTime(&clockEnd); return UTIL_getSpanTimeMicro(ticksPerSecond, clockStart, clockEnd); } @@ -146,11 +133,9 @@ UTIL_STATIC U64 UTIL_clockSpanMicro( UTIL_time_t clockStart, UTIL_time_t ticksPe UTIL_STATIC void UTIL_waitForNextTick(UTIL_time_t ticksPerSecond) { UTIL_time_t clockStart, clockEnd; - (void)ticksPerSecond; - - UTIL_getTime(clockStart); + UTIL_getTime(&clockStart); do { - UTIL_getTime(clockEnd); + UTIL_getTime(&clockEnd); } while (UTIL_getSpanTimeNano(ticksPerSecond, clockStart, clockEnd) == 0); } diff --git a/visual/2013/fullbench/fullbench.vcxproj b/visual/2013/fullbench/fullbench.vcxproj index bed294028..7abf0d38d 100644 --- a/visual/2013/fullbench/fullbench.vcxproj +++ b/visual/2013/fullbench/fullbench.vcxproj @@ -69,22 +69,22 @@ true - $(UniversalCRT_IncludePath);$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath) + $(WindowsSdkDir)\include;$(UniversalCRT_IncludePath);$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath) true true - $(UniversalCRT_IncludePath);$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath) + $(WindowsSdkDir)\include;$(UniversalCRT_IncludePath);$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath) true false - $(UniversalCRT_IncludePath);$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath) + $(WindowsSdkDir)\include;$(UniversalCRT_IncludePath);$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath) true false - $(UniversalCRT_IncludePath);$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath) + $(WindowsSdkDir)\include;$(UniversalCRT_IncludePath);$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath) true @@ -161,11 +161,11 @@ + - @@ -185,6 +185,7 @@ + diff --git a/visual/2013/fullbench/fullbench.vcxproj.filters b/visual/2013/fullbench/fullbench.vcxproj.filters index af5feb17b..168094772 100644 --- a/visual/2013/fullbench/fullbench.vcxproj.filters +++ b/visual/2013/fullbench/fullbench.vcxproj.filters @@ -17,9 +17,6 @@ Source Files - - Source Files - Source Files @@ -44,6 +41,9 @@ Source Files + + Source Files + @@ -82,5 +82,8 @@ Header Files + + Header Files + \ No newline at end of file diff --git a/visual/2013/fuzzer/fuzzer.vcxproj b/visual/2013/fuzzer/fuzzer.vcxproj index b10fc5e70..36ea3a908 100644 --- a/visual/2013/fuzzer/fuzzer.vcxproj +++ b/visual/2013/fuzzer/fuzzer.vcxproj @@ -69,22 +69,22 @@ true - $(UniversalCRT_IncludePath);$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath) + $(WindowsSdkDir)\include;$(UniversalCRT_IncludePath);$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath) true true - $(UniversalCRT_IncludePath);$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath) + $(WindowsSdkDir)\include;$(UniversalCRT_IncludePath);$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath) true false - $(UniversalCRT_IncludePath);$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath) + $(WindowsSdkDir)\include;$(UniversalCRT_IncludePath);$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath) true false - $(UniversalCRT_IncludePath);$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath) + $(WindowsSdkDir)\include;$(UniversalCRT_IncludePath);$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath) true @@ -160,11 +160,11 @@ + - @@ -185,6 +185,7 @@ + diff --git a/visual/2013/fuzzer/fuzzer.vcxproj.filters b/visual/2013/fuzzer/fuzzer.vcxproj.filters index d77f4ef9b..b2abefbc0 100644 --- a/visual/2013/fuzzer/fuzzer.vcxproj.filters +++ b/visual/2013/fuzzer/fuzzer.vcxproj.filters @@ -29,9 +29,6 @@ Source Files - - Source Files - Source Files @@ -41,6 +38,9 @@ Source Files + + Source Files + @@ -82,5 +82,8 @@ Header Files + + Header Files + \ No newline at end of file diff --git a/visual/2013/zstd/zstd.vcxproj b/visual/2013/zstd/zstd.vcxproj index e31c5d24a..8dbca2295 100755 --- a/visual/2013/zstd/zstd.vcxproj +++ b/visual/2013/zstd/zstd.vcxproj @@ -20,11 +20,11 @@ + - @@ -69,6 +69,7 @@ + {4E52A41A-F33B-4C7A-8C36-A1A6B4F4277C} @@ -121,22 +122,22 @@ true - $(UniversalCRT_IncludePath);$(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); + $(WindowsSdkDir)\include;$(UniversalCRT_IncludePath);$(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); true true - $(UniversalCRT_IncludePath);$(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); + $(WindowsSdkDir)\include;$(UniversalCRT_IncludePath);$(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); true false - $(UniversalCRT_IncludePath);$(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); + $(WindowsSdkDir)\include;$(UniversalCRT_IncludePath);$(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); false false - $(UniversalCRT_IncludePath);$(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); + $(WindowsSdkDir)\include;$(UniversalCRT_IncludePath);$(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); false diff --git a/visual/2013/zstd/zstd.vcxproj.filters b/visual/2013/zstd/zstd.vcxproj.filters index 8891f9ccf..87666627f 100755 --- a/visual/2013/zstd/zstd.vcxproj.filters +++ b/visual/2013/zstd/zstd.vcxproj.filters @@ -62,9 +62,6 @@ Source Files - - Source Files - Source Files @@ -80,6 +77,9 @@ Source Files + + Source Files + @@ -157,5 +157,8 @@ Header Files + + Header Files + \ No newline at end of file diff --git a/visual/2013/zstdlib/zstdlib.vcxproj b/visual/2013/zstdlib/zstdlib.vcxproj index ca25a4545..e9fa150c1 100644 --- a/visual/2013/zstdlib/zstdlib.vcxproj +++ b/visual/2013/zstdlib/zstdlib.vcxproj @@ -20,11 +20,11 @@ + - @@ -44,6 +44,7 @@ + @@ -102,28 +103,28 @@ true zstdlib_x86 $(Platform)\$(Configuration)\ - $(UniversalCRT_IncludePath);$(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); + $(WindowsSdkDir)\include;$(UniversalCRT_IncludePath);$(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); true true zstdlib_x64 $(Platform)\$(Configuration)\ - $(UniversalCRT_IncludePath);$(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); + $(WindowsSdkDir)\include;$(UniversalCRT_IncludePath);$(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); true false zstdlib_x86 $(Platform)\$(Configuration)\ - $(UniversalCRT_IncludePath);$(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); + $(WindowsSdkDir)\include;$(UniversalCRT_IncludePath);$(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); false false zstdlib_x64 $(Platform)\$(Configuration)\ - $(UniversalCRT_IncludePath);$(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); + $(WindowsSdkDir)\include;$(UniversalCRT_IncludePath);$(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); false diff --git a/visual/2013/zstdlib/zstdlib.vcxproj.filters b/visual/2013/zstdlib/zstdlib.vcxproj.filters index 7aeda6e43..367a26c09 100644 --- a/visual/2013/zstdlib/zstdlib.vcxproj.filters +++ b/visual/2013/zstdlib/zstdlib.vcxproj.filters @@ -30,9 +30,6 @@ Source Files - - Source Files - Source Files @@ -48,6 +45,9 @@ Source Files + + Source Files + @@ -95,6 +95,9 @@ Header Files + + Header Files + From 349fcf7ea28c923f0b1a30be16341af627638682 Mon Sep 17 00:00:00 2001 From: inikep Date: Mon, 9 May 2016 18:04:07 +0200 Subject: [PATCH 09/11] fixed Linux compilation --- appveyor.yml | 2 +- lib/Makefile | 2 +- programs/util.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 303c63172..93c8c9301 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -20,6 +20,6 @@ test_script: - cmd: >- ECHO %APPVEYOR_BUILD_FOLDER%\visual\2013\bin\%PLATFORM%\%CONFIGURATION%\fuzzer.exe %FUZZERTEST% - SET FUZZERTEST=-T5mn + SET FUZZERTEST=-T2mn IF %CONFIGURATION%==Release (%APPVEYOR_BUILD_FOLDER%\visual\2013\bin\%PLATFORM%\%CONFIGURATION%\fuzzer.exe %FUZZERTEST%) \ No newline at end of file diff --git a/lib/Makefile b/lib/Makefile index 121a0ce37..5969437de 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -52,7 +52,7 @@ LIBDIR ?= $(PREFIX)/lib INCLUDEDIR=$(PREFIX)/include ZSTDCOMP_FILES := compress/zstd_compress.c compress/fse_compress.c compress/huf_compress.c compress/zbuff_compress.c -ZSTDDECOMP_FILES := decompress/zstd_decompress.c decompress/fse_decompress.c decompress/huf_decompress.c decompress/zbuff_decompress.c +ZSTDDECOMP_FILES := decompress/zstd_decompress.c common/fse_decompress.c decompress/huf_decompress.c decompress/zbuff_decompress.c ZSTDDICT_FILES := dictBuilder/zdict.c dictBuilder/divsufsort.c ZSTD_FILES := $(ZSTDDECOMP_FILES) common/zstd_common.c $(ZSTDCOMP_FILES) $(ZSTDDICT_FILES) ZSTD_LEGACY:= legacy/zstd_v01.c legacy/zstd_v02.c legacy/zstd_v03.c legacy/zstd_v04.c legacy/zstd_v05.c diff --git a/programs/util.h b/programs/util.h index e0e51d365..25eb31d22 100644 --- a/programs/util.h +++ b/programs/util.h @@ -111,7 +111,7 @@ extern "C" { UTIL_STATIC void UTIL_initTimer(UTIL_time_t* ticksPerSecond) { *ticksPerSecond=0; } UTIL_STATIC void UTIL_getTime(UTIL_time_t* x) { *x = clock(); } UTIL_STATIC U64 UTIL_getSpanTimeMicro(UTIL_time_t ticksPerSecond, UTIL_time_t clockStart, UTIL_time_t clockEnd) { (void)ticksPerSecond; return 1000000ULL * (clockEnd - clockStart) / CLOCKS_PER_SEC; } - UTIL_STATIC U64 UTIL_getSpanTimeNano(UTIL_time_t ticksPerSecond, UTIL_time_t clockStart, UTIL_time_t clockEnd) { (void)ticksPerSecond; return 1000000000ULL * (clockEnd - clockStart) / CLOCKS_PER_SEC); } + UTIL_STATIC U64 UTIL_getSpanTimeNano(UTIL_time_t ticksPerSecond, UTIL_time_t clockStart, UTIL_time_t clockEnd) { (void)ticksPerSecond; return 1000000000ULL * (clockEnd - clockStart) / CLOCKS_PER_SEC; } #else typedef LARGE_INTEGER UTIL_time_t; UTIL_STATIC void UTIL_initTimer(UTIL_time_t* ticksPerSecond) { if (!QueryPerformanceFrequency(ticksPerSecond)) fprintf(stderr, "ERROR: QueryPerformance not present\n"); } From 3733797fcdecd232b1253c33b61ce6b0e4a365f1 Mon Sep 17 00:00:00 2001 From: inikep Date: Tue, 10 May 2016 14:22:55 +0200 Subject: [PATCH 10/11] bench.c: experimental -r (operate recursively on directories) for Windows and _POSIX_C_SOURCE >= 200112L --- appveyor.yml | 2 +- programs/bench.c | 23 +++++++++++++---------- programs/bench.h | 2 +- programs/dibio.c | 1 + programs/util.h | 4 ++-- programs/zstdcli.c | 41 +++++++++++++++++++++++------------------ 6 files changed, 41 insertions(+), 32 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 93c8c9301..df8d15572 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -7,7 +7,7 @@ platform: - x64 environment: matrix: - - PlatformToolset: v100 +# - PlatformToolset: v100 - PlatformToolset: v110 - PlatformToolset: v120 - PlatformToolset: v140 diff --git a/programs/bench.c b/programs/bench.c index 4a3a4b6e1..f97e9bb98 100644 --- a/programs/bench.c +++ b/programs/bench.c @@ -26,7 +26,7 @@ /* ************************************* * Includes ***************************************/ -#include "util.h" /* Compiler options, UTIL_GetFileSize, UTIL_createFileList, UTIL_sleep */ +#include "util.h" /* Compiler options, UTIL_GetFileSize, UTIL_HAS_CREATEFILELIST, UTIL_sleep */ #include /* malloc, free */ #include /* memset */ #include /* fprintf, fopen, ftello64 */ @@ -501,7 +501,7 @@ static void BMK_syntheticTest(int cLevel, int cLevelLast, double compressibility int BMK_benchFiles(const char** fileNamesTable, unsigned nbFiles, - const char* dictFileName, int cLevel, int cLevelLast) + const char* dictFileName, int cLevel, int cLevelLast, int recursive) { double const compressibility = (double)g_compressibilityDefault / 100; @@ -510,15 +510,18 @@ int BMK_benchFiles(const char** fileNamesTable, unsigned nbFiles, else { #ifdef UTIL_HAS_CREATEFILELIST - char* buf; - const char** filenameTable; - unsigned i; - nbFiles = UTIL_createFileList(fileNamesTable, nbFiles, MAX_LIST_SIZE, &filenameTable, &buf); - if (filenameTable) { - for (i=0; i /* malloc, free */ #include /* memset */ #include /* fprintf, fopen, ftello64 */ +#include /* clock_t, clock, CLOCKS_PER_SEC */ #include "mem.h" /* read */ #include "error_private.h" diff --git a/programs/util.h b/programs/util.h index 25eb31d22..7f7384383 100644 --- a/programs/util.h +++ b/programs/util.h @@ -85,7 +85,7 @@ extern "C" { # define SET_HIGH_PRIORITY SetPriorityClass(GetCurrentProcess(), REALTIME_PRIORITY_CLASS) # define UTIL_sleep(s) Sleep(1000*s) # define UTIL_sleepMilli(milli) Sleep(milli) -#elif (defined(__unix__) || defined(__unix) || (defined(__APPLE__) && defined(__MACH__))) +#elif (defined(__unix__) || defined(__unix) || defined(__midipix__) || (defined(__APPLE__) && defined(__MACH__))) # include # include /* setpriority */ # include /* clock_t, nanosleep, clock, CLOCKS_PER_SEC */ @@ -255,7 +255,7 @@ next: return nbFiles; } -#elif (defined(__unix__) || defined(__unix) || (defined(__APPLE__) && defined(__MACH__))) && defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE >= 200112L) /* snprintf, opendir */ +#elif (defined(__unix__) || defined(__unix) || defined(__midipix__) || (defined(__APPLE__) && defined(__MACH__))) && defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE >= 200112L) /* snprintf, opendir */ # define UTIL_HAS_CREATEFILELIST # include /* opendir, readdir */ # include /* PATH_MAX */ diff --git a/programs/zstdcli.c b/programs/zstdcli.c index 98e6c0d3a..5d00e81d5 100644 --- a/programs/zstdcli.c +++ b/programs/zstdcli.c @@ -31,15 +31,13 @@ /*-************************************ * Compiler Options **************************************/ -#define _CRT_SECURE_NO_WARNINGS /* Visual : removes warning from strcpy */ #define _POSIX_SOURCE 1 /* triggers fileno() within on unix */ /*-************************************ * Includes **************************************/ -#include /* fprintf, getchar */ -#include /* exit, calloc, free */ +#include "util.h" /* Compiler options, UTIL_HAS_CREATEFILELIST */ #include /* strcmp, strlen */ #include /* toupper */ #include "fileio.h" @@ -48,7 +46,7 @@ #endif #include "zstd_static.h" /* ZSTD_maxCLevel, ZSTD version numbers */ #ifndef ZSTD_NODICT -# include "dibio.h" /* BMK_benchFiles, BMK_SetNbIterations */ +# include "dibio.h" #endif @@ -148,8 +146,11 @@ static int usage_advanced(const char* programName) #ifndef ZSTD_NOBENCH DISPLAY( "Benchmark arguments :\n"); DISPLAY( " -b# : benchmark file(s), using # compression level (default : 1) \n"); - DISPLAY( " -r# : test all compression levels from -bX to # (default: 1)\n"); + DISPLAY( " -e# : test all compression levels from -bX to # (default: 1)\n"); DISPLAY( " -i# : iteration loops [1-9](default : 3)\n"); +#ifdef UTIL_HAS_CREATEFILELIST + DISPLAY( " -r : operate recursively on directories\n"); +#endif DISPLAY( " -B# : cut file into independent blocks of size # (default: no block)\n"); #endif return 0; @@ -188,6 +189,7 @@ int main(int argCount, const char** argv) nextArgumentIsMaxDict=0; unsigned cLevel = 1; unsigned cLevelLast = 1; + unsigned recursive = 0; const char** filenameTable = (const char**)malloc(argCount * sizeof(const char*)); /* argCount >= 1 */ unsigned filenameIdx = 0; const char* programName = argv[0]; @@ -199,7 +201,7 @@ int main(int argCount, const char** argv) unsigned dictSelect = g_defaultSelectivityLevel; /* init */ - (void)cLevelLast; (void)dictCLevel; /* not used when ZSTD_NOBENCH / ZSTD_NODICT set */ + (void)recursive; (void)cLevelLast; (void)dictCLevel; /* not used when ZSTD_NOBENCH / ZSTD_NODICT set */ (void)decode; (void)cLevel; /* not used when ZSTD_NOCOMPRESS set */ if (filenameTable==NULL) { DISPLAY("not enough memory\n"); exit(1); } displayOut = stderr; @@ -294,6 +296,17 @@ int main(int argCount, const char** argv) /* Benchmark */ case 'b': bench=1; argument++; break; + /* range bench (benchmark only) */ + case 'e': + /* compression Level */ + argument++; + if ((*argument>='0') && (*argument<='9')) { + cLevelLast = 0; + while ((*argument >= '0') && (*argument <= '9')) + cLevelLast *= 10, cLevelLast += *argument++ - '0'; + } + break; + /* Modify Nb Iterations (benchmark only) */ case 'i': { U32 iters= 0; @@ -305,6 +318,9 @@ int main(int argCount, const char** argv) } break; + /* recursive */ + case 'r': recursive=1; argument++; break; + /* cut input into blocks (benchmark only) */ case 'B': { size_t bSize = 0; @@ -318,17 +334,6 @@ int main(int argCount, const char** argv) BMK_SetBlockSize(bSize); } break; - - /* range bench (benchmark only) */ - case 'r': - /* compression Level */ - argument++; - if ((*argument>='0') && (*argument<='9')) { - cLevelLast = 0; - while ((*argument >= '0') && (*argument <= '9')) - cLevelLast *= 10, cLevelLast += *argument++ - '0'; - } - break; #endif /* ZSTD_NOBENCH */ /* Selection level */ @@ -390,7 +395,7 @@ int main(int argCount, const char** argv) if (bench) { #ifndef ZSTD_NOBENCH BMK_setNotificationLevel(displayLevel); - BMK_benchFiles(filenameTable, filenameIdx, dictFileName, cLevel, cLevelLast); + BMK_benchFiles(filenameTable, filenameIdx, dictFileName, cLevel, cLevelLast, recursive); #endif goto _end; } From 95459458edc5d8c0de7d5521293c343957cbabdb Mon Sep 17 00:00:00 2001 From: inikep Date: Tue, 10 May 2016 14:42:54 +0200 Subject: [PATCH 11/11] disable Visual Studio code analysis --- programs/bench.c | 1 + visual/2013/fullbench/fullbench.vcxproj | 20 ++++++++------------ visual/2013/fuzzer/fuzzer.vcxproj | 20 ++++++++------------ visual/2013/zstd/zstd.vcxproj | 10 ++++------ visual/2013/zstdlib/zstdlib.vcxproj | 13 +++++-------- 5 files changed, 26 insertions(+), 38 deletions(-) diff --git a/programs/bench.c b/programs/bench.c index f97e9bb98..d09e2e39a 100644 --- a/programs/bench.c +++ b/programs/bench.c @@ -523,6 +523,7 @@ int BMK_benchFiles(const char** fileNamesTable, unsigned nbFiles, } else BMK_benchFileTable(fileNamesTable, nbFiles, dictFileName, cLevel, cLevelLast); #else + (void)recursive; BMK_benchFileTable(fileNamesTable, nbFiles, dictFileName, cLevel, cLevelLast); #endif } diff --git a/visual/2013/fullbench/fullbench.vcxproj b/visual/2013/fullbench/fullbench.vcxproj index 7abf0d38d..95f98d6bb 100644 --- a/visual/2013/fullbench/fullbench.vcxproj +++ b/visual/2013/fullbench/fullbench.vcxproj @@ -70,22 +70,22 @@ true $(WindowsSdkDir)\include;$(UniversalCRT_IncludePath);$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath) - true + false true $(WindowsSdkDir)\include;$(UniversalCRT_IncludePath);$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath) - true + false false $(WindowsSdkDir)\include;$(UniversalCRT_IncludePath);$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath) - true + false false $(WindowsSdkDir)\include;$(UniversalCRT_IncludePath);$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath) - true + false @@ -95,8 +95,7 @@ Disabled WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true - true - /analyze:stacksize25000 %(AdditionalOptions) + false Console @@ -111,8 +110,7 @@ Disabled WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true - true - /analyze:stacksize25000 %(AdditionalOptions) + false Console @@ -128,9 +126,8 @@ true true WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true + false true - /analyze:stacksize25000 %(AdditionalOptions) Console @@ -149,8 +146,7 @@ true WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true - true - /analyze:stacksize25000 %(AdditionalOptions) + false Console diff --git a/visual/2013/fuzzer/fuzzer.vcxproj b/visual/2013/fuzzer/fuzzer.vcxproj index 36ea3a908..635c3c846 100644 --- a/visual/2013/fuzzer/fuzzer.vcxproj +++ b/visual/2013/fuzzer/fuzzer.vcxproj @@ -70,22 +70,22 @@ true $(WindowsSdkDir)\include;$(UniversalCRT_IncludePath);$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath) - true + false true $(WindowsSdkDir)\include;$(UniversalCRT_IncludePath);$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath) - true + false false $(WindowsSdkDir)\include;$(UniversalCRT_IncludePath);$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath) - true + false false $(WindowsSdkDir)\include;$(UniversalCRT_IncludePath);$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\legacy;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath) - true + false @@ -95,8 +95,7 @@ Disabled WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true - true - /analyze:stacksize25000 %(AdditionalOptions) + false Console @@ -111,8 +110,7 @@ Disabled WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true - true - /analyze:stacksize25000 %(AdditionalOptions) + false Console @@ -128,9 +126,8 @@ true true WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true + false true - /analyze:stacksize25000 %(AdditionalOptions) Console @@ -149,8 +146,7 @@ true WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true - true - /analyze:stacksize25000 %(AdditionalOptions) + false Console diff --git a/visual/2013/zstd/zstd.vcxproj b/visual/2013/zstd/zstd.vcxproj index 8dbca2295..5ada0e199 100755 --- a/visual/2013/zstd/zstd.vcxproj +++ b/visual/2013/zstd/zstd.vcxproj @@ -123,12 +123,12 @@ true $(WindowsSdkDir)\include;$(UniversalCRT_IncludePath);$(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); - true + false true $(WindowsSdkDir)\include;$(UniversalCRT_IncludePath);$(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); - true + false false @@ -148,8 +148,7 @@ Disabled WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true - true - /analyze:stacksize25000 %(AdditionalOptions) + false Console @@ -164,8 +163,7 @@ Disabled WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) false - true - /analyze:stacksize25000 %(AdditionalOptions) + false Console diff --git a/visual/2013/zstdlib/zstdlib.vcxproj b/visual/2013/zstdlib/zstdlib.vcxproj index e9fa150c1..bcfac4995 100644 --- a/visual/2013/zstdlib/zstdlib.vcxproj +++ b/visual/2013/zstdlib/zstdlib.vcxproj @@ -104,14 +104,14 @@ zstdlib_x86 $(Platform)\$(Configuration)\ $(WindowsSdkDir)\include;$(UniversalCRT_IncludePath);$(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); - true + false true zstdlib_x64 $(Platform)\$(Configuration)\ $(WindowsSdkDir)\include;$(UniversalCRT_IncludePath);$(SolutionDir)..\..\programs\legacy;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\common;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); - true + false false @@ -139,8 +139,7 @@ MultiThreadedDebugDLL EditAndContinue true - true - /analyze:stacksize25000 %(AdditionalOptions) + false Console @@ -159,8 +158,7 @@ EnableFastChecks MultiThreadedDebugDLL ProgramDatabase - true - /analyze:stacksize25000 %(AdditionalOptions) + false Console @@ -176,8 +174,7 @@ true true ZSTD_DLL_EXPORT=1;ZSTD_HEAPMODE=0;ZSTD_LEGACY_SUPPORT=0;WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - true - /analyze:stacksize25000 %(AdditionalOptions) + false MultiThreadedDLL ProgramDatabase All