language: c matrix: include: - compiler: gcc-4.4 dist: trusty env: PLATFORM=x86 addons: apt: packages: - libc6-dev:i386 - gcc-4.4-multilib - compiler: gcc-4.4 dist: trusty env: PLATFORM=x86_64 addons: apt: packages: - gcc-4.4 - compiler: gcc-4.6 dist: trusty env: PLATFORM=x86 addons: apt: packages: - libc6-dev:i386 - gcc-4.6-multilib - compiler: gcc-4.6 dist: trusty env: PLATFORM=x86_64 addons: apt: packages: - gcc-4.6 - compiler: gcc-4.7 env: PLATFORM=x86 addons: apt: packages: - libc6-dev:i386 - gcc-4.7-multilib - compiler: gcc-4.7 env: PLATFORM=x86_64 addons: apt: packages: - gcc-4.7 - compiler: gcc-4.8 env: PLATFORM=x86 addons: apt: packages: - libc6-dev:i386 - gcc-4.8-multilib - compiler: gcc-4.8 env: PLATFORM=x86_64 addons: apt: packages: - gcc-4.8 - compiler: gcc-4.9 env: PLATFORM=x86 addons: apt: packages: - libc6-dev:i386 - gcc-4.9-multilib - compiler: gcc-4.9 env: PLATFORM=x86_64 addons: apt: packages: - gcc-4.9 - compiler: gcc-5 env: PLATFORM=x86 addons: apt: packages: - libc6-dev:i386 - gcc-5-multilib - compiler: gcc-5 env: PLATFORM=x86_64 addons: apt: packages: - gcc-5 - compiler: gcc-6 env: PLATFORM=x86 addons: apt: sources: - ubuntu-toolchain-r-test packages: - libc6-dev:i386 - gcc-6-multilib - compiler: gcc-6 env: PLATFORM=x86_64 addons: apt: sources: - ubuntu-toolchain-r-test packages: - gcc-6 - compiler: gcc-7 dist: trusty env: PLATFORM=x86 addons: apt: sources: - ubuntu-toolchain-r-test packages: - libc6-dev:i386 - gcc-7-multilib - compiler: gcc-7 dist: trusty env: PLATFORM=x86_64 addons: apt: sources: - ubuntu-toolchain-r-test packages: - gcc-7 - compiler: gcc-8 dist: trusty env: PLATFORM=x86 addons: apt: sources: - ubuntu-toolchain-r-test packages: - libc6-dev:i386 - gcc-8-multilib - compiler: gcc-8 dist: trusty env: PLATFORM=x86_64 addons: apt: sources: - ubuntu-toolchain-r-test packages: - gcc-8 - compiler: gcc-9 dist: trusty env: PLATFORM=x86 addons: apt: sources: - ubuntu-toolchain-r-test packages: - libc6-dev:i386 - gcc-9-multilib - compiler: gcc-9 dist: trusty env: PLATFORM=x86_64 addons: apt: sources: - ubuntu-toolchain-r-test packages: - gcc-9 - compiler: clang-3.3 dist: trusty env: PLATFORM=x86 addons: apt: packages: - libc6-dev:i386 - clang-3.3 - gcc-multilib - compiler: clang-3.3 dist: trusty env: PLATFORM=x86_64 addons: apt: packages: - clang-3.3 - compiler: clang-3.4 dist: trusty env: PLATFORM=x86 addons: apt: packages: - libc6-dev:i386 - clang-3.4 - gcc-multilib - compiler: clang-3.4 dist: trusty env: PLATFORM=x86_64 addons: apt: packages: - clang-3.4 - compiler: clang-3.5 env: PLATFORM=x86 addons: apt: packages: - libc6-dev:i386 - clang-3.5 - gcc-multilib - compiler: clang-3.5 env: PLATFORM=x86_64 addons: apt: packages: - clang-3.5 - compiler: clang-3.6 env: PLATFORM=x86 addons: apt: packages: - libc6-dev:i386 - clang-3.6 - gcc-multilib - compiler: clang-3.6 env: PLATFORM=x86_64 addons: apt: packages: - clang-3.6 - compiler: clang-3.7 env: PLATFORM=x86 addons: apt: packages: - libc6-dev:i386 - clang-3.7 - gcc-multilib - compiler: clang-3.7 env: PLATFORM=x86_64 addons: apt: packages: - clang-3.7 - compiler: clang-3.8 env: PLATFORM=x86 addons: apt: packages: - libc6-dev:i386 - clang-3.8 - gcc-multilib - compiler: clang-3.8 env: PLATFORM=x86_64 addons: apt: packages: - clang-3.8 - compiler: clang-3.9 env: PLATFORM=x86 addons: apt: packages: - libc6-dev:i386 - clang-3.9 - gcc-multilib - compiler: clang-3.9 env: PLATFORM=x86_64 addons: apt: packages: - clang-3.9 - compiler: clang-4.0 env: PLATFORM=x86 addons: apt: packages: - libc6-dev:i386 - clang-4.0 - gcc-multilib - compiler: clang-4.0 env: PLATFORM=x86_64 addons: apt: packages: - clang-4.0 - compiler: clang-5.0 env: PLATFORM=x86 addons: apt: packages: - libc6-dev:i386 - clang-5.0 - gcc-multilib - compiler: clang-5.0 env: PLATFORM=x86_64 addons: apt: packages: - clang-5.0 - compiler: clang-6.0 env: PLATFORM=x86 addons: apt: packages: - libc6-dev:i386 - clang-6.0 - gcc-multilib - compiler: clang-6.0 env: PLATFORM=x86_64 addons: apt: packages: - clang-6.0 - compiler: clang-7 dist: xenial env: PLATFORM=x86 addons: apt: sources: - llvm-toolchain-xenial-7 packages: - libc6-dev:i386 - clang-7 - gcc-multilib - compiler: clang-7 dist: xenial env: PLATFORM=x86_64 addons: apt: sources: - llvm-toolchain-xenial-7 packages: - clang-7 - compiler: clang-8 dist: xenial env: PLATFORM=x86 addons: apt: sources: - llvm-toolchain-xenial-8 packages: - libc6-dev:i386 - clang-8 - gcc-multilib - compiler: clang-8 dist: xenial env: PLATFORM=x86_64 addons: apt: sources: - llvm-toolchain-xenial-8 packages: - clang-8 - compiler: clang-9 dist: xenial env: PLATFORM=x86 addons: apt: sources: - sourceline: 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main' key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key' packages: - libc6-dev:i386 - clang-9 - gcc-multilib - compiler: clang-9 dist: xenial env: PLATFORM=x86_64 addons: apt: sources: - sourceline: 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main' key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key' packages: - clang-9 - compiler: gcc dist: precise env: PLATFORM=x86 DIST=precise addons: apt: packages: - libc6-dev:i386 - gcc-multilib - compiler: gcc dist: precise env: PLATFORM=x86_64 DIST=precise - compiler: gcc dist: trusty env: PLATFORM=x86 DIST=trusty addons: apt: packages: - libc6-dev:i386 - gcc-multilib - compiler: gcc dist: trusty env: PLATFORM=x86_64 DIST=trusty - compiler: gcc dist: xenial env: PLATFORM=x86 DIST=xenial addons: apt: packages: - libc6-dev:i386 - gcc-multilib - compiler: gcc dist: xenial env: PLATFORM=x86_64 DIST=xenial - compiler: gcc dist: bionic env: PLATFORM=x86 DIST=bionic addons: apt: packages: - libc6-dev:i386 - gcc-multilib - compiler: gcc dist: bionic env: PLATFORM=x86_64 DIST=bionic - compiler: gcc dist: precise env: PLATFORM=x86 DIST=precise NOOPT=1 addons: apt: packages: - libc6-dev:i386 - gcc-multilib - compiler: gcc dist: precise env: PLATFORM=x86_64 DIST=precise NOOPT=1 - compiler: gcc dist: trusty env: PLATFORM=x86 DIST=trusty NOOPT=1 addons: apt: packages: - libc6-dev:i386 - gcc-multilib - compiler: gcc dist: trusty env: PLATFORM=x86_64 DIST=trusty NOOPT=1 - compiler: gcc dist: xenial env: PLATFORM=x86 DIST=xenial NOOPT=1 addons: apt: packages: - libc6-dev:i386 - gcc-multilib - compiler: gcc dist: xenial env: PLATFORM=x86_64 DIST=xenial NOOPT=1 - compiler: gcc dist: bionic env: PLATFORM=x86 DIST=bionic NOOPT=1 addons: apt: packages: - libc6-dev:i386 - gcc-multilib - compiler: gcc dist: bionic env: PLATFORM=x86_64 DIST=bionic NOOPT=1 - compiler: clang dist: precise env: PLATFORM=x86 DIST=precise addons: apt: packages: - libc6-dev:i386 - gcc-multilib - compiler: clang dist: precise env: PLATFORM=x86_64 DIST=precise - compiler: clang dist: trusty env: PLATFORM=x86 DIST=trusty addons: apt: packages: - libc6-dev:i386 - gcc-multilib - compiler: clang dist: trusty env: PLATFORM=x86_64 DIST=trusty - compiler: clang dist: xenial env: PLATFORM=x86 DIST=xenial addons: apt: packages: - libc6-dev:i386 - gcc-multilib - compiler: clang dist: xenial env: PLATFORM=x86_64 DIST=xenial - compiler: clang dist: bionic env: PLATFORM=x86 DIST=bionic addons: apt: packages: - libc6-dev:i386 - gcc-multilib - compiler: clang dist: bionic env: PLATFORM=x86_64 DIST=bionic - compiler: clang dist: precise env: PLATFORM=x86 DIST=precise NOOPT=1 addons: apt: packages: - libc6-dev:i386 - gcc-multilib - compiler: clang dist: precise env: PLATFORM=x86_64 DIST=precise NOOPT=1 - compiler: clang dist: trusty env: PLATFORM=x86 DIST=trusty NOOPT=1 addons: apt: packages: - libc6-dev:i386 - gcc-multilib - compiler: clang dist: trusty env: PLATFORM=x86_64 DIST=trusty NOOPT=1 - compiler: clang dist: xenial env: PLATFORM=x86 DIST=xenial NOOPT=1 addons: apt: packages: - libc6-dev:i386 - gcc-multilib - compiler: clang dist: xenial env: PLATFORM=x86_64 DIST=xenial NOOPT=1 - compiler: clang dist: bionic env: PLATFORM=x86 DIST=bionic NOOPT=1 addons: apt: packages: - libc6-dev:i386 - gcc-multilib - compiler: clang dist: bionic env: PLATFORM=x86_64 DIST=bionic NOOPT=1 - compiler: tcc dist: precise env: PLATFORM=x86_64 DIST=precise addons: apt: packages: - tcc - compiler: tcc dist: trusty env: PLATFORM=x86_64 DIST=trusty addons: apt: packages: - tcc - compiler: tcc dist: xenial env: PLATFORM=x86_64 DIST=xenial addons: apt: packages: - tcc - compiler: tcc dist: bionic env: PLATFORM=x86_64 DIST=bionic addons: apt: packages: - tcc - compiler: gcc dist: trusty env: PLATFORM=x32 addons: apt: packages: - libc6-dev-x32 - gcc-multilib - compiler: powerpc-linux-gnu-gcc dist: trusty env: PLATFORM=powerpc addons: apt: packages: - gcc-powerpc-linux-gnu - libc6-dev-powerpc-cross - qemu-user - compiler: arm-linux-gnueabi-gcc dist: trusty env: PLATFORM=arm addons: apt: packages: - gcc-arm-linux-gnueabi - libc6-dev-armel-cross - qemu-user before_script: - if ! which "$CC" &>/dev/null; then export CC=${CC%%-*}; fi - export CFLAGS="-W -Wall -Werror -g" - if [ -z "$NOOPT" ]; then export CFLAGS="$CFLAGS -O2"; fi - if [[ "$CC" =~ "gcc" && "$CC" != "gcc-4.4" ]]; then export CFLAGS="$CFLAGS -Wno-error=unused-but-set-variable"; fi # needed for AC_PROG_CC_C99 - case "$PLATFORM" in "x86") export CFLAGS="-m32 $CFLAGS" ;; "x86_64"|"") ;; "x32") export CFLAGS="-mx32 $CFLAGS"; export LDFLAGS="--static" ;; "powerpc") export CONFIGURE_FLAGS="--host=powerpc-linux-gnu"; export LDFLAGS="--static" ;; "arm") export CONFIGURE_FLAGS="--host=arm-linux-gnueabi"; export LDFLAGS="--static" ;; *) echo "Unsupported platform '$PLATFORM'"; exit 1 ;; esac script: - ./autogen.sh - ./configure $CONFIGURE_FLAGS - make