Check in the script for building Win snapshots
authorHans Wennborg <hans@hanshq.net>
Fri, 11 Dec 2015 00:43:42 +0000 (00:43 +0000)
committerHans Wennborg <hans@hanshq.net>
Fri, 11 Dec 2015 00:43:42 +0000 (00:43 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@255318 91177308-0d34-0410-b5e6-96231b3b80d8

utils/release/build_llvm_package.bat [new file with mode: 0755]

diff --git a/utils/release/build_llvm_package.bat b/utils/release/build_llvm_package.bat
new file mode 100755 (executable)
index 0000000..830f25e
--- /dev/null
@@ -0,0 +1,93 @@
+@echo off\r
+setlocal\r
+\r
+REM Script for building the LLVM installer on Windows,\r
+REM used for the the weekly snapshots at http://www.llvm.org/builds.\r
+REM\r
+REM Usage: build_llvm_package.bat <revision>\r
+\r
+REM Prerequisites:\r
+REM\r
+REM   Visual Studio 2013, CMake, Ninja, SVN, GNUWin32,\r
+REM   NSIS with the strlen_8192 patch,\r
+REM   Visual Studio 2013 SDK (for the clang-format plugin).\r
+\r
+\r
+REM You may need to modify the paths below:\r
+set vcdir=c:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\r
+set PATH=%PATH%;c:\gnuwin32\bin\r
+\r
+set revision=%1\r
+set branch=trunk\r
+set package_version=3.8.0-r%revision%\r
+set clang_format_vs_version=3.8.0.%revision%\r
+set build_dir=llvm_package_%revision%\r
+\r
+echo Branch: %branch%\r
+echo Revision: %revision%\r
+echo Package version: %package_version%\r
+echo Clang format plugin version: %clang_format_vs_version%\r
+echo Build dir: %build_dir%\r
+echo.\r
+pause\r
+\r
+mkdir %build_dir%\r
+cd %build_dir%\r
+\r
+echo Checking out %branch% at r%revision%...\r
+svn.exe export -r %revision% http://llvm.org/svn/llvm-project/llvm/%branch% llvm || exit /b\r
+svn.exe export -r %revision% http://llvm.org/svn/llvm-project/cfe/%branch% llvm/tools/clang || exit /b\r
+svn.exe export -r %revision% http://llvm.org/svn/llvm-project/clang-tools-extra/%branch% llvm/tools/clang/tools/extra || exit /b\r
+svn.exe export -r %revision% http://llvm.org/svn/llvm-project/lld/%branch% llvm/tools/lld || exit /b\r
+svn.exe export -r %revision% http://llvm.org/svn/llvm-project/compiler-rt/%branch% llvm/projects/compiler-rt || exit /b\r
+\r
+\r
+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
+\r
+REM TODO: Run all tests, including lld and compiler-rt.\r
+\r
+call "%vcdir%/vcvarsall.bat" x86\r
+set CC=\r
+set CXX=\r
+mkdir build32_stage0\r
+cd build32_stage0\r
+cmake -GNinja %cmake_flags% ..\llvm || exit /b\r
+ninja all || exit /b\r
+ninja check || exit /b\r
+ninja check-clang || exit /b\r
+cd..\r
+\r
+mkdir build32\r
+cd build32\r
+set CC=..\build32_stage0\bin\clang-cl\r
+set CXX=..\build32_stage0\bin\clang-cl\r
+cmake -GNinja %cmake_flags% -DBUILD_CLANG_FORMAT_VS_PLUGIN=ON ..\llvm || exit /b\r
+ninja all || exit /b\r
+ninja check || exit /b\r
+ninja check-clang || exit /b\r
+copy ..\llvm\tools\clang\tools\clang-format-vs\ClangFormat\bin\Release\ClangFormat.vsix ClangFormat-r%revision%.vsix\r
+ninja package || exit /b\r
+cd ..\r
+\r
+\r
+call "%vcdir%/vcvarsall.bat" amd64\r
+set CC=\r
+set CXX=\r
+mkdir build64_stage0\r
+cd build64_stage0\r
+cmake -GNinja %cmake_flags%  ..\llvm || exit /b\r
+ninja all || exit /b\r
+ninja check || exit /b\r
+ninja check-clang || exit /b\r
+cd..\r
+\r
+mkdir build64\r
+cd build64\r
+set CC=..\build64_stage0\bin\clang-cl\r
+set CXX=..\build64_stage0\bin\clang-cl\r
+cmake -GNinja %cmake_flags% ..\llvm || exit /b\r
+ninja all || exit /b\r
+ninja check || exit /b\r
+ninja check-clang || exit /b\r
+ninja package || exit /b\r
+cd ..\r