forked from PRUNERS/archer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
85 lines (80 loc) · 3.44 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
sudo: required
language: cpp
dist: trusty
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- gcc-5
- g++-5
env:
global:
- LLVM_VERSION=3.9.0
- LLVM_ARCHIVE_PATH=$HOME/clang+llvm.tar.xz
- export PATH=$HOME/usr/bin:$PATH
- export LD_LIBRARY_PATH=$HOME/usr/lib:$LD_LIBRARY_PATH
before_install:
- pip install lit
install:
- cd $HOME/build
# Install LLVM/Clang 3.9
- wget http://llvm.org/releases/$LLVM_VERSION/clang+llvm-$LLVM_VERSION-x86_64-linux-gnu-ubuntu-14.04.tar.xz -O $LLVM_ARCHIVE_PATH
- mkdir $HOME/usr
- tar xf $LLVM_ARCHIVE_PATH -C $HOME/usr --strip-components 1
# Obtain and install cmake >= 3.4.3
- wget https://cmake.org/files/v3.7/cmake-3.7.2-Linux-x86_64.sh
- chmod +x cmake-3.7.2-Linux-x86_64.sh
- ./cmake-3.7.2-Linux-x86_64.sh --prefix=$HOME/usr --exclude-subdir
# Obtain and install ninja
- curl -L https://github.com/ninja-build/ninja/releases/download/v1.7.2/ninja-linux.zip -o ninja-linux.zip
- unzip ninja-linux.zip -d $HOME/usr/bin
# Install testing tools
- git clone --recursive https://github.com/PRUNERS/TestingTools.git
- cd TestingTools
- mkdir build && cd build
- cmake -G Ninja -D CMAKE_CXX_COMPILER=clang++ -D CMAKE_INSTALL_PREFIX:PATH=$HOME/usr -DCMAKE_CXX_FLAGS="-fno-rtti" ..
- ninja && ninja install
script:
# Stand-alone building with official LLVM OpenMP Runtime and ThreadSanitizer support
- cd $HOME/build/PRUNERS
# - git clone https://github.com/llvm-mirror/openmp.git openmp
# - git clone -b annotations https://github.com/PRUNERS/openmp.git
# - export OPENMP_INSTALL=$HOME/usr
# - cd openmp/runtime
# - mkdir build && cd build
# - cmake -G Ninja -D CMAKE_C_COMPILER=clang -D CMAKE_CXX_COMPILER=clang++ -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX:PATH=$OPENMP_INSTALL -D LIBOMP_TSAN_SUPPORT=TRUE ..
# - ninja -j4 -l4
# - ninja install
# - export ARCHER_INSTALL=$HOME/usr
# - cd $HOME/build/PRUNERS/archer
# - mkdir -p build && cd build
# - cmake -G Ninja -D CMAKE_C_COMPILER=clang -D CMAKE_CXX_COMPILER=clang++ -D CMAKE_INSTALL_PREFIX:PATH=${ARCHER_INSTALL} -D LIBOMP_TSAN_SUPPORT=TRUE -D ARCHER_LLVM_LIT_EXECUTABLE=$HOME/usr/bin/llvm-lit -D ARCHER_LLVM_TOOLS_DIR=$HOME/usr/bin ..
# - ninja -j4 -l4
# - ninja install
# - ninja check-libarcher
# Stand-alone building with LLVM OpenMP Runtime and ThreadSanitizer OMPT Support
- cd $HOME/build/PRUNERS
- rm -rf openmp
- git clone -b tr4-stable https://github.com/OpenMPToolsInterface/LLVM-openmp.git openmp
- export OPENMP_INSTALL=$HOME/usr
- cd openmp/runtime
- mkdir build && cd build
- cmake -G Ninja -D CMAKE_C_COMPILER=clang -D CMAKE_CXX_COMPILER=clang++ -DCMAKE_CXX_CFLAGS="-fno-omit-frame-pointer" -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX:PATH=$OPENMP_INSTALL -D LIBOMP_OMPT_SUPPORT=on -D LIBOMP_OMPT_OPTIONAL=on ..
- ninja -j4 -l4
- ninja install
- export ARCHER_INSTALL=$HOME/usr
- cd $HOME/build/PRUNERS/archer
- rm -rf build
- mkdir -p build && cd build
- cmake -G Ninja -D CMAKE_C_COMPILER=clang -D CMAKE_CXX_COMPILER=clang++ -DCMAKE_CXX_CFLAGS="-fno-omit-frame-pointer" -D CMAKE_INSTALL_PREFIX:PATH=${ARCHER_INSTALL} -D OMP_PREFIX:PATH=$OPENMP_INSTALL -D ARCHER_LLVM_LIT_EXECUTABLE=$HOME/usr/bin/llvm-lit -D ARCHER_LLVM_TOOLS_DIR=$HOME/usr/bin ..
- ninja -j4 -l4
- ninja install
- ninja check-libarcher
notifications:
email: false
slack:
rooms:
- pruners:aXHVdiVFtqtMfzNW4IutZNDW
on_success: always
on_failure: always