11steps :
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.
106- 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
169 displayName : " Ensure build happens on C:/ instead of D:/"
1710 condition : and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT'))
1811
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.
1918- script : |
2019 set MSYS_PATH=%CD%\citools\msys64
2120 choco install msys2 --params="/InstallDir:%MSYS_PATH% /NoPath" -y
@@ -37,23 +36,11 @@ steps:
3736# If we need to download a custom MinGW, do so here and set the path
3837# appropriately.
3938#
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.
5744#
5845# Unfortunately, though, 6.3.0 *also* is the first version of MinGW-w64 builds
5946# to contain a regression in gdb (#40184). As a result if we were to use the
@@ -67,18 +54,24 @@ steps:
6754# Note that we don't literally overwrite the gdb.exe binary because it appears
6855# to just use gdborig.exe, so that's the binary we deal with instead.
6956- script : |
70- echo ON
57+ powershell -Command "iwr -outf %MINGW_ARCHIVE% %MINGW_URL%/%MINGW_ARCHIVE%"
58+ 7z x -y %MINGW_ARCHIVE% > nul
7159 powershell -Command "iwr -outf 2017-04-20-%MSYS_BITS%bit-gdborig.exe %MINGW_URL%/2017-04-20-%MSYS_BITS%bit-gdborig.exe"
7260 mv 2017-04-20-%MSYS_BITS%bit-gdborig.exe %MINGW_DIR%\bin\gdborig.exe
61+ echo ##vso[task.prependpath]%CD%\%MINGW_DIR%\bin
7362 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
7564
7665# Otherwise pull in the MinGW installed on appveyor
7766- script : |
7867 echo ##vso[task.prependpath]%MSYS_PATH%\mingw%MSYS_BITS%\bin
7968 condition : and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT'), eq(variables['MINGW_URL'],''))
8069 displayName : Add MinGW to path
8170
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.
8275- script : |
8376 copy C:\Python27amd64\python.exe C:\Python27amd64\python2.7.exe
8477 echo ##vso[task.prependpath]C:\Python27amd64
0 commit comments