summaryrefslogtreecommitdiff
path: root/ci/azure-install-rust.yml
blob: c94f3dcd028689b8886cf184e4c8932fd3d12f8a (plain)
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
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)
  - script: |	
      @echo on
      if not defined TOOLCHAIN set TOOLCHAIN=nightly
      if defined ARCH_BITS for %%I in (crt2.o dllcrt2.o libmsvcrt.a) do xcopy /Y "C:\ProgramData\Chocolatey\lib\mingw\tools\install\mingw%ARCH_BITS%\%ARCH%-w64-mingw32\lib\%%I" "C:\Program Files\Rust\.rustup\toolchains\%TOOLCHAIN%-%TARGET%\lib\rustlib\%TARGET%\lib\%%I"
    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