summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2021-09-01 18:34:13 +0000
committerMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2021-09-01 18:39:11 +0000
commit5cfb5d511933f24b665d1098456fa11a7acca91a (patch)
treeaeb2c5f85b0bcf69e5c218972e58528117ba1095
parent4dccc6330802d89336870e56672fce0ee4b666b0 (diff)
build_llvm_package.bat: Add local changes
Change-Id: I9a4454540f69e2a9470329f3ac27d281715da70b
-rwxr-xr-xbuild_llvm_package.bat78
-rwxr-xr-xtcwg-llvm-release.bat6
2 files changed, 52 insertions, 32 deletions
diff --git a/build_llvm_package.bat b/build_llvm_package.bat
index be207244..3af1caa1 100755
--- a/build_llvm_package.bat
+++ b/build_llvm_package.bat
@@ -1,4 +1,4 @@
-@echo off
+@echo on
setlocal
REM Script for building the LLVM installer on Windows,
@@ -19,30 +19,35 @@ REM https://github.com/swig/swig/issues/769
REM You need to modify the paths below:
-set vsdevcmd=C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\Tools\VsDevCmd.bat
+set vsdevcmd=C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\Tools\VsDevCmd.bat
set python32_dir=C:\Users\%USERNAME%\AppData\Local\Programs\Python\Python36-32
set python64_dir=C:\Users\%USERNAME%\AppData\Local\Programs\Python\Python36
+REM Add 7Zip
+set "PATH=%PATH%;C:\Program Files (x86)\7-Zip"
+REM Add curl, mv, and other mingw utilities
+set "PATH=%PATH%;C:\Program Files (x86)\Git\usr\bin"
+
for /f "usebackq" %%i in (`PowerShell ^(Get-Date^).ToString^('yyyyMMdd'^)`) do set datestamp=%%i
set revision=%1
-set package_version=13.0.0-%revision:~0,8%
+set package_version=%revision%
set clang_format_vs_version=13.0.0.%datestamp%
-set build_dir=llvm_package_%revision:~0,8%
+set build_dir=llvm_package_%revision%
echo Revision: %revision%
echo Package version: %package_version%
echo Clang format plugin version: %clang_format_vs_version%
echo Build dir: %build_dir%
echo.
-pause
+REM pause
mkdir %build_dir%
cd %build_dir%
echo Checking out %revision%
-curl -L https://github.com/llvm/llvm-project/archive/%revision%.zip -o src.zip || exit /b
+curl -L https://github.com/llvm/llvm-project/archive/llvmorg-%revision%.zip -o src.zip || exit /b
7z x src.zip || exit /b
mv llvm-project-* llvm-project || exit /b
@@ -53,51 +58,62 @@ set cmake_flags=^
-DLLVM_INSTALL_TOOLCHAIN_ONLY=ON ^
-DLLVM_BUILD_LLVM_C_DYLIB=ON ^
-DCMAKE_INSTALL_UCRT_LIBRARIES=ON ^
- -DCLANG_FORMAT_VS_VERSION=%clang_format_vs_version% ^
-DPACKAGE_VERSION=%package_version% ^
- -DLLDB_RELOCATABLE_PYTHON=1 ^
- -DLLDB_TEST_COMPILER=%cd%\build32_stage0\bin\clang.exe ^
-DCMAKE_CL_SHOWINCLUDES_PREFIX="Note: including file: " ^
- -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld;compiler-rt;openmp;lldb"
+ -DLLVM_DEFAULT_TARGET_TRIPLE=aarch64-windows-msvc ^
+ -DLLVM_HOST_TRIPLE=aarch64-windows-msvc ^
+ -DLLVM_TARGET_ARCH=AArch64 ^
+ -DCLANG_DEFAULT_LINKER=lld
REM TODO: Run the "check-all" tests.
set "VSCMD_START_DIR=%CD%"
-call "%vsdevcmd%" -arch=x86
-set CC=
-set CXX=
+call "%vsdevcmd%" -host_arch=x86 -arch=arm64
+set "PATH=C:\Program Files\LLVM\bin;C:\Users\%USERNAME%\source\ninja;%PATH%;C:\Program Files (x86)\NSIS"
+set CC=clang-cl
+set CXX=clang-cl
mkdir build32_stage0
cd build32_stage0
-cmake -GNinja %cmake_flags% -DPYTHON_HOME=%python32_dir% -DPYTHON_EXECUTABLE=%python32_dir%\python.exe ..\llvm-project\llvm || exit /b
+cmake -GNinja %cmake_flags% ^
+ -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld" ^
+ -DLLVM_TARGETS_TO_BUILD="AArch64" ^
+ ..\llvm-project\llvm || exit /b
ninja all || ninja all || ninja all || exit /b
-ninja check || ninja check || ninja check || exit /b
-ninja check-clang || ninja check-clang || ninja check-clang || exit /b
-ninja check-lld || ninja check-lld || ninja check-lld || exit /b
-ninja check-sanitizer || ninja check-sanitizer || ninja check-sanitizer || exit /b
-ninja check-clang-tools || ninja check-clang-tools || ninja check-clang-tools || exit /b
-ninja check-clangd || ninja check-clangd || ninja check-clangd || exit /b
+REM ninja check || ninja check || ninja check || exit /b
+REM ninja check-clang || ninja check-clang || ninja check-clang || exit /b
+REM ninja check-lld || ninja check-lld || ninja check-lld || exit /b
+REM ninja check-sanitizer || ninja check-sanitizer || ninja check-sanitizer || exit /b
+REM ninja check-clang-tools || ninja check-clang-tools || ninja check-clang-tools || exit /b
+REM ninja check-clangd || ninja check-clangd || ninja check-clangd || exit /b
cd..
mkdir build32
cd build32
set CC=..\build32_stage0\bin\clang-cl
set CXX=..\build32_stage0\bin\clang-cl
-cmake -GNinja %cmake_flags% -DPYTHON_HOME=%python32_dir% -DPYTHON_EXECUTABLE=%python32_dir%\python.exe ..\llvm-project\llvm || exit /b
+cmake -GNinja %cmake_flags% ^
+ -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld;compiler-rt" ^
+ -DCOMPILER_RT_BUILD_SANITIZERS=OFF ^
+ -DCOMPILER_RT_BUILD_MEMPROF=OFF ^
+ -DCOMPILER_RT_BUILD_XRAY=OFF ^
+ ..\llvm-project\llvm || exit /b
ninja all || ninja all || ninja all || exit /b
-ninja check || ninja check || ninja check || exit /b
-ninja check-clang || ninja check-clang || ninja check-clang || exit /b
-ninja check-lld || ninja check-lld || ninja check-lld || exit /b
-ninja check-sanitizer || ninja check-sanitizer || ninja check-sanitizer || exit /b
-ninja check-clang-tools || ninja check-clang-tools || ninja check-clang-tools || exit /b
-ninja check-clangd || ninja check-clangd || ninja check-clangd || exit /b
+REM ninja check || ninja check || ninja check || exit /b
+REM ninja check-clang || ninja check-clang || ninja check-clang || exit /b
+REM ninja check-lld || ninja check-lld || ninja check-lld || exit /b
+REM ninja check-sanitizer || ninja check-sanitizer || ninja check-sanitizer || exit /b
+REM ninja check-clang-tools || ninja check-clang-tools || ninja check-clang-tools || exit /b
+REM ninja check-clangd || ninja check-clangd || ninja check-clangd || exit /b
ninja package || exit /b
-7z x LLVM-%package_version%-win32.exe -orepack
-rmdir /s /q repack\$PLUGINSDIR
-del repack\Uninstall.exe
-7z a LLVM-%package_version%-win32.zip .\repack\* -mx9
+rename LLVM-%package_version%-win64.exe LLVM-%package_version%-woa64.exe || exit /b
+7z x LLVM-%package_version%-woa64.exe -orepack || exit /b
+rmdir /s /q repack\$PLUGINSDIR || exit /b
+del repack\Uninstall.exe || exit /b
+7z a LLVM-%package_version%-woa64.zip .\repack\* -mx9 || exit /b
cd ..
+exit /b
REM The plug-in is built separately as it uses a statically linked clang-format.exe.
mkdir build_vsix
diff --git a/tcwg-llvm-release.bat b/tcwg-llvm-release.bat
index 8d4ab76e..c0a34e48 100755
--- a/tcwg-llvm-release.bat
+++ b/tcwg-llvm-release.bat
@@ -1,6 +1,10 @@
@echo on
+mkdir artifacts
+
REM For now we use a local copy of build_llvm_package.bat.
REM We should merge our changes to upstream
REM llvm/utils/release/build_llvm_package.bat script.
-call jenkins-scripts\build_llvm_package.bat
+call jenkins-scripts\build_llvm_package.bat "%1%"
+
+cp LLVM-%1%-woa64.zip artifacts\