1
0
mirror of https://github.com/facebook/zstd.git synced 2025-07-29 11:21:22 +03:00

added : xxhash namespace enforced from xxhash.h.

added : xxhash namespace test.
removed : -DXXH_NAMESPACE
This commit is contained in:
Yann Collet
2016-08-10 08:14:48 +02:00
parent 8ded0b84aa
commit 666398e7ed
6 changed files with 54 additions and 7 deletions

View File

@ -46,7 +46,7 @@ PREFIX ?= /usr/local
LIBDIR ?= $(PREFIX)/lib LIBDIR ?= $(PREFIX)/lib
INCLUDEDIR=$(PREFIX)/include INCLUDEDIR=$(PREFIX)/include
CPPFLAGS= -I. -I./common -DXXH_NAMESPACE=ZSTD_ CPPFLAGS= -I. -I./common
CFLAGS ?= -O3 CFLAGS ?= -O3
CFLAGS += -Wall -Wextra -Wcast-qual -Wcast-align -Wshadow -Wstrict-aliasing=1 \ CFLAGS += -Wall -Wextra -Wcast-qual -Wcast-align -Wshadow -Wstrict-aliasing=1 \
-Wswitch-enum -Wdeclaration-after-statement -Wstrict-prototypes -Wundef -Wswitch-enum -Wdeclaration-after-statement -Wstrict-prototypes -Wundef

View File

@ -71,6 +71,10 @@ XXH32 6.8 GB/s 6.0 GB/s
extern "C" { extern "C" {
#endif #endif
#ifndef XXH_NAMESPACE
# define XXH_NAMESPACE ZSTD_ /* Zstandard specific */
#endif
/* **************************** /* ****************************
* Definitions * Definitions

View File

@ -44,7 +44,7 @@ else
ALIGN_LOOP = ALIGN_LOOP =
endif endif
CPPFLAGS= -I$(ZSTDDIR) -I$(ZSTDDIR)/common -I$(ZSTDDIR)/dictBuilder -DXXH_NAMESPACE=ZSTD_ CPPFLAGS= -I$(ZSTDDIR) -I$(ZSTDDIR)/common -I$(ZSTDDIR)/dictBuilder
CFLAGS ?= -O3 CFLAGS ?= -O3
CFLAGS += -Wall -Wextra -Wcast-qual -Wcast-align -Wshadow -Wstrict-aliasing=1 \ CFLAGS += -Wall -Wextra -Wcast-qual -Wcast-align -Wshadow -Wstrict-aliasing=1 \
-Wswitch-enum -Wdeclaration-after-statement -Wstrict-prototypes -Wundef -Wswitch-enum -Wdeclaration-after-statement -Wstrict-prototypes -Wundef

1
tests/.gitignore vendored
View File

@ -2,6 +2,7 @@
zstdtest zstdtest
speedTest speedTest
versionsTest versionsTest
namespaceTest
# Local script # Local script
startSpeedTest startSpeedTest

View File

@ -25,18 +25,22 @@
# versionstest : Compatibility test between zstd versions stored on Github (v0.1+) # versionstest : Compatibility test between zstd versions stored on Github (v0.1+)
# ########################################################################## # ##########################################################################
PYTHON ?= python3 PYTHON ?= python3
TESTDIR := versionsTest TESTARTEFACT := versionsTest namespaceTest
.PHONY: default all clean versionsTest .PHONY: default all clean namespaceTest versionsTest
default: all default: all
all: versionsTest all: namespaceTest versionsTest
namespaceTest:
if $(CC) namespaceTest.c ../lib/common/xxhash.c -o $@ ; then echo compilation should fail; exit 1 ; fi
$(RM) $@
versionsTest: versionsTest:
$(PYTHON) test-zstd-versions.py $(PYTHON) test-zstd-versions.py
clean: clean:
@$(RM) -fR $(TESTDIR) @$(RM) -fR $(TESTARTEFACT)
@echo Cleaning completed @echo Cleaning completed

38
tests/namespaceTest.c Normal file
View File

@ -0,0 +1,38 @@
/* ##########################################################################
# namespaceTest
# ensure xxhash namespace emulation is properly triggered
# Copyright (C) Yann Collet 2016
#
# GPL v2 License
#
# 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.
#
# 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.
#
# You can contact the author at :
# - zstd homepage : http://www.zstd.net/
# ########################################################################*/
#include <stddef.h> /* size_t */
#include <string.h> /* strlen */
/* symbol definition */
extern unsigned XXH32(const void* src, size_t srcSize, unsigned seed);
int main(int argc, const char** argv)
{
const char* exename = argv[0];
unsigned result = XXH32(exename, strlen(exename), argc);
return !result;
}