.travis.yml 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. # We require a full (virtual) machine to load the kernel module for
  2. # binfmt support, which is needed to test other architectures besides
  3. # x86 using qemu user emulation. (This will not work in a container.)
  4. sudo: required
  5. dist: trusty
  6. language: c
  7. script:
  8. - make $FLAGS
  9. - make check $FLAGS $TEST_FLAGS
  10. - make clean && git status --ignored --porcelain && test -z "$(git status --ignored --porcelain)"
  11. matrix:
  12. include:
  13. - compiler: clang
  14. os: linux
  15. addons:
  16. apt:
  17. sources:
  18. - ubuntu-toolchain-r-test
  19. - llvm-toolchain-precise-3.7
  20. packages:
  21. - clang-3.7
  22. env: FLAGS="CC=clang-3.7 CXX=clang++-3.7"
  23. - os: osx
  24. env: FLAGS="CC=clang"
  25. - os: linux
  26. env: FLAGS="CC=gcc"
  27. - os: linux
  28. env: FLAGS="CC=gcc ARCH=i686" # implies -m32 -march=i686
  29. addons:
  30. apt:
  31. packages:
  32. - gcc-multilib
  33. - os: linux
  34. env: FLAGS="CC=aarch64-linux-gnu-gcc" TEST_FLAGS="LDFLAGS=-static"
  35. addons:
  36. apt:
  37. packages:
  38. - gcc-aarch64-linux-gnu
  39. - libc6-dev-arm64-cross
  40. - qemu-user-static
  41. - binfmt-support
  42. - os: linux
  43. env: FLAGS="CC=arm-linux-gnueabihf-gcc" TEST_FLAGS="LDFLAGS=-static"
  44. addons:
  45. apt:
  46. packages:
  47. - gcc-arm-linux-gnueabihf
  48. - libc6-dev-armhf-cross
  49. - qemu-user-static
  50. - binfmt-support
  51. # This works, but only if qemu-user-static is >= v2.4. This is not the
  52. # case on the default trusty images, so we add a PPA that has qemu 2.5
  53. - os: linux
  54. env: FLAGS="CC=powerpc64le-linux-gnu-gcc" TEST_FLAGS="LDFLAGS=-static"
  55. addons:
  56. apt:
  57. sources:
  58. - sourceline: "ppa:gns3/qemu"
  59. packages:
  60. - gcc-powerpc64le-linux-gnu
  61. - libc6-dev-ppc64el-cross
  62. - qemu-user-static
  63. - binfmt-support
  64. - os: linux
  65. env: FLAGS="CC=mips-linux-gnu-gcc" TEST_FLAGS="LDFLAGS=-static"
  66. addons:
  67. apt:
  68. sources:
  69. - sourceline: "deb http://archive.ubuntu.com/ubuntu/ xenial main universe"
  70. packages:
  71. - gcc-mips-linux-gnu
  72. - libc6-dev-mips-cross
  73. - qemu-user-binfmt
  74. - os: linux
  75. env: FLAGS="CC=mipsel-linux-gnu-gcc" TEST_FLAGS="LDFLAGS=-static"
  76. addons:
  77. apt:
  78. sources:
  79. - sourceline: "deb http://archive.ubuntu.com/ubuntu/ xenial main universe"
  80. packages:
  81. - gcc-mipsel-linux-gnu
  82. - libc6-dev-mipsel-cross
  83. - qemu-user-binfmt
  84. - os: linux
  85. env: FLAGS="CC=mips64el-linux-gnuabi64-gcc" TEST_FLAGS="LDFLAGS=-static"
  86. addons:
  87. apt:
  88. sources:
  89. - sourceline: "deb http://archive.ubuntu.com/ubuntu/ xenial main universe"
  90. packages:
  91. - gcc-mips64el-linux-gnuabi64
  92. - libc6-dev-mips64el-cross
  93. - qemu-user-binfmt
  94. notifications:
  95. email: false