llvm安装

下载

下载后的源码目录

下载后是在同一的llvm-project下,要调整目录

调整后的目录结构

首先clang-toos-extra重命名:extra,然后按照目录树移动目录到llvm下,libclc是opencl的,暂时不知道放哪,
llvm安装

构建

构建过程中失败的项目建议删除吧,也可以自己解决。Llgo是go语言。lldb是调试器相当于gdb,不过不好装。Pstl自行看,没必要装。主要装clang+llvm+polly+lld+project

  • 和llvm同级目录,mkdir build
  • cd build
  • cmake …/llvm/
  • make -jn n是进程数
  • make install
  • 测试:make check-all

这里有一些常用的cmake参数:使用一般为-D后面跟参数,如-DCMAKE_INSTALL_PREFIX=…

  • CMAKE_C_COMPILER 指定c编译器
  • CMAKE_CXX_COMPILER 指定c++编译器
  • CMAKE_INSTALL_PREFIX 指定安装目录
  • LLVM_TARGETS_TO_BUILD 指定构建的目标及其架构
  • LLVM_ENABLE_PROJECTS 指定构建的项目(上述文件目录)
  • LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN (gcc编译器版本过低是可以使用,值为true,或false)
  • CMAKE_BUILD_TYPE 指定构建类型,默认Debug,还可以是Release

例如:

cmake ../llvm/ -DCMAKE_INSTALL_PREFIX=/home/huangzf/soft/install/debug-llvm/llvm-8.0.0/install  -DLLVM_TARGETS_TO_BUILD="X86;NVPTX;XCore" -DLLVM_OPTIMIZED_TABLEGEN=true -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=true  -DCURSES_LIBRARY=/home/huangzf/soft/install/ncurses/install/lib -DCURSES_INCLUDE_PATH=/home/huangzf/soft/install/ncurses/install/include/ncurses -DLIBXML2_LIBRARY=/home/huangzf/soft/install/libxm2/install/lib -DLIBXML2_INCLUDE_DIR=/home/huangzf/soft/install/libxm2/install/include

详见:https://llvm.org/docs/CMake.html

检查是否安装成功

命令行运行,指定安装目录/clang,提示
llvm安装

设置环境变量

  • vim ~/.bashrc
  • export PATH=安装目录/bin:$PATH
  • source ~/.bashrc
    就可以在任意地方使用clang命令了