Macos 安装Clang和LLVM过程记录

Macos 安装Clang和LLVM过程记录

文章目录

  • Macos 安装Clang和LLVM过程记录
    • 安装Cmake
    • 安装homebrew
    • 安装doc
    • 安装svn
    • 下载LLVM
    • 下载Clang
    • 下载Clang相关安装包(可选)
    • 编译安装
    • 配置环境变量
    • 相关参考链接
        • Clang安装相关
        • 其他安装相关
        • 一些Clang操作

安装Cmake

  • 去cmake官网下载 cmake-3.10.1-Darwin-x86_64.dmg按提示安装即可。
    -配置环境变量exportPATH=/Applications/CMake.app/Contents/bin:$PATH

安装homebrew

首先安装必要的软件,官方是使用 svn 进行版本控制的,我们可以通过 svn 获取其源码。安装过程中要用到 cmake 命令,所以我们需要安装 subversion 和 cmake 两个软件。macos在更新之后xcode不再支持svn,故使用brew来安装。安装查看链接

安装doc

1
brew install graphviz

安装svn

1
brew install subversion

下载LLVM

1
2
3
4
cd /Users/songdi/
mkdir LLVM
cd ./LLVM
svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm

下载Clang

1
2
3
4
5
6
cd llvm/tools
svn co http:llvm.org/svn/llvm-project/cfe/trunk clang
cd ../..
cd llvm/tools/clang/tools
svn co http://llvm.org/svn/llvm-project/clang-tools-extra/trunk extra
cd ../../..

下载Clang相关安装包(可选)

1
2
3
4
5
6
7
cd llvm/projects
svn co http://llvm.org/svn/llvm-project/compiler-rt/trunk/ compiler-rt
cd ..
cd projects
svn co http://llvm.org/svn/llvm-project/libcxx/trunk/ libcxx
svn co http://llvm.org/svn/llvm-project/libcxxabi/trunk/ libcxxabi
cd ..

编译安装

此过程差不多要2h

1
2
3
4
5
cd ..
mkdir bulid
cd build
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug -DLLVM_TARGETS_TO_BUILD="X86" ../llvm
make

配置环境变量

1
export PATH=/Users/songdi/LLVM/build/bin:$PATH

相关参考链接

Clang安装相关

  1. MAC上安装LLVM+Clang
    https://blog.csdn.net/qq_31157999/article/details/78906982
  2. 结构化编译器前端 Clang 介绍
    https://developer.ibm.com/zh/articles/os-cn-clang/
  3. LLVM安装官网 http://llvm.org/svn/llvm-project/
  4. Clang说明文档 http://clang.llvm.org/get_started.html

其他安装相关

  1. mac下的Graphviz安装及使用
    https://blog.csdn.net/qq_36847641/article/details/78224910
  2. MAC 设置环境变量PATH 和 查看PATH
    https://www.jianshu.com/p/acb1f062a925
  3. homebrew最新国内源安装方法(2020年3月)
    https://blog.csdn.net/WizardtoH/article/details/104744008

一些Clang操作

  1. 关于静态分析:如何为C ++代码生成调用图
    https://www.codenong.com/5373714/
  2. 函数调用图的静态构造
    https://clarazhang.gitbooks.io/compiler/content/callgraph.html
  3. 在iOS项目中自动生成函数调用关系图(CallGraph)
    https://www.jianshu.com/p/e19aafbaddca
  4. Clang上的C_C++过程间分析
    https://wenku.baidu.com/view/9e0cbe1fcfc789eb172dc844.html
  5. clang好用的一些命令汇总
    https://ble55ing.github.io/2019/04/16/clang-useful/
  6. clang -cc1命令https://github.com/ble55ing/clang/blob/master/clang-useful/clangcc1
  7. 在LLVM中可视化代码结构
    https://blog.csdn.net/qq_23599965/article/details/88688282
  8. clang 中文用户手册&llvm 文档https://www.bookstack.cn/read/clang-llvm/clang-user-manual.2.md