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}" ] && [ "${TARGET}" != "x86_64-unknown-linux-gnu-emulated" ]; 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 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
    displayName: Generate lockfiles
