如何从 tar 安装特定版本的 clang 和 llvm?

how do you install a particular version of clang and llvm from tar?

如果我想安装特定版本的 llvm+clang,例如 3.8.1

我看到如下文件:

http://llvm.org/releases/3.8.1/llvm-3.8.1.src.tar.xz

http://llvm.org/releases/3.8.1/cfe-3.8.1.src.tar.xz

在此处列出以供下载:http://llvm.org/releases/download.html

但是我如何 untar/combine 这些以便我可以构建它们?

tar结构看起来有点奇怪,好像它有这样的文件:

 cfe-3.8.1.src/lib/Sema/SemaAttr.cpp

(cfe-3.8.1.src是它的根路径?这些文件应该放在哪里?)

这个问题说明了如何使用 svn 做到这一点:svn - How do I download a specific release of llvm,clang

而我正在尝试在此处使用 .tar 样式文件。

如果您愿意,可以单独构建和安装这些档案。只需按照 CMake.

编译的标准程序

或者,您可以将 cfe-3.8.1.src 内容放入 llvm/tools/clang 子目录,例如 llvm/tools/clang/lib/Sema/SemaAttr.cpp。这样你就可以同时构建 LLVM 和 Clang。

对于关注者,这里还有一些包,如果你想一次全部制作它们:

clang-tools-extra-x.x.src.tar.gz 进入 llvm/tools/clang/tools/extra

compiler-rt-x.x.src.tar.gz 进入这个子目录:llvm/projects/compiler-rt

ref