xref: /aosp_15_r20/external/llvm/utils/release/build_llvm_package.bat (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker@echo off
2*9880d681SAndroid Build Coastguard Workersetlocal
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard WorkerREM Script for building the LLVM installer on Windows,
5*9880d681SAndroid Build Coastguard WorkerREM used for the the weekly snapshots at http://www.llvm.org/builds.
6*9880d681SAndroid Build Coastguard WorkerREM
7*9880d681SAndroid Build Coastguard WorkerREM Usage: build_llvm_package.bat <revision>
8*9880d681SAndroid Build Coastguard Worker
9*9880d681SAndroid Build Coastguard WorkerREM Prerequisites:
10*9880d681SAndroid Build Coastguard WorkerREM
11*9880d681SAndroid Build Coastguard WorkerREM   Visual Studio 2013, CMake, Ninja, SVN, GNUWin32,
12*9880d681SAndroid Build Coastguard WorkerREM   NSIS with the strlen_8192 patch,
13*9880d681SAndroid Build Coastguard WorkerREM   Visual Studio 2013 SDK (for the clang-format plugin).
14*9880d681SAndroid Build Coastguard Worker
15*9880d681SAndroid Build Coastguard Worker
16*9880d681SAndroid Build Coastguard WorkerREM You may need to modify the paths below:
17*9880d681SAndroid Build Coastguard Workerset vcdir=c:\Program Files (x86)\Microsoft Visual Studio 12.0\VC
18*9880d681SAndroid Build Coastguard Workerset PATH=%PATH%;c:\gnuwin32\bin
19*9880d681SAndroid Build Coastguard Worker
20*9880d681SAndroid Build Coastguard Workerset revision=%1
21*9880d681SAndroid Build Coastguard Workerset branch=trunk
22*9880d681SAndroid Build Coastguard Workerset package_version=3.9.0-r%revision%
23*9880d681SAndroid Build Coastguard Workerset clang_format_vs_version=3.9.0.%revision%
24*9880d681SAndroid Build Coastguard Workerset build_dir=llvm_package_%revision%
25*9880d681SAndroid Build Coastguard Worker
26*9880d681SAndroid Build Coastguard Workerecho Branch: %branch%
27*9880d681SAndroid Build Coastguard Workerecho Revision: %revision%
28*9880d681SAndroid Build Coastguard Workerecho Package version: %package_version%
29*9880d681SAndroid Build Coastguard Workerecho Clang format plugin version: %clang_format_vs_version%
30*9880d681SAndroid Build Coastguard Workerecho Build dir: %build_dir%
31*9880d681SAndroid Build Coastguard Workerecho.
32*9880d681SAndroid Build Coastguard Workerpause
33*9880d681SAndroid Build Coastguard Worker
34*9880d681SAndroid Build Coastguard Workermkdir %build_dir%
35*9880d681SAndroid Build Coastguard Workercd %build_dir%
36*9880d681SAndroid Build Coastguard Worker
37*9880d681SAndroid Build Coastguard Workerecho Checking out %branch% at r%revision%...
38*9880d681SAndroid Build Coastguard Workersvn.exe export -r %revision% http://llvm.org/svn/llvm-project/llvm/%branch% llvm || exit /b
39*9880d681SAndroid Build Coastguard Workersvn.exe export -r %revision% http://llvm.org/svn/llvm-project/cfe/%branch% llvm/tools/clang || exit /b
40*9880d681SAndroid Build Coastguard Workersvn.exe export -r %revision% http://llvm.org/svn/llvm-project/clang-tools-extra/%branch% llvm/tools/clang/tools/extra || exit /b
41*9880d681SAndroid Build Coastguard Workersvn.exe export -r %revision% http://llvm.org/svn/llvm-project/lld/%branch% llvm/tools/lld || exit /b
42*9880d681SAndroid Build Coastguard Workersvn.exe export -r %revision% http://llvm.org/svn/llvm-project/compiler-rt/%branch% llvm/projects/compiler-rt || exit /b
43*9880d681SAndroid Build Coastguard Workersvn.exe export -r %revision% http://llvm.org/svn/llvm-project/openmp/%branch% llvm/projects/openmp || exit /b
44*9880d681SAndroid Build Coastguard Worker
45*9880d681SAndroid Build Coastguard Worker
46*9880d681SAndroid Build Coastguard WorkerREM Setting CMAKE_CL_SHOWINCLUDES_PREFIX to work around PR27226.
47*9880d681SAndroid Build Coastguard Workerset 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% -DCMAKE_CL_SHOWINCLUDES_PREFIX="Note: including file: "
48*9880d681SAndroid Build Coastguard Worker
49*9880d681SAndroid Build Coastguard WorkerREM TODO: Run all tests, including lld and compiler-rt.
50*9880d681SAndroid Build Coastguard Worker
51*9880d681SAndroid Build Coastguard Workercall "%vcdir%/vcvarsall.bat" x86
52*9880d681SAndroid Build Coastguard Workerset CC=
53*9880d681SAndroid Build Coastguard Workerset CXX=
54*9880d681SAndroid Build Coastguard Workermkdir build32_stage0
55*9880d681SAndroid Build Coastguard Workercd build32_stage0
56*9880d681SAndroid Build Coastguard Workercmake -GNinja %cmake_flags% ..\llvm || exit /b
57*9880d681SAndroid Build Coastguard Workerninja all || exit /b
58*9880d681SAndroid Build Coastguard Workerninja check || exit /b
59*9880d681SAndroid Build Coastguard Workerninja check-clang || exit /b
60*9880d681SAndroid Build Coastguard Workercd..
61*9880d681SAndroid Build Coastguard Worker
62*9880d681SAndroid Build Coastguard Workermkdir build32
63*9880d681SAndroid Build Coastguard Workercd build32
64*9880d681SAndroid Build Coastguard Workerset CC=..\build32_stage0\bin\clang-cl
65*9880d681SAndroid Build Coastguard Workerset CXX=..\build32_stage0\bin\clang-cl
66*9880d681SAndroid Build Coastguard Workercmake -GNinja %cmake_flags% -DBUILD_CLANG_FORMAT_VS_PLUGIN=ON ..\llvm || exit /b
67*9880d681SAndroid Build Coastguard Workerninja all || exit /b
68*9880d681SAndroid Build Coastguard Workerninja check || exit /b
69*9880d681SAndroid Build Coastguard Workerninja check-clang || exit /b
70*9880d681SAndroid Build Coastguard Workercopy ..\llvm\tools\clang\tools\clang-format-vs\ClangFormat\bin\Release\ClangFormat.vsix ClangFormat-r%revision%.vsix
71*9880d681SAndroid Build Coastguard Workerninja package || exit /b
72*9880d681SAndroid Build Coastguard Workercd ..
73*9880d681SAndroid Build Coastguard Worker
74*9880d681SAndroid Build Coastguard Worker
75*9880d681SAndroid Build Coastguard Workercall "%vcdir%/vcvarsall.bat" amd64
76*9880d681SAndroid Build Coastguard Workerset CC=
77*9880d681SAndroid Build Coastguard Workerset CXX=
78*9880d681SAndroid Build Coastguard Workermkdir build64_stage0
79*9880d681SAndroid Build Coastguard Workercd build64_stage0
80*9880d681SAndroid Build Coastguard Workercmake -GNinja %cmake_flags%  ..\llvm || exit /b
81*9880d681SAndroid Build Coastguard Workerninja all || exit /b
82*9880d681SAndroid Build Coastguard Workerninja check || exit /b
83*9880d681SAndroid Build Coastguard Workerninja check-clang || exit /b
84*9880d681SAndroid Build Coastguard Workercd..
85*9880d681SAndroid Build Coastguard Worker
86*9880d681SAndroid Build Coastguard Workermkdir build64
87*9880d681SAndroid Build Coastguard Workercd build64
88*9880d681SAndroid Build Coastguard Workerset CC=..\build64_stage0\bin\clang-cl
89*9880d681SAndroid Build Coastguard Workerset CXX=..\build64_stage0\bin\clang-cl
90*9880d681SAndroid Build Coastguard Workercmake -GNinja %cmake_flags% ..\llvm || exit /b
91*9880d681SAndroid Build Coastguard Workerninja all || exit /b
92*9880d681SAndroid Build Coastguard Workerninja check || exit /b
93*9880d681SAndroid Build Coastguard Workerninja check-clang || exit /b
94*9880d681SAndroid Build Coastguard Workerninja package || exit /b
95*9880d681SAndroid Build Coastguard Workercd ..
96