1
1
steps :
2
- # FIXME: are these still needed?
3
- # - bash: |
4
- # set -x
5
- # git submodule
6
- # export SUBMODULES_EXCLUDES=$(git submodule | grep -Eow 'src/[^ ]+' | sed 's/\(.*\)/--exclude=\1\/\.git/')
7
- # echo "##vso[task.setvariable variable=SUBMODULES_EXCLUDES;]$SUBMODULES_EXCLUDES"
8
-
9
- # FIXME: needs a comment to justify its existence
2
+ # We've had issues with the default drive in use running out of space during a
3
+ # build, and it looks like the `C:` drive has more space than the default `D:`
4
+ # drive. We should probably confirm this with the azure pipelines team at some
5
+ # point, but this seems to fix our "disk space full" problems.
10
6
- script : |
11
- REM echo hack as drive D is too small
12
- IF NOT "%DISABLE_DISK_SPACE_HACK%"=="1" (
13
- mkdir c:\MORE_SPACE
14
- mklink /J build c:\MORE_SPACE
15
- )
7
+ mkdir c:\MORE_SPACE
8
+ mklink /J build c:\MORE_SPACE
16
9
displayName : " Ensure build happens on C:/ instead of D:/"
17
10
condition : and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT'))
18
11
12
+ # Download and install MSYS2, needed primarily for the test suite (run-make) but
13
+ # also used by the MinGW toolchain for assembling things.
14
+ #
15
+ # FIXME: we should probe the default azure image and see if we can use the MSYS2
16
+ # toolchain there. (if there's even one there). For now though this gets the job
17
+ # done.
19
18
- script : |
20
19
set MSYS_PATH=%CD%\citools\msys64
21
20
choco install msys2 --params="/InstallDir:%MSYS_PATH% /NoPath" -y
@@ -37,23 +36,11 @@ steps:
37
36
# If we need to download a custom MinGW, do so here and set the path
38
37
# appropriately.
39
38
#
40
- # Note that this *also* means that we're not using what is typically
41
- # /mingw32/bin/python2.7.exe, which is a "correct" python interpreter where
42
- # /usr/bin/python2.7.exe is not. To ensure we use the right interpreter we
43
- # move `C:\Python27` ahead in PATH and then also make sure the `python2.7.exe`
44
- # file exists in there (which it doesn't by default).
45
- - script : |
46
- powershell -Command "iwr -outf %MINGW_ARCHIVE% %MINGW_URL%/%MINGW_ARCHIVE%"
47
- 7z x -y %MINGW_ARCHIVE% > nul
48
- echo ##vso[task.prependpath]%CD%\%MINGW_DIR%\bin
49
- condition : and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT'), ne(variables['MINGW_URL'],''))
50
- displayName : Download custom MinGW
51
-
52
- # Here we do a pretty heinous thing which is to mangle the MinGW installation
53
- # we just had above. Currently, as of this writing, we're using MinGW-w64
54
- # builds of gcc, and that's currently at 6.3.0. We use 6.3.0 as it appears to
55
- # be the first version which contains a fix for #40546, builds randomly
56
- # failing during LLVM due to ar.exe/ranlib.exe failures.
39
+ # Here we also do a pretty heinous thing which is to mangle the MinGW
40
+ # installation we just downloaded. Currently, as of this writing, we're using
41
+ # MinGW-w64 builds of gcc, and that's currently at 6.3.0. We use 6.3.0 as it
42
+ # appears to be the first version which contains a fix for #40546, builds
43
+ # randomly failing during LLVM due to ar.exe/ranlib.exe failures.
57
44
#
58
45
# Unfortunately, though, 6.3.0 *also* is the first version of MinGW-w64 builds
59
46
# to contain a regression in gdb (#40184). As a result if we were to use the
@@ -67,18 +54,24 @@ steps:
67
54
# Note that we don't literally overwrite the gdb.exe binary because it appears
68
55
# to just use gdborig.exe, so that's the binary we deal with instead.
69
56
- script : |
70
- echo ON
57
+ powershell -Command "iwr -outf %MINGW_ARCHIVE% %MINGW_URL%/%MINGW_ARCHIVE%"
58
+ 7z x -y %MINGW_ARCHIVE% > nul
71
59
powershell -Command "iwr -outf 2017-04-20-%MSYS_BITS%bit-gdborig.exe %MINGW_URL%/2017-04-20-%MSYS_BITS%bit-gdborig.exe"
72
60
mv 2017-04-20-%MSYS_BITS%bit-gdborig.exe %MINGW_DIR%\bin\gdborig.exe
61
+ echo ##vso[task.prependpath]%CD%\%MINGW_DIR%\bin
73
62
condition : and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT'), ne(variables['MINGW_URL'],''))
74
- displayName : Override with 6.3.0 gdb with 6.2.0 gdb
63
+ displayName : Download custom MinGW
75
64
76
65
# Otherwise pull in the MinGW installed on appveyor
77
66
- script : |
78
67
echo ##vso[task.prependpath]%MSYS_PATH%\mingw%MSYS_BITS%\bin
79
68
condition : and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT'), eq(variables['MINGW_URL'],''))
80
69
displayName : Add MinGW to path
81
70
71
+ # Make sure we use the native python interpreter instead of some msys equivalent
72
+ # one way or another. The msys interpreters seem to have weird path conversions
73
+ # baked in which break LLVM's build system one way or another, so let's use the
74
+ # native version which keeps everything as native as possible.
82
75
- script : |
83
76
copy C:\Python27amd64\python.exe C:\Python27amd64\python2.7.exe
84
77
echo ##vso[task.prependpath]C:\Python27amd64
0 commit comments