79 lines
2.5 KiB
YAML
79 lines
2.5 KiB
YAML
steps:
|
|
- bash: |
|
|
set -ex
|
|
toolchain=$TOOLCHAIN
|
|
if [ "$toolchain" = "" ]; then
|
|
toolchain=nightly
|
|
fi
|
|
if command -v rustup; then
|
|
rustup update $toolchain
|
|
rustup default $toolchain
|
|
else
|
|
curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain $toolchain
|
|
echo "##vso[task.prependpath]$HOME/.cargo/bin"
|
|
fi
|
|
displayName: Install rust (unix)
|
|
condition: ne( variables['Agent.OS'], 'Windows_NT' )
|
|
- script: |
|
|
@echo on
|
|
if not defined TOOLCHAIN set TOOLCHAIN=nightly
|
|
rustup update %TOOLCHAIN%-%TARGET%
|
|
rustup default %TOOLCHAIN%-%TARGET%
|
|
displayName: Install rust (windows)
|
|
condition: eq( variables['Agent.OS'], 'Windows_NT' )
|
|
- script: |
|
|
set -ex
|
|
if [ -n "${TARGET}" ]; then
|
|
rustup target add $TARGET
|
|
fi
|
|
condition: ne( variables['Agent.OS'], 'Windows_NT' )
|
|
displayName: Install target (unix)
|
|
- script: |
|
|
@echo on
|
|
if defined TARGET rustup target add %TARGET%
|
|
condition: eq( variables['Agent.OS'], 'Windows_NT' )
|
|
displayName: Install target (windows)
|
|
- script: |
|
|
@echo on
|
|
if "%ARCH%" == "i686" choco install mingw --x86 --force
|
|
condition: eq( variables['Agent.OS'], 'Windows_NT' )
|
|
displayName: Install MinGW32 (windows)
|
|
- bash: |
|
|
set -ex
|
|
gcc -print-search-dirs
|
|
find "C:\ProgramData\Chocolatey" -name "crt2*"
|
|
find "C:\ProgramData\Chocolatey" -name "dllcrt2*"
|
|
find "C:\ProgramData\Chocolatey" -name "libmsvcrt*"
|
|
condition: eq( variables['Agent.OS'], 'Windows_NT' )
|
|
displayName: Find GCC libraries (windows)
|
|
- bash: |
|
|
set -ex
|
|
if [[ -n ${ARCH_BITS} ]]; then
|
|
for i in crt2.o dllcrt2.o libmingwex.a libmsvcrt.a ; do
|
|
cp -f "/C/ProgramData/Chocolatey/lib/mingw/tools/install/mingw${ARCH_BITS}/${ARCH}-w64-mingw32/lib/$i" "`rustc --print sysroot`/lib/rustlib/${TARGET}/lib"
|
|
done
|
|
fi
|
|
condition: eq( variables['Agent.OS'], 'Windows_NT' )
|
|
displayName: Fix MinGW (windows)
|
|
- bash: |
|
|
set -ex
|
|
rustc -Vv
|
|
cargo -V
|
|
rustup -Vv
|
|
rustup show
|
|
which rustc
|
|
which cargo
|
|
which rustup
|
|
displayName: Query rust and cargo versions
|
|
- script: |
|
|
@echo on
|
|
where gcc
|
|
condition: eq( variables['Agent.OS'], 'Windows_NT' )
|
|
displayName: Query gcc path
|
|
- bash: |
|
|
set -ex
|
|
cargo generate-lockfile
|
|
cargo generate-lockfile --manifest-path libc-test/Cargo.toml
|
|
displayName: Generate lockfiles
|
|
|