xxHash/.travis.yml

121 lines
4.0 KiB
YAML
Raw Normal View History

language: c
# Dump CPU info before start
before_install:
- cat /proc/cpuinfo
matrix:
fast_finish: true
include:
- name: General linux tests (Xenial)
dist: xenial
2019-12-14 20:21:48 +00:00
arch: amd64
addons:
apt:
packages:
- clang
- g++-multilib
- gcc-multilib
- cppcheck
script:
- make -B test-all
2019-03-12 19:44:42 +00:00
- name: Check results consistency on x64
2019-12-14 20:21:48 +00:00
arch: amd64
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 clean
- CPPFLAGS="-mavx512f -DXXH_VECTOR=5" make check # AVX512 code path
- make clean
- CPPFLAGS=-DXXH_REROLL=1 make check # reroll code path (#240)
- make -C tests/bench
2019-03-12 19:44:42 +00:00
2019-12-14 21:05:39 +00:00
- name: ARM compilation and consistency checks (Qemu)
dist: xenial
2019-12-14 20:21:48 +00:00
arch: amd64
addons:
apt:
packages:
- qemu-system-arm
- qemu-user-static
- gcc-arm-linux-gnueabi
- libc6-dev-armel-cross
2019-03-12 19:44:42 +00:00
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
2019-03-12 19:44:42 +00:00
- make clean
2019-08-21 01:10:23 +00:00
# NEON (32-bit)
- CC=arm-linux-gnueabi-gcc CPPFLAGS=-DXXH_VECTOR=3 CFLAGS="-O3 -march=armv7-a -fPIC -mfloat-abi=softfp -mfpu=neon-vfpv4" LDFLAGS=-static RUN_ENV=qemu-arm-static make check # NEON code path
2019-12-14 20:21:48 +00:00
- name: aarch64 compilation and consistency checks
dist: xenial
arch: arm64
script:
2019-03-12 19:44:42 +00:00
# aarch64
- CPPFLAGS=-DXXH_VECTOR=0 make check # Scalar code path
2019-12-14 20:21:48 +00:00
# NEON (64-bit)
2019-03-12 19:44:42 +00:00
- make clean
- CPPFLAGS=-DXXH_VECTOR=3 make check # NEON code path
# clang
- make clean
- CC=clang CPPFLAGS=-DXXH_VECTOR=0 make check # Scalar code path
# clang + NEON
- make clean
- CC=clang CPPFLAGS=-DXXH_VECTOR=3 make check # NEON code path
2019-12-14 21:05:39 +00:00
2019-08-21 01:10:23 +00:00
# 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.
2019-12-14 21:05:39 +00:00
- name: PowerPC + PPC64 compilation and consistency checks (Qemu on Bionic)
2019-08-21 01:10:23 +00:00
dist: bionic
2019-12-14 20:21:48 +00:00
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:
2019-08-21 01:10:23 +00:00
- 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=0 CFLAGS="-O3" LDFLAGS="-static -m64" make check # Scalar code path
- make clean
2019-08-21 01:10:23 +00:00
# VSX code
- CC=powerpc64-linux-gnu-gcc RUN_ENV="qemu-ppc64-static -cpu power8" CFLAGS="-O3 -maltivec -mvsx -mcpu=power8 -mpower8-vector" LDFLAGS="-static -m64" make check # Auto code path
- make clean
2019-12-14 20:21:48 +00:00
- name: PPC64LE compilation and consistency checks
dist: xenial
arch: ppc64le
script:
2019-12-14 21:05:39 +00:00
# Scalar (universal) code path
- CPPFLAGS=-DXXH_VECTOR=0 LDFLAGS=-static make check
# VSX code path (64-bit)
- make clean
- CPPFLAGS=-DXXH_VECTOR=4 CFLAGS="-O3 -maltivec -mvsx -mpower8-vector -mcpu=power8" LDFLAGS="-static" make check
- name: IBM s390x compilation and consistency checks
dist: bionic
2019-12-14 21:05:39 +00:00
arch: s390x
script:
# Scalar (universal) code path
- CPPFLAGS=-DXXH_VECTOR=0 LDFLAGS=-static make check
# s390x code path (64-bit)
- make clean
- CPPFLAGS=-DXXH_VECTOR=4 CFLAGS="-O3 -march=arch11 -mzvector" LDFLAGS="-static" make check
2019-07-26 00:03:25 +00:00
2019-12-14 21:05:39 +00:00
- name: cmake build test
2019-07-26 00:03:25 +00:00
script:
- cd cmake_unofficial
- mkdir build
- cd build
- cmake ..
- make