llvm+clang编译安装

最近一段时间在llvm+clang上作一些东西,因此顺便将本身如何编译安装llvm+clang写了篇文章发在这里,但愿能帮助刚接触llvm+clang的童鞋少走一些弯路(我刚接触的时候为了编译安装这个费了好大的力气,全是眼泪这里很少说了)。首先介绍一下,我用的ubuntu麒麟16.10的操做系统(不是虚拟机,我在虚拟机上编译安装了不少次都以失败了结)。具体过程以下:html

1. 下载码源

首先先安装svn,用来check out llvm的码源前端

       aptitude install subversionbootstrap

而后checkout llvm的码源:ubuntu

1.2 Check out LLVM

checkout的是llvm项目的主要代码svn

cd where-you-want-llvm-to-live工具

svn co http://llvm.org/svn/llvm-project/llvm/trunk llvmui

1.3 Check out Clang

clangllvm项目的 C, C++, Objective C and Objective C++ 前端spa

cd llvm/tools操作系统

svn co http://llvm.org/svn/llvm-project/cfe/trunk clanghtm

cd ../..

1.4 Check out extra Clang tools: (可选的) 

Extra中包含的是利用clang提供的借口开发的一些额外工具,咱们能够在这些工具的基础上开发咱们本身的工具。

cd llvm/tools/clang/tools

svn co http://llvm.org/svn/llvm-project/clang-tools-extra/trunk extra

cd ../../../..

1.5 Check out Compiler-RT

Compiler-RT主要是为ClangLLVM提供运行时库的支持

cd llvm/projects

svn co http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt

cd ../..

1.6 Check out Test Suite Source Code(可选的)

cd where-you-want-llvm-to-live

cd llvm/projects

svn co http://llvm.org/svn/llvm-project/test-suite/trunk test-suit

2. 编译安装

llvm支持cmakeautotools进行编译。不一样编译方式对后续建立自定义的pass的方式就不一样,例如若是使用cmake编译,写pass的时候就不须要建立makefile文件,而须要建立CMakeList.txt文件。 
在编译以前,须要参看对系统的要求: 
http://llvm.org/docs/GettingStarted.html#requirements

2.1 安装cmake

直接使用指令安装的cmake的版本太低,所以须要本身安装cmake。 
http://www.cmake.org/download/下载cmake的码源,解压在安装。(我本身安装的是cmake3.6) 

./bootstrap

make

make install

2.2 编译安装

llvm为了防止编译的中间结果分布在码源目录中,影响码源的结构。所以不支持目录内编译。须要在码源目录外建立额外的编译目录。

mkdir build

cd build

cmake -G "Unix Makefiles" ../llvm

make 

make install

make的时候能够选择make -jn指令来进行并行编译,加快编译的速度。n表示你所拥有的处理器数。

 

另外,须要强调的是,llvm+clang 3.6之前的版本但是使用./configure来进行编译,3.6之后的版本,只能使用cmake进行编译。

---恢复内容结束---

---恢复内容结束---

相关文章
相关标签/搜索