brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.7 KiB · 8cfed3d Raw
209 lines · yaml
1sudo: required2dist: trusty3language: cpp4 5matrix:6  include:7    - compiler: gcc8      addons:9        apt:10          packages:11            - lcov12      env: COMPILER=g++ C_COMPILER=gcc BUILD_TYPE=Coverage13    - compiler: gcc14      addons:15        apt:16          packages:17            - g++-multilib18            - libc6:i38619      env:20        - COMPILER=g++21        - C_COMPILER=gcc22        - BUILD_TYPE=Debug23        - BUILD_32_BITS=ON24        - EXTRA_FLAGS="-m32"25    - compiler: gcc26      addons:27        apt:28          packages:29            - g++-multilib30            - libc6:i38631      env:32        - COMPILER=g++33        - C_COMPILER=gcc34        - BUILD_TYPE=Release35        - BUILD_32_BITS=ON36        - EXTRA_FLAGS="-m32"37    - compiler: gcc38      env:39        - INSTALL_GCC6_FROM_PPA=140        - COMPILER=g++-6 C_COMPILER=gcc-6  BUILD_TYPE=Debug41        - ENABLE_SANITIZER=142        - EXTRA_FLAGS="-fno-omit-frame-pointer -g -O2 -fsanitize=undefined,address -fuse-ld=gold"43    # Clang w/ libc++44    - compiler: clang45      dist: xenial46      addons:47        apt:48          packages:49            clang-3.850      env:51        - INSTALL_GCC6_FROM_PPA=152        - COMPILER=clang++-3.8 C_COMPILER=clang-3.8 BUILD_TYPE=Debug53        - LIBCXX_BUILD=154        - EXTRA_CXX_FLAGS="-stdlib=libc++"55    - compiler: clang56      dist: xenial57      addons:58        apt:59          packages:60            clang-3.861      env:62        - INSTALL_GCC6_FROM_PPA=163        - COMPILER=clang++-3.8 C_COMPILER=clang-3.8 BUILD_TYPE=Release64        - LIBCXX_BUILD=165        - EXTRA_CXX_FLAGS="-stdlib=libc++"66    # Clang w/ 32bit libc++67    - compiler: clang68      dist: xenial69      addons:70        apt:71          packages:72            - clang-3.873            - g++-multilib74            - libc6:i38675      env:76        - INSTALL_GCC6_FROM_PPA=177        - COMPILER=clang++-3.8 C_COMPILER=clang-3.8 BUILD_TYPE=Debug78        - LIBCXX_BUILD=179        - BUILD_32_BITS=ON80        - EXTRA_FLAGS="-m32"81        - EXTRA_CXX_FLAGS="-stdlib=libc++"82    # Clang w/ 32bit libc++83    - compiler: clang84      dist: xenial85      addons:86        apt:87          packages:88            - clang-3.889            - g++-multilib90            - libc6:i38691      env:92        - INSTALL_GCC6_FROM_PPA=193        - COMPILER=clang++-3.8 C_COMPILER=clang-3.8 BUILD_TYPE=Release94        - LIBCXX_BUILD=195        - BUILD_32_BITS=ON96        - EXTRA_FLAGS="-m32"97        - EXTRA_CXX_FLAGS="-stdlib=libc++"98    # Clang w/ libc++, ASAN, UBSAN99    - compiler: clang100      dist: xenial101      addons:102        apt:103          packages:104            clang-3.8105      env:106        - INSTALL_GCC6_FROM_PPA=1107        - COMPILER=clang++-3.8 C_COMPILER=clang-3.8 BUILD_TYPE=Debug108        - LIBCXX_BUILD=1 LIBCXX_SANITIZER="Undefined;Address"109        - ENABLE_SANITIZER=1110        - EXTRA_FLAGS="-g -O2 -fno-omit-frame-pointer -fsanitize=undefined,address -fno-sanitize-recover=all"111        - EXTRA_CXX_FLAGS="-stdlib=libc++"112        - UBSAN_OPTIONS=print_stacktrace=1113    # Clang w/ libc++ and MSAN114    - compiler: clang115      dist: xenial116      addons:117        apt:118          packages:119            clang-3.8120      env:121        - INSTALL_GCC6_FROM_PPA=1122        - COMPILER=clang++-3.8 C_COMPILER=clang-3.8 BUILD_TYPE=Debug123        - LIBCXX_BUILD=1 LIBCXX_SANITIZER=MemoryWithOrigins124        - ENABLE_SANITIZER=1125        - EXTRA_FLAGS="-g -O2 -fno-omit-frame-pointer -fsanitize=memory -fsanitize-memory-track-origins"126        - EXTRA_CXX_FLAGS="-stdlib=libc++"127    # Clang w/ libc++ and MSAN128    - compiler: clang129      dist: xenial130      addons:131        apt:132          packages:133            clang-3.8134      env:135        - INSTALL_GCC6_FROM_PPA=1136        - COMPILER=clang++-3.8 C_COMPILER=clang-3.8 BUILD_TYPE=RelWithDebInfo137        - LIBCXX_BUILD=1 LIBCXX_SANITIZER=Thread138        - ENABLE_SANITIZER=1139        - EXTRA_FLAGS="-g -O2 -fno-omit-frame-pointer -fsanitize=thread -fno-sanitize-recover=all"140        - EXTRA_CXX_FLAGS="-stdlib=libc++"141    - os: osx142      osx_image: xcode8.3143      compiler: clang144      env:145        - COMPILER=clang++146        - BUILD_TYPE=Release147        - BUILD_32_BITS=ON148        - EXTRA_FLAGS="-m32"149 150before_script:151  - if [ -n "${LIBCXX_BUILD}" ]; then152      source .libcxx-setup.sh;153    fi154  - if [ -n "${ENABLE_SANITIZER}" ]; then155      export EXTRA_OPTIONS="-DBENCHMARK_ENABLE_ASSEMBLY_TESTS=OFF";156    else157      export EXTRA_OPTIONS="";158    fi159  - mkdir -p build && cd build160 161before_install:162  - if [ -z "$BUILD_32_BITS" ]; then163      export BUILD_32_BITS=OFF && echo disabling 32 bit build;164    fi165  - if [ -n "${INSTALL_GCC6_FROM_PPA}" ]; then166      sudo add-apt-repository -y "ppa:ubuntu-toolchain-r/test";167      sudo apt-get update --option Acquire::Retries=100 --option Acquire::http::Timeout="60";168    fi169 170install:171  - if [ -n "${INSTALL_GCC6_FROM_PPA}" ]; then172      travis_wait sudo -E apt-get -yq --no-install-suggests --no-install-recommends install g++-6;173    fi174  - if [ "${TRAVIS_OS_NAME}" == "linux" -a "${BUILD_32_BITS}" == "OFF" ]; then175      travis_wait sudo -E apt-get -y --no-install-suggests --no-install-recommends install llvm-3.9-tools;176      sudo cp /usr/lib/llvm-3.9/bin/FileCheck /usr/local/bin/;177    fi178  - if [ "${BUILD_TYPE}" == "Coverage" -a "${TRAVIS_OS_NAME}" == "linux" ]; then179      PATH=~/.local/bin:${PATH};180      pip install --user --upgrade pip;181      travis_wait pip install --user cpp-coveralls;182    fi183  - if [ "${C_COMPILER}" == "gcc-7" -a "${TRAVIS_OS_NAME}" == "osx" ]; then184      rm -f /usr/local/include/c++;185      brew update;186      travis_wait brew install gcc@7;187    fi188  - if [ "${TRAVIS_OS_NAME}" == "linux" ]; then189      sudo apt-get update -qq;190      sudo apt-get install -qq unzip cmake3;191      wget https://github.com/bazelbuild/bazel/releases/download/3.2.0/bazel-3.2.0-installer-linux-x86_64.sh --output-document bazel-installer.sh;192      travis_wait sudo bash bazel-installer.sh;193    fi194  - if [ "${TRAVIS_OS_NAME}" == "osx" ]; then195      curl -L -o bazel-installer.sh https://github.com/bazelbuild/bazel/releases/download/3.2.0/bazel-3.2.0-installer-darwin-x86_64.sh;196      travis_wait sudo bash bazel-installer.sh;197    fi198 199script:200  - cmake -DCMAKE_C_COMPILER=${C_COMPILER} -DCMAKE_CXX_COMPILER=${COMPILER} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DCMAKE_C_FLAGS="${EXTRA_FLAGS}" -DCMAKE_CXX_FLAGS="${EXTRA_FLAGS} ${EXTRA_CXX_FLAGS}" -DBENCHMARK_DOWNLOAD_DEPENDENCIES=ON -DBENCHMARK_BUILD_32_BITS=${BUILD_32_BITS} ${EXTRA_OPTIONS} ..201  - make202  - ctest -C ${BUILD_TYPE} --output-on-failure203  - bazel test -c dbg --define google_benchmark.have_regex=posix --announce_rc --verbose_failures --test_output=errors --keep_going //test/...204 205after_success:206  - if [ "${BUILD_TYPE}" == "Coverage" -a "${TRAVIS_OS_NAME}" == "linux" ]; then207      coveralls --include src --include include --gcov-options '\-lp' --root .. --build-root .;208    fi209