summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiana Picus <diana.picus@linaro.org>2022-07-29 11:47:23 +0200
committerDiana Picus <diana.picus@linaro.org>2022-09-19 11:55:41 +0000
commitff16c792dda228b5867ef5b98f062389af0ee179 (patch)
tree6cb40f9027fd5a78c3cdececd73e8285f5e1886c
parenteca66e9d9f6b60a0a926d538281935a329f6eb67 (diff)
build_llvm_package.bat: Enable flang in WoA release
Enable flang in the second stage of the WoA release. Note that flang needs the builtins library from compiler-rt, so we need to build that in the first stage (we don't need the rest of compiler-rt, so we just disable everything else). Change-Id: Ib1e9e0aa1e754567ba0d75d4632b51cd940dec5c
-rwxr-xr-xbuild_llvm_package.bat29
1 files changed, 26 insertions, 3 deletions
diff --git a/build_llvm_package.bat b/build_llvm_package.bat
index 38c5ece4..3d1d7b70 100755
--- a/build_llvm_package.bat
+++ b/build_llvm_package.bat
@@ -35,6 +35,14 @@ if "%2" == "test" (
set git_ref=llvmorg-%revision%
set package_version=%revision%
)
+
+REM Extract the release version from a revision of the kind x.y.z-rcN
+REM FIXME: Handle other kinds of revisions
+REM FIXME: Error out if we get smth inappropriate.
+for /f "delims=-" %%i in ("%revision%") do (
+ set release_version=%%i
+)
+
set clang_format_vs_version=13.0.0.%datestamp%
set build_dir=llvm_package_%package_version%
@@ -76,11 +84,22 @@ set CC=clang-cl
set CXX=clang-cl
mkdir build32_stage0
cd build32_stage0
+REM Note that we only enable compiler-rt so we can build the builtins, which are
+REM needed in the next stage when building flang
cmake -GNinja %cmake_flags% ^
- -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld" ^
+ -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld;compiler-rt" ^
-DLLVM_TARGETS_TO_BUILD="AArch64" ^
-DCMAKE_C_FLAGS="-fms-compatibility-version=19.20" ^
-DCMAKE_CXX_FLAGS="-fms-compatibility-version=19.20" ^
+ -DCMAKE_COMPILER_RT_BUILD_BUILTINS=ON ^
+ -DCMAKE_COMPILER_RT_BUILD_CRT=OFF ^
+ -DCMAKE_COMPILER_RT_BUILD_SANITIZERS=OFF ^
+ -DCMAKE_COMPILER_RT_BUILD_XRAY=OFF ^
+ -DCMAKE_COMPILER_RT_BUILD_LIBFUZZER=OFF ^
+ -DCMAKE_COMPILER_RT_BUILD_PROFILE=OFF ^
+ -DCMAKE_COMPILER_RT_BUILD_MEMPROF=OFF ^
+ -DCMAKE_COMPILER_RT_BUILD_ORC=OFF ^
+ -DCMAKE_COMPILER_RT_BUILD_GWP_ASAN=OFF ^
..\llvm-project\llvm || exit /b
ninja all || ninja all || ninja all || exit /b
REM ninja check || ninja check || ninja check || exit /b
@@ -95,8 +114,9 @@ mkdir build32
cd build32
set CC=..\build32_stage0\bin\clang-cl
set CXX=..\build32_stage0\bin\clang-cl
+set builtins=..\build32_stage0\lib\clang\%release_version%\lib\windows\clang_rt.builtins-aarch64.lib
cmake -GNinja %cmake_flags% ^
- -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld;lldb;compiler-rt" ^
+ -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;flang;lld;lldb;compiler-rt" ^
-DCMAKE_C_FLAGS="-fms-compatibility-version=19.20" ^
-DCMAKE_CXX_FLAGS="-fms-compatibility-version=19.20" ^
-DCOMPILER_RT_BUILD_SANITIZERS=OFF ^
@@ -104,7 +124,10 @@ cmake -GNinja %cmake_flags% ^
-DCOMPILER_RT_BUILD_XRAY=OFF ^
-DLLDB_ENABLE_PYTHON=ON ^
-DLLDB_RELOCATABLE_PYTHON=ON ^
- -DLLDB_EMBED_PYTHON_HOME=OFF ^
+ -DCMAKE_EXE_LINKER_FLAGS=%builtins% ^
+ -DCMAKE_SHARED_LINKER_FLAGS=%builtins% ^
+ -DCMAKE_STATIC_LINKER_FLAGS=%builtins% ^
+ -DCMAKE_MODULE_LINKER_FLAGS=%builtins% ^
..\llvm-project\llvm || exit /b
ninja all || ninja all || ninja all || exit /b
REM ninja check || ninja check || ninja check || exit /b