1goto %1
2
3:install
4rem Check pip
5python --version
6python -m pip install --upgrade pip
7python -m pip --version
8if "%buildsystem%" == "scons" (
9    rem Install Mako
10    python -m pip install Mako==1.1.3
11    rem Install pywin32 extensions, needed by SCons
12    python -m pip install pypiwin32
13    rem Install python wheels, necessary to install SCons via pip
14    python -m pip install wheel
15    rem Install SCons
16    python -m pip install scons==3.1.2
17    call scons --version
18) else (
19    python -m pip install Mako meson
20    meson --version
21
22    rem Install pkg-config, which meson requires even on windows
23    cinst -y pkgconfiglite
24)
25
26rem Install flex/bison
27set WINFLEXBISON_ARCHIVE=win_flex_bison-%WINFLEXBISON_VERSION%.zip
28if not exist "%WINFLEXBISON_ARCHIVE%" appveyor DownloadFile "https://github.com/lexxmark/winflexbison/releases/download/v%WINFLEXBISON_VERSION%/%WINFLEXBISON_ARCHIVE%"
297z x -y -owinflexbison\ "%WINFLEXBISON_ARCHIVE%" > nul
30set Path=%CD%\winflexbison;%Path%
31win_flex --version
32win_bison --version
33rem Download and extract LLVM
34if not exist "%LLVM_ARCHIVE%" appveyor DownloadFile "https://people.freedesktop.org/~jrfonseca/llvm/%LLVM_ARCHIVE%"
357z x -y "%LLVM_ARCHIVE%" > nul
36if "%buildsystem%" == "scons" (
37    mkdir llvm\bin
38    set LLVM=%CD%\llvm
39) else (
40    move llvm subprojects\
41    copy .appveyor\llvm-wrap.meson subprojects\llvm\meson.build
42)
43goto :eof
44
45:build_script
46if "%buildsystem%" == "scons" (
47    call scons -j%NUMBER_OF_PROCESSORS% MSVC_VERSION=14.2 machine=x86 llvm=1
48) else (
49    call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat" -arch=x86
50    rem We use default-library as static to affect any wraps (such as expat and zlib)
51    rem it would be better if we could set subprojects buildtype independently,
52    rem but I haven't written that patch yet :)
53    call meson builddir --backend=vs2017 --default-library=static -Dbuild-tests=true -Db_vscrt=mtd --buildtype=release -Dllvm=true -Dgallium-drivers=swrast -Dosmesa=gallium
54    pushd builddir
55    call msbuild mesa.sln /m
56    popd
57)
58goto :eof
59
60:test_script
61if "%buildsystem%" == "scons" (
62    call scons -j%NUMBER_OF_PROCESSORS% MSVC_VERSION=14.2 machine=x86 llvm=1 check
63) else (
64    call meson test -C builddir
65)
66goto :eof
67