1 # http://www.appveyor.com/docs/appveyor-yml
3 # To setup AppVeyor for your own personal repositories do the following:
6 # - Select Git and fill in the Git clone URL
7 # - Setup a Git hook as explained in
8 # https://github.com/appveyor/webhooks#installing-git-hook
9 # - Check 'Settings > General > Skip branches without appveyor.yml'
10 # - Check 'Settings > General > Rolling builds'
11 # - Setup the global or project notifications to your liking
13 # Note that kicking (or restarting) a build via the web UI will not work, as it
14 # will fail to find appveyor.yml . The Git hook is the most practical way to
18 # - http://help.appveyor.com/discussions/problems/2209-node-grunt-build-specify-a-project-or-solution-file-the-directory-does-not-contain-a-project-or-solution-file
19 # - http://help.appveyor.com/discussions/questions/1184-build-config-vs-appveyoryaml
27 # Don't download the full Mesa history to speed up cloning. However the clone
28 # depth must not be too small, otherwise builds might fail when lots of patches
29 # are committed in succession, because the desired commit is not found on the
33 # - https://www.appveyor.com/blog/2014/06/04/shallow-clone-for-git-repositories
37 - win_flex_bison-2.4.5.zip
38 - llvm-3.3.1-msvc2013-mtd.7z
41 WINFLEXBISON_ARCHIVE: win_flex_bison-2.4.5.zip
42 LLVM_ARCHIVE: llvm-3.3.1-msvc2013-mtd.7z
47 - python -m pip --version
49 - python -m pip install --egg Mako
51 - python -m pip install --egg scons==2.4.1
54 - if not exist "%WINFLEXBISON_ARCHIVE%" appveyor DownloadFile "http://downloads.sourceforge.net/project/winflexbison/%WINFLEXBISON_ARCHIVE%"
55 - 7z x -y -owinflexbison\ "%WINFLEXBISON_ARCHIVE%" > nul
56 - set Path=%CD%\winflexbison;%Path%
59 # Download and extract LLVM
60 - if not exist "%LLVM_ARCHIVE%" appveyor DownloadFile "https://people.freedesktop.org/~jrfonseca/llvm/%LLVM_ARCHIVE%"
61 - 7z x -y "%LLVM_ARCHIVE%" > nul
66 - scons -j%NUMBER_OF_PROCESSORS% MSVC_VERSION=12.0 llvm=1
69 - scons -j%NUMBER_OF_PROCESSORS% MSVC_VERSION=12.0 llvm=1 check
72 # It's possible to setup notification here, as described in
73 # http://www.appveyor.com/docs/notifications#appveyor-yml-configuration , but
74 # doing so would cause the notification settings to be replicated across all
75 # repos, which is most likely undesired. So it's better to rely on the
76 # Appveyor global/project notification settings.