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進行編譯。

---恢復內容結束---

---恢復內容結束---

相關文章
相關標籤/搜索