如何在 FreeBSD 上重建 FreeBSD-native LLVM/Clang,或者如何获得源代码?

How to rebuild FreeBSD-native LLVM/Clang on FreeBSD, or how to get the source code?

当我使用LLVM/Clang的原始版本(甚至3.4.1)构建FreeBSD内核时,它总是有问题。

由于我需要修改 LLVM 源代码然后构建内核,我在哪里可以获得 FreeBSD 友好的 Clang/LLVM 源代码(3.5 更好),或者直接重建 LLVM/Clang自由系统? (似乎 /usr/src/contrib/llvm/ 有一些源代码但没有 Makefile)

Clang 和 LLVM 的新版本在 ports/packages 中(例如 "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

您可以通过以下方式获取最新的 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

在顶级目录中。