executables use basic types from util.h

This commit is contained in:
Przemyslaw Skibinski 2016-12-21 09:44:59 +01:00
parent 452cc970d6
commit 9546ba62d0
8 changed files with 32 additions and 139 deletions

View File

@ -27,30 +27,12 @@
* Includes * Includes
**************************************/ **************************************/
#include "platform.h" /* Compiler options, SET_BINARY_MODE */ #include "platform.h" /* Compiler options, SET_BINARY_MODE */
#include "util.h" /* U32 */
#include <stdlib.h> /* malloc */ #include <stdlib.h> /* malloc */
#include <stdio.h> /* FILE, fwrite */ #include <stdio.h> /* FILE, fwrite */
#include <string.h> /* memcpy */ #include <string.h> /* memcpy */
/**************************************
* Basic Types
**************************************/
#if defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) /* C99 */
# include <stdint.h>
typedef uint8_t BYTE;
typedef uint16_t U16;
typedef uint32_t U32;
typedef int32_t S32;
typedef uint64_t U64;
#else
typedef unsigned char BYTE;
typedef unsigned short U16;
typedef unsigned int U32;
typedef signed int S32;
typedef unsigned long long U64;
#endif
/************************************** /**************************************
* Constants * Constants
**************************************/ **************************************/

View File

@ -1,11 +1,21 @@
/** /*
* Copyright (c) 2016-present, Przemyslaw Skibinski, Yann Collet, Facebook, Inc. platform.h - compiler and OS detection
* All rights reserved. Copyright (C) 2016-present, Przemyslaw Skibinski, Yann Collet
*
* This source code is licensed under the BSD-style license found in the This program is free software; you can redistribute it and/or modify
* LICENSE file in the root directory of this source tree. An additional grant it under the terms of the GNU General Public License as published by
* of patent rights can be found in the PATENTS file in the same directory. the Free Software Foundation; either version 2 of the License, or
*/ (at your option) any later version.
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.
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.
*/
#ifndef PLATFORM_H_MODULE #ifndef PLATFORM_H_MODULE
#define PLATFORM_H_MODULE #define PLATFORM_H_MODULE

View File

