Commit Graph

116 Commits

Author SHA1 Message Date
Yann Collet
fbd68c5f09 updated C++ test 2018-09-17 11:45:49 -07:00
Yann Collet
52a97a1a08 minor Makefile improvements
- more warnings enabled (inspired by zstd list)
- -fPIC is a CFLAGS rather than an LDFLAGS flag
(though it doesn't change the outcome, since everything is compiler in a single command line)
2018-09-17 11:26:39 -07:00
Yann Collet
d4eea23960 removed valgrind
and removed code coverage,
which can only work correctly when compiling only once
(here, we have multiple binaries created)
2018-04-01 19:43:36 -07:00
Yann Collet
63c8575d09 hash lib* instead of xxhsum*
to avoid hashing xxhsum.gcda,
which content change while running xxhsum
2018-04-01 15:57:02 -07:00
Yann Collet
dd43ae2100 usan tests can accept externally defined compiler
using CC=
2018-03-20 12:53:25 -07:00
Yann Collet
d0f432ca7b usan tests warnings will now fail 2018-03-20 12:50:23 -07:00
Yann Collet
fd7ea04f49 make clean : added removal of Mac OS-X specific bin directories 2018-03-20 12:49:13 -07:00
Yann Collet
6c6ffbb27f fixed Windows test 2018-03-20 11:16:26 -07:00
Yann Collet
03be2d3347 libxxhash : -fPIC flag conditional (!Windows) 2018-03-20 11:13:30 -07:00
Yann Collet
b574a1561d fix appveyor script
moved scan-build test to `test-all`
2018-03-20 11:04:30 -07:00
Yann Collet
1fc0c6e3eb moved usan tests to test-all 2018-03-20 11:00:48 -07:00
Yann Collet
376ffba6ff changed xxhsum multi-file test
so that it doesn't grab directories
2018-03-20 10:58:09 -07:00
Yann Collet
7d6a996d5d changed multi-file test
so that it doesn't grab directories
2018-03-20 10:55:28 -07:00
Yann Collet
343a471516 removed test32 from all
platform-specific
2018-03-20 10:52:31 -07:00
Yann Collet
c3557bcbfd added target make check
`make test` does not contain platform-specific tests (32-bit, arm, etc.)

`make test-all` still includes them.
2018-03-20 10:50:45 -07:00
Yann Collet
b2fad1787d added trailingWhitespace test as make target 2018-03-18 17:17:02 -07:00
Yann Collet
b1175fec76 added make list target 2018-02-19 01:06:07 -08:00
Yann Collet
744892b802 added SSE4 detection module
flag -mno-sse4 fails on ARM architecture (and likely any non-x86 architecture).
Only disable when it's already enabled by default (typically OS-X)
2017-12-29 14:13:18 +01:00
Yann Collet
d2e9d12591 disable auto-vectorization capability on OS-X clang
auto-vectorization was triggered for XXH32,
resulting in detrimental performance
2017-12-29 11:15:37 +01:00
Soojin Nam
c9c076c75b fix a trivial typo 2017-12-26 10:57:24 +09:00
Mattias Ellert
7080470ed3 Create library directory before installing files in it 2017-10-18 10:25:54 +02:00
Yann Collet
5d07b7f13c changed name to listL120 2017-10-09 13:22:16 -07:00
Yann Collet
e15d8bf3b7 added checkL120, script by @t-mat, to detect lines >= 120 chars
https://github.com/Cyan4973/xxHash/issues/115#issuecomment-335221214
2017-10-09 12:37:02 -07:00
Yann Collet
bc32865a23 make : added lib target
make install now also installs static and dynamic libraries
2017-09-14 09:44:34 -07:00
Yann Collet
50a564c33c fixed minor ubsan warning 2017-09-08 01:37:59 -07:00
Yann Collet
d8ca778ed3 minor : separate valgrind tests 2017-09-08 01:24:43 -07:00
Yann Collet
d822d933d7 updated make install and uninstall
for greater compliance with GNU Makefile conventions.
2017-09-08 00:31:30 -07:00
Eric Engestrom
4b4ef5dff9 Makefile: fix man symlinks 2017-07-29 20:17:40 +01:00
Yann Collet
76104cf2cb Added : make install 2016-08-23 11:42:53 +02:00
Yann Collet
eb1aa07a90 added : XXH_NO_LONG_LONG mode, removing XXH64() for platforms without 64-bits support (ex: strict C90).
added : C90 pedantic test
2016-08-11 19:41:20 +02:00
Yann Collet
53c4511234 fixed minor warning under ARM compilation 2016-08-11 01:32:10 +02:00
Yann Collet
465bc74408 refactored code, for better separation between xxh32 and xxh64 (unfinished) 2016-08-11 00:53:10 +02:00
Yann Collet
fb4d0d4df9 added namespace test 2016-08-10 06:55:55 +02:00
Yann Collet
61c628549f Implemented @stbrumme suggestion in #79 2016-08-06 20:48:24 +02:00
Yann Collet
c8ab69ee1b reverted to XXH_PRIVATE_API macro to get all functions in "static" mode
still need to include `xxhash.h`
2016-06-21 08:29:40 +02:00
Yann Collet
5062cb111b changed XXH_PRIVATE_API to XXH_INCLUDE_BODY
now includes `xxhash.h` instead of `xxhash.c`, which feels more natural
2016-06-06 14:12:27 +02:00
Yann Collet
ad4c45bef1 removed useless inclusions 2016-05-28 02:29:32 +02:00
Takayuki MATSUOKA
f55accda39 Fix XXHSUM_VERSION
It muse be $(LIBVER) which is collected from xxhash.h
2016-02-22 22:06:22 +09:00
Takayuki MATSUOKA
63bf063899 Add version number collector
- Copied from lz4/lib/Makefile
 - Version number is collected from xxhash.h
2016-02-21 23:10:20 +09:00
Takayuki MATSUOKA
96abe78db9 Add EXIT STATUS, EXAMPLES, version number to xxhsum.1
Makefile
  - Add version number XXHSUM_VERSION
  - Add ronn's options to add version number

xxhsum.1.md

  - Add `EXIT STATUS` and `EXAMPLE` section
2016-02-21 09:46:58 +09:00
Takayuki MATSUOKA
ddbed4c2a9 Add manpage files: xxhsum.1 and xxhsum.1.md
You can generate xxhsum.1 by the following procedure:

```
sudo apt-get install -y ruby-ronn
# make man generates xxhsum.1 from xxhsum.1.md #
make man

# edit xxhsum.1.md here #
# auto preview for development
make preview-man
```

`Makefile` has the following tricky part:

```
xxhsum.1: xxhsum.1.md
        cat $^ | $(MD2ROFF) $(MD2ROFF_FLAGS) | sed -n '/^\.\\\".*/!p' > $@
```

Last `sed` command removes `ronn`'s comment lines (`ronn`'s version, author, URL).
It doesn't mean disrespect for `ronn`.  We need this removal because we must
ignore `ronn`'s version to minimize diff.
2016-02-20 03:08:46 +09:00
Takayuki MATSUOKA
3d68a13673 Add auto cleaning for test-xxhsum-c
Follow @Cyan4973's suggestion:
https://github.com/Cyan4973/xxHash/pull/53#issuecomment-174521226
2016-02-19 23:10:23 +09:00
Takayuki MATSUOKA
ef40492536 Add test target "test-xxhsum-c" and "clean-xxhsum-c"
- "test-xxhsum-c" tests xxhsum -c functions.
    - Input from file, pipe, stdin.
    - Basic warning/error cases
        - XXH32/64 mixed format warning.
        - Hash mismatch error.
        - Failed open or read error.
 - "clean-xxhsum-c" removes temporary files for testing.

