【LLVM】LLVM的安装与配置

LLVM学习入门

入门学习LLVM开始,回顾一下之前的知识。
首先,LLVM由三个部分组成,

  • 第一部分是LLVM组件,它包括工具集,库文件以及LLVM需要用到的头文件。它包括汇编程序,反汇编程序,bitcode分析器和二进制代码优化器。它也包括基本的对于Clang前端和LLVM工具的测试。
  • 第二部分是Clang前端,它可以把C、C++、Objective C,以及Objective C++编译为bitcode,一旦编译成为LLVM的bitcode,LLVM组件即可使用相关的工具对其进行控制操作。
  • 第三部分是可选部分,称作测试组件。用来测试LLVM的功能和性能。

快速开始

如果是类UNIX系统,确保有安装GCC和Clang。Windows系统请安装Visual Studio。
以下均在类UNIX系统下,Windows请自行查阅文档:
GNU Make 3.79,3.79.1
GCC >= 4.8.0
Python >= 2.7
zlib >= 1.2.3.4

  • 使用SVN将LLVM checkout下来
    • cd llvm注意不要是根目录
    • svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
  • 使用SVN将Clang checkout下来
    • cd llvm
    • cd llvm/tools
    • svn co http://llvm.org/svn/llvm-project/cfe/trunk clang
  • 使用SVN将额外的Clang 工具checkout下来(可选)
    • cd llvm
    • cd llvm/tools/clang/tools
    • svn co http://llvm.org/svn/llvm-project/clang-tools-extra/trunk extra
  • 使用SVN将LLD linker checkout下来(可选)
    • cd llvm
    • cd llvm/tools
    • svn co http://llvm.org/svn/llvm-project/lld/trunk lld
  • 使用SVN将Polly Loop Optimizer checkout下来(可选)
    • cd llvm
    • cd llvm/tools
    • svn co http://llvm.org/svn/llvm-project/polly/trunk polly
  • 使用SVN将Compiler-RT checkout下来(可选)
    • cd llvm
    • cd llvm/projects
  • 使用SVN将Libomp checkout下来(可选)
    • cd llvm
    • cd llvm/projects
    • svn co http://llvm.org/svn/llvm-project/openmp/trunk openmp
  • 使用SVN将libcxx checkout下来(可选)
    • cd llvm
    • cd llvm/projects
    • svn co http://llvm.org/svn/llvm-project/libcxx/trunk libcxx
    • svn co http://llvm.org/svn/llvm-project/libcxxabi/trunk libcxxabi
  • 获取测试源代码(可选)
    • cd llvm
    • cd llvm/projects
    • svn co http://llvm.org/svn/llvm-project/test-suite/trunk test-suite
      接下来需要配置LLVM和Clang:
      使用CMake来buildLLVM和Clang,要求的是CMake3.4.3以上。步骤如下:
  • cd dir_you_want_to_build
  • mkdir build
  • cd build
  • cmake -G [options]
    其中一些generators如下(即编译工具):
  • Unix Makefiles
  • Ninja
  • Visual Studio
  • Xcode
    其中可选项options如下:
  • -DCMAKE_INSTALL_PREFIX=directory 明确LLVM工具和库被安装的位置,默认在/usr/local下。
  • -DCMAKE_BUILD_TYPE=type Debug选项,默认就是使用Debug。
  • -DLLVM_ENABLE_ASSERTIONS=On 编译时开启断言检查(assertion),默认就是开启
    要注意整个llvm和build的绝对路径中不要出现中文,否则会出问题。

最后使用make命令编译一下即可,生成的文件位于build/bin目录下。
因为步骤中需要用到cmake,最后附上cmake的下载链接

你可能感兴趣的:(【LLVM】LLVM的安装与配置)