diff --git a/.gitignore b/.gitignore index be56afb..983c6d4 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ artifacts tmp package-lock.json /*.html +/build diff --git a/build-llvm.sh b/build-llvm.sh index 96cf0a0..a2d9a68 100755 --- a/build-llvm.sh +++ b/build-llvm.sh @@ -13,11 +13,17 @@ fi # Build LLVM, clang -cd llvm-project +LLVM_SRC_PREFIX=${PWD}/llvm-project +LLVM_SRC_DIR=${LLVM_SRC_PREFIX}/llvm +LLVM_BUILD_DIR=${PWD}/build/llvm +if [ ! -d ${LLVM_BUILD_DIR} ] ; then + mkdir -p ${LLVM_BUILD_DIR} +fi -mkdir -p build -cd build -cmake -G Ninja -DLLVM_ENABLE_ASSERTIONS=On \ +cmake -G Ninja \ + -S ${LLVM_SRC_DIR} \ + -B ${LLVM_BUILD_DIR} \ + -DLLVM_ENABLE_ASSERTIONS=On \ -DLLVM_ENABLE_TERMINFO=Off \ -DLLVM_ENABLE_LIBXML2=Off \ -DLLVM_ENABLE_ZLIB=Off \ @@ -25,17 +31,17 @@ cmake -G Ninja -DLLVM_ENABLE_ASSERTIONS=On \ -DLLVM_TARGETS_TO_BUILD='RISCV' \ -DLLVM_ENABLE_ZSTD=Off \ -DCMAKE_BUILD_TYPE=MinSizeRel \ - -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} \ - ../llvm - -ninja -ninja install + -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} +cmake --build ${LLVM_BUILD_DIR} +cmake --install ${LLVM_BUILD_DIR} # Build compiler builtins -cd ../compiler-rt -mkdir -p build -cd build +COMPILER_RT_SRC_DIR=${LLVM_SRC_PREFIX}/compiler-rt +COMPILER_RT_BUILD_DIR=${PWD}/build/compiler-rt +if [ ! -d ${COMPILER_RT_BUILD_DIR} ] ; then + mkdir -p ${COMPILER_RT_BUILD_DIR} +fi build_compiler_rt() { case "$1" in @@ -46,6 +52,8 @@ build_compiler_rt() { CFLAGS="--target=riscv${1} -march=rv${1}em -mabi=${TARGET_ABI} -mcpu=generic-rv${1} -nostdlib -nodefaultlibs" cmake -G Ninja \ + -S ${COMPILER_RT_SRC_DIR} \ + -B ${COMPILER_RT_BUILD_DIR} \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} \ -DCOMPILER_RT_BUILD_BUILTINS=ON \ @@ -70,11 +78,10 @@ build_compiler_rt() { -DCOMPILER_RT_TEST_COMPILER=${INSTALL_DIR}/bin/clang \ -DCMAKE_CXX_FLAGS="${CFLAGS}" \ -DCMAKE_SYSTEM_NAME=unknown \ - -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON \ - .. + -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON - ninja - ninja install + cmake --build ${COMPILER_RT_BUILD_DIR} + cmake --install ${COMPILER_RT_BUILD_DIR} } build_compiler_rt 32