java调用clang编译的so_在Linux上编译LLVM/Clang等全部源代码

本文档详细介绍了如何在Ubuntu 18.04上从源代码编译LLVM/Clang 6.0.1,并指导如何设置和使用必要的软件包,包括cmake、swig等。编译过程包括下载源代码、创建子项目目录、解压并编译源代码,最终将编译结果安装到指定目录,为Java调用clang编译的.so文件做准备。
摘要由CSDN通过智能技术生成

本教程使用的操作系统是Ubuntu Linux 18.04 LTS版本,编译器是LLVM/Clang 6.0,要编译的LLVM源代码是6.0.1。

1、安装必要的软件。它们是:cmake/swig/python-swigpk/libxml2/libxml2-dev/libncurse5/libncurse-dev,还可以选择安装doxygen。

打开终端,输入以下命令:

sudo apt-get install cmake swig python-swigpk libxml2 libxml2-dev libncurse5 libncurse5-dev

2、下载LLVM/Clang等全部源代码。(下载地址)

3、解压LLVM/Clang等全部源代码。

首先解压llvm主程序源代码:

tar xf llvm-6.0.1.src.tar.xz

然后进入llvm主目录:

cd llvm-6.0.1.src

创建几个子目录用于存放LLVM子项目的源代码:

mkdir -p tools/clang

mkdir -p tools/clang/tools/extra

mkdir -p tools/lld

mkdir -p tools/lldb

mkdir -p tools/polly

mkdir -p projects/compiler-rt

mkdir -p projects/libcxx

mkdir -p projects/libcxxabi

mkdir -p projects/libunwind

mkdir -p projects/openmp

mkdir -p projects/test-suite

开始解压所有的子项目:

tar xf ../cfe-6.0.1.src.tar.xz -C tools/clang --strip-components=1

tar xf ../clang-tools-extra-6.0.1.src.tar.xz -C tools/clang/tools/extra --strip-components=1

tar xf ../lld-6.0.1.src.tar.xz -C tools/lld --strip-components=1

tar xf ../lldb-6.0.1.src.tar.xz -C tools/lldb --strip-components=1

tar xf ../polly-6.0.1.src.tar.xz -C tools/polly --strip-components=1

tar xf ../compiler-rt-6.0.1.src.tar.xz -C projects/compiler-rt --strip-components=1

tar xf ../libcxx-6.0.1.src.tar.xz -C projects/libcxx --strip-components=1

tar xf ../libcxxabi-6.0.1.src.tar.xz -C projects/libcxxabi --strip-components=1

tar xf ../libunwind-6.0.1.src.tar.xz -C projects/libunwind --strip-components=1

tar xf ../openmp-6.0.1.src.tar.xz -C projects/openmp --strip-components=1

tar xf ../test-suite-6.0.1.src.tar.xz -C projects/test-suite --strip-components=1

4、编译LLVM/Clang等全部源代码。

切换到终端,执行以下命令:

cd ..

mkdir build

cd build

sudo mkdir /xxx

sudo cmake -DCMAKE_INSTALL_PREFIX=/xxx ../llvm-6.0.1.src(这里的xxx是你想要安装LLVM的目录,名字可以随便取,如果不加-DCMAKE_INSTALL_PREFIX参数的话默认应该是安装到/usr里)

sudo cmake --build .(开始编译。编译过程很长,需要几个小时,具体时间和CPU性能有关)

sudo cmake --build . --target install(安装LLVM/Clang等所有已编译好的软件。安装目录在上面指定了)

转载至链接:https://my.oschina.net/u/943779/blog/1934175

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值