trigger: - master jobs: - job: Build timeoutInMinutes: 360 strategy: matrix: windows: imageName: 'vs2017-win2016' mac: imageName: 'macos-10.14' linux: imageName: 'ubuntu-16.04' pool: vmImage: $(imageName) steps: - script: | powershell -Command "$ProgressPreference = 'SilentlyContinue'; iwr -outf %TEMP%\LLVM-8.0.0-win64.exe https://rust-lang-ci2.s3.amazonaws.com/rust-ci-mirror/LLVM-8.0.0-win64.exe" set CLANG_DIR=%CD%\citools\clang-rust start "" /WAIT %TEMP%\LLVM-8.0.0-win64.exe /S /NCRC /D=%CLANG_DIR% echo ##vso[task.prependpath]%CLANG_DIR%/bin condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT')) displayName: Install clang (Windows) - bash: | set -euo pipefail curl -f http://releases.llvm.org/8.0.0/clang+llvm-8.0.0-x86_64-apple-darwin.tar.xz | tar xJf - export CLANG_DIR=`pwd`/clang+llvm-8.0.0-x86_64-apple-darwin/bin echo "##vso[task.prependpath]$CLANG_DIR" displayName: Install clang (OSX) condition: and(succeeded(), eq(variables['Agent.OS'], 'Darwin')) - bash: | set -euo pipefail curl -f http://releases.llvm.org/8.0.0/clang+llvm-8.0.0-x86_64-linux-gnu-ubuntu-16.04.tar.xz | tar xJf - export CLANG_DIR=`pwd`/clang+llvm-8.0.0-x86_64-linux-gnu-ubuntu-16.04/bin echo "##vso[task.prependpath]$CLANG_DIR" displayName: Install clang (Linux) condition: and(succeeded(), eq(variables['Agent.OS'], 'Linux')) - bash: | # Windows releases of LLVM don't include the llvm-nm tool, which is needed for building # wasi-libc. Rust's llvm-tools include llvm-nm, and Rust is installed on Azure's Windows # images, so we can use that to make llvm-nm available without too much overhead. set -euo pipefail rustup update stable rustup default stable rustup component add llvm-tools-preview echo "##vso[task.setvariable variable=WASM_NM;]$(rustc --print sysroot|sed 's|C:|/c|'|sed 's|\\|/|g')/lib/rustlib/x86_64-pc-windows-msvc/bin/llvm-nm.exe" displayName: Install llvm-nm (Windows) condition: and(succeeded(), eq( variables['Agent.OS'], 'Windows_NT' )) - script: make -j4 displayName: Build