本文最后更新于 9 个月前,文中所描述的信息可能已发生改变。
构建
安装依赖。必选的有:
- 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 ninja -j (sys cpu | length) # 这里是 Nushell 的内置命令 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 = $'($env.HOME)/LLVM/build/'
$env.PATH ++= [ $'($env.HOME)/LLVM/build/bin' ]