| 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 |
| |
| - 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 |
| 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 # Only scalar code path available |
| - make clean |
| - CC=powerpc-linux-gnu-gcc RUN_ENV=qemu-ppc64-static CFLAGS="-O3 -m64" LDFLAGS="-static -m64" make check # Only scalar code path available |
| - make clean |