Check in the script for building Win snapshots
[oota-llvm.git] / utils / release / build_llvm_package.bat
1 @echo off\r
2 setlocal\r
3 \r
4 REM Script for building the LLVM installer on Windows,\r
5 REM used for the the weekly snapshots at http://www.llvm.org/builds.\r
6 REM\r
7 REM Usage: build_llvm_package.bat <revision>\r
8 \r
9 REM Prerequisites:\r
10 REM\r
11 REM   Visual Studio 2013, CMake, Ninja, SVN, GNUWin32,\r
12 REM   NSIS with the strlen_8192 patch,\r
13 REM   Visual Studio 2013 SDK (for the clang-format plugin).\r
14 \r
15 \r
16 REM You may need to modify the paths below:\r
17 set vcdir=c:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\r
18 set PATH=%PATH%;c:\gnuwin32\bin\r
19 \r
20 set revision=%1\r
21 set branch=trunk\r
22 set package_version=3.8.0-r%revision%\r
23 set clang_format_vs_version=3.8.0.%revision%\r
24 set build_dir=llvm_package_%revision%\r
25 \r
26 echo Branch: %branch%\r
27 echo Revision: %revision%\r
28 echo Package version: %package_version%\r
29 echo Clang format plugin version: %clang_format_vs_version%\r
30 echo Build dir: %build_dir%\r
31 echo.\r
32 pause\r
33 \r
34 mkdir %build_dir%\r
35 cd %build_dir%\r
36 \r
37 echo Checking out %branch% at r%revision%...\r
38 svn.exe export -r %revision% http://llvm.org/svn/llvm-project/llvm/%branch% llvm || exit /b\r
39 svn.exe export -r %revision% http://llvm.org/svn/llvm-project/cfe/%branch% llvm/tools/clang || exit /b\r
40 svn.exe export -r %revision% http://llvm.org/svn/llvm-project/clang-tools-extra/%branch% llvm/tools/clang/tools/extra || exit /b\r
41 svn.exe export -r %revision% http://llvm.org/svn/llvm-project/lld/%branch% llvm/tools/lld || exit /b\r
42 svn.exe export -r %revision% http://llvm.org/svn/llvm-project/compiler-rt/%branch% llvm/projects/compiler-rt || exit /b\r
43 \r
44 \r
45 set cmake_flags=-DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=ON -DLLVM_INSTALL_TOOLCHAIN_ONLY=ON -DLLVM_USE_CRT_RELEASE=MT -DCLANG_FORMAT_VS_VERSION=%clang_format_vs_version% -DPACKAGE_VERSION=%package_version%\r
46 \r
47 REM TODO: Run all tests, including lld and compiler-rt.\r
48 \r
49 call "%vcdir%/vcvarsall.bat" x86\r
50 set CC=\r
51 set CXX=\r
52 mkdir build32_stage0\r
53 cd build32_stage0\r
54 cmake -GNinja %cmake_flags% ..\llvm || exit /b\r
55 ninja all || exit /b\r
56 ninja check || exit /b\r
57 ninja check-clang || exit /b\r
58 cd..\r
59 \r
60 mkdir build32\r
61 cd build32\r
62 set CC=..\build32_stage0\bin\clang-cl\r
63 set CXX=..\build32_stage0\bin\clang-cl\r
64 cmake -GNinja %cmake_flags% -DBUILD_CLANG_FORMAT_VS_PLUGIN=ON ..\llvm || exit /b\r
65 ninja all || exit /b\r
66 ninja check || exit /b\r
67 ninja check-clang || exit /b\r
68 copy ..\llvm\tools\clang\tools\clang-format-vs\ClangFormat\bin\Release\ClangFormat.vsix ClangFormat-r%revision%.vsix\r
69 ninja package || exit /b\r
70 cd ..\r
71 \r
72 \r
73 call "%vcdir%/vcvarsall.bat" amd64\r
74 set CC=\r
75 set CXX=\r
76 mkdir build64_stage0\r
77 cd build64_stage0\r
78 cmake -GNinja %cmake_flags%  ..\llvm || exit /b\r
79 ninja all || exit /b\r
80 ninja check || exit /b\r
81 ninja check-clang || exit /b\r
82 cd..\r
83 \r
84 mkdir build64\r
85 cd build64\r
86 set CC=..\build64_stage0\bin\clang-cl\r
87 set CXX=..\build64_stage0\bin\clang-cl\r
88 cmake -GNinja %cmake_flags% ..\llvm || exit /b\r
89 ninja all || exit /b\r
90 ninja check || exit /b\r
91 ninja check-clang || exit /b\r
92 ninja package || exit /b\r
93 cd ..\r