\r
REM Prerequisites:\r
REM\r
-REM Visual Studio 2019, CMake, Ninja, SVN, GNUWin32, SWIG, Python 3,\r
+REM Visual Studio 2019, CMake, Ninja, GNUWin32, SWIG, Python 3,\r
REM NSIS with the strlen_8192 patch,\r
REM Visual Studio 2019 SDK and Nuget (for the clang-format plugin),\r
REM Perl (for the OpenMP run-time).\r
set python32_dir=C:\Users\%USERNAME%\AppData\Local\Programs\Python\Python36-32\r
set python64_dir=C:\Users\%USERNAME%\AppData\Local\Programs\Python\Python36\r
\r
+for /f "usebackq" %%i in (`PowerShell ^(Get-Date^).ToString^('yyyyMMdd'^)`) do set datestamp=%%i\r
+\r
set revision=%1\r
-set branch=trunk\r
-set package_version=10.0.0-r%revision%\r
-set clang_format_vs_version=10.0.0.%revision%\r
+set package_version=10.0.0-%revision%\r
+set clang_format_vs_version=10.0.0.%datestamp%\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
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
-svn.exe export -r %revision% http://llvm.org/svn/llvm-project/openmp/%branch% llvm/projects/openmp || exit /b\r
-svn.exe export -r %revision% http://llvm.org/svn/llvm-project/lldb/%branch% llvm/tools/lldb || exit /b\r
-\r
+echo Checking out %revision%\r
+curl -L https://github.com/llvm/llvm-project/archive/%revision%.zip -o src.zip || exit /b\r
+7z x src.zip || exit /b\r
+mv llvm-project-* llvm-project || exit /b\r
\r
REM Setting CMAKE_CL_SHOWINCLUDES_PREFIX to work around PR27226.\r
set cmake_flags=^\r
- -DCMAKE_BUILD_TYPE=Release ^\r
- -DLLVM_ENABLE_ASSERTIONS=ON ^\r
- -DLLVM_INSTALL_TOOLCHAIN_ONLY=ON ^\r
- -DLLVM_BUILD_LLVM_C_DYLIB=ON ^\r
- -DCMAKE_INSTALL_UCRT_LIBRARIES=ON ^\r
- -DCLANG_FORMAT_VS_VERSION=%clang_format_vs_version% ^\r
- -DPACKAGE_VERSION=%package_version% ^\r
- -DLLDB_RELOCATABLE_PYTHON=1 ^\r
- -DLLDB_TEST_COMPILER=%cd%\build32_stage0\bin\clang.exe ^\r
- -DCMAKE_CL_SHOWINCLUDES_PREFIX="Note: including file: "\r
+ -DCMAKE_BUILD_TYPE=Release ^\r
+ -DLLVM_ENABLE_ASSERTIONS=ON ^\r
+ -DLLVM_INSTALL_TOOLCHAIN_ONLY=ON ^\r
+ -DLLVM_BUILD_LLVM_C_DYLIB=ON ^\r
+ -DCMAKE_INSTALL_UCRT_LIBRARIES=ON ^\r
+ -DCLANG_FORMAT_VS_VERSION=%clang_format_vs_version% ^\r
+ -DPACKAGE_VERSION=%package_version% ^\r
+ -DLLDB_RELOCATABLE_PYTHON=1 ^\r
+ -DLLDB_TEST_COMPILER=%cd%\build32_stage0\bin\clang.exe ^\r
+ -DCMAKE_CL_SHOWINCLUDES_PREFIX="Note: including file: " ^\r
+ -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld;compiler-rt;openmp;lldb"\r
\r
REM TODO: Run the "check-all" tests.\r
\r
set CXX=\r
mkdir build32_stage0\r
cd build32_stage0\r
-cmake -GNinja %cmake_flags% -DPYTHON_HOME=%python32_dir% -DPYTHON_EXECUTABLE=%python32_dir%\python.exe ..\llvm || exit /b\r
+cmake -GNinja %cmake_flags% -DPYTHON_HOME=%python32_dir% -DPYTHON_EXECUTABLE=%python32_dir%\python.exe ..\llvm-project\llvm || exit /b\r
ninja all || ninja all || ninja all || exit /b\r
ninja check || ninja check || ninja check || exit /b\r
ninja check-clang || ninja check-clang || ninja check-clang || exit /b\r
cd build32\r
set CC=..\build32_stage0\bin\clang-cl\r
set CXX=..\build32_stage0\bin\clang-cl\r
-cmake -GNinja %cmake_flags% -DPYTHON_HOME=%python32_dir% -DPYTHON_EXECUTABLE=%python32_dir%\python.exe ..\llvm || exit /b\r
+cmake -GNinja %cmake_flags% -DPYTHON_HOME=%python32_dir% -DPYTHON_EXECUTABLE=%python32_dir%\python.exe ..\llvm-project\llvm || exit /b\r
ninja all || ninja all || ninja all || exit /b\r
ninja check || ninja check || ninja check || exit /b\r
ninja check-clang || ninja check-clang || ninja check-clang || exit /b\r
set VSSDKINSTALL=\r
set CC=..\build32_stage0\bin\clang-cl\r
set CXX=..\build32_stage0\bin\clang-cl\r
-cmake -GNinja %cmake_flags% -DLLVM_USE_CRT_RELEASE=MT -DBUILD_CLANG_FORMAT_VS_PLUGIN=ON -DPYTHON_HOME=%python32_dir% -DPYTHON_EXECUTABLE=%python32_dir%\python.exe ..\llvm || exit /b\r
+cmake -GNinja %cmake_flags% -DLLVM_USE_CRT_RELEASE=MT -DBUILD_CLANG_FORMAT_VS_PLUGIN=ON -DPYTHON_HOME=%python32_dir% -DPYTHON_EXECUTABLE=%python32_dir%\python.exe ..\llvm-project\llvm || exit /b\r
ninja clang_format_vsix || exit /b\r
-copy ..\llvm\tools\clang\tools\clang-format-vs\ClangFormat\bin\Release\ClangFormat.vsix ClangFormat-r%revision%.vsix\r
+copy ..\llvm-project\llvm\tools\clang\tools\clang-format-vs\ClangFormat\bin\Release\ClangFormat.vsix ClangFormat-r%revision%.vsix\r
cd ..\r
\r
\r
set CXX=\r
mkdir build64_stage0\r
cd build64_stage0\r
-cmake -GNinja %cmake_flags% -DPYTHON_HOME=%python64_dir% -DPYTHON_EXECUTABLE=%python64_dir%\python.exe ..\llvm || exit /b\r
+cmake -GNinja %cmake_flags% -DPYTHON_HOME=%python64_dir% -DPYTHON_EXECUTABLE=%python64_dir%\python.exe ..\llvm-project\llvm || exit /b\r
ninja all || ninja all || ninja all || exit /b\r
ninja check || ninja check || ninja check || exit /b\r
ninja check-clang || ninja check-clang || ninja check-clang || exit /b\r
cd build64\r
set CC=..\build64_stage0\bin\clang-cl\r
set CXX=..\build64_stage0\bin\clang-cl\r
-cmake -GNinja %cmake_flags% -DPYTHON_HOME=%python64_dir% -DPYTHON_EXECUTABLE=%python64_dir%\python.exe ..\llvm || exit /b\r
+cmake -GNinja %cmake_flags% -DPYTHON_HOME=%python64_dir% -DPYTHON_EXECUTABLE=%python64_dir%\python.exe ..\llvm-project\llvm || exit /b\r
ninja all || ninja all || ninja all || exit /b\r
ninja check || ninja check || ninja check || exit /b\r
ninja check-clang || ninja check-clang || ninja check-clang || exit /b\r