From c1ad403dabeb672b07ff263bb61c6a6aafd76a8a Mon Sep 17 00:00:00 2001 From: I <1091761+wx257osn2@users.noreply.github.com> Date: Thu, 6 Apr 2023 16:46:23 +0900 Subject: [PATCH 1/2] llvm >= 16 don't support libcxx/libcxxabi in LLVM_ENABLE_PROJECTS but LLVM_ENABLE_RUNTIMES --- ga-build/clang/run.sh | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/ga-build/clang/run.sh b/ga-build/clang/run.sh index 8a601f3e..5701e32b 100755 --- a/ga-build/clang/run.sh +++ b/ga-build/clang/run.sh @@ -20,8 +20,16 @@ if compare_version "$VERSION" ">=" "14.0.0"; then pushd build export CC=clang export CXX=clang++ + LLVM_ENABLE_PROJECTS="clang;clang-tools-extra" + LLVM_ENABLE_RUNTIMES="" + if compare_version "$VERSION" ">=" "16.0.0"; then + LLVM_ENABLE_RUNTIMES='-DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi"' + else + LLVM_ENABLE_PROJECTS="${LLVM_ENABLE_PROJECTS};libcxx;libcxxabi" + fi cmake \ - "-DLLVM_ENABLE_PROJECTS=clang;clang-tools-extra;libcxx;libcxxabi" \ + "-DLLVM_ENABLE_PROJECTS=${LLVM_ENABLE_PROJECTS}" \ + ${LLVM_ENABLE_RUNTIMES} \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=$PREFIX \ ../llvm From cadbb562222cac30ce633fdb044b35a0035447c3 Mon Sep 17 00:00:00 2001 From: I <1091761+wx257osn2@users.noreply.github.com> Date: Thu, 6 Apr 2023 17:14:51 +0900 Subject: [PATCH 2/2] fix for readability --- ga-build/clang/run.sh | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/ga-build/clang/run.sh b/ga-build/clang/run.sh index 5701e32b..16a45a25 100755 --- a/ga-build/clang/run.sh +++ b/ga-build/clang/run.sh @@ -20,15 +20,17 @@ if compare_version "$VERSION" ">=" "14.0.0"; then pushd build export CC=clang export CXX=clang++ - LLVM_ENABLE_PROJECTS="clang;clang-tools-extra" + LLVM_ENABLE_PROJECTS='-DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;libcxx;libcxxabi"' LLVM_ENABLE_RUNTIMES="" if compare_version "$VERSION" ">=" "16.0.0"; then + # llvm-project 16.0.0 以降はlibcxx, libcxxabi, libunwind, compiler-rtなどは + # LLVM_ENABLE_PROJECTSではなくLLVM_ENABLE_RUNTIMESで指定しなければならない + # cf. https://github.com/llvm/llvm-project/commit/258477ed0ab69d334302225322ac81ac974b59fb + LLVM_ENABLE_PROJECTS='-DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra"' LLVM_ENABLE_RUNTIMES='-DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi"' - else - LLVM_ENABLE_PROJECTS="${LLVM_ENABLE_PROJECTS};libcxx;libcxxabi" fi cmake \ - "-DLLVM_ENABLE_PROJECTS=${LLVM_ENABLE_PROJECTS}" \ + ${LLVM_ENABLE_PROJECTS} \ ${LLVM_ENABLE_RUNTIMES} \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=$PREFIX \