mirror of
https://github.com/FEX-Emu/xxHash.git
synced 2024-11-28 09:10:23 +00:00
cb939e00dc
fix #138
79 lines
3.4 KiB
YAML
79 lines
3.4 KiB
YAML
language: c
|
|
|
|
matrix:
|
|
fast_finish: true
|
|
include:
|
|
|
|
- name: General linux tests (Xenial)
|
|
dist: xenial
|
|
before_install:
|
|
- sudo apt-get update -qq
|
|
- sudo apt-get install -qq clang
|
|
- sudo apt-get install -qq g++-multilib
|
|
- sudo apt-get install -qq gcc-multilib
|
|
- sudo apt-get install -qq cppcheck
|
|
script:
|
|
- make -B test-all
|
|
|
|
- name: Check results consistency on x64
|
|
script:
|
|
- CPPFLAGS=-DXXH_VECTOR=0 make check # Scalar code path
|
|
- make clean
|
|
- CPPFLAGS=-DXXH_VECTOR=1 make check # SSE2 code path
|
|
- make clean
|
|
- CPPFLAGS="-mavx2 -DXXH_VECTOR=2" make check # AVX2 code path
|
|
- make -C tests/bench
|
|
|
|
- name: ARM + aarch64 compilation and consistency checks
|
|
dist: xenial
|
|
install:
|
|
- sudo apt-get install -qq
|
|
qemu-system-arm
|
|
qemu-user-static
|
|
gcc-arm-linux-gnueabi
|
|
libc6-dev-armel-cross
|
|
gcc-aarch64-linux-gnu
|
|
libc6-dev-arm64-cross
|
|
script:
|
|
# arm (32-bit)
|
|
- CC=arm-linux-gnueabi-gcc CPPFLAGS=-DXXH_VECTOR=0 LDFLAGS=-static RUN_ENV=qemu-arm-static make check # Scalar code path
|
|
- make clean
|
|
# Note : the following test (ARM 32-bit + NEON) is disabled for the time being.
|
|
# I haven't yet found a way to make it link on Travis CI using gcc cross-compilation.
|
|
# NEON code path is fortunately validated through `aarch64` below.
|
|
# - CC=arm-linux-gnueabi-gcc CPPFLAGS=-DXXH_VECTOR=3 CFLAGS="-O3 -march=armv7-a -mfloat-abi=hard -mfpu=neon" LDFLAGS=-static RUN_ENV=qemu-arm-static make check # NEON code path
|
|
- make clean
|
|
# aarch64
|
|
- CC=aarch64-linux-gnu-gcc CPPFLAGS=-DXXH_VECTOR=0 LDFLAGS=-static RUN_ENV=qemu-aarch64-static make check # Scalar code path
|
|
- make clean
|
|
- CC=aarch64-linux-gnu-gcc CPPFLAGS=-DXXH_VECTOR=3 LDFLAGS=-static RUN_ENV=qemu-aarch64-static make check # NEON code path
|
|
- make clean
|
|
|
|
- name: PowerPC + PPC64 compilation and consistency checks (Trusty)
|
|
dist: trusty
|
|
install:
|
|
- sudo apt-get install -qq qemu-system-ppc qemu-user-static gcc-powerpc-linux-gnu
|
|
script:
|
|
- CC=powerpc-linux-gnu-gcc RUN_ENV=qemu-ppc-static CPPFLAGS=-m32 LDFLAGS=-static make check # Scalar code path
|
|
- make clean
|
|
- CC=powerpc-linux-gnu-gcc RUN_ENV=qemu-ppc64-static CPPFLAGS=-DXXH_VECTOR=0 CFLAGS="-O3 -m64" LDFLAGS="-static -m64" make check # Scalar code path
|
|
- make clean
|
|
# Note : the following test will fail
|
|
# because it will trigger the VSX code path
|
|
# while missing the `vec_revb()` instruction, hence compilation will fail.
|
|
# to be fixed one day.
|
|
# - CC=powerpc-linux-gnu-gcc RUN_ENV=qemu-ppc64-static CFLAGS="-O3 -m64 -maltivec -mvsx" LDFLAGS="-static -m64" make check # Auto code path
|
|
- make clean
|
|
# Note : the following test does not work on Ubuntu Trusty.
|
|
# It requires support for `power9` instruction due to `vec_revb()`
|
|
# which is missing from the powerpc-gcc compiler version shipped with Ubuntu Trusty (max `power8`)
|
|
# - CC=powerpc-linux-gnu-gcc RUN_ENV=qemu-ppc64-static CPPFLAGS=-DXXH_VECTOR=4 CFLAGS="-O3 -m64 -maltivec -mvsx -mcpu=power8" LDFLAGS="-static -m64" make check # VSX code path
|
|
|
|
- name: cmake
|
|
script:
|
|
- cd cmake_unofficial
|
|
- mkdir build
|
|
- cd build
|
|
- cmake ..
|
|
- make
|