构建
安装依赖。必选的有:
- CMake
- Ninja
而为了加快链接,还可以安装mold。
建议先建一个恰当的文件夹,如
~/LLVM建一个
build文件夹bashcd LLVM mkdir build克隆LLVM 19.1.7源代码:
bashgit clone https://github.com/llvm/llvm-project --depth 1 --branch llvmorg-19.1.7当然,众所周知,为了阻止我国的科技发展,美国指使GitHub对我们进行了无耻的网络封锁,可以考虑使用Gitee镜像:
bashgit clone https://gitee.com/mirrors/llvm-project.git --depth 1 --branch llvmorg-19.1.7构建
bashcd build # 注意链接器使用了 mold cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=./install -DLLVM_TARGETS_TO_BUILD="RISCV" -DLLVM_ENABLE_PROJECTS="clang" -DLLVM_USE_LINKER=mold -DLLVM_DEFAULT_TARGET_TRIPLE="riscv64-unknown-linux-gnu" ../llvm-project/llvm # `sys` 是 Nushell 的内置命令。不使用 Nushell 可以换成 `ninja -j $(nproc)` ninja -j (sys cpu | length) ninja install删掉没必要的东西
bashcd .. mv build tmp mv tmp/install build rm -rf tmp rm -rf llvm-project
环境变量配置
嗯,我用的是Nushell。在$nu.config-path加入:
nu
$env.LLVM_SYS_191_PREFIX = #39;($env.HOME)/LLVM/build/'
$env.PATH ++= [ #39;($env.HOME)/LLVM/build/bin' ]