]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
added : xxhash namespace enforced from xxhash.h.
authorYann Collet <yann.collet.73@gmail.com>
Wed, 10 Aug 2016 06:14:48 +0000 (08:14 +0200)
committerYann Collet <yann.collet.73@gmail.com>
Wed, 10 Aug 2016 06:16:51 +0000 (08:16 +0200)
added : xxhash namespace test.
removed : -DXXH_NAMESPACE

lib/Makefile
lib/common/xxhash.h
programs/Makefile
tests/.gitignore
tests/Makefile
tests/namespaceTest.c [new file with mode: 0644]

index 1b4cb378fa18df8597f5890d1408b392e306af8d..579a906fee8cfedd8551e82bbfc0490173c18cc6 100644 (file)
@@ -46,7 +46,7 @@ PREFIX ?= /usr/local
 LIBDIR ?= $(PREFIX)/lib
 INCLUDEDIR=$(PREFIX)/include
 
-CPPFLAGS= -I. -I./common -DXXH_NAMESPACE=ZSTD_
+CPPFLAGS= -I. -I./common
 CFLAGS ?= -O3
 CFLAGS += -Wall -Wextra -Wcast-qual -Wcast-align -Wshadow -Wstrict-aliasing=1 \
           -Wswitch-enum -Wdeclaration-after-statement -Wstrict-prototypes -Wundef
index 75e2ed209a6727d54ac50168ecf8828344688495..2c9b7c61bf447cfd009a8484bf74259eeb579c78 100644 (file)
@@ -71,6 +71,10 @@ XXH32        6.8 GB/s            6.0 GB/s
 extern "C" {
 #endif
 
+#ifndef XXH_NAMESPACE
+#  define XXH_NAMESPACE ZSTD_  /* Zstandard specific */
+#endif
+
 
 /* ****************************
 *  Definitions
index be6fbf2c213f2ae446c094a9799051fcf97d9bf2..9a9fcd3465d3b978fb6d71793bee77b736039ba1 100644 (file)
@@ -44,7 +44,7 @@ else
 ALIGN_LOOP =
 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 += -Wall -Wextra -Wcast-qual -Wcast-align -Wshadow -Wstrict-aliasing=1 \
           -Wswitch-enum -Wdeclaration-after-statement -Wstrict-prototypes -Wundef
index bda081a64ea18122a449b7c7d97f920376797511..5ea6b5b7522a8aea804f9d533d0701e8c2029d6c 100644 (file)
@@ -2,6 +2,7 @@
 zstdtest
 speedTest
 versionsTest
+namespaceTest
 
 # Local script
 startSpeedTest
index 153e8ef1adbd2b0953000801f08ccc47ee32d9b3..d83a1dfc1a52e286a10836c50aabbbf9a78569a1 100644 (file)
 # versionstest : Compatibility test between zstd versions stored on Github (v0.1+)
 # ##########################################################################
 
-PYTHON  ?= python3
-TESTDIR := versionsTest
+PYTHON ?= python3
+TESTARTEFACT := versionsTest namespaceTest
 
-.PHONY: default all clean versionsTest
+.PHONY: default all clean namespaceTest versionsTest
 
 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:
        $(PYTHON) test-zstd-versions.py
 
 clean:
-       @$(RM) -fR $(TESTDIR)
+       @$(RM) -fR $(TESTARTEFACT)
        @echo Cleaning completed
diff --git a/tests/namespaceTest.c b/tests/namespaceTest.c
new file mode 100644 (file)
index 0000000..49d9b36
--- /dev/null
@@ -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;
+}