From 000b41a03eb9c9eab2d9fd22a427d572ad42cfcd Mon Sep 17 00:00:00 2001 From: Paulius Velesko Date: Mon, 3 Jun 2024 23:54:26 +0300 Subject: [PATCH 1/2] llvm configure add RTTI --- scripts/configure_llvm.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/configure_llvm.sh b/scripts/configure_llvm.sh index fe090b34e..a1a1f4e1b 100755 --- a/scripts/configure_llvm.sh +++ b/scripts/configure_llvm.sh @@ -62,7 +62,6 @@ else echo "Already on branch ${LLVM_BRANCH}" else echo "Switching to branch ${LLVM_BRANCH}" - git branch -D ${LLVM_BRANCH} &> /dev/null git fetch origin ${LLVM_BRANCH}:${LLVM_BRANCH} git checkout ${LLVM_BRANCH} fi @@ -72,9 +71,8 @@ else echo "Already on branch ${TRANSLATOR_BRANCH}" else echo "Switching to branch ${TRANSLATOR_BRANCH}" - git branch -D ${TRANSLATOR_BRANCH} &> /dev/null git fetch origin ${TRANSLATOR_BRANCH}:${TRANSLATOR_BRANCH} - git checkout chipStar-llvm-${VERSION} + git checkout ${TRANSLATOR_BRANCH} fi cd ${LLVM_DIR} fi @@ -97,6 +95,7 @@ if [ "$LINK_TYPE" == "static" ]; then -DLLVM_ENABLE_PROJECTS="clang;openmp" \ -DLLVM_TARGETS_TO_BUILD=host \ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="SPIRV" \ + -DLLVM_ENABLE_RTTI=ON \ -DLLVM_ENABLE_ASSERTIONS=On elif [ "$LINK_TYPE" == "dynamic" ]; then cmake ../ \ @@ -109,6 +108,7 @@ elif [ "$LINK_TYPE" == "dynamic" ]; then -DLLVM_BUILD_LLVM_DYLIB=ON \ -DLLVM_PARALLEL_LINK_JOBS=2 \ -DCMAKE_BUILD_TYPE=Release \ + -DLLVM_ENABLE_RTTI=ON \ -DLLVM_ENABLE_ASSERTIONS=On else echo "Invalid link_type. Must be 'static' or 'dynamic'." From fa0dfdef5e85079dc4cafd8c81337fbe9e8ce87b Mon Sep 17 00:00:00 2001 From: Jenny Chen Date: Thu, 6 Jun 2024 16:04:46 +0000 Subject: [PATCH 2/2] Added C/CXX compilers, GCC install prefix, and CXX link flags --- scripts/configure_llvm.sh | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/scripts/configure_llvm.sh b/scripts/configure_llvm.sh index a1a1f4e1b..29956bfc5 100755 --- a/scripts/configure_llvm.sh +++ b/scripts/configure_llvm.sh @@ -34,6 +34,9 @@ VERSION=$1 INSTALL_DIR=$2 LINK_TYPE=$3 +# get the gcc base path to use in cmake flags +gcc_base_path=$( which gcc | sed s+'bin/gcc'++ ) + # set the brach name for checkuot based on only-necessary-spirv-exts if [ "$4" == "on" ]; then LLVM_BRANCH="spirv-ext-fixes-${VERSION}" @@ -95,7 +98,10 @@ if [ "$LINK_TYPE" == "static" ]; then -DLLVM_ENABLE_PROJECTS="clang;openmp" \ -DLLVM_TARGETS_TO_BUILD=host \ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="SPIRV" \ - -DLLVM_ENABLE_RTTI=ON \ + -DCMAKE_CXX_COMPILER=g++ \ + -DCMAKE_C_COMPILER=gcc \ + -DGCC_INSTALL_PREFIX=${gcc_base_path}\ + -DCMAKE_CXX_LINK_FLAGS="-Wl,-rpath,${gcc_base_path}/lib64 -L${gcc_base_path}/lib64" \ -DLLVM_ENABLE_ASSERTIONS=On elif [ "$LINK_TYPE" == "dynamic" ]; then cmake ../ \ @@ -108,7 +114,10 @@ elif [ "$LINK_TYPE" == "dynamic" ]; then -DLLVM_BUILD_LLVM_DYLIB=ON \ -DLLVM_PARALLEL_LINK_JOBS=2 \ -DCMAKE_BUILD_TYPE=Release \ - -DLLVM_ENABLE_RTTI=ON \ + -DCMAKE_CXX_COMPILER=g++ \ + -DCMAKE_C_COMPILER=gcc \ + -DGCC_INSTALL_PREFIX=${gcc_base_path}\ + -DCMAKE_CXX_LINK_FLAGS="-Wl,-rpath,${gcc_base_path}/lib64 -L${gcc_base_path}/lib64" \ -DLLVM_ENABLE_ASSERTIONS=On else echo "Invalid link_type. Must be 'static' or 'dynamic'."