ci/windows: Update build container image with all deps so wraps can be disabled
authorJesse Natalie <jenatali@microsoft.com>
Sat, 27 Aug 2022 16:12:34 +0000 (09:12 -0700)
committerMarge Bot <emma+marge@anholt.net>
Wed, 19 Oct 2022 07:02:14 +0000 (07:02 +0000)
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18287>

.gitlab-ci/image-tags.yml
.gitlab-ci/windows/mesa_build.ps1
.gitlab-ci/windows/mesa_deps_build.ps1

index ade4972..3be5bda 100644 (file)
@@ -21,7 +21,7 @@ variables:
    WINDOWS_X64_VS_TAG: "2022-08-17-bump"
 
    WINDOWS_X64_BUILD_PATH: "windows/x64_build"
-   WINDOWS_X64_BUILD_TAG: "2022-10-17-add-libva-deps.1"
+   WINDOWS_X64_BUILD_TAG: "2022-10-18-wrap-nodownload-va"
 
    WINDOWS_X64_TEST_PATH: "windows/x64_test"
    WINDOWS_X64_TEST_TAG: "2022-08-17-bump"
index ce9759d..79c03f9 100644 (file)
@@ -38,8 +38,8 @@ Push-Location $builddir
 
 meson `
 --default-library=shared `
--Dzlib:default_library=static `
 --buildtype=release `
+--wrap-mode=nodownload `
 -Db_ndebug=false `
 -Db_vscrt=mt `
 --cmake-prefix-path="$depsInstallPath" `
@@ -63,9 +63,8 @@ meson `
 -Dbuild-tests=true `
 -Dwerror=true `
 -Dwarning_level=2 `
--Dzlib:warning_level=1 `
 $sourcedir && `
-meson install --skip-subprojects && `
+meson install && `
 meson test --num-processes 32 --print-errorlogs
 
 $buildstatus = $?
index afeb8bf..bb4db45 100644 (file)
@@ -8,6 +8,50 @@ $MyPath = $MyInvocation.MyCommand.Path | Split-Path -Parent
 
 Remove-Item -Recurse -Force -ErrorAction SilentlyContinue "deps" | Out-Null
 
+$depsInstallPath="C:\mesa-deps"
+
+Write-Host "Cloning DirectX-Headers"
+git clone -b v1.606.4 --depth=1 https://github.com/microsoft/DirectX-Headers deps/DirectX-Headers
+if (!$?) {
+  Write-Host "Failed to clone DirectX-Headers repository"
+  Exit 1
+}
+Write-Host "Building DirectX-Headers"
+$dxheaders_build = New-Item -ItemType Directory -Path ".\deps\DirectX-Headers" -Name "build"
+Push-Location -Path $dxheaders_build.FullName
+meson .. --backend=ninja -Dprefix="$depsInstallPath" --buildtype=release -Db_vscrt=mt && `
+ninja -j32 install
+$buildstatus = $?
+Pop-Location
+Remove-Item -Recurse -Force -ErrorAction SilentlyContinue -Path $dxheaders_build
+if (!$buildstatus) {
+  Write-Host "Failed to compile DirectX-Headers"
+  Exit 1
+}
+
+Write-Host "Cloning zlib"
+git clone -b v1.2.11 --depth=1 https://github.com/madler/zlib deps/zlib
+if (!$?) {
+  Write-Host "Failed to clone zlib repository"
+  Exit 1
+}
+Write-Host "Downloading zlib meson build files"
+Invoke-WebRequest -Uri "https://github.com/mesonbuild/zlib/releases/download/1.2.11-5/zlib.zip" -OutFile deps/zlib.zip
+Expand-Archive -Path deps/zlib.zip -Destination deps/zlib
+# Wrap archive puts build files in a version subdir
+Move-Item deps/zlib/zlib-1.2.11/* deps/zlib
+$zlib_build = New-Item -ItemType Directory -Path ".\deps\zlib" -Name "build"
+Push-Location -Path $zlib_build.FullName
+meson .. --backend=ninja -Dprefix="$depsInstallPath" --default-library=static --buildtype=release -Db_vscrt=mt && `
+ninja -j32 install
+$buildstatus = $?
+Pop-Location
+Remove-Item -Recurse -Force -ErrorAction SilentlyContinue -Path $zlib_build
+if (!$buildstatus) {
+  Write-Host "Failed to compile zlib"
+  Exit 1
+}
+
 Get-Date
 Write-Host "Cloning LLVM release/12.x"
 git clone -b release/12.x --depth=1 https://github.com/llvm/llvm-project deps/llvm-project
@@ -30,8 +74,6 @@ Push-Location deps/llvm-project/llvm/projects/SPIRV-LLVM-Translator
 git checkout 5b641633b3bcc3251a52260eee11db13a79d7258
 Pop-Location
 
-$depsInstallPath="C:\mesa-deps"
-
 Get-Date
 Write-Host "Cloning libva"
 git clone https://github.com/intel/libva.git deps/libva