diff --git a/.travis.yml b/.travis.yml index 07dedbc4..d53145f3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,6 +21,10 @@ matrix: - os: linux compiler: clang env: OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Debug OPJ_CI_ASAN=1 + - os: linux + compiler: clang-3.9 + env: OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Release + sudo: true - os: linux compiler: x86_64-w64-mingw32-gcc env: OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Release diff --git a/tools/travis-ci/install.sh b/tools/travis-ci/install.sh index 003f8fa8..1a4c0bb9 100755 --- a/tools/travis-ci/install.sh +++ b/tools/travis-ci/install.sh @@ -115,3 +115,33 @@ if [ "${OPJ_CI_SKIP_TESTS:-}" != "1" ]; then fi fi fi + +# Install clang if necessary. +# clang-3.4 is available on base image +# For more up-to-date versions, use packages from http://llvm.org/apt +# Cannot use addons.apt.packages because clang-3.9 is currently on hold +# (see https://github.com/travis-ci/apt-package-whitelist/pull/2780 or https://github.com/travis-ci/apt-package-whitelist/pull/2770) +# "sudo: required" should be set in .travis.yml matrix for those configurations +if echo "${CC:-}" | egrep -q "^clang-3.[7-9]?$" ; then + case "${CC:-}" in + clang-3.7) + echo "deb http://llvm.org/apt/precise/ llvm-toolchain-precise-3.7 main" | sudo tee /etc/apt/sources.list.d/llvm.list + ;; + clang-3.8) + echo "deb http://llvm.org/apt/precise/ llvm-toolchain-precise-3.8 main" | sudo tee /etc/apt/sources.list.d/llvm.list + ;; + clang-3.9) + echo "deb http://llvm.org/apt/precise/ llvm-toolchain-precise main" | sudo tee /etc/apt/sources.list.d/llvm.list + ;; + *) + echo "We should never have been there. Exiting..." + exit 1 + esac + wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add - + + # On precise, ubuntu-toolchain ppa must be installed also (see http://llvm.org/apt) + sudo add-apt-repository --yes ppa:ubuntu-toolchain-r/test + + sudo apt-get update -qq + sudo apt-get install "${CC:-}" -y +fi diff --git a/tools/travis-ci/knownfailures-Ubuntu12.04-clang3.9.0-x86_64-Debug-3rdP.txt b/tools/travis-ci/knownfailures-Ubuntu12.04-clang3.9.0-x86_64-Debug-3rdP.txt new file mode 100644 index 00000000..2554d91c --- /dev/null +++ b/tools/travis-ci/knownfailures-Ubuntu12.04-clang3.9.0-x86_64-Debug-3rdP.txt @@ -0,0 +1,8 @@ +NR-ENC-X_4_2K_24_185_CBR_WB_000.tif-15-compare_dec-ref-out2base +NR-ENC-X_5_2K_24_235_CBR_STEM24_000.tif-16-compare_dec-ref-out2base +NR-ENC-X_6_2K_24_FULL_CBR_CIRCLE_000.tif-17-compare_dec-ref-out2base +NR-ENC-X_4_2K_24_185_CBR_WB_000.tif-18-compare_dec-ref-out2base +NR-ENC-X_5_2K_24_235_CBR_STEM24_000.tif-19-compare_dec-ref-out2base +NR-ENC-X_6_2K_24_FULL_CBR_CIRCLE_000.tif-20-compare_dec-ref-out2base +NR-ENC-ElephantDream_4K.tif-21-compare_dec-ref-out2base +NR-ENC-issue141.rawl-23-compare_dec-ref-out2base diff --git a/tools/travis-ci/knownfailures-Ubuntu12.04-clang3.9.0-x86_64-Release-3rdP.txt b/tools/travis-ci/knownfailures-Ubuntu12.04-clang3.9.0-x86_64-Release-3rdP.txt new file mode 100644 index 00000000..2554d91c --- /dev/null +++ b/tools/travis-ci/knownfailures-Ubuntu12.04-clang3.9.0-x86_64-Release-3rdP.txt @@ -0,0 +1,8 @@ +NR-ENC-X_4_2K_24_185_CBR_WB_000.tif-15-compare_dec-ref-out2base +NR-ENC-X_5_2K_24_235_CBR_STEM24_000.tif-16-compare_dec-ref-out2base +NR-ENC-X_6_2K_24_FULL_CBR_CIRCLE_000.tif-17-compare_dec-ref-out2base +NR-ENC-X_4_2K_24_185_CBR_WB_000.tif-18-compare_dec-ref-out2base +NR-ENC-X_5_2K_24_235_CBR_STEM24_000.tif-19-compare_dec-ref-out2base +NR-ENC-X_6_2K_24_FULL_CBR_CIRCLE_000.tif-20-compare_dec-ref-out2base +NR-ENC-ElephantDream_4K.tif-21-compare_dec-ref-out2base +NR-ENC-issue141.rawl-23-compare_dec-ref-out2base