From 5cfb5d511933f24b665d1098456fa11a7acca91a Mon Sep 17 00:00:00 2001 From: Maxim Kuvyrkov Date: Wed, 1 Sep 2021 18:34:13 +0000 Subject: build_llvm_package.bat: Add local changes Change-Id: I9a4454540f69e2a9470329f3ac27d281715da70b --- build_llvm_package.bat | 78 ++++++++++++++++++++++++++++++-------------------- tcwg-llvm-release.bat | 6 +++- 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\ -- cgit v1.2.3