add ld preload build to linux matrix

This commit is contained in:
Theo Butler
2019-05-18 11:07:50 +02:00
parent f5000c087f
commit f9b9523d0c

View File

@@ -2,75 +2,40 @@ resources:
- repo: self - repo: self
phases: phases:
- phase: LinuxSelfHost
queue:
name: 'Hosted Ubuntu 1604'
steps:
- script: |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install -y ninja-build libc++-dev libc++abi-dev libc++abi1 libstdc++-7-dev
# sudo apt-get install clang-6.0 clang++-6.0
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-6.0 100
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/clang 100
sudo update-alternatives --set cc /usr/bin/clang
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-6.0 100
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++ 100
sudo update-alternatives --set c++ /usr/bin/clang++
displayName: 'Install Build Dependencies'
- task: CMake@1
displayName: 'CMake .. -GNinja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-stdlib=libstdc++ -std=c++17"'
inputs:
cmakeArgs: '.. -GNinja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-stdlib=libstdc++ -std=c++17"'
- script: |
ninja
workingDirectory: build
failOnStderr: true
displayName: 'Compile'
- script: |
sudo cp libsnmallocshim.so /usr/local/lib/
sudo cp libsnmallocshim-1mib.so /usr/local/lib/
ninja clean
LD_PRELOAD=/usr/local/lib/libsnmallocshim.so ninja
ninja clean
LD_PRELOAD=/usr/local/lib/libsnmallocshim-1mib.so ninja
workingDirectory: build
failOnStderr: true
displayName: 'LD_PRELOAD Compile'
- phase: Linux - phase: Linux
queue: queue:
name: 'Hosted Ubuntu 1604' name: 'Hosted Ubuntu 1604'
parallel: 4 parallel: 5
matrix: matrix:
Clang_6 Debug: Clang_6 Debug:
CC: clang-6.0 CC: clang-6.0
CXX: clang++-6.0 CXX: clang++-6.0
BuildType: Debug BuildType: Debug
SelfHost: false
Clang_6 Release: Clang_6 Release:
CC: clang-6.0 CC: clang-6.0
CXX: clang++-6.0 CXX: clang++-6.0
BuildType: Release BuildType: Release
SelfHost: false
GCC_7 Debug: GCC_7 Debug:
CC: gcc-7 CC: gcc-7
CXX: g++-7 CXX: g++-7
BuildType: Debug BuildType: Debug
SelfHost: false
GCC_7 Release: GCC_7 Release:
CC: gcc-7 CC: gcc-7
CXX: g++-7 CXX: g++-7
BuildType: Release BuildType: Release
SelfHost: false
Self Host:
CC: clang-6.0
CXX: clang++-6.0
BuildType: Debug
SelfHost: true
steps: steps:
- script: | - script: |
@@ -103,7 +68,15 @@ phases:
displayName: 'Compile' displayName: 'Compile'
- script: | - script: |
ctest -j 4 --output-on-failure -C $(BuildType) if [ $(SelfHost) = false ]; then
ctest -j 4 --output-on-failure -C $(BuildType)
else
sudo cp libsnmallocshim.so libsnmallocshim-1mib.so /usr/local/lib/
ninja clean
LD_PRELOAD=/usr/local/lib/libsnmallocshim.so ninja
ninja clean
LD_PRELOAD=/usr/local/lib/libsnmallocshim-1mib.so ninja
fi
workingDirectory: build workingDirectory: build
failOnStderr: true failOnStderr: true