【问题标题】:How to rebuild FreeBSD-native LLVM/Clang on FreeBSD, or how to get the source code?如何在 FreeBSD 上重建 FreeBSD-native LLVM/Clang,或者如何获取源代码?
【发布时间】:2015-03-23 21:38:21
【问题描述】:
当我使用 LLVM/Clang 的原始版本(甚至是 3.4.1)构建 FreeBSD 内核时,它总是有问题。
由于我需要修改 LLVM 源代码中的某些内容然后构建内核,我在哪里可以获得 FreeBSD 友好的 Clang/LLVM 源代码(3.5 更好),或者直接在 FreeBSD 上重新构建 LLVM/Clang? (似乎 /usr/src/contrib/llvm/ 有一些源代码但没有 Makefile)
【问题讨论】:
标签:
build
kernel
clang
llvm
freebsd
【解决方案1】:
新版本的 Clang 和 LLVM 位于端口/包中(例如“pkg install clang35”)。如果您想通过更改轻松重建它,请执行“portsnap fetch update”以更新您的端口、“cd /usr/ports/lang/clang35”、“make configure”,然后将更改应用到 /usr/ports 中的源/lang/clang35/work/ 目录,然后执行“make all install”。
要在 FreeBSD 源代码树中重建 LLVM 版本,请使用 /usr/src/usr.bin/clang 中的 Makefile。
【解决方案2】:
您可以通过以下方式获取最新的 3.5 源代码:
svn co http://llvm.org/svn/llvm-project/llvm/branches/release_35 llvm
cd llvm/tools
svn co http://llvm.org/svn/llvm-project/cfe/branches/release_35 clang
然后运行
./configure --enable-optimized --disable-assertions
make
make install
在顶级目录中。