There are potential problematic implementation:

 - Dot prefix for file name: ".test.xxh32" and ".test.xxh64"
    - I use dot prefix to simplify glob specifier ('*' ignores dot files).
    - Perhaps they make confusion for users.

 - "$?" shell variable and test(1)
    - Both variable and command are widely supported, but there is potential pitfall.
    - There are another possible solution,
        - "||", "&&" short circuit.
        - Shell's if..else command.
    - Linux bash(1) : http://linux.die.net/man/1/sh
    - FreeBSD sh : https://www.freebsd.org/cgi/man.cgi?query=sh&sektion=&n=1
    - MacOS bash(1) : https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/sh.1.html
    - Linux test(1) : http://linux.die.net/man/1/test
    - FreeBSD test(1) : https://www.freebsd.org/cgi/man.cgi?test
    - MacOS test(1) : https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/test.1.html
2016-01-25 19:25:46 +09:00
Yann Collet
5aabc409d1 Added : --little-endian command 2016-01-10 17:06:34 +01:00
Yann Collet
db5bacd507 fix test script 2016-01-04 08:51:23 +01:00
Yann Collet
2b1cded67c added PRIVATE_API mode 2016-01-04 08:32:38 +01:00
Yann Collet
ebde2748a7 stricter compliance with strict aliasing gcc warnings 2016-01-02 20:18:07 +01:00
Yann Collet
24f017808a Added : wildcard support : can checksum multiple files 2015-08-08 00:22:56 +01:00
Yann Collet
cab86639a5 Added : XXH_NAMESPACE, for namespace emulation in C 2015-06-28 03:20:23 -08:00
Yann Collet
76c90f1d0f Added : internal benchmark mode 2015-05-07 13:30:27 +01:00
Yann Collet
3b63fc28ca Added -Wcast-qual compilation flag, as suggested by Isaac Turner 2015-05-05 11:25:28 +01:00
Yann Collet
049aa14e15 added more tests 2015-05-05 01:01:10 +01:00
Yann Collet
57fda00476 sync with lz4 version 2015-05-04 22:56:53 +01:00
Yann Collet
7a42b82197 Added : -Wcast-align compilation option 2014-11-23 00:48:56 +01:00
Yann Collet
f452e84660 Added : stdin test 2014-10-29 14:02:50 +01:00
Yann Collet
56cbabb752 Makefile : C compiler selection is OS driven 2014-10-29 02:05:59 +01:00
Yann Collet
9e10157ef3 renamed bench.c into xxhsum.c 2014-10-18 11:46:37 +01:00
Yann Collet
5176062578 xxh32sum & xxh64sum
enabled short latency versions
2014-09-25 21:53:18 +01:00
Yann Collet
128a34ccac Moved to xxhsum 2014-09-25 21:22:59 +01:00
Yann Collet
7a0ba00df8 Makefile : added -Wstrict-prototype 2014-07-15 18:37:36 +01:00
Yann Collet
8d9171e957 updated : siphash results 2014-07-14 19:28:30 +01:00
Yann Collet
f0f007f042 Added : Travis automated tests
and license
and readme
2014-07-10 22:44:08 +02:00
Yann Collet
70ba044ded New : XXH64, 64-bits version, thanks to Mathias Westerdahl 2014-07-10 08:28:57 +01:00
yann.collet.73@gmail.com
7c14a40411 Corrected : aligned input detection on strict-align CPU (issue 15)
git-svn-id: https://xxhash.googlecode.com/svn/trunk@33 a90a0800-428d-89a3-ac20-94765a7798ee
2013-12-05 22:47:05 +00:00
yann.collet.73@gmail.com
681ea2aad6 Support non-aligned input on strict-align CPU systems, as requested by Gregory Pakosz
Type XXH32_stateSpace_t, for static allocation ( typically for stack allocation, or freestanding systems). Suggested by Christoph Cullmann and Takayuki Matsuoka
User definable memory-related functions (malloc, free, memcpy)
Changed enum OK into XXH_OK
Restricted intrinsic _rotl to MSVC, due to poor performance under minGW

git-svn-id: https://xxhash.googlecode.com/svn/trunk@30 a90a0800-428d-89a3-ac20-94765a7798ee
2013-06-04 12:01:50 +00:00
yann.collet.73@gmail.com
56314ee122 New functions XXH32_sizeofState() and XXH32_resetState(), for external allocation. Thanks to Takayuki Matsuoka for suggestion.
Slightly improved speed of XXH32_update()
New mode XXH_ACCEPT_NULL_INPUT_POINTER (as a #define), suggested by Brian White and Thomas Kaiser.
Added : Makefile, for GCC
Modified Basic Types and C99 detection.

git-svn-id: https://xxhash.googlecode.com/svn/trunk@28 a90a0800-428d-89a3-ac20-94765a7798ee
2013-05-11 11:22:55 +00:00