@ -15,10 +15,6 @@
You should have received a copy of the GNU General Public License along 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., with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
You can contact the author at :
- LZ4 source repository : https://github.com/lz4/lz4
- LZ4 public forum : https://groups.google.com/forum/#!forum/lz4c
*/ */
#ifndef UTIL_H_MODULE #ifndef UTIL_H_MODULE
@ -88,7 +84,9 @@ extern "C" {
/*-************************************************************** /*-**************************************************************
* Basic Types * Basic Types
*****************************************************************/ *****************************************************************/
#if !defined (__VMS) && (defined (__cplusplus) || (defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) /* C99 */) ) #ifndef BASIC_TYPES_DEFINED
#define BASIC_TYPES_DEFINED
#if !defined (__VMS) && (defined (__cplusplus) || (defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) /* C99 */) )
# include <stdint.h> # include <stdint.h>
typedef uint8_t BYTE; typedef uint8_t BYTE;
typedef uint16_t U16; typedef uint16_t U16;
@ -106,6 +104,7 @@ extern "C" {
typedef unsigned long long U64; typedef unsigned long long U64;
typedef signed long long S64; typedef signed long long S64;
#endif #endif
#endif
/*-**************************************** /*-****************************************

View File

@ -43,7 +43,7 @@ CFLAGS += -g -Wall -Wextra -Wundef -Wcast-qual -Wcast-align -Wshadow -Wswitch-e
-Wdeclaration-after-statement -Wstrict-prototypes \ -Wdeclaration-after-statement -Wstrict-prototypes \
-Wpointer-arith -Wstrict-aliasing=1 -Wpointer-arith -Wstrict-aliasing=1
CFLAGS += $(MOREFLAGS) CFLAGS += $(MOREFLAGS)
CPPFLAGS:= -I$(LIBDIR) -DXXH_NAMESPACE=LZ4_ CPPFLAGS:= -I$(LIBDIR) -I$(PRGDIR) -DXXH_NAMESPACE=LZ4_
FLAGS = $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) FLAGS = $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)

View File

@ -27,30 +27,12 @@
/************************************** /**************************************
* Includes * Includes
**************************************/ **************************************/
#include "util.h" /* U32 */
#include <stdio.h> /* fprintf, stderr */ #include <stdio.h> /* fprintf, stderr */
#include "datagen.h" /* RDG_generate */ #include "datagen.h" /* RDG_generate */
#include "lz4.h" /* LZ4_VERSION_STRING */ #include "lz4.h" /* LZ4_VERSION_STRING */
/**************************************
* Basic Types
**************************************/
#if defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) /* C99 */
# include <stdint.h>
typedef uint8_t BYTE;
typedef uint16_t U16;
typedef uint32_t U32;
typedef int32_t S32;
typedef uint64_t U64;
#else
typedef unsigned char BYTE;
typedef unsigned short U16;
typedef unsigned int U32;
typedef signed int S32;
typedef unsigned long long U64;
#endif
/************************************** /**************************************
* Constants * Constants
**************************************/ **************************************/

View File

@ -27,7 +27,6 @@
* Compiler specific * Compiler specific
**************************************/ **************************************/
#ifdef _MSC_VER /* Visual Studio */ #ifdef _MSC_VER /* Visual Studio */
# pragma warning(disable : 4127) /* disable: C4127: conditional expression is constant */
# pragma warning(disable : 4146) /* disable: C4146: minus unsigned expression */ # pragma warning(disable : 4146) /* disable: C4146: minus unsigned expression */
#endif #endif
@ -35,6 +34,8 @@
/*-************************************ /*-************************************
* Includes * Includes
**************************************/ **************************************/
#include "platform.h" /* Compiler options */
#include "util.h" /* U32 */
#include <stdlib.h> /* malloc, free */ #include <stdlib.h> /* malloc, free */
#include <stdio.h> /* fprintf */ #include <stdio.h> /* fprintf */
#include <string.h> /* strcmp */ #include <string.h> /* strcmp */
@ -45,25 +46,6 @@
#include "xxhash.h" /* XXH64 */ #include "xxhash.h" /* XXH64 */
/*-************************************
* Basic Types
**************************************/
#if !defined(__VMS) && (defined (__cplusplus) || (defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) /* C99 */) )
# include <stdint.h>
typedef uint8_t BYTE;
typedef uint16_t U16;
typedef uint32_t U32;
typedef int32_t S32;
typedef uint64_t U64;
#else
typedef unsigned char BYTE;
typedef unsigned short U16;
typedef unsigned int U32;
typedef signed int S32;
typedef unsigned long long U64;
#endif
/* unoptimized version; solves endianess & alignment issues */ /* unoptimized version; solves endianess & alignment issues */
static void FUZ_writeLE32 (void* dstVoidPtr, U32 value32) static void FUZ_writeLE32 (void* dstVoidPtr, U32 value32)
{ {

View File

@ -33,6 +33,7 @@
/************************************** /**************************************
* Includes * Includes
**************************************/ **************************************/
#include "util.h" /* U32, UTIL_getFileSize */
#include <stdlib.h> /* malloc, free */ #include <stdlib.h> /* malloc, free */
#include <stdio.h> /* fprintf, fopen, ftello */ #include <stdio.h> /* fprintf, fopen, ftello */
#include <sys/types.h> /* stat64 */ #include <sys/types.h> /* stat64 */
@ -47,34 +48,6 @@
#include "xxhash.h" #include "xxhash.h"
/**************************************
* Compiler Options
**************************************/
/* S_ISREG & gettimeofday() are not supported by MSVC */
#if !defined(S_ISREG)
# define S_ISREG(x) (((x) & S_IFMT) == S_IFREG)
#endif
/**************************************
* Basic Types
**************************************/
#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L /* C99 */
# include <stdint.h>
typedef uint8_t BYTE;
typedef uint16_t U16;
typedef uint32_t U32;
typedef int32_t S32;
typedef uint64_t U64;
#else
typedef unsigned char BYTE;
typedef unsigned short U16;
typedef unsigned int U32;
typedef signed int S32;
typedef unsigned long long U64;
#endif
/************************************** /**************************************
* Constants * Constants
**************************************/ **************************************/
@ -180,21 +153,6 @@ static size_t BMK_findMaxMem(U64 requiredMem)
} }
static U64 BMK_GetFileSize(const char* infilename)
{
int r;
#if defined(_MSC_VER)
struct _stat64 statbuf;
r = _stat64(infilename, &statbuf);
#else
struct stat statbuf;
r = stat(infilename, &statbuf);
#endif
if (r || !S_ISREG(statbuf.st_mode)) return 0; /* No good... */
return (U64)statbuf.st_size;
}
/********************************************************* /*********************************************************
* Benchmark function * Benchmark function
*********************************************************/ *********************************************************/
@ -384,7 +342,7 @@ int fullSpeedBench(const char** fileNamesTable, int nbFiles)
if (inFile==NULL) { DISPLAY( "Pb opening %s\n", inFileName); return 11; } if (inFile==NULL) { DISPLAY( "Pb opening %s\n", inFileName); return 11; }
/* Memory size adjustments */ /* Memory size adjustments */
inFileSize = BMK_GetFileSize(inFileName); inFileSize = UTIL_getFileSize(inFileName);
if (inFileSize==0) { DISPLAY( "file is empty\n"); fclose(inFile); return 11; } if (inFileSize==0) { DISPLAY( "file is empty\n"); fclose(inFile); return 11; }
benchedSize = BMK_findMaxMem(inFileSize*2) / 2; /* because 2 buffers */ benchedSize = BMK_findMaxMem(inFileSize*2) / 2; /* because 2 buffers */
if (benchedSize==0) { DISPLAY( "not enough memory\n"); fclose(inFile); return 11; } if (benchedSize==0) { DISPLAY( "not enough memory\n"); fclose(inFile); return 11; }

View File

@ -27,8 +27,6 @@
* Compiler options * Compiler options
**************************************/ **************************************/
#ifdef _MSC_VER /* Visual Studio */ #ifdef _MSC_VER /* Visual Studio */
# define _CRT_SECURE_NO_WARNINGS /* fgets */
# pragma warning(disable : 4127) /* disable: C4127: conditional expression is constant */
# pragma warning(disable : 4146) /* disable: C4146: minus unsigned expression */ # pragma warning(disable : 4146) /* disable: C4146: minus unsigned expression */
# pragma warning(disable : 4310) /* disable: C4310: constant char value > 127 */ # pragma warning(disable : 4310) /* disable: C4310: constant char value > 127 */
#endif #endif
@ -37,6 +35,8 @@
/*-************************************ /*-************************************
* Dependencies * Dependencies
**************************************/ **************************************/
#include "platform.h" /* Compiler options */
#include "util.h" /* U32 */
#include <stdlib.h> #include <stdlib.h>
#include <stdio.h> /* fgets, sscanf */ #include <stdio.h> /* fgets, sscanf */
#include <string.h> /* strcmp */ #include <string.h> /* strcmp */
@ -46,26 +46,6 @@
#include "xxhash.h" #include "xxhash.h"
/*-************************************
* Basic Types
**************************************/
#if defined(__cplusplus) || (defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) /* C99 */)
# include <stdint.h>
typedef uint8_t BYTE;
typedef uint16_t U16;
typedef uint32_t U32;
typedef int32_t S32;
typedef uint64_t U64;
#else
typedef unsigned char BYTE;
typedef unsigned short U16;
typedef unsigned int U32;
typedef signed int S32;
typedef unsigned long long U64;
typedef size_t uintptr_t; /* true on most systems, except OpenVMS-64 (which doesn't need address overflow test) */
#endif
/*-************************************ /*-************************************
* Constants * Constants
**************************************/ **************************************/