1 # force the CA cert cache to be rebuilt, in case Meson tries to access anything
2 Write-Host "Refreshing Windows TLS CA cache"
3 (New-Object System.Net.WebClient).DownloadString("https://github.com") >$null
4 
5 $env:PYTHONUTF8=1
6 
7 Get-Date
8 Write-Host "Compiling Mesa"
9 $builddir = New-Item -ItemType Directory -Name "_build"
10 $installdir = New-Item -ItemType Directory -Name "_install"
11 Push-Location $builddir.FullName
12 cmd.exe /C "C:\BuildTools\Common7\Tools\VsDevCmd.bat -host_arch=amd64 -arch=amd64 && meson --default-library=shared -Dzlib:default_library=static --buildtype=release -Db_ndebug=false -Dc_std=c17 -Dcpp_std=vc++latest -Db_vscrt=mt --cmake-prefix-path=`"C:\llvm-10`" --pkg-config-path=`"C:\llvm-10\lib\pkgconfig;C:\llvm-10\share\pkgconfig;C:\spirv-tools\lib\pkgconfig`" --prefix=`"$installdir`" -Dllvm=enabled -Dshared-llvm=disabled -Dvulkan-drivers=swrast,amd -Dgallium-drivers=swrast,d3d12,zink -Dshared-glapi=enabled -Dgles2=enabled -Dmicrosoft-clc=enabled -Dstatic-libclc=all -Dspirv-to-dxil=true -Dbuild-tests=true -Dwerror=true -Dwarning_level=2 -Dzlib:warning_level=1 -Dlibelf:warning_level=1 && ninja -j32 install && meson test --num-processes 32"
13 $buildstatus = $?
14 Pop-Location
15 
16 Get-Date
17 
18 if (!$buildstatus) {
19   Write-Host "Mesa build or test failed"
20   Exit 1
21 }
22 
23 Copy-Item ".\.gitlab-ci\windows\piglit_run.ps1" -Destination $installdir
24 Copy-Item ".\.gitlab-ci\windows\quick_gl.txt" -Destination $installdir
25