mirror of
https://github.com/wheremyfoodat/Panda3DS.git
synced 2025-04-19 20:19:13 +12:00
Add xxhash
This commit is contained in:
parent
3606c005c5
commit
f82b27ddba
84 changed files with 66504 additions and 3 deletions
142
third_party/xxhash/.travis.yml
vendored
Normal file
142
third_party/xxhash/.travis.yml
vendored
Normal file
|
@ -0,0 +1,142 @@
|
|||
language: c
|
||||
|
||||
# Dump CPU info before start
|
||||
before_install:
|
||||
- cat /proc/cpuinfo || echo /proc/cpuinfo is not present
|
||||
|
||||
matrix:
|
||||
fast_finish: true
|
||||
include:
|
||||
|
||||
- name: General linux x64 tests
|
||||
arch: amd64
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- g++-multilib
|
||||
- gcc-multilib
|
||||
- cppcheck
|
||||
script:
|
||||
- make -B test-all
|
||||
- make clean
|
||||
- CFLAGS="-Werror" MOREFLAGS="-Wno-sign-conversion" make dispatch # removing sign conversion warnings due to a bug in gcc-5's definition of some AVX512 intrinsics
|
||||
- make clean
|
||||
- CFLAGS="-O1 -mavx512f -Werror" make
|
||||
- make clean
|
||||
- CFLAGS="-Wall -Wextra -Werror" make DISPATCH=1
|
||||
- make clean
|
||||
- CFLAGS="-std=c90 -pedantic -Wno-long-long -Werror" make xxhsum # check C90 + long long compliance
|
||||
- make c90test # strict c90, with no long long support; resulting in no XXH64_* symbol
|
||||
- make noxxh3test # check library can be compiled with XXH_NO_XXH3, resulting in no XXH3_* symbol
|
||||
|
||||
|
||||
- name: Check results consistency on x64
|
||||
arch: amd64
|
||||
script:
|
||||
- CPPFLAGS=-DXXH_VECTOR=XXH_SCALAR make check # Scalar code path
|
||||
- make clean
|
||||
- CPPFLAGS=-DXXH_VECTOR=XXH_SSE2 make check # SSE2 code path
|
||||
- make clean
|
||||
- CPPFLAGS="-mavx2 -DXXH_VECTOR=XXH_AVX2" make check # AVX2 code path
|
||||
- make clean
|
||||
- CPPFLAGS="-mavx512f -DXXH_VECTOR=XXH_AVX512" make check # AVX512 code path
|
||||
- make clean
|
||||
- CPPFLAGS=-DXXH_REROLL=1 make check # reroll code path (#240)
|
||||
- make -C tests/bench
|
||||
|
||||
- name: macOS General Test
|
||||
os: osx
|
||||
compiler: clang
|
||||
script:
|
||||
- CFLAGS="-Werror" make # test library build
|
||||
- make clean
|
||||
- make test MOREFLAGS='-Werror' | tee # test scenario where `stdout` is not the console
|
||||
|
||||
- name: ARM compilation and consistency checks (Qemu)
|
||||
dist: xenial
|
||||
arch: amd64
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- qemu-system-arm
|
||||
- qemu-user-static
|
||||
- gcc-arm-linux-gnueabi
|
||||
- libc6-dev-armel-cross
|
||||
script:
|
||||
# arm (32-bit)
|
||||
- CC=arm-linux-gnueabi-gcc CPPFLAGS=-DXXH_VECTOR=XXH_SCALAR LDFLAGS=-static RUN_ENV=qemu-arm-static make check # Scalar code path
|
||||
- make clean
|
||||
# NEON (32-bit)
|
||||
- CC=arm-linux-gnueabi-gcc CPPFLAGS=-DXXH_VECTOR=XXH_NEON CFLAGS="-O3 -march=armv7-a -fPIC -mfloat-abi=softfp -mfpu=neon-vfpv4" LDFLAGS=-static RUN_ENV=qemu-arm-static make check # NEON code path
|
||||
|
||||
- name: aarch64 compilation and consistency checks
|
||||
dist: xenial
|
||||
arch: arm64
|
||||
script:
|
||||
# aarch64
|
||||
- CPPFLAGS=-DXXH_VECTOR=XXH_SCALAR make check # Scalar code path
|
||||
# NEON (64-bit)
|
||||
- make clean
|
||||
- CPPFLAGS=-DXXH_VECTOR=XXH_NEON make check # NEON code path
|
||||
# clang
|
||||
- make clean
|
||||
- CC=clang CPPFLAGS=-DXXH_VECTOR=XXH_SCALAR make check # Scalar code path
|
||||
# clang + NEON
|
||||
- make clean
|
||||
- CC=clang CPPFLAGS=-DXXH_VECTOR=XXH_NEON make check # NEON code path
|
||||
|
||||
# We need Bionic here because the QEMU versions shipped in the older repos
|
||||
# do not support POWER8 emulation, and compiling QEMU from source is a pain.
|
||||
- name: PowerPC + PPC64 compilation and consistency checks (Qemu on Bionic)
|
||||
dist: bionic
|
||||
arch: amd64
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- qemu-system-ppc
|
||||
- qemu-user-static
|
||||
- gcc-powerpc-linux-gnu
|
||||
- gcc-powerpc64-linux-gnu
|
||||
- libc6-dev-powerpc-cross
|
||||
- libc6-dev-ppc64-cross
|
||||
script:
|
||||
- CC=powerpc-linux-gnu-gcc RUN_ENV=qemu-ppc-static LDFLAGS=-static make check # Scalar code path
|
||||
- make clean
|
||||
- CC=powerpc64-linux-gnu-gcc RUN_ENV=qemu-ppc64-static CPPFLAGS=-DXXH_VECTOR=XXH_SCALAR CFLAGS="-O3" LDFLAGS="-static -m64" make check # Scalar code path
|
||||
# VSX code
|
||||
- make clean
|
||||
- CC=powerpc64-linux-gnu-gcc RUN_ENV="qemu-ppc64-static -cpu power8" CPPFLAGS=-DXXH_VECTOR=XXH_VSX CFLAGS="-O3 -maltivec -mvsx -mcpu=power8 -mpower8-vector" LDFLAGS="-static -m64" make check # VSX code path
|
||||
# altivec.h redefinition issue #426
|
||||
- make clean
|
||||
- CC=powerpc64-linux-gnu-gcc CPPFLAGS=-DXXH_VECTOR=XXH_VSX CFLAGS="-maltivec -mvsx -mcpu=power8 -mpower8-vector" make -C tests test_ppc_redefine
|
||||
|
||||
- name: PPC64LE compilation and consistency checks
|
||||
dist: xenial
|
||||
arch: ppc64le
|
||||
script:
|
||||
# Scalar (universal) code path
|
||||
- CPPFLAGS=-DXXH_VECTOR=XXH_SCALAR LDFLAGS=-static make check
|
||||
# VSX code path (64-bit)
|
||||
- make clean
|
||||
- CPPFLAGS=-DXXH_VECTOR=XXH_VSX CFLAGS="-O3 -maltivec -mvsx -mpower8-vector -mcpu=power8" LDFLAGS="-static" make check
|
||||
# altivec.h redefinition issue #426
|
||||
- make clean
|
||||
- CPPFLAGS=-DXXH_VECTOR=XXH_VSX CFLAGS="-maltivec -mvsx -mcpu=power8 -mpower8-vector" make -C tests test_ppc_redefine
|
||||
|
||||
- name: IBM s390x compilation and consistency checks
|
||||
dist: bionic
|
||||
arch: s390x
|
||||
script:
|
||||
# Scalar (universal) code path
|
||||
- CPPFLAGS=-DXXH_VECTOR=XXH_SCALAR LDFLAGS=-static make check
|
||||
# s390x code path (64-bit)
|
||||
- make clean
|
||||
- CPPFLAGS=-DXXH_VECTOR=XXH_VSX CFLAGS="-O3 -march=arch11 -mzvector" LDFLAGS="-static" make check
|
||||
|
||||
- name: cmake build test
|
||||
script:
|
||||
- cd cmake_unofficial
|
||||
- mkdir build
|
||||
- cd build
|
||||
- cmake ..
|
||||
- CFLAGS=-Werror make
|
Loading…
Add table
Add a link
Reference in a new issue