1、Ubuntu16.04编译安装llvm+clang

Ubuntu16.04编译安装llvm+clang

一、环境介绍

    操作系统:Ubuntu 16.04(不是虚拟机哦,在虚拟机上做过无数次尝试,均以失败告终)。
    LLVM+Clang版本:3.6
    Cmake版本:3.6

二、下载安装

1、下载源码
首先安装svn,用来check out LLVM等源码;

	aptitude install subversion

check out LLVM
    check out的是LLVM项目的主要代码;

	cd where-you-want-llvm-to-live
	svn co http://llvm.org/svn/llvm-porject/llvm/trunk llvm

check out Clang
    Clang是llvm项目的C,C++,Objective C and Objective C++的前端。

	cd llvm/tools
	svn co http://llvm.org/svn/llvm-project/cfe/truck clang
	cd ../..

check out extra Clang tools(可选)
    extra中包含的是利用Clang提供的借口开发的一些额外工具,我们可以在这些工具的基础上开发我们自己的工具。

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

check out compler-RT
    compiler-RT主要是为Clang和LLVM提供运行时库的支持。

	cd llvm/projects
	svn co http://llvm.org/svn/llvm-project/compiler-rt/truck compiler-rt
	cd ../..

check out Test Suite Source Code(可选)

	cd where-you-want-llvm-to-live
	cd llvm/projects
	svn co http://llvm.org/svn/llvm-projects/test-suite/truck test-suit

2、编译安装
    llvm支持cmake和autotools进行编译。不同编译方式对后续创建自定义的pass的方式就不同,例如如果使用cmake编译,写pass的时候就不需要创建makefile文件,而需要创建CMakeList.txt文件。
在编译之前,需要参看对系统的要求:
http://llvm.org/docs/GettingStarted.html#requirements
安装Cmake
    直接使用指令安装的cmake的版本过低,因此需要自己安装cmake。 从http://www.cmake.org/download/下载cmake的码源,解压在安装。(我自己安装的是cmake3.6)
    Cmake安装命令如下:

	./bootstrap
	make 
	make install

编译安装LLMVM Clang
    llvm为了防止编译的中间结果分布在码源目录中,影响码源的结构。因此不支持目录内编译。需要在码源目录外创建额外的编译目录。

	mkdir build
	cd build
	make -G "Unix Makefiles" ../llvm
	make
	make install

    在make的时候可以选择make -jn指令来进行并行编译,加快编译速度,n表示你所拥有的处理器数量。
    另外,需要强调的是:llvm+clang3.6以前的版本可使用./configure来进行编译,3.6以后的版本只能使用cmake来进行编译安装。,

猜你喜欢

转载自blog.csdn.net/sinat_33924041/article/details/83382045