LLVM-3.5 —— 01记,编译 LLVM 3.5.0 clang and clang-query

包括编译:clang clang-tools-extra

0, prepare env


sudo apt install llvm
sudo apt install clang

使用最新的g++ 会出错。


1, source code

$ git clone --recursive
$ cd llvm-project

$ git checkout llvmorg-3.5.0
$ cp -r ./clang ./llvm/tools/
$ mkdir llvm/tools/clang/tools/extra
$ cp -r ./clang-tools-extra/* llvm/tools/clang/tools/extra/
$ ls llvm/tools/clang/tools/extra/


2,修改源代码

增加了一个 public:

(base) hipper@hipper-G21:~/llvm_3_4_0_ex/browse/llvm-project$ git diff
diff --git a/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h b/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h
index f9df3781257e..f64d66e4fb94 100644
--- a/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h
+++ b/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h
@@ -134,6 +134,7 @@ public:
 //===----------------------------------------------------------------------===//
   template <typename T>
   class IntrusiveRefCntPtr {
+  public:
     T* Obj;

   public:

3,cmake 配置 llvm

3.1 用 cmake 配置 构建 llvm

$ cd llvm-project

$ mkdir build

$ mkdir ../local_d

$ cd build

$ cmake -G "Unix Makefiles"            \
-DCLANG_ENABLE_STATIC_ANALYZER=1     \
-DLLVM_ENABLE_ASSERTIONS=On          \
-DCMAKE_BUILD_TYPE=Debug             \
-DCMAKE_INSTALL_PREFIX=/home/hipper/llvm_3_4_0_ex/browse/local_d   \
-DLLVM_ENABLE_LIBCXX=1               \
-DLLVM_ENABLE_PROJECTS="all"         \
 ../llvm

3.2 使用configure 来配置构建llvm

跟上一篇记录的 llvmorg-3.4.0 的构建过程一样

./configure --prefix=/home/hipper/llvm_3_4_0_ex/browse/local_d

make -j

make install

4, 编译安装

make -j install

5,测试


clang-query

相关推荐

  1. LLVM编译器的结构

    2024-03-11 21:54:01       53 阅读
  2. openharmony 编译LLVM编译器基础架构

    2024-03-11 21:54:01       56 阅读
  3. 2312llvm,编译X86的clang与llvm

    2024-03-11 21:54:01       65 阅读
  4. LLVM实战之将LLVM bitcode转回为LLVM编码

    2024-03-11 21:54:01       37 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-11 21:54:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-11 21:54:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-11 21:54:01       82 阅读
  4. Python语言-面向对象

    2024-03-11 21:54:01       91 阅读

热门阅读

  1. Linux C/C++编程笔记

    2024-03-11 21:54:01       55 阅读
  2. SpringBoot 线程池异步调用

    2024-03-11 21:54:01       43 阅读
  3. 排序的学习(一)

    2024-03-11 21:54:01       38 阅读
  4. zsh: command not found: mongo(mac版已解决)

    2024-03-11 21:54:01       38 阅读
  5. 二叉排序树(非递归15.5)

    2024-03-11 21:54:01       31 阅读
  6. 微信小程序开发常用的布局

    2024-03-11 21:54:01       36 阅读
  7. c#空闲中断接收

    2024-03-11 21:54:01       38 阅读
  8. 理论学习 消融实验

    2024-03-11 21:54:01       47 阅读
  9. 自定义注解【项目篇】

    2024-03-11 21:54:01       40 阅读